File: //home/arjun/projects/unlimited-leads/leads_venv/lib/python3.12/site-packages/stripe/__init__.py
from typing_extensions import TYPE_CHECKING, Literal
from typing import Optional
import sys as _sys
import os
import warnings
# Stripe Python bindings
# API docs at http://stripe.com/docs/api
# Authors:
# Patrick Collison <patrick@stripe.com>
# Greg Brockman <gdb@stripe.com>
# Andrew Metcalf <andrew@stripe.com>
# Configuration variables
from stripe._api_version import _ApiVersion
from stripe._api_requestor import _APIRequestor
# We must import the app_info module early to populate it into
# `sys.modules`; otherwise doing `import stripe.app_info` will end up
# importing that module, and not the global `AppInfo` name from below.
import stripe.app_info
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
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
# OAuth
from stripe._oauth import OAuth as OAuth
from stripe._oauth_service import OAuthService as OAuthService
# Webhooks
from stripe._webhook import (
Webhook as Webhook,
WebhookSignature as WebhookSignature,
)
# StripeClient
from stripe._stripe_client import StripeClient as StripeClient # noqa
from stripe.v2._event import ThinEvent as ThinEvent # noqa
# 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,
}
# Infrastructure types
from stripe._api_resource import APIResource as APIResource
from stripe._error_object import ErrorObject as ErrorObject
from stripe._error_object import OAuthErrorObject as OAuthErrorObject
from stripe._list_object import ListObject as ListObject
from stripe._search_result_object import (
SearchResultObject as SearchResultObject,
)
from stripe._stripe_object import StripeObject as StripeObject
from stripe._request_options import RequestOptions as RequestOptions
from stripe._createable_api_resource import (
CreateableAPIResource as CreateableAPIResource,
)
from stripe._custom_method import (
custom_method as custom_method,
)
from stripe._deletable_api_resource import (
DeletableAPIResource as DeletableAPIResource,
)
from stripe._listable_api_resource import (
ListableAPIResource as ListableAPIResource,
)
from stripe._nested_resource_class_methods import (
nested_resource_class_methods as nested_resource_class_methods,
)
from stripe._searchable_api_resource import (
SearchableAPIResource as SearchableAPIResource,
)
from stripe._singleton_api_resource import (
SingletonAPIResource as SingletonAPIResource,
)
from stripe._test_helpers import (
APIResourceTestHelpers as APIResourceTestHelpers,
)
from stripe._updateable_api_resource import (
UpdateableAPIResource as UpdateableAPIResource,
)
from stripe._verify_mixin import (
VerifyMixin as VerifyMixin,
)
from stripe._requestor_options import (
RequestorOptions as RequestorOptions,
)
from stripe._api_mode import (
ApiMode as ApiMode,
)
from stripe._base_address import (
BaseAddress as BaseAddress,
)
# Response types
from stripe._stripe_response import StripeResponse as StripeResponse
from stripe._stripe_response import StripeResponseBase as StripeResponseBase
from stripe._stripe_response import (
StripeStreamResponse as StripeStreamResponse,
StripeStreamResponseAsync as StripeStreamResponseAsync,
)
# Error types
from stripe._error import StripeError as StripeError
from stripe._error import APIError as APIError
from stripe._error import APIConnectionError as APIConnectionError
from stripe._error import StripeErrorWithParamCode as StripeErrorWithParamCode
from stripe._error import CardError as CardError
from stripe._error import IdempotencyError as IdempotencyError
from stripe._error import InvalidRequestError as InvalidRequestError
from stripe._error import AuthenticationError as AuthenticationError
from stripe._error import PermissionError as PermissionError
from stripe._error import RateLimitError as RateLimitError
from stripe._error import (
SignatureVerificationError as SignatureVerificationError,
)
# HttpClient
from stripe._http_client import (
HTTPClient as HTTPClient,
PycurlClient as PycurlClient,
RequestsClient as RequestsClient,
UrlFetchClient as UrlFetchClient,
HTTPXClient as HTTPXClient,
AIOHTTPClient as AIOHTTPClient,
new_default_http_client as new_default_http_client,
)
# Util
from stripe._util import convert_to_stripe_object as convert_to_stripe_object
# Backwards compatibility re-exports
if not TYPE_CHECKING:
from stripe import _stripe_response as stripe_response
from stripe import _stripe_object as stripe_object
from stripe import _error_object as error_object
from stripe import _error as error
from stripe import _http_client as http_client
from stripe import _util as util
from stripe import _oauth as oauth
from stripe import _webhook as webhook
from stripe import _multipart_data_generator as multipart_data_generator
from stripe import _request_metrics as request_metrics
from stripe._file import File as FileUpload
# Python 3.7+ supports module level __getattr__ that allows us to lazy load deprecated modules
# this matters because if we pre-load all modules from api_resources while suppressing warning
# users will never see those warnings
if _sys.version_info[:2] >= (3, 7):
def __getattr__(name):
if name == "abstract":
import stripe.api_resources.abstract as _abstract
return _abstract
if name == "api_resources":
import stripe.api_resources as _api_resources
return _api_resources
raise AttributeError(
f"module {__name__!r} has no attribute {name!r}"
)
else:
with warnings.catch_warnings():
warnings.filterwarnings("ignore", category=DeprecationWarning)
import stripe.api_resources.abstract as abstract
import stripe.api_resources as api_resources
# API resources
# The beginning of the section generated from our OpenAPI spec
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,
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._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_transaction import (
BalanceTransaction as BalanceTransaction,
)
from stripe._balance_transaction_service import (
BalanceTransactionService as BalanceTransactionService,
)
from stripe._bank_account import BankAccount as BankAccount
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._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._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._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 (
TemporarySessionExpiredError as TemporarySessionExpiredError,
)
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._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_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._invoice_upcoming_lines_service import (
InvoiceUpcomingLinesService as InvoiceUpcomingLinesService,
)
from stripe._issuing_service import IssuingService as IssuingService
from stripe._line_item import LineItem as LineItem
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._payment_intent import PaymentIntent as PaymentIntent
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._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._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._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._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._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_item_usage_record_service import (
SubscriptionItemUsageRecordService as SubscriptionItemUsageRecordService,
)
from stripe._subscription_item_usage_record_summary_service import (
SubscriptionItemUsageRecordSummaryService as SubscriptionItemUsageRecordSummaryService,
)
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_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._usage_record import UsageRecord as UsageRecord
from stripe._usage_record_summary import (
UsageRecordSummary as UsageRecordSummary,
)
from stripe._v2_services import V2Services as V2Services
from stripe._webhook_endpoint import WebhookEndpoint as WebhookEndpoint
from stripe._webhook_endpoint_service import (
WebhookEndpointService as WebhookEndpointService,
)
# The end of the section generated from our OpenAPI spec