diff --git a/.hark/changes/2026-10-29_stripe-openapi_a7b90ce7.change.md b/.hark/changes/2026-10-29_stripe-openapi_a7b90ce7.change.md new file mode 100644 index 000000000..887a73883 --- /dev/null +++ b/.hark/changes/2026-10-29_stripe-openapi_a7b90ce7.change.md @@ -0,0 +1,85 @@ +--- +title: Update generated code +pr_url: https://github.com/stripe/stripe-python/pull/1938 +semver_level: major +is_stripe_api_change: true +--- + +* Add support for new resources `PaymentPlan`, `v2.data.QueryRun`, `v2.data.ReportRun`, `v2.data.Report`, and `v2.data.Schema` +* Add support for `create`, `list`, `modify`, and `retrieve` methods on resource `PaymentPlan` +* Add support for `list` and `retrieve` methods on resources `v2.data.Report` and `v2.data.Schema` +* Add support for `create` and `retrieve` methods on resources `v2.data.QueryRun` and `v2.data.ReportRun` +* ⚠️ Remove support for `acknowledge_confirmation_of_payee` and `initiate_confirmation_of_payee` methods on resource `v2.core.vault.GbBankAccount` +* Add support for new value `issuing.application_rejected_because_prohibited_business` on enum `AccountNotice.reason` +* Add support for `settlement_currencies` on `BalanceSettings.Payment` and `BalanceSettingsModifyParamsPayment` +* Add support for `default_settlement_currency` on `BalanceSettings.Payment` +* Add support for `wero` on `Charge.PaymentMethodDetail`, `ConfirmationToken.PaymentMethodPreview`, `ConfirmationTokenCreateParamsPaymentMethodDatum`, `PaymentAttemptRecord.PaymentMethodDetail`, `PaymentIntent.PaymentMethodOption`, `PaymentIntentConfirmParamsPaymentMethodDatum`, `PaymentIntentConfirmParamsPaymentMethodOption`, `PaymentIntentCreateParamsPaymentMethodDatum`, `PaymentIntentCreateParamsPaymentMethodOption`, `PaymentIntentModifyParamsPaymentMethodDatum`, `PaymentIntentModifyParamsPaymentMethodOption`, `PaymentMethodConfigurationCreateParams`, `PaymentMethodConfigurationModifyParams`, `PaymentMethodConfiguration`, `PaymentMethodCreateParams`, `PaymentMethod`, `PaymentRecord.PaymentMethodDetail`, `SetupIntentConfirmParamsPaymentMethodDatum`, `SetupIntentCreateParamsPaymentMethodDatum`, and `SetupIntentModifyParamsPaymentMethodDatum` +* Add support for new value `mandiri` on enums `Charge.PaymentMethodDetail.IdBankTransfer.bank`, `ConfirmationToken.PaymentMethodPreview.IdBankTransfer.bank`, `ConfirmationTokenCreateParamsPaymentMethodDatumIdBankTransfer.bank`, `PaymentAttemptRecord.PaymentMethodDetail.IdBankTransfer.bank`, `PaymentIntentConfirmParamsPaymentMethodDatumIdBankTransfer.bank`, `PaymentIntentCreateParamsPaymentMethodDatumIdBankTransfer.bank`, `PaymentIntentModifyParamsPaymentMethodDatumIdBankTransfer.bank`, `PaymentMethod.IdBankTransfer.bank`, `PaymentMethodCreateParamsIdBankTransfer.bank`, `PaymentRecord.PaymentMethodDetail.IdBankTransfer.bank`, `SetupAttempt.PaymentMethodDetail.IdBankTransfer.bank`, `SetupIntentConfirmParamsPaymentMethodDatumIdBankTransfer.bank`, `SetupIntentCreateParamsPaymentMethodDatumIdBankTransfer.bank`, and `SetupIntentModifyParamsPaymentMethodDatumIdBankTransfer.bank` +* Add support for new values `au_acn`, `au_wpn`, `bw_vat`, `ci_vat`, `cz_dic`, `fr_siren`, `fr_siret`, `fr_spi`, `gh_tin`, `is_kt`, `md_cf`, `mu_vat`, `mz_nuit`, `nz_bn`, `pt_nif`, `sm_coe`, `tt_bir`, and `tt_vat` on enums `Checkout.Session.CollectedInformation.TaxId.type`, `Order.TaxDetail.TaxId.type`, and `QuotePreviewInvoice.CustomerTaxId.type` +* Add support for new value `wero` on enums `ConfirmationTokenCreateParamsPaymentMethodDatum.type`, `PaymentIntentConfirmParamsPaymentMethodDatum.type`, `PaymentIntentCreateParamsPaymentMethodDatum.type`, `PaymentIntentModifyParamsPaymentMethodDatum.type`, `SetupIntentConfirmParamsPaymentMethodDatum.type`, `SetupIntentCreateParamsPaymentMethodDatum.type`, and `SetupIntentModifyParamsPaymentMethodDatum.type` +* Add support for `external_token` on `ConfirmationTokenCreateParamsPaymentMethodDatumUsBankAccount`, `PaymentIntentConfirmParamsPaymentMethodDatumUsBankAccount`, `PaymentIntentCreateParamsPaymentMethodDatumUsBankAccount`, `PaymentIntentModifyParamsPaymentMethodDatumUsBankAccount`, `PaymentMethodCreateParamsUsBankAccount`, `SetupIntentConfirmParamsPaymentMethodDatumUsBankAccount`, `SetupIntentCreateParamsPaymentMethodDatumUsBankAccount`, `SetupIntentModifyParamsPaymentMethodDatumUsBankAccount`, and `treasury.OutboundPaymentCreateParamsDestinationPaymentMethodDatumUsBankAccount` +* Add support for new value `wero` on enums `ConfirmationToken.PaymentMethodPreview.type` and `PaymentMethod.type` +* Add support for new value `wero` on enums `CustomerListPaymentMethodsParams.type`, `PaymentMethodCreateParams.type`, and `PaymentMethodListParams.type` +* ⚠️ Change type of `Dispute.Evidence.appeal` from `DisputeAppeal` to `nullable(DisputeAppeal)` +* Change `Dispute.EvidenceDetail.submission_method` to be required +* Change `Dispute.intended_submission_method` to be required +* Add support for `payment_plan` on `Invoice` +* Add support for new values `au_acn`, `au_wpn`, `bw_vat`, `ci_vat`, `cz_dic`, `fr_siren`, `fr_siret`, `fr_spi`, `gh_tin`, `is_kt`, `md_cf`, `mu_vat`, `mz_nuit`, `nz_bn`, `pt_nif`, `sm_coe`, `tt_bir`, and `tt_vat` on enums `OrderCreateParamsTaxDetailTaxId.type` and `OrderModifyParamsTaxDetailTaxId.type` +* Add support for new value `wero` on enums `PaymentIntent.excluded_payment_method_types`, `PaymentIntentConfirmParams.excluded_payment_method_types`, `PaymentIntentCreateParams.excluded_payment_method_types`, `PaymentIntentModifyParams.excluded_payment_method_types`, `SetupIntent.excluded_payment_method_types`, `SetupIntentCreateParams.excluded_payment_method_types`, and `SetupIntentModifyParams.excluded_payment_method_types` +* Add support for new value `sequra` on enum `QuotePreviewInvoice.PaymentSetting.payment_method_types` +* Change `QuotePreviewSubscriptionSchedule.pause_schedules` to be required +* ⚠️ Remove support for `default_outbound_destination` on `V2.Core.Account.Configuration.Recipient` and `v2.core.AccountModifyParamsConfigurationRecipient` +* Add support for `crypto_wallets` on `V2.Core.Account.Configuration.Recipient.Capability`, `v2.core.AccountCreateParamsConfigurationRecipientCapability`, and `v2.core.AccountModifyParamsConfigurationRecipientCapability` +* Add support for `ach`, `fedwire`, `fps`, `rtp`, `sepa`, and `swift` on `V2.Core.Account.Configuration.Recipient.Capability.BankAccount`, `v2.core.AccountCreateParamsConfigurationRecipientCapabilityBankAccount`, and `v2.core.AccountModifyParamsConfigurationRecipientCapabilityBankAccount` +* ⚠️ Remove support for `wire` on `V2.Core.Account.Configuration.Recipient.Capability.BankAccount`, `v2.core.AccountCreateParamsConfigurationRecipientCapabilityBankAccount`, and `v2.core.AccountModifyParamsConfigurationRecipientCapabilityBankAccount` +* ⚠️ Add support for new value `physical` on enum `V2.Core.Account.Identity.BusinessDetail.AdditionalAddress.purpose` +* Add support for `proof_of_business_presence` on `V2.Core.Account.Identity.BusinessDetail.Document`, `v2.core.AccountCreateParamsIdentityBusinessDetailDocument`, `v2.core.AccountModifyParamsIdentityBusinessDetailDocument`, and `v2.core.AccountTokenCreateParamsIdentityBusinessDetailDocument` +* Add support for `partial_output_file` on `V2.Core.BatchJob.StatusDetail.BatchFailed` +* Add support for `fingerprint` on `V2.Core.Vault.GbBankAccount`, `V2.Core.Vault.UsBankAccount`, and `V2.MoneyManagement.PayoutMethod.BankAccount` +* ⚠️ Remove support for values `futsu` and `toza` from enums `V2.Core.Vault.GbBankAccount.bank_account_type` and `v2.core.vault.GbBankAccountCreateParams.bank_account_type` +* Add support for `fedwire_fingerprint` on `V2.Core.Vault.UsBankAccount` +* ⚠️ Remove support for values `balance_exchange` and `inbound_payment` from enum `V2.MoneyManagement.Adjustment.AdjustedFlow.type` +* Add support for `address` on `V2.MoneyManagement.FinancialAddress.BankAccount.Aba` +* ⚠️ Remove support for `account_holder_address` on `V2.MoneyManagement.FinancialAddress.BankAccount.Aba` +* ⚠️ Remove support for `last4` on `V2.MoneyManagement.FinancialAddress.BankAccount.Aba`, `V2.MoneyManagement.FinancialAddress.BankAccount.Iban`, and `V2.MoneyManagement.FinancialAddress.BankAccount.SortCode` +* ⚠️ Remove support for `country` on `V2.MoneyManagement.FinancialAddress.BankAccount.Iban` +* Change `V2.MoneyManagement.FinancialAddress.BankAccount.Aba.account_number` and `V2.MoneyManagement.FinancialAddress.BankAccount.SortCode.account_number` to be required +* Change `V2.MoneyManagement.FinancialAddress.BankAccount.Iban.iban` to be required +* Change `V2.MoneyManagement.FinancialAddress.settlement_currency` to be required +* Add support for `tax_amount` on `V2.MoneyManagement.OutboundPaymentQuote.EstimatedFee` +* ⚠️ Remove support for values `becs`, `eft`, `npp`, and `sepa_instant` from enum `V2.MoneyManagement.OutboundPaymentQuote.EstimatedFee.NetworkFeeDetail.network` +* Add support for new value `next_day_payout_fee` on enum `V2.MoneyManagement.OutboundPaymentQuote.EstimatedFee.type` +* Add support for `payout_method_options` on `V2.MoneyManagement.OutboundPayment.To`, `V2.MoneyManagement.OutboundPaymentQuote.To`, `V2.MoneyManagement.OutboundTransfer.To`, `v2.money_management.OutboundPaymentCreateParamsTo`, `v2.money_management.OutboundPaymentQuoteCreateParamsTo`, and `v2.money_management.OutboundTransferCreateParamsTo` +* Add support for `payout_intent` and `tracking_details` on `V2.MoneyManagement.OutboundPayment` +* Add support for `recipient_verification` on `V2.MoneyManagement.OutboundPayment` and `v2.money_management.OutboundPaymentCreateParams` +* ⚠️ Change `V2.MoneyManagement.OutboundPayment.To.payout_method` and `V2.MoneyManagement.OutboundSetupIntent.payout_method` to be optional +* Add support for `crypto_wallet` on `V2.MoneyManagement.PayoutMethod` and `v2.money_management.OutboundSetupIntentCreateParamsPayoutMethodDatum` +* Add support for `network` on `V2.MoneyManagement.ReceivedCredit.BankTransfer` +* ⚠️ Remove support for `gb_bank_account`, `sepa_bank_account`, and `us_bank_account` on `V2.MoneyManagement.ReceivedCredit.BankTransfer` +* ⚠️ Remove support for `network` on `V2.MoneyManagement.ReceivedCredit.BankTransfer.OriginatingBankAccount.Aba`, `V2.MoneyManagement.ReceivedCredit.BankTransfer.OriginatingBankAccount.Iban`, and `V2.MoneyManagement.ReceivedCredit.BankTransfer.OriginatingBankAccount.SortCode` +* Add support for `fee_batch` on `V2.MoneyManagement.Transaction.Flow` and `V2.MoneyManagement.TransactionEntry.TransactionDetail.Flow` +* ⚠️ Remove support for `fee_transaction` on `V2.MoneyManagement.Transaction.Flow` and `V2.MoneyManagement.TransactionEntry.TransactionDetail.Flow` +* ⚠️ Add support for new value `fee_batch` on enums `V2.MoneyManagement.Transaction.Flow.type` and `V2.MoneyManagement.TransactionEntry.TransactionDetail.Flow.type` +* ⚠️ Remove support for value `fee_transaction` from enums `V2.MoneyManagement.Transaction.Flow.type` and `V2.MoneyManagement.TransactionEntry.TransactionDetail.Flow.type` +* Add support for `metadata` and `regulatory_receipt` on `V2.MoneyManagement.Transaction` +* Add support for `contact_email` on `V2.Signals.AccountActivity.AccountDetail.Datum`, `V2.Signals.AccountEvaluation.AccountDetail.Datum`, `v2.signals.AccountActivityCreateParamsAccountDetailData`, and `v2.signals.AccountEvaluationCreateParamsAccountDetailData` +* Add support for new values `fedwire` and `sepa` on enum `v2.money_management.FinancialAddressCreditSimulationCreditParams.network` +* Add support for `statement_descriptor` on `v2.money_management.OutboundPaymentCreateParams` and `v2.money_management.OutboundTransferCreateParams` +* ⚠️ Remove support for `created_gt`, `created_gte`, `created_lt`, and `created_lte` on `v2.money_management.OutboundPaymentListParams` +* ⚠️ Change type of `v2.money_management.OutboundPaymentListParams.created` from `DateTime` to `an object` +* ⚠️ Remove support for `settlement_currency` on `v2.money_management.FinancialAddressCreateParams` +* Add support for new value `eur` on enum `v2.money_management.FinancialAddressCreateParamsBankAccount.currency` +* ⚠️ Remove support for `deposit_insurance_eligibility` on `v2.money_management.FinancialAccountCreateParamsStorage` +* ⚠️ Change type of `v2.core.vault.UsBankAccountListParams.verification_status` from `string` to `enum('awaiting_verification'|'unverified'|'verification_failed'|'verified')` +* Add support for new value `physical` on enums `v2.core.AccountCreateParamsIdentityBusinessDetailAdditionalAddress.purpose`, `v2.core.AccountModifyParamsIdentityBusinessDetailAdditionalAddress.purpose`, and `v2.core.AccountTokenCreateParamsIdentityBusinessDetailAdditionalAddress.purpose` +* Add support for snapshot events `payment_plan.created`, `payment_plan.installment_due`, `payment_plan.installment_paid`, `payment_plan.installment_will_be_due`, and `payment_plan.updated` with resource `PaymentPlan` +* Add support for event notifications `V2DataQueryRunCreatedEvent`, `V2DataQueryRunFailedEvent`, `V2DataQueryRunSucceededEvent`, and `V2DataQueryRunUpdatedEvent` with related object `v2.data.QueryRun` +* Add support for event notifications `V2DataReportRunCreatedEvent`, `V2DataReportRunFailedEvent`, `V2DataReportRunSucceededEvent`, and `V2DataReportRunUpdatedEvent` with related object `v2.data.ReportRun` +* Add support for error codes `smart_disputes_not_available`, `subscription_update_trial_after_billing_cycle_anchor`, `three_d_secure_authentication_not_supported`, and `three_d_secure_authentication_upstream_error` on `QuotePreviewInvoice.LastFinalizationError` +* ⚠️ Remove support for error code `blocked_payout_method_card` on `BlockedByStripeError` +* Add support for error code `us_bank_account_microdeposits_requires_routing_number` on `CannotProceedError` +* Add support for error codes `gb_bank_account_cannot_be_unarchived` and `us_bank_account_cannot_be_unarchived` on `ControlledByAlternateResourceError` +* ⚠️ Remove support for error code `outbound_flow_from_closed_financial_account_unsupported` on `FeatureNotEnabledError` +* ⚠️ Remove support for error code `invalid_payout_method_card` on `InvalidPayoutMethodError` +* Add support for error code `payout_intent_not_cancelable` on `NotCancelableError` +* ⚠️ Remove support for error code `archived_payout_method_card` on `QuotaExceededError` diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index 6aca587b4..b9979ecd9 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -588801ef34f7b5f7d6a784d3354f5f93d2a26ffb \ No newline at end of file +65c49b0893d71e8cfe272b2d38cd3307ee1833f2 \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index bfaa37da3..9a21d2dc6 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2526 \ No newline at end of file +v2596 \ No newline at end of file diff --git a/stripe/__init__.py b/stripe/__init__.py index 24fba4b04..ff71ea33a 100644 --- a/stripe/__init__.py +++ b/stripe/__init__.py @@ -332,10 +332,12 @@ def add_beta_version( AuthenticationError as AuthenticationError, BlockedByStripeError as BlockedByStripeError, CannotProceedError as CannotProceedError, + CapabilityNotEnabledError as CapabilityNotEnabledError, CardError as CardError, ControlledByAlternateResourceError as ControlledByAlternateResourceError, FeatureNotEnabledError as FeatureNotEnabledError, FinancialAccountNotOpenError as FinancialAccountNotOpenError, + FxQuoteNeedsRefreshError as FxQuoteNeedsRefreshError, IdempotencyError as IdempotencyError, InsufficientFundsError as InsufficientFundsError, InvalidPaymentMethodError as InvalidPaymentMethodError, @@ -478,6 +480,10 @@ def add_beta_version( from stripe._payment_method_service import ( PaymentMethodService as PaymentMethodService, ) + from stripe._payment_plan import PaymentPlan as PaymentPlan + from stripe._payment_plan_service import ( + PaymentPlanService as PaymentPlanService, + ) from stripe._payment_record import PaymentRecord as PaymentRecord from stripe._payment_record_service import ( PaymentRecordService as PaymentRecordService, @@ -797,10 +803,12 @@ def add_beta_version( "AuthenticationError": ("stripe._error", False), "BlockedByStripeError": ("stripe._error", False), "CannotProceedError": ("stripe._error", False), + "CapabilityNotEnabledError": ("stripe._error", False), "CardError": ("stripe._error", False), "ControlledByAlternateResourceError": ("stripe._error", False), "FeatureNotEnabledError": ("stripe._error", False), "FinancialAccountNotOpenError": ("stripe._error", False), + "FxQuoteNeedsRefreshError": ("stripe._error", False), "IdempotencyError": ("stripe._error", False), "InsufficientFundsError": ("stripe._error", False), "InvalidPaymentMethodError": ("stripe._error", False), @@ -933,6 +941,8 @@ def add_beta_version( False, ), "PaymentMethodService": ("stripe._payment_method_service", False), + "PaymentPlan": ("stripe._payment_plan", False), + "PaymentPlanService": ("stripe._payment_plan_service", False), "PaymentRecord": ("stripe._payment_record", False), "PaymentRecordService": ("stripe._payment_record_service", False), "Payout": ("stripe._payout", False), diff --git a/stripe/_account.py b/stripe/_account.py index 52afe3c44..e6dff2cf4 100644 --- a/stripe/_account.py +++ b/stripe/_account.py @@ -700,6 +700,12 @@ class Capabilities(StripeObject): """ 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. """ + wero_payments: Optional[ + Union[Literal["active", "inactive", "pending"], str] + ] + """ + The status of the Wero capability of the account, or whether the account can directly process Wero payments. + """ zip_payments: Optional[ Union[Literal["active", "inactive", "pending"], str] ] @@ -848,6 +854,32 @@ class OwnershipDeclaration(StripeObject): The user-agent string from the browser where the beneficial owner attestation was made. """ + class PhysicalAddress(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 ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). + """ + class PrincipalPlaceOfBusiness(StripeObject): city: Optional[str] """ @@ -990,6 +1022,7 @@ class Document(StripeObject): """ The company's phone number (used for verification). """ + physical_address: Optional[PhysicalAddress] principal_place_of_business: Optional[PrincipalPlaceOfBusiness] registration_date: Optional[RegistrationDate] representative_declaration: Optional[RepresentativeDeclaration] @@ -1052,6 +1085,7 @@ class Document(StripeObject): "administrative_address": AdministrativeAddress, "directorship_declaration": DirectorshipDeclaration, "ownership_declaration": OwnershipDeclaration, + "physical_address": PhysicalAddress, "principal_place_of_business": PrincipalPlaceOfBusiness, "registration_date": RegistrationDate, "representative_declaration": RepresentativeDeclaration, diff --git a/stripe/_account_notice.py b/stripe/_account_notice.py index 0d67422ff..0622132d7 100644 --- a/stripe/_account_notice.py +++ b/stripe/_account_notice.py @@ -99,6 +99,7 @@ class LinkedObjects(StripeObject): "issuing.account_closed_for_not_providing_url_clarification", "issuing.account_closed_for_not_providing_use_case_clarification", "issuing.account_closed_for_terms_of_service_violation", + "issuing.application_rejected_because_prohibited_business", "issuing.application_rejected_for_failure_to_verify", "issuing.credit_application_rejected", "issuing.credit_increase_application_rejected", diff --git a/stripe/_account_session.py b/stripe/_account_session.py index 7d2d6edbd..5ac8d7540 100644 --- a/stripe/_account_session.py +++ b/stripe/_account_session.py @@ -475,6 +475,17 @@ class Features(StripeObject): features: Features _inner_class_types = {"features": Features} + class ReportingChart(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 @@ -497,6 +508,28 @@ class Features(StripeObject): features: Features _inner_class_types = {"features": Features} + class TerminalHardwareOrders(StripeObject): + class Features(StripeObject): + pass + + enabled: bool + """ + Whether the embedded component is enabled. + """ + features: Features + _inner_class_types = {"features": Features} + + class TerminalHardwareShop(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 balance_report: BalanceReport @@ -520,8 +553,11 @@ class Features(StripeObject): payout_reconciliation_report: PayoutReconciliationReport payouts: Payouts payouts_list: PayoutsList + reporting_chart: ReportingChart tax_registrations: TaxRegistrations tax_settings: TaxSettings + terminal_hardware_orders: TerminalHardwareOrders + terminal_hardware_shop: TerminalHardwareShop _inner_class_types = { "account_management": AccountManagement, "account_onboarding": AccountOnboarding, @@ -546,8 +582,11 @@ class Features(StripeObject): "payout_reconciliation_report": PayoutReconciliationReport, "payouts": Payouts, "payouts_list": PayoutsList, + "reporting_chart": ReportingChart, "tax_registrations": TaxRegistrations, "tax_settings": TaxSettings, + "terminal_hardware_orders": TerminalHardwareOrders, + "terminal_hardware_shop": TerminalHardwareShop, } account: str diff --git a/stripe/_api_requestor.py b/stripe/_api_requestor.py index 4c6c2ffbf..2da869f0a 100644 --- a/stripe/_api_requestor.py +++ b/stripe/_api_requestor.py @@ -428,12 +428,16 @@ def specific_v2_api_error(self, rbody, rcode, resp, rheaders, error_data): **error_args, reason=error_data.get("reason"), ) + elif type == "capability_not_enabled": + return error.CapabilityNotEnabledError(**error_args) elif type == "controlled_by_alternate_resource": return error.ControlledByAlternateResourceError(**error_args) elif type == "feature_not_enabled": return error.FeatureNotEnabledError(**error_args) elif type == "financial_account_not_open": return error.FinancialAccountNotOpenError(**error_args) + elif type == "fx_quote_needs_refresh": + return error.FxQuoteNeedsRefreshError(**error_args) elif type == "insufficient_funds": return error.InsufficientFundsError(**error_args) elif type == "invalid_payment_method": diff --git a/stripe/_api_version.py b/stripe/_api_version.py index 65684571e..09cb8e4ec 100644 --- a/stripe/_api_version.py +++ b/stripe/_api_version.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- # File generated from our OpenAPI spec class _ApiVersion: - CURRENT = "2026-09-30.preview" + CURRENT = "2026-10-28.preview" CURRENT_MAJOR = "" diff --git a/stripe/_application_fee.py b/stripe/_application_fee.py index b8412b7d0..3b5e35560 100644 --- a/stripe/_application_fee.py +++ b/stripe/_application_fee.py @@ -40,6 +40,14 @@ @nested_resource_class_methods("refund") class ApplicationFee(ListableAPIResource["ApplicationFee"]): + """ + When you collect a transaction fee on top of a charge made for your user + (using [Connect](https://docs.stripe.com/connect)), an `Application Fee` object is created in + your account. You can list, retrieve, and refund application fees. + + Related guide: [Collecting application fees](https://docs.stripe.com/connect/direct-charges#collect-fees) + """ + OBJECT_NAME: ClassVar[Literal["application_fee"]] = "application_fee" class FeeSource(StripeObject): diff --git a/stripe/_balance_settings.py b/stripe/_balance_settings.py index 7e3da5f17..3e9de3d28 100644 --- a/stripe/_balance_settings.py +++ b/stripe/_balance_settings.py @@ -133,10 +133,27 @@ class StartOfDay(StripeObject): """ 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`. """ + default_settlement_currency: Optional[str] + """ + The default settlement currency for the account. + """ payouts: Optional[Payouts] """ Settings specific to the account's payouts. """ + settlement_currencies: Optional[ + UntypedStripeObject[ + Union[ + Literal[ + "disabled", "enabled", "restricted_by_application" + ], + str, + ] + ] + ] + """ + A hash of settlement currencies and their states. Each key is an ISO 4217 currency code, and the value is one of `enabled`, `disabled`, or `restricted_by_application`. + """ settlement_timing: SettlementTiming _inner_class_types = { "payouts": Payouts, diff --git a/stripe/_card.py b/stripe/_card.py index 741b438df..adf3feda8 100644 --- a/stripe/_card.py +++ b/stripe/_card.py @@ -22,6 +22,8 @@ class Card(DeletableAPIResource["Card"], UpdateableAPIResource["Card"]): later. You can also store multiple debit cards on a recipient in order to transfer to those cards later. + This API is deprecated. Use the [PaymentMethods API](https://docs.stripe.com/api/payment_methods) instead. + Related guide: [Card payments with Sources](https://docs.stripe.com/sources/cards) """ @@ -40,6 +42,9 @@ class Redaction(StripeObject): """ account: Optional[ExpandableField["Account"]] + """ + The account this card 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_cards/object) where [controller.is_controller](https://docs.stripe.com/api/accounts/object#account_object-controller-is_controller) is `true`. + """ address_city: Optional[str] """ City/District/Suburb/Town/Village. diff --git a/stripe/_charge.py b/stripe/_charge.py index 5d4302061..f8f79ea83 100644 --- a/stripe/_charge.py +++ b/stripe/_charge.py @@ -977,7 +977,7 @@ class ShippingAddress(StripeObject): Union[Literal["installment", "recurring", "unscheduled"], str] ] """ - The payment_method_options.card.stored_credential_usage value that was passed for an off session, merchant-initiated transaction, one of `recurring`, `unscheduled`, `on_session`, or `installment` + The payment_method_options.card.stored_credential_usage value that was passed for an off session, merchant-initiated transaction. """ three_d_secure: Optional[ThreeDSecure] """ @@ -1227,6 +1227,7 @@ class Crypto(StripeObject): token_currency: Optional[ Union[ Literal[ + "ousd", "phantom_cash", "usdc", "usdg", @@ -1373,7 +1374,9 @@ class IdBankTransfer(StripeObject): """ Account number of the bank account to transfer funds to. """ - bank: Union[Literal["bca", "bni", "bri", "cimb", "permata"], str] + bank: Union[ + Literal["bca", "bni", "bri", "cimb", "mandiri", "permata"], str + ] """ Bank where the account is located. """ @@ -2339,6 +2342,9 @@ class WechatPay(StripeObject): Transaction ID of this particular WeChat Pay transaction. """ + class Wero(StripeObject): + pass + class Zip(StripeObject): pass @@ -2416,6 +2422,7 @@ class Zip(StripeObject): us_bank_account: Optional[UsBankAccount] wechat: Optional[Wechat] wechat_pay: Optional[WechatPay] + wero: Optional[Wero] zip: Optional[Zip] _inner_class_types = { "ach_credit_transfer": AchCreditTransfer, @@ -2486,6 +2493,7 @@ class Zip(StripeObject): "us_bank_account": UsBankAccount, "wechat": Wechat, "wechat_pay": WechatPay, + "wero": Wero, "zip": Zip, } diff --git a/stripe/_confirmation_token.py b/stripe/_confirmation_token.py index 9df3d5edd..9f2503ecb 100644 --- a/stripe/_confirmation_token.py +++ b/stripe/_confirmation_token.py @@ -999,7 +999,10 @@ class Grabpay(StripeObject): class IdBankTransfer(StripeObject): bank: Optional[ - Union[Literal["bca", "bni", "bri", "cimb", "permata"], str] + Union[ + Literal["bca", "bni", "bri", "cimb", "mandiri", "permata"], + str, + ] ] bank_code: Optional[str] bank_name: Optional[str] @@ -1579,6 +1582,9 @@ class Blocked(StripeObject): class WechatPay(StripeObject): pass + class Wero(StripeObject): + pass + class Zip(StripeObject): pass @@ -1720,6 +1726,7 @@ class Zip(StripeObject): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -1730,6 +1737,7 @@ class Zip(StripeObject): upi: Optional[Upi] us_bank_account: Optional[UsBankAccount] wechat_pay: Optional[WechatPay] + wero: Optional[Wero] zip: Optional[Zip] _inner_class_types = { "acss_debit": AcssDebit, @@ -1796,6 +1804,7 @@ class Zip(StripeObject): "upi": Upi, "us_bank_account": UsBankAccount, "wechat_pay": WechatPay, + "wero": Wero, "zip": Zip, } diff --git a/stripe/_customer.py b/stripe/_customer.py index a8442131b..891354f95 100644 --- a/stripe/_customer.py +++ b/stripe/_customer.py @@ -1933,7 +1933,7 @@ def _cls_fund_cash_balance( **params: Unpack["CustomerFundCashBalanceParams"], ) -> "CustomerCashBalanceTransaction": """ - Create an incoming testmode bank transfer + Create a test incoming bank transfer """ return cast( "CustomerCashBalanceTransaction", @@ -1952,7 +1952,7 @@ def fund_cash_balance( customer: str, /, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ - Create an incoming testmode bank transfer + Create a test incoming bank transfer """ ... @@ -1961,7 +1961,7 @@ def fund_cash_balance( self, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ - Create an incoming testmode bank transfer + Create a test incoming bank transfer """ ... @@ -1970,7 +1970,7 @@ def fund_cash_balance( self, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ - Create an incoming testmode bank transfer + Create a test incoming bank transfer """ return cast( "CustomerCashBalanceTransaction", @@ -1991,7 +1991,7 @@ async def _cls_fund_cash_balance_async( **params: Unpack["CustomerFundCashBalanceParams"], ) -> "CustomerCashBalanceTransaction": """ - Create an incoming testmode bank transfer + Create a test incoming bank transfer """ return cast( "CustomerCashBalanceTransaction", @@ -2010,7 +2010,7 @@ async def fund_cash_balance_async( customer: str, /, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ - Create an incoming testmode bank transfer + Create a test incoming bank transfer """ ... @@ -2019,7 +2019,7 @@ async def fund_cash_balance_async( self, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ - Create an incoming testmode bank transfer + Create a test incoming bank transfer """ ... @@ -2028,7 +2028,7 @@ async def fund_cash_balance_async( self, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ - Create an incoming testmode bank transfer + Create a test incoming bank transfer """ return cast( "CustomerCashBalanceTransaction", diff --git a/stripe/_customer_cash_balance_transaction.py b/stripe/_customer_cash_balance_transaction.py index f144e71c4..851347047 100644 --- a/stripe/_customer_cash_balance_transaction.py +++ b/stripe/_customer_cash_balance_transaction.py @@ -86,7 +86,12 @@ class JpBankTransfer(StripeObject): class UsBankTransfer(StripeObject): network: Optional[ - Union[Literal["ach", "domestic_wire_us", "swift"], str] + Union[ + Literal[ + "ach", "domestic_wire_us", "fednow", "rtp", "swift" + ], + str, + ] ] """ The banking network used for this funding. diff --git a/stripe/_dispute.py b/stripe/_dispute.py index 00f8ff4dc..a9be074f8 100644 --- a/stripe/_dispute.py +++ b/stripe/_dispute.py @@ -213,6 +213,9 @@ class VisaCompliance(StripeObject): 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. """ appeal: Optional[Appeal] + """ + Appeal evidence submitted during the appeal stage. + """ billing_address: Optional[str] """ The billing address provided by the customer. @@ -394,8 +397,8 @@ class VisaCompliance(StripeObject): """ The number of times evidence has been submitted. Typically, you may only submit evidence once. """ - submission_method: Optional[ - Union[Literal["manual", "not_submitted", "smart_disputes"], str] + submission_method: Union[ + Literal["manual", "not_submitted", "smart_disputes"], str ] """ Whether the dispute was submitted manually, with Smart Disputes, or not submitted. @@ -565,6 +568,8 @@ class SmartDisputes(StripeObject): smart_disputes: Optional[SmartDisputes] status: Union[ Literal[ + "appeal_needs_response", + "appeal_under_review", "lost", "needs_response", "prevented", @@ -577,7 +582,7 @@ class SmartDisputes(StripeObject): str, ] """ - 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`. + The current status of a dispute. Possible values include:`warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `appeal_needs_response`, `appeal_under_review`, `won`, `lost`, or `prevented`. """ @classmethod diff --git a/stripe/_error.py b/stripe/_error.py index 7272e606e..23b4f3e4c 100644 --- a/stripe/_error.py +++ b/stripe/_error.py @@ -22,8 +22,6 @@ def __init__( 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 @@ -46,6 +44,14 @@ def __init__( self.json_body = json_body self.headers = headers or {} self.code = code + super(StripeError, self).__init__( + message, + self.http_body, + self.http_status, + self.json_body, + self.headers, + self.code, + ) self.request_id = self.headers.get("request-id", None) self.error = self._construct_error_object() @@ -113,6 +119,7 @@ def __init__( message, http_body, http_status, json_body, headers, code ) self.should_retry = should_retry + self.args = self.args + (self.should_retry,) class StripeErrorWithParamCode(StripeError): @@ -146,6 +153,15 @@ def __init__( message, http_body, http_status, json_body, headers, code ) self.param = param + self.args = ( + self._message, + self.param, + self.code, + self.http_body, + self.http_status, + self.json_body, + self.headers, + ) class IdempotencyError(StripeError): @@ -167,6 +183,15 @@ def __init__( message, http_body, http_status, json_body, headers, code ) self.param = param + self.args = ( + self._message, + self.param, + self.code, + self.http_body, + self.http_status, + self.json_body, + self.headers, + ) class AuthenticationError(StripeError): @@ -185,6 +210,7 @@ class SignatureVerificationError(StripeError): def __init__(self, message, sig_header, http_body=None): super(SignatureVerificationError, self).__init__(message, http_body) self.sig_header = sig_header + self.args = (self._message, self.sig_header, self.http_body) # classDefinitions: The beginning of the section generated from our OpenAPI spec @@ -222,6 +248,10 @@ def __init__( self.reason = reason +class CapabilityNotEnabledError(StripeError): + pass + + class ControlledByAlternateResourceError(StripeError): pass @@ -234,6 +264,10 @@ class FinancialAccountNotOpenError(StripeError): pass +class FxQuoteNeedsRefreshError(StripeError): + pass + + class InsufficientFundsError(StripeError): pass diff --git a/stripe/_event.py b/stripe/_event.py index 70a8fe9f3..cead2cae2 100644 --- a/stripe/_event.py +++ b/stripe/_event.py @@ -327,6 +327,11 @@ class Request(StripeObject): "payment_method.automatically_updated", "payment_method.detached", "payment_method.updated", + "payment_plan.created", + "payment_plan.installment_due", + "payment_plan.installment_paid", + "payment_plan.installment_will_be_due", + "payment_plan.updated", "payout.canceled", "payout.created", "payout.failed", @@ -412,6 +417,13 @@ class Request(StripeObject): "test_helpers.test_clock.deleted", "test_helpers.test_clock.internal_failure", "test_helpers.test_clock.ready", + "three_d_secure.authentication.canceled", + "three_d_secure.authentication.challenge_started", + "three_d_secure.authentication.errored", + "three_d_secure.authentication.failed", + "three_d_secure.authentication.requires_challenge", + "three_d_secure.authentication.requires_submission", + "three_d_secure.authentication.succeeded", "topup.canceled", "topup.created", "topup.failed", diff --git a/stripe/_event_notification_handler.py b/stripe/_event_notification_handler.py index a39d4edf2..b31fb7528 100644 --- a/stripe/_event_notification_handler.py +++ b/stripe/_event_notification_handler.py @@ -222,15 +222,51 @@ from stripe.events._v1_customer_discount_deleted_event import ( V1CustomerDiscountDeletedEventNotification, ) + from stripe.events._v1_customer_discount_source_changed_event import ( + V1CustomerDiscountSourceChangedEventNotification, + ) from stripe.events._v1_customer_discount_updated_event import ( V1CustomerDiscountUpdatedEventNotification, ) + from stripe.events._v1_customer_subscription_active_event import ( + V1CustomerSubscriptionActiveEventNotification, + ) + from stripe.events._v1_customer_subscription_cancel_at_changed_event import ( + V1CustomerSubscriptionCancelAtChangedEventNotification, + ) from stripe.events._v1_customer_subscription_created_event import ( V1CustomerSubscriptionCreatedEventNotification, ) + from stripe.events._v1_customer_subscription_default_payment_method_changed_event import ( + V1CustomerSubscriptionDefaultPaymentMethodChangedEventNotification, + ) from stripe.events._v1_customer_subscription_deleted_event import ( V1CustomerSubscriptionDeletedEventNotification, ) + from stripe.events._v1_customer_subscription_incomplete_event import ( + V1CustomerSubscriptionIncompleteEventNotification, + ) + from stripe.events._v1_customer_subscription_incomplete_expired_event import ( + V1CustomerSubscriptionIncompleteExpiredEventNotification, + ) + from stripe.events._v1_customer_subscription_item_added_event import ( + V1CustomerSubscriptionItemAddedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_price_changed_event import ( + V1CustomerSubscriptionItemPriceChangedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_quantity_changed_event import ( + V1CustomerSubscriptionItemQuantityChangedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_removed_event import ( + V1CustomerSubscriptionItemRemovedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_tax_rates_changed_event import ( + V1CustomerSubscriptionItemTaxRatesChangedEventNotification, + ) + from stripe.events._v1_customer_subscription_past_due_event import ( + V1CustomerSubscriptionPastDueEventNotification, + ) from stripe.events._v1_customer_subscription_paused_event import ( V1CustomerSubscriptionPausedEventNotification, ) @@ -243,9 +279,15 @@ from stripe.events._v1_customer_subscription_resumed_event import ( V1CustomerSubscriptionResumedEventNotification, ) + from stripe.events._v1_customer_subscription_trialing_event import ( + V1CustomerSubscriptionTrialingEventNotification, + ) from stripe.events._v1_customer_subscription_trial_will_end_event import ( V1CustomerSubscriptionTrialWillEndEventNotification, ) + from stripe.events._v1_customer_subscription_unpaid_event import ( + V1CustomerSubscriptionUnpaidEventNotification, + ) from stripe.events._v1_customer_subscription_updated_event import ( V1CustomerSubscriptionUpdatedEventNotification, ) @@ -261,6 +303,12 @@ from stripe.events._v1_customer_updated_event import ( V1CustomerUpdatedEventNotification, ) + from stripe.events._v1_entitlements_active_entitlement_summary_entitlement_added_event import ( + V1EntitlementsActiveEntitlementSummaryEntitlementAddedEventNotification, + ) + from stripe.events._v1_entitlements_active_entitlement_summary_entitlement_removed_event import ( + V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEventNotification, + ) from stripe.events._v1_entitlements_active_entitlement_summary_updated_event import ( V1EntitlementsActiveEntitlementSummaryUpdatedEventNotification, ) @@ -270,6 +318,12 @@ from stripe.events._v1_financial_connections_account_account_numbers_updated_event import ( V1FinancialConnectionsAccountAccountNumbersUpdatedEventNotification, ) + from stripe.events._v1_financial_connections_account_balance_refresh_failed_event import ( + V1FinancialConnectionsAccountBalanceRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_balance_refresh_succeeded_event import ( + V1FinancialConnectionsAccountBalanceRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_created_event import ( V1FinancialConnectionsAccountCreatedEventNotification, ) @@ -282,6 +336,18 @@ from stripe.events._v1_financial_connections_account_expected_deactivation_date_updated_event import ( V1FinancialConnectionsAccountExpectedDeactivationDateUpdatedEventNotification, ) + from stripe.events._v1_financial_connections_account_inferred_balances_refresh_failed_event import ( + V1FinancialConnectionsAccountInferredBalancesRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_inferred_balances_refresh_succeeded_event import ( + V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEventNotification, + ) + from stripe.events._v1_financial_connections_account_ownership_refresh_failed_event import ( + V1FinancialConnectionsAccountOwnershipRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_ownership_refresh_succeeded_event import ( + V1FinancialConnectionsAccountOwnershipRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_reactivated_event import ( V1FinancialConnectionsAccountReactivatedEventNotification, ) @@ -294,9 +360,21 @@ from stripe.events._v1_financial_connections_account_refreshed_transactions_event import ( V1FinancialConnectionsAccountRefreshedTransactionsEventNotification, ) + from stripe.events._v1_financial_connections_account_risk_intelligence_refresh_failed_event import ( + V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_risk_intelligence_refresh_succeeded_event import ( + V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_supported_payment_method_types_updated_event import ( V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEventNotification, ) + from stripe.events._v1_financial_connections_account_transactions_refresh_failed_event import ( + V1FinancialConnectionsAccountTransactionsRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_transactions_refresh_succeeded_event import ( + V1FinancialConnectionsAccountTransactionsRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_upcoming_account_number_expiry_event import ( V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEventNotification, ) @@ -327,18 +405,45 @@ from stripe.events._v1_invoice_deleted_event import ( V1InvoiceDeletedEventNotification, ) + from stripe.events._v1_invoice_discount_added_event import ( + V1InvoiceDiscountAddedEventNotification, + ) + from stripe.events._v1_invoice_discount_removed_event import ( + V1InvoiceDiscountRemovedEventNotification, + ) from stripe.events._v1_invoice_finalization_failed_event import ( V1InvoiceFinalizationFailedEventNotification, ) from stripe.events._v1_invoice_finalized_event import ( V1InvoiceFinalizedEventNotification, ) + from stripe.events._v1_invoiceitem_amount_changed_event import ( + V1InvoiceitemAmountChangedEventNotification, + ) from stripe.events._v1_invoiceitem_created_event import ( V1InvoiceitemCreatedEventNotification, ) from stripe.events._v1_invoiceitem_deleted_event import ( V1InvoiceitemDeletedEventNotification, ) + from stripe.events._v1_invoiceitem_discount_added_event import ( + V1InvoiceitemDiscountAddedEventNotification, + ) + from stripe.events._v1_invoiceitem_discount_removed_event import ( + V1InvoiceitemDiscountRemovedEventNotification, + ) + from stripe.events._v1_invoice_line_item_added_event import ( + V1InvoiceLineItemAddedEventNotification, + ) + from stripe.events._v1_invoice_line_item_pricing_changed_event import ( + V1InvoiceLineItemPricingChangedEventNotification, + ) + from stripe.events._v1_invoice_line_item_quantity_changed_event import ( + V1InvoiceLineItemQuantityChangedEventNotification, + ) + from stripe.events._v1_invoice_line_item_removed_event import ( + V1InvoiceLineItemRemovedEventNotification, + ) from stripe.events._v1_invoice_marked_uncollectible_event import ( V1InvoiceMarkedUncollectibleEventNotification, ) @@ -357,9 +462,15 @@ from stripe.events._v1_invoice_payment_attempt_required_event import ( V1InvoicePaymentAttemptRequiredEventNotification, ) + from stripe.events._v1_invoice_payment_canceled_event import ( + V1InvoicePaymentCanceledEventNotification, + ) from stripe.events._v1_invoice_payment_failed_event import ( V1InvoicePaymentFailedEventNotification, ) + from stripe.events._v1_invoice_payment_open_event import ( + V1InvoicePaymentOpenEventNotification, + ) from stripe.events._v1_invoice_payment_paid_event import ( V1InvoicePaymentPaidEventNotification, ) @@ -528,27 +639,54 @@ from stripe.events._v1_plan_updated_event import ( V1PlanUpdatedEventNotification, ) + from stripe.events._v1_price_activated_event import ( + V1PriceActivatedEventNotification, + ) from stripe.events._v1_price_created_event import ( V1PriceCreatedEventNotification, ) + from stripe.events._v1_price_deactivated_event import ( + V1PriceDeactivatedEventNotification, + ) from stripe.events._v1_price_deleted_event import ( V1PriceDeletedEventNotification, ) + from stripe.events._v1_price_lookup_key_changed_event import ( + V1PriceLookupKeyChangedEventNotification, + ) + from stripe.events._v1_price_tax_behavior_changed_event import ( + V1PriceTaxBehaviorChangedEventNotification, + ) from stripe.events._v1_price_updated_event import ( V1PriceUpdatedEventNotification, ) + from stripe.events._v1_product_activated_event import ( + V1ProductActivatedEventNotification, + ) from stripe.events._v1_product_created_event import ( V1ProductCreatedEventNotification, ) + from stripe.events._v1_product_deactivated_event import ( + V1ProductDeactivatedEventNotification, + ) + from stripe.events._v1_product_default_price_changed_event import ( + V1ProductDefaultPriceChangedEventNotification, + ) from stripe.events._v1_product_deleted_event import ( V1ProductDeletedEventNotification, ) + from stripe.events._v1_product_tax_code_changed_event import ( + V1ProductTaxCodeChangedEventNotification, + ) from stripe.events._v1_product_updated_event import ( V1ProductUpdatedEventNotification, ) from stripe.events._v1_promotion_code_created_event import ( V1PromotionCodeCreatedEventNotification, ) + from stripe.events._v1_promotion_code_fully_redeemed_event import ( + V1PromotionCodeFullyRedeemedEventNotification, + ) from stripe.events._v1_promotion_code_updated_event import ( V1PromotionCodeUpdatedEventNotification, ) @@ -630,6 +768,21 @@ from stripe.events._v1_subscription_schedule_expiring_event import ( V1SubscriptionScheduleExpiringEventNotification, ) + from stripe.events._v1_subscription_schedule_phase_added_event import ( + V1SubscriptionSchedulePhaseAddedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_default_tax_rates_changed_event import ( + V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_end_date_changed_event import ( + V1SubscriptionSchedulePhaseEndDateChangedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_removed_event import ( + V1SubscriptionSchedulePhaseRemovedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_trial_end_changed_event import ( + V1SubscriptionSchedulePhaseTrialEndChangedEventNotification, + ) from stripe.events._v1_subscription_schedule_released_event import ( V1SubscriptionScheduleReleasedEventNotification, ) @@ -819,6 +972,18 @@ from stripe.events._v2_core_health_event_generation_failure_resolved_event import ( V2CoreHealthEventGenerationFailureResolvedEventNotification, ) + from stripe.events._v2_data_query_run_created_event import ( + V2DataQueryRunCreatedEventNotification, + ) + from stripe.events._v2_data_query_run_failed_event import ( + V2DataQueryRunFailedEventNotification, + ) + from stripe.events._v2_data_query_run_succeeded_event import ( + V2DataQueryRunSucceededEventNotification, + ) + from stripe.events._v2_data_query_run_updated_event import ( + V2DataQueryRunUpdatedEventNotification, + ) from stripe.events._v2_data_reporting_query_run_created_event import ( V2DataReportingQueryRunCreatedEventNotification, ) @@ -831,6 +996,18 @@ from stripe.events._v2_data_reporting_query_run_updated_event import ( V2DataReportingQueryRunUpdatedEventNotification, ) + from stripe.events._v2_data_report_run_created_event import ( + V2DataReportRunCreatedEventNotification, + ) + from stripe.events._v2_data_report_run_failed_event import ( + V2DataReportRunFailedEventNotification, + ) + from stripe.events._v2_data_report_run_succeeded_event import ( + V2DataReportRunSucceededEventNotification, + ) + from stripe.events._v2_data_report_run_updated_event import ( + V2DataReportRunUpdatedEventNotification, + ) from stripe.events._v2_extend_workflow_run_failed_event import ( V2ExtendWorkflowRunFailedEventNotification, ) @@ -915,6 +1092,27 @@ from stripe.events._v2_money_management_outbound_transfer_updated_event import ( V2MoneyManagementOutboundTransferUpdatedEventNotification, ) + from stripe.events._v2_money_management_payout_intent_canceled_event import ( + V2MoneyManagementPayoutIntentCanceledEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_created_event import ( + V2MoneyManagementPayoutIntentCreatedEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_pending_event import ( + V2MoneyManagementPayoutIntentPendingEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_posted_event import ( + V2MoneyManagementPayoutIntentPostedEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_processing_event import ( + V2MoneyManagementPayoutIntentProcessingEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_requires_action_event import ( + V2MoneyManagementPayoutIntentRequiresActionEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_updated_event import ( + V2MoneyManagementPayoutIntentUpdatedEventNotification, + ) from stripe.events._v2_money_management_payout_method_created_event import ( V2MoneyManagementPayoutMethodCreatedEventNotification, ) @@ -948,6 +1146,12 @@ from stripe.events._v2_money_management_received_debit_updated_event import ( V2MoneyManagementReceivedDebitUpdatedEventNotification, ) + from stripe.events._v2_money_management_recipient_verification_created_event import ( + V2MoneyManagementRecipientVerificationCreatedEventNotification, + ) + from stripe.events._v2_money_management_recipient_verification_updated_event import ( + V2MoneyManagementRecipientVerificationUpdatedEventNotification, + ) from stripe.events._v2_money_management_transaction_created_event import ( V2MoneyManagementTransactionCreatedEventNotification, ) @@ -1904,6 +2108,19 @@ def on_v1_customer_discount_deleted( ) return func + def on_v1_customer_discount_source_changed( + self, + func: "Callable[[V1CustomerDiscountSourceChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerDiscountSourceChangedEvent` (`v1.customer.discount.source_changed`) event notification. + """ + self._register( + "v1.customer.discount.source_changed", + func, + ) + return func + def on_v1_customer_discount_updated( self, func: "Callable[[V1CustomerDiscountUpdatedEventNotification, StripeClient], CallbackReturn]", @@ -1917,6 +2134,32 @@ def on_v1_customer_discount_updated( ) return func + def on_v1_customer_subscription_active( + self, + func: "Callable[[V1CustomerSubscriptionActiveEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionActiveEvent` (`v1.customer.subscription.active`) event notification. + """ + self._register( + "v1.customer.subscription.active", + func, + ) + return func + + def on_v1_customer_subscription_cancel_at_changed( + self, + func: "Callable[[V1CustomerSubscriptionCancelAtChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionCancelAtChangedEvent` (`v1.customer.subscription.cancel_at_changed`) event notification. + """ + self._register( + "v1.customer.subscription.cancel_at_changed", + func, + ) + return func + def on_v1_customer_subscription_created( self, func: "Callable[[V1CustomerSubscriptionCreatedEventNotification, StripeClient], CallbackReturn]", @@ -1930,6 +2173,19 @@ def on_v1_customer_subscription_created( ) return func + def on_v1_customer_subscription_default_payment_method_changed( + self, + func: "Callable[[V1CustomerSubscriptionDefaultPaymentMethodChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionDefaultPaymentMethodChangedEvent` (`v1.customer.subscription.default_payment_method_changed`) event notification. + """ + self._register( + "v1.customer.subscription.default_payment_method_changed", + func, + ) + return func + def on_v1_customer_subscription_deleted( self, func: "Callable[[V1CustomerSubscriptionDeletedEventNotification, StripeClient], CallbackReturn]", @@ -1943,6 +2199,110 @@ def on_v1_customer_subscription_deleted( ) return func + def on_v1_customer_subscription_incomplete( + self, + func: "Callable[[V1CustomerSubscriptionIncompleteEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionIncompleteEvent` (`v1.customer.subscription.incomplete`) event notification. + """ + self._register( + "v1.customer.subscription.incomplete", + func, + ) + return func + + def on_v1_customer_subscription_incomplete_expired( + self, + func: "Callable[[V1CustomerSubscriptionIncompleteExpiredEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionIncompleteExpiredEvent` (`v1.customer.subscription.incomplete_expired`) event notification. + """ + self._register( + "v1.customer.subscription.incomplete_expired", + func, + ) + return func + + def on_v1_customer_subscription_item_added( + self, + func: "Callable[[V1CustomerSubscriptionItemAddedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionItemAddedEvent` (`v1.customer.subscription.item_added`) event notification. + """ + self._register( + "v1.customer.subscription.item_added", + func, + ) + return func + + def on_v1_customer_subscription_item_price_changed( + self, + func: "Callable[[V1CustomerSubscriptionItemPriceChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionItemPriceChangedEvent` (`v1.customer.subscription.item_price_changed`) event notification. + """ + self._register( + "v1.customer.subscription.item_price_changed", + func, + ) + return func + + def on_v1_customer_subscription_item_quantity_changed( + self, + func: "Callable[[V1CustomerSubscriptionItemQuantityChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionItemQuantityChangedEvent` (`v1.customer.subscription.item_quantity_changed`) event notification. + """ + self._register( + "v1.customer.subscription.item_quantity_changed", + func, + ) + return func + + def on_v1_customer_subscription_item_removed( + self, + func: "Callable[[V1CustomerSubscriptionItemRemovedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionItemRemovedEvent` (`v1.customer.subscription.item_removed`) event notification. + """ + self._register( + "v1.customer.subscription.item_removed", + func, + ) + return func + + def on_v1_customer_subscription_item_tax_rates_changed( + self, + func: "Callable[[V1CustomerSubscriptionItemTaxRatesChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionItemTaxRatesChangedEvent` (`v1.customer.subscription.item_tax_rates_changed`) event notification. + """ + self._register( + "v1.customer.subscription.item_tax_rates_changed", + func, + ) + return func + + def on_v1_customer_subscription_past_due( + self, + func: "Callable[[V1CustomerSubscriptionPastDueEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionPastDueEvent` (`v1.customer.subscription.past_due`) event notification. + """ + self._register( + "v1.customer.subscription.past_due", + func, + ) + return func + def on_v1_customer_subscription_paused( self, func: "Callable[[V1CustomerSubscriptionPausedEventNotification, StripeClient], CallbackReturn]", @@ -1995,6 +2355,19 @@ def on_v1_customer_subscription_resumed( ) return func + def on_v1_customer_subscription_trialing( + self, + func: "Callable[[V1CustomerSubscriptionTrialingEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionTrialingEvent` (`v1.customer.subscription.trialing`) event notification. + """ + self._register( + "v1.customer.subscription.trialing", + func, + ) + return func + def on_v1_customer_subscription_trial_will_end( self, func: "Callable[[V1CustomerSubscriptionTrialWillEndEventNotification, StripeClient], CallbackReturn]", @@ -2008,6 +2381,19 @@ def on_v1_customer_subscription_trial_will_end( ) return func + def on_v1_customer_subscription_unpaid( + self, + func: "Callable[[V1CustomerSubscriptionUnpaidEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1CustomerSubscriptionUnpaidEvent` (`v1.customer.subscription.unpaid`) event notification. + """ + self._register( + "v1.customer.subscription.unpaid", + func, + ) + return func + def on_v1_customer_subscription_updated( self, func: "Callable[[V1CustomerSubscriptionUpdatedEventNotification, StripeClient], CallbackReturn]", @@ -2073,6 +2459,32 @@ def on_v1_customer_updated( ) return func + def on_v1_entitlements_active_entitlement_summary_entitlement_added( + self, + func: "Callable[[V1EntitlementsActiveEntitlementSummaryEntitlementAddedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1EntitlementsActiveEntitlementSummaryEntitlementAddedEvent` (`v1.entitlements.active_entitlement_summary.entitlement_added`) event notification. + """ + self._register( + "v1.entitlements.active_entitlement_summary.entitlement_added", + func, + ) + return func + + def on_v1_entitlements_active_entitlement_summary_entitlement_removed( + self, + func: "Callable[[V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEvent` (`v1.entitlements.active_entitlement_summary.entitlement_removed`) event notification. + """ + self._register( + "v1.entitlements.active_entitlement_summary.entitlement_removed", + func, + ) + return func + def on_v1_entitlements_active_entitlement_summary_updated( self, func: "Callable[[V1EntitlementsActiveEntitlementSummaryUpdatedEventNotification, StripeClient], CallbackReturn]", @@ -2112,6 +2524,32 @@ def on_v1_financial_connections_account_account_numbers_updated( ) return func + def on_v1_financial_connections_account_balance_refresh_failed( + self, + func: "Callable[[V1FinancialConnectionsAccountBalanceRefreshFailedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1FinancialConnectionsAccountBalanceRefreshFailedEvent` (`v1.financial_connections.account.balance_refresh_failed`) event notification. + """ + self._register( + "v1.financial_connections.account.balance_refresh_failed", + func, + ) + return func + + def on_v1_financial_connections_account_balance_refresh_succeeded( + self, + func: "Callable[[V1FinancialConnectionsAccountBalanceRefreshSucceededEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1FinancialConnectionsAccountBalanceRefreshSucceededEvent` (`v1.financial_connections.account.balance_refresh_succeeded`) event notification. + """ + self._register( + "v1.financial_connections.account.balance_refresh_succeeded", + func, + ) + return func + def on_v1_financial_connections_account_created( self, func: "Callable[[V1FinancialConnectionsAccountCreatedEventNotification, StripeClient], CallbackReturn]", @@ -2164,72 +2602,176 @@ def on_v1_financial_connections_account_expected_deactivation_date_updated( ) return func - def on_v1_financial_connections_account_reactivated( + def on_v1_financial_connections_account_inferred_balances_refresh_failed( self, - func: "Callable[[V1FinancialConnectionsAccountReactivatedEventNotification, StripeClient], CallbackReturn]", + func: "Callable[[V1FinancialConnectionsAccountInferredBalancesRefreshFailedEventNotification, StripeClient], CallbackReturn]", ): """ - Registers a callback for the `V1FinancialConnectionsAccountReactivatedEvent` (`v1.financial_connections.account.reactivated`) event notification. + Registers a callback for the `V1FinancialConnectionsAccountInferredBalancesRefreshFailedEvent` (`v1.financial_connections.account.inferred_balances_refresh_failed`) event notification. """ self._register( - "v1.financial_connections.account.reactivated", + "v1.financial_connections.account.inferred_balances_refresh_failed", func, ) return func - def on_v1_financial_connections_account_refreshed_balance( + def on_v1_financial_connections_account_inferred_balances_refresh_succeeded( self, - func: "Callable[[V1FinancialConnectionsAccountRefreshedBalanceEventNotification, StripeClient], CallbackReturn]", + func: "Callable[[V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEventNotification, StripeClient], CallbackReturn]", ): """ - Registers a callback for the `V1FinancialConnectionsAccountRefreshedBalanceEvent` (`v1.financial_connections.account.refreshed_balance`) event notification. + Registers a callback for the `V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEvent` (`v1.financial_connections.account.inferred_balances_refresh_succeeded`) event notification. """ self._register( - "v1.financial_connections.account.refreshed_balance", + "v1.financial_connections.account.inferred_balances_refresh_succeeded", func, ) return func - def on_v1_financial_connections_account_refreshed_ownership( + def on_v1_financial_connections_account_ownership_refresh_failed( self, - func: "Callable[[V1FinancialConnectionsAccountRefreshedOwnershipEventNotification, StripeClient], CallbackReturn]", + func: "Callable[[V1FinancialConnectionsAccountOwnershipRefreshFailedEventNotification, StripeClient], CallbackReturn]", ): """ - Registers a callback for the `V1FinancialConnectionsAccountRefreshedOwnershipEvent` (`v1.financial_connections.account.refreshed_ownership`) event notification. + Registers a callback for the `V1FinancialConnectionsAccountOwnershipRefreshFailedEvent` (`v1.financial_connections.account.ownership_refresh_failed`) event notification. """ self._register( - "v1.financial_connections.account.refreshed_ownership", + "v1.financial_connections.account.ownership_refresh_failed", func, ) return func - def on_v1_financial_connections_account_refreshed_transactions( + def on_v1_financial_connections_account_ownership_refresh_succeeded( self, - func: "Callable[[V1FinancialConnectionsAccountRefreshedTransactionsEventNotification, StripeClient], CallbackReturn]", + func: "Callable[[V1FinancialConnectionsAccountOwnershipRefreshSucceededEventNotification, StripeClient], CallbackReturn]", ): """ - Registers a callback for the `V1FinancialConnectionsAccountRefreshedTransactionsEvent` (`v1.financial_connections.account.refreshed_transactions`) event notification. + Registers a callback for the `V1FinancialConnectionsAccountOwnershipRefreshSucceededEvent` (`v1.financial_connections.account.ownership_refresh_succeeded`) event notification. """ self._register( - "v1.financial_connections.account.refreshed_transactions", + "v1.financial_connections.account.ownership_refresh_succeeded", func, ) return func - def on_v1_financial_connections_account_supported_payment_method_types_updated( + def on_v1_financial_connections_account_reactivated( self, - func: "Callable[[V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEventNotification, StripeClient], CallbackReturn]", + func: "Callable[[V1FinancialConnectionsAccountReactivatedEventNotification, StripeClient], CallbackReturn]", ): """ - Registers a callback for the `V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEvent` (`v1.financial_connections.account.supported_payment_method_types_updated`) event notification. + Registers a callback for the `V1FinancialConnectionsAccountReactivatedEvent` (`v1.financial_connections.account.reactivated`) event notification. """ self._register( - "v1.financial_connections.account.supported_payment_method_types_updated", + "v1.financial_connections.account.reactivated", func, ) return func - def on_v1_financial_connections_account_upcoming_account_number_expiry( + def on_v1_financial_connections_account_refreshed_balance( + self, + func: "Callable[[V1FinancialConnectionsAccountRefreshedBalanceEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1FinancialConnectionsAccountRefreshedBalanceEvent` (`v1.financial_connections.account.refreshed_balance`) event notification. + """ + self._register( + "v1.financial_connections.account.refreshed_balance", + func, + ) + return func + + def on_v1_financial_connections_account_refreshed_ownership( + self, + func: "Callable[[V1FinancialConnectionsAccountRefreshedOwnershipEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1FinancialConnectionsAccountRefreshedOwnershipEvent` (`v1.financial_connections.account.refreshed_ownership`) event notification. + """ + self._register( + "v1.financial_connections.account.refreshed_ownership", + func, + ) + return func + + def on_v1_financial_connections_account_refreshed_transactions( + self, + func: "Callable[[V1FinancialConnectionsAccountRefreshedTransactionsEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1FinancialConnectionsAccountRefreshedTransactionsEvent` (`v1.financial_connections.account.refreshed_transactions`) event notification. + """ + self._register( + "v1.financial_connections.account.refreshed_transactions", + func, + ) + return func + + def on_v1_financial_connections_account_risk_intelligence_refresh_failed( + self, + func: "Callable[[V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEvent` (`v1.financial_connections.account.risk_intelligence_refresh_failed`) event notification. + """ + self._register( + "v1.financial_connections.account.risk_intelligence_refresh_failed", + func, + ) + return func + + def on_v1_financial_connections_account_risk_intelligence_refresh_succeeded( + self, + func: "Callable[[V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEvent` (`v1.financial_connections.account.risk_intelligence_refresh_succeeded`) event notification. + """ + self._register( + "v1.financial_connections.account.risk_intelligence_refresh_succeeded", + func, + ) + return func + + def on_v1_financial_connections_account_supported_payment_method_types_updated( + self, + func: "Callable[[V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEvent` (`v1.financial_connections.account.supported_payment_method_types_updated`) event notification. + """ + self._register( + "v1.financial_connections.account.supported_payment_method_types_updated", + func, + ) + return func + + def on_v1_financial_connections_account_transactions_refresh_failed( + self, + func: "Callable[[V1FinancialConnectionsAccountTransactionsRefreshFailedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1FinancialConnectionsAccountTransactionsRefreshFailedEvent` (`v1.financial_connections.account.transactions_refresh_failed`) event notification. + """ + self._register( + "v1.financial_connections.account.transactions_refresh_failed", + func, + ) + return func + + def on_v1_financial_connections_account_transactions_refresh_succeeded( + self, + func: "Callable[[V1FinancialConnectionsAccountTransactionsRefreshSucceededEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1FinancialConnectionsAccountTransactionsRefreshSucceededEvent` (`v1.financial_connections.account.transactions_refresh_succeeded`) event notification. + """ + self._register( + "v1.financial_connections.account.transactions_refresh_succeeded", + func, + ) + return func + + def on_v1_financial_connections_account_upcoming_account_number_expiry( self, func: "Callable[[V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEventNotification, StripeClient], CallbackReturn]", ): @@ -2359,6 +2901,32 @@ def on_v1_invoice_deleted( ) return func + def on_v1_invoice_discount_added( + self, + func: "Callable[[V1InvoiceDiscountAddedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoiceDiscountAddedEvent` (`v1.invoice.discount_added`) event notification. + """ + self._register( + "v1.invoice.discount_added", + func, + ) + return func + + def on_v1_invoice_discount_removed( + self, + func: "Callable[[V1InvoiceDiscountRemovedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoiceDiscountRemovedEvent` (`v1.invoice.discount_removed`) event notification. + """ + self._register( + "v1.invoice.discount_removed", + func, + ) + return func + def on_v1_invoice_finalization_failed( self, func: "Callable[[V1InvoiceFinalizationFailedEventNotification, StripeClient], CallbackReturn]", @@ -2385,6 +2953,19 @@ def on_v1_invoice_finalized( ) return func + def on_v1_invoiceitem_amount_changed( + self, + func: "Callable[[V1InvoiceitemAmountChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoiceitemAmountChangedEvent` (`v1.invoiceitem.amount_changed`) event notification. + """ + self._register( + "v1.invoiceitem.amount_changed", + func, + ) + return func + def on_v1_invoiceitem_created( self, func: "Callable[[V1InvoiceitemCreatedEventNotification, StripeClient], CallbackReturn]", @@ -2411,6 +2992,84 @@ def on_v1_invoiceitem_deleted( ) return func + def on_v1_invoiceitem_discount_added( + self, + func: "Callable[[V1InvoiceitemDiscountAddedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoiceitemDiscountAddedEvent` (`v1.invoiceitem.discount_added`) event notification. + """ + self._register( + "v1.invoiceitem.discount_added", + func, + ) + return func + + def on_v1_invoiceitem_discount_removed( + self, + func: "Callable[[V1InvoiceitemDiscountRemovedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoiceitemDiscountRemovedEvent` (`v1.invoiceitem.discount_removed`) event notification. + """ + self._register( + "v1.invoiceitem.discount_removed", + func, + ) + return func + + def on_v1_invoice_line_item_added( + self, + func: "Callable[[V1InvoiceLineItemAddedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoiceLineItemAddedEvent` (`v1.invoice.line_item_added`) event notification. + """ + self._register( + "v1.invoice.line_item_added", + func, + ) + return func + + def on_v1_invoice_line_item_pricing_changed( + self, + func: "Callable[[V1InvoiceLineItemPricingChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoiceLineItemPricingChangedEvent` (`v1.invoice.line_item_pricing_changed`) event notification. + """ + self._register( + "v1.invoice.line_item_pricing_changed", + func, + ) + return func + + def on_v1_invoice_line_item_quantity_changed( + self, + func: "Callable[[V1InvoiceLineItemQuantityChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoiceLineItemQuantityChangedEvent` (`v1.invoice.line_item_quantity_changed`) event notification. + """ + self._register( + "v1.invoice.line_item_quantity_changed", + func, + ) + return func + + def on_v1_invoice_line_item_removed( + self, + func: "Callable[[V1InvoiceLineItemRemovedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoiceLineItemRemovedEvent` (`v1.invoice.line_item_removed`) event notification. + """ + self._register( + "v1.invoice.line_item_removed", + func, + ) + return func + def on_v1_invoice_marked_uncollectible( self, func: "Callable[[V1InvoiceMarkedUncollectibleEventNotification, StripeClient], CallbackReturn]", @@ -2489,6 +3148,19 @@ def on_v1_invoice_payment_attempt_required( ) return func + def on_v1_invoice_payment_canceled( + self, + func: "Callable[[V1InvoicePaymentCanceledEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoicePaymentCanceledEvent` (`v1.invoice_payment.canceled`) event notification. + """ + self._register( + "v1.invoice_payment.canceled", + func, + ) + return func + def on_v1_invoice_payment_failed( self, func: "Callable[[V1InvoicePaymentFailedEventNotification, StripeClient], CallbackReturn]", @@ -2502,6 +3174,19 @@ def on_v1_invoice_payment_failed( ) return func + def on_v1_invoice_payment_open( + self, + func: "Callable[[V1InvoicePaymentOpenEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1InvoicePaymentOpenEvent` (`v1.invoice_payment.open`) event notification. + """ + self._register( + "v1.invoice_payment.open", + func, + ) + return func + def on_v1_invoice_payment_paid( self, func: "Callable[[V1InvoicePaymentPaidEventNotification, StripeClient], CallbackReturn]", @@ -3230,6 +3915,19 @@ def on_v1_plan_updated( ) return func + def on_v1_price_activated( + self, + func: "Callable[[V1PriceActivatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1PriceActivatedEvent` (`v1.price.activated`) event notification. + """ + self._register( + "v1.price.activated", + func, + ) + return func + def on_v1_price_created( self, func: "Callable[[V1PriceCreatedEventNotification, StripeClient], CallbackReturn]", @@ -3243,6 +3941,19 @@ def on_v1_price_created( ) return func + def on_v1_price_deactivated( + self, + func: "Callable[[V1PriceDeactivatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1PriceDeactivatedEvent` (`v1.price.deactivated`) event notification. + """ + self._register( + "v1.price.deactivated", + func, + ) + return func + def on_v1_price_deleted( self, func: "Callable[[V1PriceDeletedEventNotification, StripeClient], CallbackReturn]", @@ -3256,6 +3967,32 @@ def on_v1_price_deleted( ) return func + def on_v1_price_lookup_key_changed( + self, + func: "Callable[[V1PriceLookupKeyChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1PriceLookupKeyChangedEvent` (`v1.price.lookup_key_changed`) event notification. + """ + self._register( + "v1.price.lookup_key_changed", + func, + ) + return func + + def on_v1_price_tax_behavior_changed( + self, + func: "Callable[[V1PriceTaxBehaviorChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1PriceTaxBehaviorChangedEvent` (`v1.price.tax_behavior_changed`) event notification. + """ + self._register( + "v1.price.tax_behavior_changed", + func, + ) + return func + def on_v1_price_updated( self, func: "Callable[[V1PriceUpdatedEventNotification, StripeClient], CallbackReturn]", @@ -3269,6 +4006,19 @@ def on_v1_price_updated( ) return func + def on_v1_product_activated( + self, + func: "Callable[[V1ProductActivatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1ProductActivatedEvent` (`v1.product.activated`) event notification. + """ + self._register( + "v1.product.activated", + func, + ) + return func + def on_v1_product_created( self, func: "Callable[[V1ProductCreatedEventNotification, StripeClient], CallbackReturn]", @@ -3282,6 +4032,32 @@ def on_v1_product_created( ) return func + def on_v1_product_deactivated( + self, + func: "Callable[[V1ProductDeactivatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1ProductDeactivatedEvent` (`v1.product.deactivated`) event notification. + """ + self._register( + "v1.product.deactivated", + func, + ) + return func + + def on_v1_product_default_price_changed( + self, + func: "Callable[[V1ProductDefaultPriceChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1ProductDefaultPriceChangedEvent` (`v1.product.default_price_changed`) event notification. + """ + self._register( + "v1.product.default_price_changed", + func, + ) + return func + def on_v1_product_deleted( self, func: "Callable[[V1ProductDeletedEventNotification, StripeClient], CallbackReturn]", @@ -3295,6 +4071,19 @@ def on_v1_product_deleted( ) return func + def on_v1_product_tax_code_changed( + self, + func: "Callable[[V1ProductTaxCodeChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1ProductTaxCodeChangedEvent` (`v1.product.tax_code_changed`) event notification. + """ + self._register( + "v1.product.tax_code_changed", + func, + ) + return func + def on_v1_product_updated( self, func: "Callable[[V1ProductUpdatedEventNotification, StripeClient], CallbackReturn]", @@ -3321,6 +4110,19 @@ def on_v1_promotion_code_created( ) return func + def on_v1_promotion_code_fully_redeemed( + self, + func: "Callable[[V1PromotionCodeFullyRedeemedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1PromotionCodeFullyRedeemedEvent` (`v1.promotion_code.fully_redeemed`) event notification. + """ + self._register( + "v1.promotion_code.fully_redeemed", + func, + ) + return func + def on_v1_promotion_code_updated( self, func: "Callable[[V1PromotionCodeUpdatedEventNotification, StripeClient], CallbackReturn]", @@ -3672,6 +4474,71 @@ def on_v1_subscription_schedule_expiring( ) return func + def on_v1_subscription_schedule_phase_added( + self, + func: "Callable[[V1SubscriptionSchedulePhaseAddedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1SubscriptionSchedulePhaseAddedEvent` (`v1.subscription_schedule.phase_added`) event notification. + """ + self._register( + "v1.subscription_schedule.phase_added", + func, + ) + return func + + def on_v1_subscription_schedule_phase_default_tax_rates_changed( + self, + func: "Callable[[V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEvent` (`v1.subscription_schedule.phase_default_tax_rates_changed`) event notification. + """ + self._register( + "v1.subscription_schedule.phase_default_tax_rates_changed", + func, + ) + return func + + def on_v1_subscription_schedule_phase_end_date_changed( + self, + func: "Callable[[V1SubscriptionSchedulePhaseEndDateChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1SubscriptionSchedulePhaseEndDateChangedEvent` (`v1.subscription_schedule.phase_end_date_changed`) event notification. + """ + self._register( + "v1.subscription_schedule.phase_end_date_changed", + func, + ) + return func + + def on_v1_subscription_schedule_phase_removed( + self, + func: "Callable[[V1SubscriptionSchedulePhaseRemovedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1SubscriptionSchedulePhaseRemovedEvent` (`v1.subscription_schedule.phase_removed`) event notification. + """ + self._register( + "v1.subscription_schedule.phase_removed", + func, + ) + return func + + def on_v1_subscription_schedule_phase_trial_end_changed( + self, + func: "Callable[[V1SubscriptionSchedulePhaseTrialEndChangedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V1SubscriptionSchedulePhaseTrialEndChangedEvent` (`v1.subscription_schedule.phase_trial_end_changed`) event notification. + """ + self._register( + "v1.subscription_schedule.phase_trial_end_changed", + func, + ) + return func + def on_v1_subscription_schedule_released( self, func: "Callable[[V1SubscriptionScheduleReleasedEventNotification, StripeClient], CallbackReturn]", @@ -4491,6 +5358,58 @@ def on_v2_core_health_event_generation_failure_resolved( ) return func + def on_v2_data_query_run_created( + self, + func: "Callable[[V2DataQueryRunCreatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2DataQueryRunCreatedEvent` (`v2.data.query_run.created`) event notification. + """ + self._register( + "v2.data.query_run.created", + func, + ) + return func + + def on_v2_data_query_run_failed( + self, + func: "Callable[[V2DataQueryRunFailedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2DataQueryRunFailedEvent` (`v2.data.query_run.failed`) event notification. + """ + self._register( + "v2.data.query_run.failed", + func, + ) + return func + + def on_v2_data_query_run_succeeded( + self, + func: "Callable[[V2DataQueryRunSucceededEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2DataQueryRunSucceededEvent` (`v2.data.query_run.succeeded`) event notification. + """ + self._register( + "v2.data.query_run.succeeded", + func, + ) + return func + + def on_v2_data_query_run_updated( + self, + func: "Callable[[V2DataQueryRunUpdatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2DataQueryRunUpdatedEvent` (`v2.data.query_run.updated`) event notification. + """ + self._register( + "v2.data.query_run.updated", + func, + ) + return func + def on_v2_data_reporting_query_run_created( self, func: "Callable[[V2DataReportingQueryRunCreatedEventNotification, StripeClient], CallbackReturn]", @@ -4543,6 +5462,58 @@ def on_v2_data_reporting_query_run_updated( ) return func + def on_v2_data_report_run_created( + self, + func: "Callable[[V2DataReportRunCreatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2DataReportRunCreatedEvent` (`v2.data.report_run.created`) event notification. + """ + self._register( + "v2.data.report_run.created", + func, + ) + return func + + def on_v2_data_report_run_failed( + self, + func: "Callable[[V2DataReportRunFailedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2DataReportRunFailedEvent` (`v2.data.report_run.failed`) event notification. + """ + self._register( + "v2.data.report_run.failed", + func, + ) + return func + + def on_v2_data_report_run_succeeded( + self, + func: "Callable[[V2DataReportRunSucceededEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2DataReportRunSucceededEvent` (`v2.data.report_run.succeeded`) event notification. + """ + self._register( + "v2.data.report_run.succeeded", + func, + ) + return func + + def on_v2_data_report_run_updated( + self, + func: "Callable[[V2DataReportRunUpdatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2DataReportRunUpdatedEvent` (`v2.data.report_run.updated`) event notification. + """ + self._register( + "v2.data.report_run.updated", + func, + ) + return func + def on_v2_extend_workflow_run_failed( self, func: "Callable[[V2ExtendWorkflowRunFailedEventNotification, StripeClient], CallbackReturn]", @@ -4907,6 +5878,97 @@ def on_v2_money_management_outbound_transfer_updated( ) return func + def on_v2_money_management_payout_intent_canceled( + self, + func: "Callable[[V2MoneyManagementPayoutIntentCanceledEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2MoneyManagementPayoutIntentCanceledEvent` (`v2.money_management.payout_intent.canceled`) event notification. + """ + self._register( + "v2.money_management.payout_intent.canceled", + func, + ) + return func + + def on_v2_money_management_payout_intent_created( + self, + func: "Callable[[V2MoneyManagementPayoutIntentCreatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2MoneyManagementPayoutIntentCreatedEvent` (`v2.money_management.payout_intent.created`) event notification. + """ + self._register( + "v2.money_management.payout_intent.created", + func, + ) + return func + + def on_v2_money_management_payout_intent_pending( + self, + func: "Callable[[V2MoneyManagementPayoutIntentPendingEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2MoneyManagementPayoutIntentPendingEvent` (`v2.money_management.payout_intent.pending`) event notification. + """ + self._register( + "v2.money_management.payout_intent.pending", + func, + ) + return func + + def on_v2_money_management_payout_intent_posted( + self, + func: "Callable[[V2MoneyManagementPayoutIntentPostedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2MoneyManagementPayoutIntentPostedEvent` (`v2.money_management.payout_intent.posted`) event notification. + """ + self._register( + "v2.money_management.payout_intent.posted", + func, + ) + return func + + def on_v2_money_management_payout_intent_processing( + self, + func: "Callable[[V2MoneyManagementPayoutIntentProcessingEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2MoneyManagementPayoutIntentProcessingEvent` (`v2.money_management.payout_intent.processing`) event notification. + """ + self._register( + "v2.money_management.payout_intent.processing", + func, + ) + return func + + def on_v2_money_management_payout_intent_requires_action( + self, + func: "Callable[[V2MoneyManagementPayoutIntentRequiresActionEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2MoneyManagementPayoutIntentRequiresActionEvent` (`v2.money_management.payout_intent.requires_action`) event notification. + """ + self._register( + "v2.money_management.payout_intent.requires_action", + func, + ) + return func + + def on_v2_money_management_payout_intent_updated( + self, + func: "Callable[[V2MoneyManagementPayoutIntentUpdatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2MoneyManagementPayoutIntentUpdatedEvent` (`v2.money_management.payout_intent.updated`) event notification. + """ + self._register( + "v2.money_management.payout_intent.updated", + func, + ) + return func + def on_v2_money_management_payout_method_created( self, func: "Callable[[V2MoneyManagementPayoutMethodCreatedEventNotification, StripeClient], CallbackReturn]", @@ -5050,6 +6112,32 @@ def on_v2_money_management_received_debit_updated( ) return func + def on_v2_money_management_recipient_verification_created( + self, + func: "Callable[[V2MoneyManagementRecipientVerificationCreatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2MoneyManagementRecipientVerificationCreatedEvent` (`v2.money_management.recipient_verification.created`) event notification. + """ + self._register( + "v2.money_management.recipient_verification.created", + func, + ) + return func + + def on_v2_money_management_recipient_verification_updated( + self, + func: "Callable[[V2MoneyManagementRecipientVerificationUpdatedEventNotification, StripeClient], CallbackReturn]", + ): + """ + Registers a callback for the `V2MoneyManagementRecipientVerificationUpdatedEvent` (`v2.money_management.recipient_verification.updated`) event notification. + """ + self._register( + "v2.money_management.recipient_verification.updated", + func, + ) + return func + def on_v2_money_management_transaction_created( self, func: "Callable[[V2MoneyManagementTransactionCreatedEventNotification, StripeClient], CallbackReturn]", diff --git a/stripe/_invoice.py b/stripe/_invoice.py index 0cee6fc0e..5d4e88a27 100644 --- a/stripe/_invoice.py +++ b/stripe/_invoice.py @@ -35,6 +35,7 @@ from stripe._margin import Margin from stripe._payment_intent import PaymentIntent from stripe._payment_method import PaymentMethod + from stripe._payment_plan import PaymentPlan from stripe._setup_intent import SetupIntent from stripe._shipping_rate import ShippingRate from stripe._source import Source @@ -309,7 +310,9 @@ class CustomerTaxId(StripeObject): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -323,6 +326,7 @@ class CustomerTaxId(StripeObject): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -333,12 +337,14 @@ class CustomerTaxId(StripeObject): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -348,8 +354,12 @@ class CustomerTaxId(StripeObject): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -359,6 +369,7 @@ class CustomerTaxId(StripeObject): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -374,23 +385,28 @@ class CustomerTaxId(StripeObject): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -400,12 +416,15 @@ class CustomerTaxId(StripeObject): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -424,7 +443,7 @@ class CustomerTaxId(StripeObject): str, ] """ - 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `ic_nif`, or `unknown` + 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `au_acn`, `nz_bn`, `pt_nif`, `cz_dic`, `fr_siret`, `fr_siren`, `fr_spi`, `sm_coe`, `tt_vat`, `tt_bir`, `mu_vat`, `mz_nuit`, `au_wpn`, `md_cf`, `is_kt`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, `ic_nif`, `gh_tin`, `bw_vat`, `ci_vat`, or `unknown` """ value: Optional[str] """ @@ -647,11 +666,13 @@ class LastFinalizationError(StripeObject): "shipping_calculation_failed", "siret_invalid", "sku_inactive", + "smart_disputes_not_available", "state_unsupported", "status_transition_invalid", "storer_capability_missing", "storer_capability_not_active", "stripe_tax_inactive", + "subscription_update_trial_after_billing_cycle_anchor", "tax_id_invalid", "tax_id_prohibited", "taxes_calculation_failed", @@ -664,6 +685,8 @@ class LastFinalizationError(StripeObject): "terminal_reader_offline", "terminal_reader_timeout", "testmode_charges_only", + "three_d_secure_authentication_not_supported", + "three_d_secure_authentication_upstream_error", "tls_version_unsupported", "token_already_used", "token_card_network_invalid", @@ -1029,7 +1052,7 @@ class Pix(StripeObject): """ expires_after_seconds: Optional[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If unspecified, defaults to 14400 seconds (4 hours). """ class SepaDebit(StripeObject): @@ -1246,6 +1269,7 @@ class Filters(StripeObject): "satispay", "sepa_credit_transfer", "sepa_debit", + "sequra", "sofort", "stripe_balance", "swish", @@ -1810,6 +1834,10 @@ class TaxRateDetails(StripeObject): """ The parent that generated this invoice """ + payment_plan: Optional[ExpandableField["PaymentPlan"]] + """ + The ID of the payment plan associated with this invoice, if any. Use `expand[]=payment_plan` to include the full payment plan object. + """ payment_settings: PaymentSettings payments: Optional[ListObject["InvoicePayment"]] """ diff --git a/stripe/_invoice_item.py b/stripe/_invoice_item.py index 21d46486e..bfb101936 100644 --- a/stripe/_invoice_item.py +++ b/stripe/_invoice_item.py @@ -151,7 +151,7 @@ class DiscountAmount(StripeObject): credited_items: Optional[CreditedItems] """ - For a credit proration, links to the debit invoice line items or invoice item that the credit applies to. + For a credit proration, links to the debit that the credit applies to. The reference is to an invoice item if the debit was pending when the credit was created, and to invoice line items if the debit was already invoiced. """ discount_amounts: List[DiscountAmount] """ diff --git a/stripe/_object_classes.py b/stripe/_object_classes.py index 740089866..079f5b68f 100644 --- a/stripe/_object_classes.py +++ b/stripe/_object_classes.py @@ -240,6 +240,7 @@ "stripe._payment_method_domain", "PaymentMethodDomain", ), + "payment_plan": ("stripe._payment_plan", "PaymentPlan"), "payment_record": ("stripe._payment_record", "PaymentRecord"), "payout": ("stripe._payout", "Payout"), "person": ("stripe._person", "Person"), @@ -420,7 +421,12 @@ } V2_OBJECT_CLASSES: Dict[str, Tuple[str, str]] = { + "v2.search_result": ( + "stripe.v2._search_result_object", + "SearchResultObject", + ), # V2 Object classes: The beginning of the section generated from our OpenAPI spec + "list": ("stripe.v2._list_object", "ListObject"), "v2.billing.bill_setting": ( "stripe.v2.billing._bill_setting", "BillSetting", @@ -481,10 +487,14 @@ "stripe.v2.core.vault._us_bank_account", "UsBankAccount", ), + "v2.data.query_run": ("stripe.v2.data._query_run", "QueryRun"), + "v2.data.report": ("stripe.v2.data._report", "Report"), "v2.data.reporting.query_run": ( "stripe.v2.data.reporting._query_run", "QueryRun", ), + "v2.data.report_run": ("stripe.v2.data._report_run", "ReportRun"), + "v2.data.schema": ("stripe.v2.data._schema", "Schema"), "v2.extend.workflow": ("stripe.v2.extend._workflow", "Workflow"), "v2.extend.workflow_run": ( "stripe.v2.extend._workflow_run", @@ -531,6 +541,10 @@ "stripe.v2.money_management._outbound_transfer", "OutboundTransfer", ), + "v2.money_management.payout_intent": ( + "stripe.v2.money_management._payout_intent", + "PayoutIntent", + ), "v2.money_management.payout_method": ( "stripe.v2.money_management._payout_method", "PayoutMethod", @@ -547,6 +561,10 @@ "stripe.v2.money_management._received_debit", "ReceivedDebit", ), + "v2.money_management.recipient_verification": ( + "stripe.v2.money_management._recipient_verification", + "RecipientVerification", + ), "v2.money_management.transaction": ( "stripe.v2.money_management._transaction", "Transaction", diff --git a/stripe/_order.py b/stripe/_order.py index d4ca3f5f3..64f07a91b 100644 --- a/stripe/_order.py +++ b/stripe/_order.py @@ -822,7 +822,9 @@ class TaxId(StripeObject): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -836,6 +838,7 @@ class TaxId(StripeObject): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -846,12 +849,14 @@ class TaxId(StripeObject): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -861,8 +866,12 @@ class TaxId(StripeObject): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -872,6 +881,7 @@ class TaxId(StripeObject): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -887,23 +897,28 @@ class TaxId(StripeObject): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -913,12 +928,15 @@ class TaxId(StripeObject): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -937,7 +955,7 @@ class TaxId(StripeObject): str, ] """ - 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `ic_nif`, or `unknown` + 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `au_acn`, `nz_bn`, `pt_nif`, `cz_dic`, `fr_siret`, `fr_siren`, `fr_spi`, `sm_coe`, `tt_vat`, `tt_bir`, `mu_vat`, `mz_nuit`, `au_wpn`, `md_cf`, `is_kt`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, `ic_nif`, `gh_tin`, `bw_vat`, `ci_vat`, or `unknown` """ value: Optional[str] """ diff --git a/stripe/_payment_attempt_record.py b/stripe/_payment_attempt_record.py index ef3e18491..9ca43345d 100644 --- a/stripe/_payment_attempt_record.py +++ b/stripe/_payment_attempt_record.py @@ -968,6 +968,7 @@ class Crypto(StripeObject): token_currency: Optional[ Union[ Literal[ + "ousd", "phantom_cash", "usdc", "usdg", @@ -1120,7 +1121,9 @@ class IdBankTransfer(StripeObject): """ Account number of the bank account to transfer funds to. """ - bank: Union[Literal["bca", "bni", "bri", "cimb", "permata"], str] + bank: Union[ + Literal["bca", "bni", "bri", "cimb", "mandiri", "permata"], str + ] """ Bank where the account is located. """ @@ -2084,6 +2087,9 @@ class WechatPay(StripeObject): Transaction ID of this particular WeChat Pay transaction. """ + class Wero(StripeObject): + pass + class Zip(StripeObject): pass @@ -2179,6 +2185,7 @@ class Zip(StripeObject): us_bank_account: Optional[UsBankAccount] wechat: Optional[Wechat] wechat_pay: Optional[WechatPay] + wero: Optional[Wero] zip: Optional[Zip] _inner_class_types = { "ach_credit_transfer": AchCreditTransfer, @@ -2252,6 +2259,7 @@ class Zip(StripeObject): "us_bank_account": UsBankAccount, "wechat": Wechat, "wechat_pay": WechatPay, + "wero": Wero, "zip": Zip, } diff --git a/stripe/_payment_intent.py b/stripe/_payment_intent.py index 3bcd99eea..c52250a8c 100644 --- a/stripe/_payment_intent.py +++ b/stripe/_payment_intent.py @@ -431,11 +431,13 @@ class LastPaymentError(StripeObject): "shipping_calculation_failed", "siret_invalid", "sku_inactive", + "smart_disputes_not_available", "state_unsupported", "status_transition_invalid", "storer_capability_missing", "storer_capability_not_active", "stripe_tax_inactive", + "subscription_update_trial_after_billing_cycle_anchor", "tax_id_invalid", "tax_id_prohibited", "taxes_calculation_failed", @@ -448,6 +450,8 @@ class LastPaymentError(StripeObject): "terminal_reader_offline", "terminal_reader_timeout", "testmode_charges_only", + "three_d_secure_authentication_not_supported", + "three_d_secure_authentication_upstream_error", "tls_version_unsupported", "token_already_used", "token_card_network_invalid", @@ -4173,11 +4177,11 @@ class MandateOptions(StripeObject): """ expires_after_seconds: Optional[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If neither expiration option is supplied, defaults to 14400 seconds (4 hours). Mutually exclusive with `expires_at`. """ expires_at: Optional[int] """ - The timestamp at which the Pix expires. + The absolute Unix timestamp at which the Pix expires. When supplied as an input, it must be between 60 and 1209600 seconds from the current time at validation, inclusive. If neither expiration option is supplied, the Pix expires 14400 seconds (4 hours) after PaymentIntent confirmation. Mutually exclusive with `expires_after_seconds`. """ mandate_options: Optional[MandateOptions] setup_future_usage: Optional[ @@ -4551,6 +4555,18 @@ class WechatPay(StripeObject): When processing card payments, Stripe 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 Wero(StripeObject): + setup_future_usage: Optional[Union[Literal["none"], str]] + """ + Indicates that you intend to make future payments with this PaymentIntent's payment method. + + If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. + + If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. + + When processing card payments, Stripe 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"]] """ @@ -4626,6 +4642,7 @@ class Zip(StripeObject): upi: Optional[Upi] us_bank_account: Optional[UsBankAccount] wechat_pay: Optional[WechatPay] + wero: Optional[Wero] zip: Optional[Zip] _inner_class_types = { "acss_debit": AcssDebit, @@ -4691,6 +4708,7 @@ class Zip(StripeObject): "upi": Upi, "us_bank_account": UsBankAccount, "wechat_pay": WechatPay, + "wero": Wero, "zip": Zip, } @@ -5081,6 +5099,7 @@ class PaymentData(StripeObject): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, diff --git a/stripe/_payment_link.py b/stripe/_payment_link.py index b97888154..82118f4ad 100644 --- a/stripe/_payment_link.py +++ b/stripe/_payment_link.py @@ -720,6 +720,16 @@ class ShippingOption(StripeObject): class SubscriptionData(StripeObject): class InvoiceSettings(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"]] """ @@ -730,8 +740,27 @@ class Issuer(StripeObject): 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. + """ + 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: Issuer - _inner_class_types = {"issuer": Issuer} + _inner_class_types = { + "custom_fields": CustomField, + "issuer": Issuer, + } class TrialSettings(StripeObject): class EndBehavior(StripeObject): @@ -924,6 +953,7 @@ class TransferData(StripeObject): "qris", "rechnung", "satispay", + "scalapay", "sepa_debit", "sequra", "shopeepay", @@ -934,6 +964,7 @@ class TransferData(StripeObject): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, diff --git a/stripe/_payment_method.py b/stripe/_payment_method.py index f2bbf4a56..12d0b1d38 100644 --- a/stripe/_payment_method.py +++ b/stripe/_payment_method.py @@ -969,7 +969,9 @@ class Grabpay(StripeObject): class IdBankTransfer(StripeObject): bank: Optional[ - Union[Literal["bca", "bni", "bri", "cimb", "permata"], str] + Union[ + Literal["bca", "bni", "bri", "cimb", "mandiri", "permata"], str + ] ] bank_code: Optional[str] bank_name: Optional[str] @@ -1561,6 +1563,9 @@ class Blocked(StripeObject): class WechatPay(StripeObject): pass + class Wero(StripeObject): + pass + class Zip(StripeObject): pass @@ -1739,6 +1744,7 @@ class Zip(StripeObject): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -1749,6 +1755,7 @@ class Zip(StripeObject): upi: Optional[Upi] us_bank_account: Optional[UsBankAccount] wechat_pay: Optional[WechatPay] + wero: Optional[Wero] zip: Optional[Zip] @classmethod @@ -2279,5 +2286,6 @@ async def retrieve_async( "upi": Upi, "us_bank_account": UsBankAccount, "wechat_pay": WechatPay, + "wero": Wero, "zip": Zip, } diff --git a/stripe/_payment_method_configuration.py b/stripe/_payment_method_configuration.py index 89276b7c9..ab3730a10 100644 --- a/stripe/_payment_method_configuration.py +++ b/stripe/_payment_method_configuration.py @@ -1436,6 +1436,28 @@ class DisplayPreference(StripeObject): display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} + class Wero(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: Union[Literal["none", "off", "on"], str] + """ + The account's display preference. + """ + value: Union[Literal["off", "on"], str] + """ + 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] @@ -1553,6 +1575,7 @@ class DisplayPreference(StripeObject): upi: Optional[Upi] us_bank_account: Optional[UsBankAccount] wechat_pay: Optional[WechatPay] + wero: Optional[Wero] zip: Optional[Zip] @classmethod @@ -1757,5 +1780,6 @@ async def retrieve_async( "upi": Upi, "us_bank_account": UsBankAccount, "wechat_pay": WechatPay, + "wero": Wero, "zip": Zip, } diff --git a/stripe/_payment_plan.py b/stripe/_payment_plan.py new file mode 100644 index 000000000..20e680a52 --- /dev/null +++ b/stripe/_payment_plan.py @@ -0,0 +1,324 @@ +# -*- 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, UntypedStripeObject +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._payment_plan_create_params import ( + PaymentPlanCreateParams, + ) + from stripe.params._payment_plan_list_params import PaymentPlanListParams + from stripe.params._payment_plan_modify_params import ( + PaymentPlanModifyParams, + ) + from stripe.params._payment_plan_retrieve_params import ( + PaymentPlanRetrieveParams, + ) + + +class PaymentPlan( + CreateableAPIResource["PaymentPlan"], + ListableAPIResource["PaymentPlan"], + UpdateableAPIResource["PaymentPlan"], +): + """ + A Payment Plan splits a single invoice obligation into multiple installments, + each with its own due date and amount. Payment Plans are associated with a + finalized or draft invoice and track how much has been collected against + each installment. + """ + + OBJECT_NAME: ClassVar[Literal["payment_plan"]] = "payment_plan" + + class CollectsOn(StripeObject): + class InvoiceDetails(StripeObject): + invoice: str + """ + The ID of the invoice this plan collects against. + """ + + invoice_details: InvoiceDetails + type: str + """ + The type of object this plan collects against. This is always `invoice_details`. + """ + _inner_class_types = {"invoice_details": InvoiceDetails} + + class Installment(StripeObject): + amount_due: int + """ + Amount owed for this installment, in the smallest currency unit. + """ + amount_forgiven: int + """ + Amount forgiven for this installment, in the smallest currency unit. + """ + amount_paid: int + """ + Amount already paid toward this installment, in the smallest currency unit. + """ + currency: str + """ + Three-letter ISO currency code. + """ + description: str + """ + A description of this installment. + """ + due_date: Optional[int] + """ + Unix timestamp when this installment is due. Omitted for installments with no due date. + """ + id: Optional[str] + """ + Unique identifier for the installment. + """ + paid_at: Optional[int] + """ + Unix timestamp when this installment was paid. + """ + status: str + """ + The status of this installment. One of `open`, `paid`, `past_due`, or `canceled`. + """ + + class Schedule(StripeObject): + class AmountsDue(StripeObject): + class Amount(StripeObject): + class DueDate(StripeObject): + class Relative(StripeObject): + count: int + """ + The number of intervals after the invoice is finalized that this entry is due. + """ + interval: str + """ + The interval unit: `day`, `week`, `month`, or `year`. + """ + + absolute: Optional[int] + """ + Unix timestamp of the due date. Present when type is `absolute`. + """ + relative: Optional[Relative] + type: str + """ + The type of due date. Either `absolute` or `relative`. + """ + _inner_class_types = {"relative": Relative} + + class FixedAmount(StripeObject): + amount: int + """ + Fixed amount for this entry, in the smallest currency unit. + """ + currency: str + """ + Three-letter ISO currency code. + """ + + description: str + """ + A description of this schedule entry. + """ + due_date: Optional[DueDate] + fixed_amount: Optional[FixedAmount] + id: Optional[str] + """ + Unique identifier for this schedule entry. + """ + percentage: Optional[float] + """ + Percentage of the invoice total for this entry (0–100). Present when type is `percentage`. + """ + type: str + """ + The type of this schedule entry. Either `fixed_amount` or `percentage`. + """ + _inner_class_types = { + "due_date": DueDate, + "fixed_amount": FixedAmount, + } + + amounts: List[Amount] + """ + The list of installment schedule entries. + """ + _inner_class_types = {"amounts": Amount} + + amounts_due: AmountsDue + type: str + """ + The type of schedule. This is always `amounts_due`. + """ + _inner_class_types = {"amounts_due": AmountsDue} + + collects_on: List[CollectsOn] + """ + The list of objects this payment plan collects against. + """ + created: int + """ + Time at which the object was created. Measured in seconds since the Unix epoch. + """ + id: str + """ + Unique identifier for the object. + """ + installments: List[Installment] + """ + The list of installments derived from the schedule. Each installment tracks an individual payment obligation. + """ + livemode: bool + """ + If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. + """ + metadata: Optional[UntypedStripeObject[str]] + """ + Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. + """ + object: Literal["payment_plan"] + """ + String representing the object's type. Objects of the same type share the same value. + """ + schedule: Schedule + + @classmethod + def create( + cls, **params: Unpack["PaymentPlanCreateParams"] + ) -> "PaymentPlan": + """ + Creates a payment plan that splits a single invoice obligation into installments with their own due dates and amounts. + """ + return cast( + "PaymentPlan", + cls._static_request( + "post", + cls.class_url(), + params=params, + ), + ) + + @classmethod + async def create_async( + cls, **params: Unpack["PaymentPlanCreateParams"] + ) -> "PaymentPlan": + """ + Creates a payment plan that splits a single invoice obligation into installments with their own due dates and amounts. + """ + return cast( + "PaymentPlan", + await cls._static_request_async( + "post", + cls.class_url(), + params=params, + ), + ) + + @classmethod + def list( + cls, **params: Unpack["PaymentPlanListParams"] + ) -> ListObject["PaymentPlan"]: + """ + Returns a list of payment 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["PaymentPlanListParams"] + ) -> ListObject["PaymentPlan"]: + """ + Returns a list of payment 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["PaymentPlanModifyParams"] + ) -> "PaymentPlan": + """ + Updates the schedule or metadata of an existing payment plan. Only unpaid installments can be updated. + """ + url = "%s/%s" % (cls.class_url(), sanitize_id(id)) + return cast( + "PaymentPlan", + cls._static_request( + "post", + url, + params=params, + ), + ) + + @classmethod + async def modify_async( + cls, id: str, /, **params: Unpack["PaymentPlanModifyParams"] + ) -> "PaymentPlan": + """ + Updates the schedule or metadata of an existing payment plan. Only unpaid installments can be updated. + """ + url = "%s/%s" % (cls.class_url(), sanitize_id(id)) + return cast( + "PaymentPlan", + await cls._static_request_async( + "post", + url, + params=params, + ), + ) + + @classmethod + def retrieve( + cls, id: str, **params: Unpack["PaymentPlanRetrieveParams"] + ) -> "PaymentPlan": + """ + Retrieves the payment plan with the given ID. + """ + instance = cls(id, **params) + instance.refresh() + return instance + + @classmethod + async def retrieve_async( + cls, id: str, **params: Unpack["PaymentPlanRetrieveParams"] + ) -> "PaymentPlan": + """ + Retrieves the payment plan with the given ID. + """ + instance = cls(id, **params) + await instance.refresh_async() + return instance + + _inner_class_types = { + "collects_on": CollectsOn, + "installments": Installment, + "schedule": Schedule, + } diff --git a/stripe/_payment_plan_service.py b/stripe/_payment_plan_service.py new file mode 100644 index 000000000..068430057 --- /dev/null +++ b/stripe/_payment_plan_service.py @@ -0,0 +1,183 @@ +# -*- 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_plan import PaymentPlan + from stripe._request_options import RequestOptions + from stripe.params._payment_plan_create_params import ( + PaymentPlanCreateParams, + ) + from stripe.params._payment_plan_list_params import PaymentPlanListParams + from stripe.params._payment_plan_retrieve_params import ( + PaymentPlanRetrieveParams, + ) + from stripe.params._payment_plan_update_params import ( + PaymentPlanUpdateParams, + ) + + +class PaymentPlanService(StripeService): + def list( + self, + params: Optional["PaymentPlanListParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "ListObject[PaymentPlan]": + """ + Returns a list of payment plans. + """ + return cast( + "ListObject[PaymentPlan]", + self._request( + "get", + "/v1/payment_plans", + base_address="api", + params=params, + options=options, + ), + ) + + async def list_async( + self, + params: Optional["PaymentPlanListParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "ListObject[PaymentPlan]": + """ + Returns a list of payment plans. + """ + return cast( + "ListObject[PaymentPlan]", + await self._request_async( + "get", + "/v1/payment_plans", + base_address="api", + params=params, + options=options, + ), + ) + + def create( + self, + params: "PaymentPlanCreateParams", + options: Optional["RequestOptions"] = None, + ) -> "PaymentPlan": + """ + Creates a payment plan that splits a single invoice obligation into installments with their own due dates and amounts. + """ + return cast( + "PaymentPlan", + self._request( + "post", + "/v1/payment_plans", + base_address="api", + params=params, + options=options, + ), + ) + + async def create_async( + self, + params: "PaymentPlanCreateParams", + options: Optional["RequestOptions"] = None, + ) -> "PaymentPlan": + """ + Creates a payment plan that splits a single invoice obligation into installments with their own due dates and amounts. + """ + return cast( + "PaymentPlan", + await self._request_async( + "post", + "/v1/payment_plans", + base_address="api", + params=params, + options=options, + ), + ) + + def retrieve( + self, + id: str, + /, + params: Optional["PaymentPlanRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PaymentPlan": + """ + Retrieves the payment plan with the given ID. + """ + return cast( + "PaymentPlan", + self._request( + "get", + "/v1/payment_plans/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) + + async def retrieve_async( + self, + id: str, + /, + params: Optional["PaymentPlanRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PaymentPlan": + """ + Retrieves the payment plan with the given ID. + """ + return cast( + "PaymentPlan", + await self._request_async( + "get", + "/v1/payment_plans/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) + + def update( + self, + id: str, + /, + params: Optional["PaymentPlanUpdateParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PaymentPlan": + """ + Updates the schedule or metadata of an existing payment plan. Only unpaid installments can be updated. + """ + return cast( + "PaymentPlan", + self._request( + "post", + "/v1/payment_plans/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) + + async def update_async( + self, + id: str, + /, + params: Optional["PaymentPlanUpdateParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PaymentPlan": + """ + Updates the schedule or metadata of an existing payment plan. Only unpaid installments can be updated. + """ + return cast( + "PaymentPlan", + await self._request_async( + "post", + "/v1/payment_plans/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) diff --git a/stripe/_payment_record.py b/stripe/_payment_record.py index a2e7a74b7..613108d01 100644 --- a/stripe/_payment_record.py +++ b/stripe/_payment_record.py @@ -988,6 +988,7 @@ class Crypto(StripeObject): token_currency: Optional[ Union[ Literal[ + "ousd", "phantom_cash", "usdc", "usdg", @@ -1140,7 +1141,9 @@ class IdBankTransfer(StripeObject): """ Account number of the bank account to transfer funds to. """ - bank: Union[Literal["bca", "bni", "bri", "cimb", "permata"], str] + bank: Union[ + Literal["bca", "bni", "bri", "cimb", "mandiri", "permata"], str + ] """ Bank where the account is located. """ @@ -2104,6 +2107,9 @@ class WechatPay(StripeObject): Transaction ID of this particular WeChat Pay transaction. """ + class Wero(StripeObject): + pass + class Zip(StripeObject): pass @@ -2199,6 +2205,7 @@ class Zip(StripeObject): us_bank_account: Optional[UsBankAccount] wechat: Optional[Wechat] wechat_pay: Optional[WechatPay] + wero: Optional[Wero] zip: Optional[Zip] _inner_class_types = { "ach_credit_transfer": AchCreditTransfer, @@ -2272,6 +2279,7 @@ class Zip(StripeObject): "us_bank_account": UsBankAccount, "wechat": Wechat, "wechat_pay": WechatPay, + "wero": Wero, "zip": Zip, } diff --git a/stripe/_payout.py b/stripe/_payout.py index 8257fde2c..d3c33e442 100644 --- a/stripe/_payout.py +++ b/stripe/_payout.py @@ -99,7 +99,7 @@ class TraceId(StripeObject): """ failure_code: Optional[str] """ - Error code that provides a reason for a payout failure, if available. View our [list of failure codes](https://docs.stripe.com/api#payout_failures). + Error code that provides a reason for a payout failure, if available. """ failure_message: Optional[str] """ diff --git a/stripe/_quote_preview_invoice.py b/stripe/_quote_preview_invoice.py index da9cb9c45..2731dc602 100644 --- a/stripe/_quote_preview_invoice.py +++ b/stripe/_quote_preview_invoice.py @@ -32,38 +32,8 @@ class QuotePreviewInvoice(StripeObject): """ - 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://docs.stripe.com/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://docs.stripe.com/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://docs.stripe.com/billing/customer/balance). - - Related guide: [Send invoices to customers](https://docs.stripe.com/billing/invoices/sending) + Invoices are statements of amounts owed by a customer. A quote preview invoice shows the invoice + that would be generated by accepting the quote. """ OBJECT_NAME: ClassVar[Literal["quote_preview_invoice"]] = ( @@ -265,7 +235,9 @@ class CustomerTaxId(StripeObject): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -279,6 +251,7 @@ class CustomerTaxId(StripeObject): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -289,12 +262,14 @@ class CustomerTaxId(StripeObject): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -304,8 +279,12 @@ class CustomerTaxId(StripeObject): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -315,6 +294,7 @@ class CustomerTaxId(StripeObject): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -330,23 +310,28 @@ class CustomerTaxId(StripeObject): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -356,12 +341,15 @@ class CustomerTaxId(StripeObject): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -380,7 +368,7 @@ class CustomerTaxId(StripeObject): str, ] """ - 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `ic_nif`, or `unknown` + 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `au_acn`, `nz_bn`, `pt_nif`, `cz_dic`, `fr_siret`, `fr_siren`, `fr_spi`, `sm_coe`, `tt_vat`, `tt_bir`, `mu_vat`, `mz_nuit`, `au_wpn`, `md_cf`, `is_kt`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, `ic_nif`, `gh_tin`, `bw_vat`, `ci_vat`, or `unknown` """ value: Optional[str] """ @@ -603,11 +591,13 @@ class LastFinalizationError(StripeObject): "shipping_calculation_failed", "siret_invalid", "sku_inactive", + "smart_disputes_not_available", "state_unsupported", "status_transition_invalid", "storer_capability_missing", "storer_capability_not_active", "stripe_tax_inactive", + "subscription_update_trial_after_billing_cycle_anchor", "tax_id_invalid", "tax_id_prohibited", "taxes_calculation_failed", @@ -620,6 +610,8 @@ class LastFinalizationError(StripeObject): "terminal_reader_offline", "terminal_reader_timeout", "testmode_charges_only", + "three_d_secure_authentication_not_supported", + "three_d_secure_authentication_upstream_error", "tls_version_unsupported", "token_already_used", "token_card_network_invalid", @@ -985,7 +977,7 @@ class Pix(StripeObject): """ expires_after_seconds: Optional[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If unspecified, defaults to 14400 seconds (4 hours). """ class SepaDebit(StripeObject): @@ -1202,6 +1194,7 @@ class Filters(StripeObject): "satispay", "sepa_credit_transfer", "sepa_debit", + "sequra", "sofort", "stripe_balance", "swish", diff --git a/stripe/_quote_preview_subscription_schedule.py b/stripe/_quote_preview_subscription_schedule.py index 3a614a98d..92d9cf57d 100644 --- a/stripe/_quote_preview_subscription_schedule.py +++ b/stripe/_quote_preview_subscription_schedule.py @@ -23,6 +23,12 @@ class QuotePreviewSubscriptionSchedule(StripeObject): + """ + A subscription schedule allows you to create and manage the lifecycle of a subscription by + predefining expected changes. A quote preview subscription schedule shows the subscription schedule + that would be created by accepting the quote. + """ + OBJECT_NAME: ClassVar[Literal["quote_preview_subscription_schedule"]] = ( "quote_preview_subscription_schedule" ) @@ -897,7 +903,7 @@ class Prebilling(StripeObject): """ String representing the object's type. Objects of the same type share the same value. """ - pause_schedules: Optional[List[PauseSchedule]] + pause_schedules: List[PauseSchedule] """ The pause schedules for this subscription schedule. """ diff --git a/stripe/_refund.py b/stripe/_refund.py index a5842822e..5c4d381b9 100644 --- a/stripe/_refund.py +++ b/stripe/_refund.py @@ -46,7 +46,14 @@ class Affirm(StripeObject): pass class AfterpayClearpay(StripeObject): - pass + 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 Alipay(StripeObject): pass @@ -164,7 +171,14 @@ class JpBankTransfer(StripeObject): """ class Klarna(StripeObject): - pass + 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 MbWay(StripeObject): reference: Optional[str] @@ -217,6 +231,14 @@ class Paypal(StripeObject): """ 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 Pix(StripeObject): pass diff --git a/stripe/_setup_attempt.py b/stripe/_setup_attempt.py index 6d16f3122..cb0087991 100644 --- a/stripe/_setup_attempt.py +++ b/stripe/_setup_attempt.py @@ -283,7 +283,10 @@ class Cashapp(StripeObject): class IdBankTransfer(StripeObject): bank: Optional[ - Union[Literal["bca", "bni", "bri", "cimb", "permata"], str] + Union[ + Literal["bca", "bni", "bri", "cimb", "mandiri", "permata"], + str, + ] ] """ Bank where the account is located. @@ -734,11 +737,13 @@ class SetupError(StripeObject): "shipping_calculation_failed", "siret_invalid", "sku_inactive", + "smart_disputes_not_available", "state_unsupported", "status_transition_invalid", "storer_capability_missing", "storer_capability_not_active", "stripe_tax_inactive", + "subscription_update_trial_after_billing_cycle_anchor", "tax_id_invalid", "tax_id_prohibited", "taxes_calculation_failed", @@ -751,6 +756,8 @@ class SetupError(StripeObject): "terminal_reader_offline", "terminal_reader_timeout", "testmode_charges_only", + "three_d_secure_authentication_not_supported", + "three_d_secure_authentication_upstream_error", "tls_version_unsupported", "token_already_used", "token_card_network_invalid", diff --git a/stripe/_setup_intent.py b/stripe/_setup_intent.py index 267caf03b..704c3b2eb 100644 --- a/stripe/_setup_intent.py +++ b/stripe/_setup_intent.py @@ -281,11 +281,13 @@ class LastSetupError(StripeObject): "shipping_calculation_failed", "siret_invalid", "sku_inactive", + "smart_disputes_not_available", "state_unsupported", "status_transition_invalid", "storer_capability_missing", "storer_capability_not_active", "stripe_tax_inactive", + "subscription_update_trial_after_billing_cycle_anchor", "tax_id_invalid", "tax_id_prohibited", "taxes_calculation_failed", @@ -298,6 +300,8 @@ class LastSetupError(StripeObject): "terminal_reader_offline", "terminal_reader_timeout", "testmode_charges_only", + "three_d_secure_authentication_not_supported", + "three_d_secure_authentication_upstream_error", "tls_version_unsupported", "token_already_used", "token_card_network_invalid", @@ -1233,6 +1237,7 @@ class Redaction(StripeObject): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, diff --git a/stripe/_source.py b/stripe/_source.py index 4e2685bce..21e4ba3bd 100644 --- a/stripe/_source.py +++ b/stripe/_source.py @@ -28,9 +28,7 @@ class Source(CreateableAPIResource["Source"], UpdateableAPIResource["Source"]): 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://docs.stripe.com/api/sources). - We recommend that you adopt the [PaymentMethods API](https://docs.stripe.com/api/payment_methods). - This newer API provides access to our latest features and payment method types. + This API is deprecated. Use the [PaymentMethods API](https://docs.stripe.com/api/payment_methods) instead. Related guides: [Sources API](https://docs.stripe.com/sources) and [Sources & Customers](https://docs.stripe.com/sources/customers). """ diff --git a/stripe/_source_mandate_notification.py b/stripe/_source_mandate_notification.py index 3f5fbae43..d0ba848f5 100644 --- a/stripe/_source_mandate_notification.py +++ b/stripe/_source_mandate_notification.py @@ -79,9 +79,7 @@ class SepaDebit(StripeObject): 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://docs.stripe.com/api/sources). - We recommend that you adopt the [PaymentMethods API](https://docs.stripe.com/api/payment_methods). - This newer API provides access to our latest features and payment method types. + This API is deprecated. Use the [PaymentMethods API](https://docs.stripe.com/api/payment_methods) instead. Related guides: [Sources API](https://docs.stripe.com/sources) and [Sources & Customers](https://docs.stripe.com/sources/customers). """ diff --git a/stripe/_stripe_client.py b/stripe/_stripe_client.py index 78c473ee3..ad1fc4ebc 100644 --- a/stripe/_stripe_client.py +++ b/stripe/_stripe_client.py @@ -110,6 +110,7 @@ from stripe._payment_method_domain_service import ( PaymentMethodDomainService, ) + from stripe._payment_plan_service import PaymentPlanService from stripe._payment_record_service import PaymentRecordService from stripe._payout_service import PayoutService from stripe._plan_service import PlanService @@ -958,6 +959,17 @@ def payment_method_configurations( def payment_method_domains(self) -> "PaymentMethodDomainService": return self.v1.payment_method_domains + @property + @deprecated( + """ + StripeClient.payment_plans is deprecated, use StripeClient.v1.payment_plans instead. + All functionality under it has been copied over to StripeClient.v1.payment_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 payment_plans(self) -> "PaymentPlanService": + return self.v1.payment_plans + @property @deprecated( """ diff --git a/stripe/_stripe_service.py b/stripe/_stripe_service.py index 174858968..1088f64b6 100644 --- a/stripe/_stripe_service.py +++ b/stripe/_stripe_service.py @@ -9,11 +9,25 @@ from stripe._request_options import RequestOptions from stripe._base_address import BaseAddress -from typing import Any, Dict, Mapping, Optional +from typing import Any, Dict, Mapping, Optional, Tuple +from urllib.parse import quote from stripe._encode import _coerce_v2_params, _SchemaNode +def _split_v2_search_params( + url: str, params: Optional[Mapping[str, Any]] +) -> Tuple[str, Optional[Mapping[str, Any]]]: + if params is None or "limit" not in params: + return url, params + body_params = dict(params) + limit = body_params.pop("limit") + if "limit=" not in url: + separator = "&" if "?" in url else "?" + url = "%s%slimit=%s" % (url, separator, quote(str(limit), safe="")) + return url, body_params + + class StripeService(object): _requestor: _APIRequestor @@ -32,6 +46,12 @@ def _request( ) -> StripeObject: if _param_encodings: params = _coerce_v2_params(params, _param_encodings) + if ( + method == "post" + and url.split("?", 1)[0].startswith("/v2/") + and url.split("?", 1)[0].endswith("/search") + ): + url, params = _split_v2_search_params(url, params) return self._requestor.request( method, url, @@ -53,6 +73,12 @@ async def _request_async( ) -> StripeObject: if _param_encodings: params = _coerce_v2_params(params, _param_encodings) + if ( + method == "post" + and url.split("?", 1)[0].startswith("/v2/") + and url.split("?", 1)[0].endswith("/search") + ): + url, params = _split_v2_search_params(url, params) return await self._requestor.request_async( method, url, diff --git a/stripe/_subscription.py b/stripe/_subscription.py index ab8944412..e69f8d18e 100644 --- a/stripe/_subscription.py +++ b/stripe/_subscription.py @@ -601,7 +601,7 @@ class MandateOptions(StripeObject): expires_after_seconds: Optional[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If unspecified, defaults to 14400 seconds (4 hours). """ mandate_options: Optional[MandateOptions] _inner_class_types = {"mandate_options": MandateOptions} @@ -816,6 +816,7 @@ class Filters(StripeObject): "satispay", "sepa_credit_transfer", "sepa_debit", + "sequra", "sofort", "stripe_balance", "swish", @@ -1176,7 +1177,7 @@ class EndBehavior(StripeObject): 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://docs.stripe.com/billing/subscriptions/trials/free-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://docs.stripe.com/billing/subscriptions/pause-payment), which still generates invoices and leaves the subscription's status unchanged. + A subscription can enter a `paused` status in several ways, including [when a trial ends without a payment method](https://docs.stripe.com/billing/subscriptions/trials/free-trials#create-free-trials-without-payment) or when you pause it using the [pause endpoint](https://docs.stripe.com/api/subscriptions/pause). A `paused` subscription doesn't advance to a new billing period or generate invoices until it resumes. The `paused` status is different from [pausing collection](https://docs.stripe.com/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). @@ -1217,7 +1218,7 @@ def _cls_cancel( """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, the subscription is largely immutable. You can still update its [metadata](https://docs.stripe.com/metadata) and cancellation_details. - 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/invoiceitems/delete). 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 false. + Pending invoice items are included on a final invoice if you generate one. Otherwise, they remain pending and can be billed on another invoice for the customer. To prevent billing, manually [delete](https://docs.stripe.com/api/invoiceitems/delete) them. 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 false. 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. """ @@ -1244,7 +1245,7 @@ def cancel( """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, the subscription is largely immutable. You can still update its [metadata](https://docs.stripe.com/metadata) and cancellation_details. - 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/invoiceitems/delete). 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 false. + Pending invoice items are included on a final invoice if you generate one. Otherwise, they remain pending and can be billed on another invoice for the customer. To prevent billing, manually [delete](https://docs.stripe.com/api/invoiceitems/delete) them. 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 false. 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. """ @@ -1257,7 +1258,7 @@ def cancel( """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, the subscription is largely immutable. You can still update its [metadata](https://docs.stripe.com/metadata) and cancellation_details. - 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/invoiceitems/delete). 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 false. + Pending invoice items are included on a final invoice if you generate one. Otherwise, they remain pending and can be billed on another invoice for the customer. To prevent billing, manually [delete](https://docs.stripe.com/api/invoiceitems/delete) them. 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 false. 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. """ @@ -1270,7 +1271,7 @@ def cancel( """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, the subscription is largely immutable. You can still update its [metadata](https://docs.stripe.com/metadata) and cancellation_details. - 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/invoiceitems/delete). 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 false. + Pending invoice items are included on a final invoice if you generate one. Otherwise, they remain pending and can be billed on another invoice for the customer. To prevent billing, manually [delete](https://docs.stripe.com/api/invoiceitems/delete) them. 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 false. 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. """ @@ -1295,7 +1296,7 @@ async def _cls_cancel_async( """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, the subscription is largely immutable. You can still update its [metadata](https://docs.stripe.com/metadata) and cancellation_details. - 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/invoiceitems/delete). 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 false. + Pending invoice items are included on a final invoice if you generate one. Otherwise, they remain pending and can be billed on another invoice for the customer. To prevent billing, manually [delete](https://docs.stripe.com/api/invoiceitems/delete) them. 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 false. 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. """ @@ -1322,7 +1323,7 @@ async def cancel_async( """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, the subscription is largely immutable. You can still update its [metadata](https://docs.stripe.com/metadata) and cancellation_details. - 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/invoiceitems/delete). 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 false. + Pending invoice items are included on a final invoice if you generate one. Otherwise, they remain pending and can be billed on another invoice for the customer. To prevent billing, manually [delete](https://docs.stripe.com/api/invoiceitems/delete) them. 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 false. 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. """ @@ -1335,7 +1336,7 @@ async def cancel_async( """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, the subscription is largely immutable. You can still update its [metadata](https://docs.stripe.com/metadata) and cancellation_details. - 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/invoiceitems/delete). 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 false. + Pending invoice items are included on a final invoice if you generate one. Otherwise, they remain pending and can be billed on another invoice for the customer. To prevent billing, manually [delete](https://docs.stripe.com/api/invoiceitems/delete) them. 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 false. 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. """ @@ -1348,7 +1349,7 @@ async def cancel_async( """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, the subscription is largely immutable. You can still update its [metadata](https://docs.stripe.com/metadata) and cancellation_details. - 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/invoiceitems/delete). 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 false. + Pending invoice items are included on a final invoice if you generate one. Otherwise, they remain pending and can be billed on another invoice for the customer. To prevent billing, manually [delete](https://docs.stripe.com/api/invoiceitems/delete) them. 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 false. 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. """ diff --git a/stripe/_subscription_item.py b/stripe/_subscription_item.py index 263fba695..d4fce06ae 100644 --- a/stripe/_subscription_item.py +++ b/stripe/_subscription_item.py @@ -54,8 +54,17 @@ class BillingThresholds(StripeObject): class CurrentTrial(StripeObject): end_date: int + """ + The time the current trial ends. + """ start_date: int + """ + The time the current trial started. + """ trial_offer: str + """ + The Trial Offer ID applied to the subscription item. + """ class Trial(StripeObject): converts_to: Optional[List[str]] diff --git a/stripe/_subscription_schedule.py b/stripe/_subscription_schedule.py index b81fbb62d..2aefa54fa 100644 --- a/stripe/_subscription_schedule.py +++ b/stripe/_subscription_schedule.py @@ -918,7 +918,7 @@ class Prebilling(StripeObject): """ String representing the object's type. Objects of the same type share the same value. """ - pause_schedules: Optional[List[PauseSchedule]] + pause_schedules: List[PauseSchedule] """ The pause schedules for this subscription schedule. """ diff --git a/stripe/_subscription_service.py b/stripe/_subscription_service.py index a336fded6..61269e978 100644 --- a/stripe/_subscription_service.py +++ b/stripe/_subscription_service.py @@ -55,7 +55,7 @@ def cancel( """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, the subscription is largely immutable. You can still update its [metadata](https://docs.stripe.com/metadata) and cancellation_details. - 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/invoiceitems/delete). 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 false. + Pending invoice items are included on a final invoice if you generate one. Otherwise, they remain pending and can be billed on another invoice for the customer. To prevent billing, manually [delete](https://docs.stripe.com/api/invoiceitems/delete) them. 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 false. 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. """ @@ -84,7 +84,7 @@ async def cancel_async( """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, the subscription is largely immutable. You can still update its [metadata](https://docs.stripe.com/metadata) and cancellation_details. - 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/invoiceitems/delete). 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 false. + Pending invoice items are included on a final invoice if you generate one. Otherwise, they remain pending and can be billed on another invoice for the customer. To prevent billing, manually [delete](https://docs.stripe.com/api/invoiceitems/delete) them. 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 false. 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. """ diff --git a/stripe/_tax_id.py b/stripe/_tax_id.py index 4f3889c73..e3f624df5 100644 --- a/stripe/_tax_id.py +++ b/stripe/_tax_id.py @@ -117,7 +117,9 @@ class Verification(StripeObject): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -131,6 +133,7 @@ class Verification(StripeObject): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -141,12 +144,14 @@ class Verification(StripeObject): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -156,8 +161,12 @@ class Verification(StripeObject): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -167,6 +176,7 @@ class Verification(StripeObject): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -182,23 +192,28 @@ class Verification(StripeObject): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -208,12 +223,15 @@ class Verification(StripeObject): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -232,7 +250,7 @@ class Verification(StripeObject): str, ] """ - 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`, `fo_vat`, `gb_vat`, `ge_vat`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_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`, `pl_nip`, `py_ruc`, `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` + Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_acn`, `au_arn`, `au_wpn`, `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`, `bw_vat`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `ci_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `cz_dic`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `fo_vat`, `fr_siren`, `fr_siret`, `fr_spi`, `gb_vat`, `ge_vat`, `gh_tin`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_kt`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_vat`, `ma_vat`, `md_cf`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mu_vat`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `mz_nuit`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_bn`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `pl_nip`, `pt_nif`, `py_ruc`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sm_coe`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tt_bir`, `tt_vat`, `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 """ diff --git a/stripe/_tax_rate.py b/stripe/_tax_rate.py index 0c3c5c77f..ebb52c6b5 100644 --- a/stripe/_tax_rate.py +++ b/stripe/_tax_rate.py @@ -119,22 +119,32 @@ class FlatAmount(StripeObject): tax_type: Optional[ Union[ Literal[ + "admissions_tax", "amusement_tax", + "attendance_tax", "communications_tax", "digital_excise_tax", + "entertainment_tax", + "get_fund", + "gross_receipts_tax", "gst", + "hospitality_tax", "hst", "igst", "jct", "lease_tax", + "luxury_tax", "mass_transit_parking_tax", + "nhil", "parking_tax", "pst", "qst", + "resort_tax", "retail_delivery_fee", "rst", "sales_tax", "service_tax", + "tourism_tax", "utility_users_tax", "vat", ], diff --git a/stripe/_token.py b/stripe/_token.py index cb0d3c910..7424bf650 100644 --- a/stripe/_token.py +++ b/stripe/_token.py @@ -60,6 +60,8 @@ class Redaction(StripeObject): later. You can also store multiple debit cards on a recipient in order to transfer to those cards later. + This API is deprecated. Use the [PaymentMethods API](https://docs.stripe.com/api/payment_methods) instead. + Related guide: [Card payments with Sources](https://docs.stripe.com/sources/cards) """ client_ip: Optional[str] diff --git a/stripe/_util.py b/stripe/_util.py index 8b378c63c..e034b209f 100644 --- a/stripe/_util.py +++ b/stripe/_util.py @@ -288,6 +288,7 @@ def _convert_to_stripe_object( and ( (getattr(obj, "object") == "list") or (getattr(obj, "object") == "search_result") + or (getattr(obj, "object") == "v2.search_result") ) ): obj._retrieve_params = params diff --git a/stripe/_v1_services.py b/stripe/_v1_services.py index 9b53dd75a..4b774705a 100644 --- a/stripe/_v1_services.py +++ b/stripe/_v1_services.py @@ -63,6 +63,7 @@ PaymentMethodDomainService, ) from stripe._payment_method_service import PaymentMethodService + from stripe._payment_plan_service import PaymentPlanService from stripe._payment_record_service import PaymentRecordService from stripe._payout_service import PayoutService from stripe._plan_service import PlanService @@ -204,6 +205,7 @@ "stripe._payment_method_domain_service", "PaymentMethodDomainService", ], + "payment_plans": ["stripe._payment_plan_service", "PaymentPlanService"], "payment_records": [ "stripe._payment_record_service", "PaymentRecordService", @@ -315,6 +317,7 @@ class V1Services(StripeService): payment_methods: "PaymentMethodService" payment_method_configurations: "PaymentMethodConfigurationService" payment_method_domains: "PaymentMethodDomainService" + payment_plans: "PaymentPlanService" payment_records: "PaymentRecordService" payouts: "PayoutService" plans: "PlanService" diff --git a/stripe/_v2_services.py b/stripe/_v2_services.py index 50daa50e0..3d06acdc2 100644 --- a/stripe/_v2_services.py +++ b/stripe/_v2_services.py @@ -17,6 +17,7 @@ OrchestratedCommerceService, ) from stripe.v2._signals_service import SignalsService + from stripe.v2._test_helper_service import TestHelperService _subservices = { "billing": ["stripe.v2._billing_service", "BillingService"], @@ -35,6 +36,7 @@ "OrchestratedCommerceService", ], "signals": ["stripe.v2._signals_service", "SignalsService"], + "test_helpers": ["stripe.v2._test_helper_service", "TestHelperService"], } @@ -49,6 +51,7 @@ class V2Services(StripeService): network: "NetworkService" orchestrated_commerce: "OrchestratedCommerceService" signals: "SignalsService" + test_helpers: "TestHelperService" def __init__(self, requestor): super().__init__(requestor) diff --git a/stripe/_webhook.py b/stripe/_webhook.py index 9fc269e69..a9a041454 100644 --- a/stripe/_webhook.py +++ b/stripe/_webhook.py @@ -150,7 +150,7 @@ def verify_header( header, payload, ) - if not secret: + if secret is None or secret.strip(" \t\r\n\f\v") == "": raise SignatureVerificationError( "No webhook secret value was provided. It should start with `whsec_`", header, diff --git a/stripe/apps/_install.py b/stripe/apps/_install.py index 41d2fc2cf..c40ac4da4 100644 --- a/stripe/apps/_install.py +++ b/stripe/apps/_install.py @@ -133,7 +133,7 @@ class ContentSecurityPolicyPending(StripeObject): @classmethod def create(cls, **params: Unpack["InstallCreateParams"]) -> "Install": """ - Creates an app install. An account installs its own private app with its own key; public and testing installs are made from the Dashboard. An app developer or embedding platform acting on a connected account through Stripe-Account installs or reinstalls its app there. For a private app, creating an install installs the newest completed upload; when that version is already installed with nothing pending, the existing install is returned. + Creates an app install. An account installs its own private app with its own key; public and testing installs are made from the Dashboard. An app developer acting on a connected account through Stripe-Account installs or reinstalls its app there, and an embedding platform can do the same once the app's developer approves its request to embed the app. For a private app, creating an install installs the newest completed upload; when that version is already installed with nothing pending, the existing install is returned. """ return cast( "Install", @@ -149,7 +149,7 @@ async def create_async( cls, **params: Unpack["InstallCreateParams"] ) -> "Install": """ - Creates an app install. An account installs its own private app with its own key; public and testing installs are made from the Dashboard. An app developer or embedding platform acting on a connected account through Stripe-Account installs or reinstalls its app there. For a private app, creating an install installs the newest completed upload; when that version is already installed with nothing pending, the existing install is returned. + Creates an app install. An account installs its own private app with its own key; public and testing installs are made from the Dashboard. An app developer acting on a connected account through Stripe-Account installs or reinstalls its app there, and an embedding platform can do the same once the app's developer approves its request to embed the app. For a private app, creating an install installs the newest completed upload; when that version is already installed with nothing pending, the existing install is returned. """ return cast( "Install", @@ -165,7 +165,7 @@ def list( cls, **params: Unpack["InstallListParams"] ) -> ListObject["Install"]: """ - Returns a list of app installs. An app developer or embedding platform filtering by its own app sees the installs across the accounts that installed it; other callers see the installs on their own account. The key selects the environment: a live key lists live installs, a sandbox API key lists the installs on that sandbox, and the key of an app's managed sandbox filtering by app lists that app's installs across every sandbox. For existing accounts that still use legacy test mode, a test mode key lists legacy test mode installs. + Returns a list of app installs. An app developer filtering by its own app with its own key sees that app's installs across the accounts that installed it. An app developer acting on a connected account through Stripe-Account and filtering by its app sees that account's installs of the app, and an embedding platform acting on a connected account sees only the installs it created there. Other callers see the installs on their own account. A live key lists live installs and a test key lists test installs; the key of an app's managed sandbox filtering by app lists that app's installs across every sandbox. """ result = cls._static_request( "get", @@ -185,7 +185,7 @@ async def list_async( cls, **params: Unpack["InstallListParams"] ) -> ListObject["Install"]: """ - Returns a list of app installs. An app developer or embedding platform filtering by its own app sees the installs across the accounts that installed it; other callers see the installs on their own account. The key selects the environment: a live key lists live installs, a sandbox API key lists the installs on that sandbox, and the key of an app's managed sandbox filtering by app lists that app's installs across every sandbox. For existing accounts that still use legacy test mode, a test mode key lists legacy test mode installs. + Returns a list of app installs. An app developer filtering by its own app with its own key sees that app's installs across the accounts that installed it. An app developer acting on a connected account through Stripe-Account and filtering by its app sees that account's installs of the app, and an embedding platform acting on a connected account sees only the installs it created there. Other callers see the installs on their own account. A live key lists live installs and a test key lists test installs; the key of an app's managed sandbox filtering by app lists that app's installs across every sandbox. """ result = await cls._static_request_async( "get", @@ -205,7 +205,7 @@ def modify( cls, id: str, /, **params: Unpack["InstallModifyParams"] ) -> "Install": """ - Reauthorizes an app install. The installer grants the permissions, content security policy entries, and endpoints that the version being installed requests. An account reauthorizes its own installs on any channel with its own key; app developers and embedding platforms reauthorize installs on connected accounts through Stripe-Account. For private apps, the version being installed is the newest completed upload. + Reauthorizes an app install. The installer grants the permissions, content security policy entries, and endpoints that the version being installed requests. An account reauthorizes its own installs on any channel with its own key, which grants all of that access, so only give app_install_write to keys that may approve an app's access. App developers and embedding platforms reauthorize installs on connected accounts through Stripe-Account. An app developer can't grant new access. An embedding platform can grant new access only once the app's developer approves its request to embed the app. For private apps, the version being installed is the newest completed upload. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( @@ -222,7 +222,7 @@ async def modify_async( cls, id: str, /, **params: Unpack["InstallModifyParams"] ) -> "Install": """ - Reauthorizes an app install. The installer grants the permissions, content security policy entries, and endpoints that the version being installed requests. An account reauthorizes its own installs on any channel with its own key; app developers and embedding platforms reauthorize installs on connected accounts through Stripe-Account. For private apps, the version being installed is the newest completed upload. + Reauthorizes an app install. The installer grants the permissions, content security policy entries, and endpoints that the version being installed requests. An account reauthorizes its own installs on any channel with its own key, which grants all of that access, so only give app_install_write to keys that may approve an app's access. App developers and embedding platforms reauthorize installs on connected accounts through Stripe-Account. An app developer can't grant new access. An embedding platform can grant new access only once the app's developer approves its request to embed the app. For private apps, the version being installed is the newest completed upload. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( diff --git a/stripe/apps/_install_service.py b/stripe/apps/_install_service.py index bd6740126..930d3be45 100644 --- a/stripe/apps/_install_service.py +++ b/stripe/apps/_install_service.py @@ -27,7 +27,7 @@ def list( options: Optional["RequestOptions"] = None, ) -> "ListObject[Install]": """ - Returns a list of app installs. An app developer or embedding platform filtering by its own app sees the installs across the accounts that installed it; other callers see the installs on their own account. The key selects the environment: a live key lists live installs, a sandbox API key lists the installs on that sandbox, and the key of an app's managed sandbox filtering by app lists that app's installs across every sandbox. For existing accounts that still use legacy test mode, a test mode key lists legacy test mode installs. + Returns a list of app installs. An app developer filtering by its own app with its own key sees that app's installs across the accounts that installed it. An app developer acting on a connected account through Stripe-Account and filtering by its app sees that account's installs of the app, and an embedding platform acting on a connected account sees only the installs it created there. Other callers see the installs on their own account. A live key lists live installs and a test key lists test installs; the key of an app's managed sandbox filtering by app lists that app's installs across every sandbox. """ return cast( "ListObject[Install]", @@ -46,7 +46,7 @@ async def list_async( options: Optional["RequestOptions"] = None, ) -> "ListObject[Install]": """ - Returns a list of app installs. An app developer or embedding platform filtering by its own app sees the installs across the accounts that installed it; other callers see the installs on their own account. The key selects the environment: a live key lists live installs, a sandbox API key lists the installs on that sandbox, and the key of an app's managed sandbox filtering by app lists that app's installs across every sandbox. For existing accounts that still use legacy test mode, a test mode key lists legacy test mode installs. + Returns a list of app installs. An app developer filtering by its own app with its own key sees that app's installs across the accounts that installed it. An app developer acting on a connected account through Stripe-Account and filtering by its app sees that account's installs of the app, and an embedding platform acting on a connected account sees only the installs it created there. Other callers see the installs on their own account. A live key lists live installs and a test key lists test installs; the key of an app's managed sandbox filtering by app lists that app's installs across every sandbox. """ return cast( "ListObject[Install]", @@ -65,7 +65,7 @@ def create( options: Optional["RequestOptions"] = None, ) -> "Install": """ - Creates an app install. An account installs its own private app with its own key; public and testing installs are made from the Dashboard. An app developer or embedding platform acting on a connected account through Stripe-Account installs or reinstalls its app there. For a private app, creating an install installs the newest completed upload; when that version is already installed with nothing pending, the existing install is returned. + Creates an app install. An account installs its own private app with its own key; public and testing installs are made from the Dashboard. An app developer acting on a connected account through Stripe-Account installs or reinstalls its app there, and an embedding platform can do the same once the app's developer approves its request to embed the app. For a private app, creating an install installs the newest completed upload; when that version is already installed with nothing pending, the existing install is returned. """ return cast( "Install", @@ -84,7 +84,7 @@ async def create_async( options: Optional["RequestOptions"] = None, ) -> "Install": """ - Creates an app install. An account installs its own private app with its own key; public and testing installs are made from the Dashboard. An app developer or embedding platform acting on a connected account through Stripe-Account installs or reinstalls its app there. For a private app, creating an install installs the newest completed upload; when that version is already installed with nothing pending, the existing install is returned. + Creates an app install. An account installs its own private app with its own key; public and testing installs are made from the Dashboard. An app developer acting on a connected account through Stripe-Account installs or reinstalls its app there, and an embedding platform can do the same once the app's developer approves its request to embed the app. For a private app, creating an install installs the newest completed upload; when that version is already installed with nothing pending, the existing install is returned. """ return cast( "Install", @@ -147,7 +147,7 @@ def update( options: Optional["RequestOptions"] = None, ) -> "Install": """ - Reauthorizes an app install. The installer grants the permissions, content security policy entries, and endpoints that the version being installed requests. An account reauthorizes its own installs on any channel with its own key; app developers and embedding platforms reauthorize installs on connected accounts through Stripe-Account. For private apps, the version being installed is the newest completed upload. + Reauthorizes an app install. The installer grants the permissions, content security policy entries, and endpoints that the version being installed requests. An account reauthorizes its own installs on any channel with its own key, which grants all of that access, so only give app_install_write to keys that may approve an app's access. App developers and embedding platforms reauthorize installs on connected accounts through Stripe-Account. An app developer can't grant new access. An embedding platform can grant new access only once the app's developer approves its request to embed the app. For private apps, the version being installed is the newest completed upload. """ return cast( "Install", @@ -168,7 +168,7 @@ async def update_async( options: Optional["RequestOptions"] = None, ) -> "Install": """ - Reauthorizes an app install. The installer grants the permissions, content security policy entries, and endpoints that the version being installed requests. An account reauthorizes its own installs on any channel with its own key; app developers and embedding platforms reauthorize installs on connected accounts through Stripe-Account. For private apps, the version being installed is the newest completed upload. + Reauthorizes an app install. The installer grants the permissions, content security policy entries, and endpoints that the version being installed requests. An account reauthorizes its own installs on any channel with its own key, which grants all of that access, so only give app_install_write to keys that may approve an app's access. App developers and embedding platforms reauthorize installs on connected accounts through Stripe-Account. An app developer can't grant new access. An embedding platform can grant new access only once the app's developer approves its request to embed the app. For private apps, the version being installed is the newest completed upload. """ return cast( "Install", diff --git a/stripe/billing_portal/_configuration.py b/stripe/billing_portal/_configuration.py index 201d3f630..3db61c0f2 100644 --- a/stripe/billing_portal/_configuration.py +++ b/stripe/billing_portal/_configuration.py @@ -141,6 +141,37 @@ class CancellationReason(StripeObject): """ _inner_class_types = {"cancellation_reason": CancellationReason} + class SubscriptionPause(StripeObject): + class Duration(StripeObject): + class IntervalOption(StripeObject): + interval: Union[ + Literal["day", "month", "week", "year"], str + ] + """ + Specifies the pause duration unit. Either `day`, `week`, `month`, or `year`. + """ + interval_count: int + """ + The number of intervals in the pause duration. The maximum duration is three years. + """ + + interval_options: List[IntervalOption] + """ + The preset pause durations customers can choose from. + """ + type: Union[Literal["indefinite", "interval_options"], str] + """ + Whether subscriptions can be paused indefinitely or for a preset duration. + """ + _inner_class_types = {"interval_options": IntervalOption} + + duration: Duration + enabled: bool + """ + Whether the feature is enabled. Customers can only pause subscriptions in the [redesigned customer portal](https://docs.stripe.com/customer-management). + """ + _inner_class_types = {"duration": Duration} + class SubscriptionUpdate(StripeObject): class Product(StripeObject): class AdjustableQuantity(StripeObject): @@ -230,12 +261,14 @@ class Condition(StripeObject): invoice_history: InvoiceHistory payment_method_update: PaymentMethodUpdate subscription_cancel: SubscriptionCancel + subscription_pause: SubscriptionPause subscription_update: SubscriptionUpdate _inner_class_types = { "customer_update": CustomerUpdate, "invoice_history": InvoiceHistory, "payment_method_update": PaymentMethodUpdate, "subscription_cancel": SubscriptionCancel, + "subscription_pause": SubscriptionPause, "subscription_update": SubscriptionUpdate, } diff --git a/stripe/billing_portal/_session.py b/stripe/billing_portal/_session.py index 8ba7ed951..e934fc705 100644 --- a/stripe/billing_portal/_session.py +++ b/stripe/billing_portal/_session.py @@ -117,6 +117,12 @@ class CouponOffer(StripeObject): """ _inner_class_types = {"retention": Retention} + class SubscriptionPause(StripeObject): + subscription: str + """ + The ID of the subscription to be paused. + """ + class SubscriptionUpdate(StripeObject): subscription: str """ @@ -171,6 +177,10 @@ class Item(StripeObject): """ Configuration when `flow.type=subscription_cancel`. """ + subscription_pause: Optional[SubscriptionPause] + """ + Configuration when `flow.type=subscription_pause`. + """ subscription_update: Optional[SubscriptionUpdate] """ Configuration when `flow.type=subscription_update`. @@ -184,6 +194,7 @@ class Item(StripeObject): "customer_update", "payment_method_update", "subscription_cancel", + "subscription_pause", "subscription_update", "subscription_update_confirm", ], @@ -196,6 +207,7 @@ class Item(StripeObject): "after_completion": AfterCompletion, "customer_update": CustomerUpdate, "subscription_cancel": SubscriptionCancel, + "subscription_pause": SubscriptionPause, "subscription_update": SubscriptionUpdate, "subscription_update_confirm": SubscriptionUpdateConfirm, } diff --git a/stripe/capital/_financing_summary.py b/stripe/capital/_financing_summary.py index 30c5fe854..7879d2a4e 100644 --- a/stripe/capital/_financing_summary.py +++ b/stripe/capital/_financing_summary.py @@ -42,7 +42,7 @@ class CurrentRepaymentInterval(StripeObject): """ advance_paid_out_at: Optional[float] """ - The time at which the funds were paid out to the connected account's Stripe balance. Given in milliseconds since unix epoch. + The time at which the funds were paid out to the connected account's Stripe balance. Given in seconds since unix epoch. """ currency: str """ diff --git a/stripe/checkout/_session.py b/stripe/checkout/_session.py index 30fbb1a5b..1c170b76d 100644 --- a/stripe/checkout/_session.py +++ b/stripe/checkout/_session.py @@ -238,7 +238,9 @@ class TaxId(StripeObject): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -252,6 +254,7 @@ class TaxId(StripeObject): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -262,12 +265,14 @@ class TaxId(StripeObject): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -277,8 +282,12 @@ class TaxId(StripeObject): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -288,6 +297,7 @@ class TaxId(StripeObject): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -303,23 +313,28 @@ class TaxId(StripeObject): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -329,12 +344,15 @@ class TaxId(StripeObject): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -353,7 +371,7 @@ class TaxId(StripeObject): str, ] """ - 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `ic_nif`, or `unknown` + 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `au_acn`, `nz_bn`, `pt_nif`, `cz_dic`, `fr_siret`, `fr_siren`, `fr_spi`, `sm_coe`, `tt_vat`, `tt_bir`, `mu_vat`, `mz_nuit`, `au_wpn`, `md_cf`, `is_kt`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, `ic_nif`, `gh_tin`, `bw_vat`, `ci_vat`, or `unknown` """ value: Optional[str] """ @@ -626,7 +644,9 @@ class TaxId(StripeObject): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -640,6 +660,7 @@ class TaxId(StripeObject): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -650,12 +671,14 @@ class TaxId(StripeObject): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -665,8 +688,12 @@ class TaxId(StripeObject): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -676,6 +703,7 @@ class TaxId(StripeObject): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -691,23 +719,28 @@ class TaxId(StripeObject): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -717,12 +750,15 @@ class TaxId(StripeObject): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -741,7 +777,7 @@ class TaxId(StripeObject): str, ] """ - 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `ic_nif`, or `unknown` + 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `au_acn`, `nz_bn`, `pt_nif`, `cz_dic`, `fr_siret`, `fr_siren`, `fr_spi`, `sm_coe`, `tt_vat`, `tt_bir`, `mu_vat`, `mz_nuit`, `au_wpn`, `md_cf`, `is_kt`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, `ic_nif`, `gh_tin`, `bw_vat`, `ci_vat`, or `unknown` """ value: Optional[str] """ @@ -2784,6 +2820,7 @@ class Link(StripeObject): "fil", "fr", "fr-CA", + "hi-IN", "hr", "hu", "id", @@ -2854,7 +2891,7 @@ class Link(StripeObject): Union[Literal["always", "if_required"], str] ] """ - Configure whether a Checkout Session should collect a payment method for sessions with mode `payment`. Defaults to `always`. + Configure whether a Checkout Session should collect a payment method. Can only be set in `subscription` mode. Defaults to `always`. """ payment_method_configuration_details: Optional[ PaymentMethodConfigurationDetails diff --git a/stripe/data/ca-certificates.crt b/stripe/data/ca-certificates.crt index 65be891ee..2e6b8ddba 100644 --- a/stripe/data/ca-certificates.crt +++ b/stripe/data/ca-certificates.crt @@ -1,3511 +1,297 @@ -## -## Bundle of CA Root Certificates -## -## Certificate data from Mozilla as of: Tue Dec 2 04:12:02 2025 GMT -## -## Find updated versions here: https://curl.se/docs/caextract.html -## -## 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://raw.githubusercontent.com/mozilla-firefox/firefox/refs/heads/release/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.30. -## SHA256: a903b3cd05231e39332515ef7ebe37e697262f39515a52015c23c62805b73cd0 -## - - -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----- - -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----- - -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----- - -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----- - -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----- - -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----- - -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----- - -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----- - -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 +# Root certificates for Stripe domains +# +# TLS certificates for Stripe domains chain to one of the root certificate +# authorities in this bundle. You can use this file as the CA bundle for +# HTTP clients that connect to Stripe. +# +# Stripe announces changes to this list on the API announce mailing list: +# https://groups.google.com/a/lists.stripe.com/g/api-announce +# +# Documentation: https://docs.stripe.com/tls-certificates +# Serial numbers and fingerprints: https://stripe.com/files/tls/root_certificates.json + +# DigiCert TLS ECC P384 Root G5 +-----BEGIN CERTIFICATE----- +MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp +Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2 +MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ +bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG +ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS +7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp +0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS +B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49 +BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ +LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4 +DXZDjC5Ty3zfDBeWUA== +-----END CERTIFICATE----- + +# DigiCert TLS RSA4096 Root G5 +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT +HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN +NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs +IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+ +ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0 +2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp +wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM +pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD +nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po +sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx +Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd +Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX +KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe +XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL +tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv +TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN +AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw +GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H +PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF +O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ +REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik +AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv +/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+ +p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw +MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF +qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK +ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+ +-----END CERTIFICATE----- + +# DigiCert Assured ID Root G2 +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA +n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc +biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp +EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA +bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu +YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW +BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI +QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I +0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni +lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 +B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv +ON9vvKO+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 +# DigiCert Global Root G2 +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl 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----- - -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----- - -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----- - -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----- - -DigiCert TLS ECC P384 Root G5 -============================= ------BEGIN CERTIFICATE----- -MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQswCQYDVQQGEwJV -UzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURpZ2lDZXJ0IFRMUyBFQ0MgUDM4 -NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMx -FzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQg -Um9vdCBHNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1Tzvd -lHJS7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp0zVozptj -n4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICISB4CIfBFqMA4GA1UdDwEB -/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQCJao1H5+z8blUD2Wds -Jk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQLgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIx -AJSdYsiJvRmEFOml+wG4DXZDjC5Ty3zfDBeWUA== ------END CERTIFICATE----- - -DigiCert TLS RSA4096 Root G5 -============================ ------BEGIN CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBNMQswCQYDVQQG -EwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0 -MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcNNDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJV -UzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2 -IFJvb3QgRzUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS8 -7IE+ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG02C+JFvuU -AT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgpwgscONyfMXdcvyej/Ces -tyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZMpG2T6T867jp8nVid9E6P/DsjyG244gXa -zOvswzH016cpVIDPRFtMbzCe88zdH5RDnU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnV -DdXifBBiqmvwPXbzP6PosMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9q -TXeXAaDxZre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cdLvvy -z6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvXKyY//SovcfXWJL5/ -MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNeXoVPzthwiHvOAbWWl9fNff2C+MIk -wcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPLtgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4E -FgQUUTMc7TZArxfTJc1paPKvTiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w -DQYJKoZIhvcNAQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw -GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7HPNtQOa27PShN -lnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLFO4uJ+DQtpBflF+aZfTCIITfN -MBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQREtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/ -u4cnYiWB39yhL/btp/96j1EuMPikAdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9G -OUrYU9DzLjtxpdRv/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh -47a+p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilwMUc/dNAU -FvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WFqUITVuwhd4GTWgzqltlJ -yqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCKovfepEWFJqgejF0pW8hL2JpqA15w8oVP -bEtoL8pU9ozaMv7Da4M/OMZ+ ------END CERTIFICATE----- - -Certainly Root R1 -================= ------BEGIN CERTIFICATE----- -MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAwPTELMAkGA1UE -BhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2VydGFpbmx5IFJvb3QgUjEwHhcN -MjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2Vy -dGFpbmx5MRowGAYDVQQDExFDZXJ0YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBANA21B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O -5MQTvqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbedaFySpvXl -8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b01C7jcvk2xusVtyWMOvwl -DbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGI -XsXwClTNSaa/ApzSRKft43jvRl5tcdF5cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkN -KPl6I7ENPT2a/Z2B7yyQwHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQ -AjeZjOVJ6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA2Cnb -rlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyHWyf5QBGenDPBt+U1 -VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMReiFPCyEQtkA6qyI6BJyLm4SGcprS -p6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud -DgQWBBTgqj8ljZ9EXME66C6ud0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAsz -HQNTVfSVcOQrPbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d -8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi1wrykXprOQ4v -MMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrdrRT90+7iIgXr0PK3aBLXWopB -GsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9ditaY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+ -gjwN/KUD+nsa2UUeYNrEjvn8K8l7lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgH -JBu6haEaBQmAupVjyTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7 -fpYnKx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLyyCwzk5Iw -x06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5nwXARPbv0+Em34yaXOp/S -X3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6OV+KmalBWQewLK8= ------END CERTIFICATE----- - -Certainly Root E1 -================= ------BEGIN CERTIFICATE----- -MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQswCQYDVQQGEwJV -UzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlubHkgUm9vdCBFMTAeFw0yMTA0 -MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlu -bHkxGjAYBgNVBAMTEUNlcnRhaW5seSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4 -fxzf7flHh4axpMCK+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9 -YBk2QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8EBAMCAQYw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4hevIIgcwCgYIKoZIzj0E -AwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozmut6Dacpps6kFtZaSF4fC0urQe87YQVt8 -rgIwRt7qy12a7DLCZRawTDBcMPPaTnOGBtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR ------END CERTIFICATE----- - -Security Communication ECC RootCA1 -================================== ------BEGIN CERTIFICATE----- -MIICODCCAb6gAwIBAgIJANZdm7N4gS7rMAoGCCqGSM49BAMDMGExCzAJBgNVBAYTAkpQMSUwIwYD -VQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMSswKQYDVQQDEyJTZWN1cml0eSBDb21t -dW5pY2F0aW9uIEVDQyBSb290Q0ExMB4XDTE2MDYxNjA1MTUyOFoXDTM4MDExODA1MTUyOFowYTEL -MAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKzApBgNV -BAMTIlNlY3VyaXR5IENvbW11bmljYXRpb24gRUNDIFJvb3RDQTEwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAASkpW9gAwPDvTH00xecK4R1rOX9PVdu12O/5gSJko6BnOPpR27KkBLIE+CnnfdldB9sELLo -5OnvbYUymUSxXv3MdhDYW72ixvnWQuRXdtyQwjWpS4g8EkdtXP9JTxpKULGjQjBAMB0GA1UdDgQW -BBSGHOf+LaVKiwj+KBH6vqNm+GBZLzAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAK -BggqhkjOPQQDAwNoADBlAjAVXUI9/Lbu9zuxNuie9sRGKEkz0FhDKmMpzE2xtHqiuQ04pV1IKv3L -snNdo4gIxwwCMQDAqy0Obe0YottT6SXbVQjgUMzfRGEWgqtJsLKB7HOHeLRMsmIbEvoWTSVLY70e -N9k= ------END CERTIFICATE----- - -BJCA Global Root CA1 -==================== ------BEGIN CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIQVW9l47TZkGobCdFsPsBsIDANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQG -EwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJVFkxHTAbBgNVBAMMFEJK -Q0EgR2xvYmFsIFJvb3QgQ0ExMB4XDTE5MTIxOTAzMTYxN1oXDTQ0MTIxMjAzMTYxN1owVDELMAkG -A1UEBhMCQ04xJjAkBgNVBAoMHUJFSUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQD -DBRCSkNBIEdsb2JhbCBSb290IENBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPFm -CL3ZxRVhy4QEQaVpN3cdwbB7+sN3SJATcmTRuHyQNZ0YeYjjlwE8R4HyDqKYDZ4/N+AZspDyRhyS -sTphzvq3Rp4Dhtczbu33RYx2N95ulpH3134rhxfVizXuhJFyV9xgw8O558dnJCNPYwpj9mZ9S1Wn -P3hkSWkSl+BMDdMJoDIwOvqfwPKcxRIqLhy1BDPapDgRat7GGPZHOiJBhyL8xIkoVNiMpTAK+BcW -yqw3/XmnkRd4OJmtWO2y3syJfQOcs4ll5+M7sSKGjwZteAf9kRJ/sGsciQ35uMt0WwfCyPQ10WRj -eulumijWML3mG90Vr4TqnMfK9Q7q8l0ph49pczm+LiRvRSGsxdRpJQaDrXpIhRMsDQa4bHlW/KNn -MoH1V6XKV0Jp6VwkYe/iMBhORJhVb3rCk9gZtt58R4oRTklH2yiUAguUSiz5EtBP6DF+bHq/pj+b -OT0CFqMYs2esWz8sgytnOYFcuX6U1WTdno9uruh8W7TXakdI136z1C2OVnZOz2nxbkRs1CTqjSSh -GL+9V/6pmTW12xB3uD1IutbB5/EjPtffhZ0nPNRAvQoMvfXnjSXWgXSHRtQpdaJCbPdzied9v3pK -H9MiyRVVz99vfFXQpIsHETdfg6YmV6YBW37+WGgHqel62bno/1Afq8K0wM7o6v0PvY1NuLxxAgMB -AAGjQjBAMB0GA1UdDgQWBBTF7+3M2I0hxkjk49cULqcWk+WYATAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAUoKsITQfI/Ki2Pm4rzc2IInRNwPWaZ+4 -YRC6ojGYWUfo0Q0lHhVBDOAqVdVXUsv45Mdpox1NcQJeXyFFYEhcCY5JEMEE3KliawLwQ8hOnThJ -dMkycFRtwUf8jrQ2ntScvd0g1lPJGKm1Vrl2i5VnZu69mP6u775u+2D2/VnGKhs/I0qUJDAnyIm8 -60Qkmss9vk/Ves6OF8tiwdneHg56/0OGNFK8YT88X7vZdrRTvJez/opMEi4r89fO4aL/3Xtw+zuh -TaRjAv04l5U/BXCga99igUOLtFkNSoxUnMW7gZ/NfaXvCyUeOiDbHPwfmGcCCtRzRBPbUYQaVQNW -4AB+dAb/OMRyHdOoP2gxXdMJxy6MW2Pg6Nwe0uxhHvLe5e/2mXZgLR6UcnHGCyoyx5JO1UbXHfmp -GQrI+pXObSOYqgs4rZpWDW+N8TEAiMEXnM0ZNjX+VVOg4DwzX5Ze4jLp3zO7Bkqp2IRzznfSxqxx -4VyjHQy7Ct9f4qNx2No3WqB4K/TUfet27fJhcKVlmtOJNBir+3I+17Q9eVzYH6Eze9mCUAyTF6ps -3MKCuwJXNq+YJyo5UOGwifUll35HaBC07HPKs5fRJNz2YqAo07WjuGS3iGJCz51TzZm+ZGiPTx4S -SPfSKcOYKMryMguTjClPPGAyzQWWYezyr/6zcCwupvI= ------END CERTIFICATE----- - -BJCA Global Root CA2 -==================== ------BEGIN CERTIFICATE----- -MIICJTCCAaugAwIBAgIQLBcIfWQqwP6FGFkGz7RK6zAKBggqhkjOPQQDAzBUMQswCQYDVQQGEwJD -TjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJVFkxHTAbBgNVBAMMFEJKQ0Eg -R2xvYmFsIFJvb3QgQ0EyMB4XDTE5MTIxOTAzMTgyMVoXDTQ0MTIxMjAzMTgyMVowVDELMAkGA1UE -BhMCQ04xJjAkBgNVBAoMHUJFSUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRC -SkNBIEdsb2JhbCBSb290IENBMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABJ3LgJGNU2e1uVCxA/jl -SR9BIgmwUVJY1is0j8USRhTFiy8shP8sbqjV8QnjAyEUxEM9fMEsxEtqSs3ph+B99iK++kpRuDCK -/eHeGBIK9ke35xe/J4rUQUyWPGCWwf0VHKNCMEAwHQYDVR0OBBYEFNJKsVF/BvDRgh9Obl+rg/xI -1LCRMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2gAMGUCMBq8 -W9f+qdJUDkpd0m2xQNz0Q9XSSpkZElaA94M04TVOSG0ED1cxMDAtsaqdAzjbBgIxAMvMh1PLet8g -UXOQwKhbYdDFUDn9hf7B43j4ptZLvZuHjw/l1lOWqzzIQNph91Oj9w== ------END CERTIFICATE----- - -Sectigo Public Server Authentication Root E46 -============================================= ------BEGIN CERTIFICATE----- -MIICOjCCAcGgAwIBAgIQQvLM2htpN0RfFf51KBC49DAKBggqhkjOPQQDAzBfMQswCQYDVQQGEwJH -QjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBTZXJ2 -ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwHhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5 -WjBfMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0 -aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUr -gQQAIgNiAAR2+pmpbiDt+dd34wc7qNs9Xzjoq1WmVk/WSOrsfy2qw7LFeeyZYX8QeccCWvkEN/U0 -NSt3zn8gj1KjAIns1aeibVvjS5KToID1AZTc8GgHHs3u/iVStSBDHBv+6xnOQ6OjQjBAMB0GA1Ud -DgQWBBTRItpMWfFLXyY4qp3W7usNw/upYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB -/zAKBggqhkjOPQQDAwNnADBkAjAn7qRaqCG76UeXlImldCBteU/IvZNeWBj7LRoAasm4PdCkT0RH -lAFWovgzJQxC36oCMB3q4S6ILuH5px0CMk7yn2xVdOOurvulGu7t0vzCAxHrRVxgED1cf5kDW21U -SAGKcw== ------END CERTIFICATE----- - -Sectigo Public Server Authentication Root R46 -============================================= ------BEGIN CERTIFICATE----- -MIIFijCCA3KgAwIBAgIQdY39i658BwD6qSWn4cetFDANBgkqhkiG9w0BAQwFADBfMQswCQYDVQQG -EwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBT -ZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwHhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1 -OTU5WjBfMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1T -ZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwggIiMA0GCSqGSIb3 -DQEBAQUAA4ICDwAwggIKAoICAQCTvtU2UnXYASOgHEdCSe5jtrch/cSV1UgrJnwUUxDaef0rty2k -1Cz66jLdScK5vQ9IPXtamFSvnl0xdE8H/FAh3aTPaE8bEmNtJZlMKpnzSDBh+oF8HqcIStw+Kxwf -GExxqjWMrfhu6DtK2eWUAtaJhBOqbchPM8xQljeSM9xfiOefVNlI8JhD1mb9nxc4Q8UBUQvX4yMP -FF1bFOdLvt30yNoDN9HWOaEhUTCDsG3XME6WW5HwcCSrv0WBZEMNvSE6Lzzpng3LILVCJ8zab5vu -ZDCQOc2TZYEhMbUjUDM3IuM47fgxMMxF/mL50V0yeUKH32rMVhlATc6qu/m1dkmU8Sf4kaWD5Qaz -Yw6A3OASVYCmO2a0OYctyPDQ0RTp5A1NDvZdV3LFOxxHVp3i1fuBYYzMTYCQNFu31xR13NgESJ/A -wSiItOkcyqex8Va3e0lMWeUgFaiEAin6OJRpmkkGj80feRQXEgyDet4fsZfu+Zd4KKTIRJLpfSYF -plhym3kT2BFfrsU4YjRosoYwjviQYZ4ybPUHNs2iTG7sijbt8uaZFURww3y8nDnAtOFr94MlI1fZ -EoDlSfB1D++N6xybVCi0ITz8fAr/73trdf+LHaAZBav6+CuBQug4urv7qv094PPK306Xlynt8xhW -6aWWrL3DkJiy4Pmi1KZHQ3xtzwIDAQABo0IwQDAdBgNVHQ4EFgQUVnNYZJX5khqwEioEYnmhQBWI -IUkwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAC9c -mTz8Bl6MlC5w6tIyMY208FHVvArzZJ8HXtXBc2hkeqK5Duj5XYUtqDdFqij0lgVQYKlJfp/imTYp -E0RHap1VIDzYm/EDMrraQKFz6oOht0SmDpkBm+S8f74TlH7Kph52gDY9hAaLMyZlbcp+nv4fjFg4 -exqDsQ+8FxG75gbMY/qB8oFM2gsQa6H61SilzwZAFv97fRheORKkU55+MkIQpiGRqRxOF3yEvJ+M -0ejf5lG5Nkc/kLnHvALcWxxPDkjBJYOcCj+esQMzEhonrPcibCTRAUH4WAP+JWgiH5paPHxsnnVI -84HxZmduTILA7rpXDhjvLpr3Etiga+kFpaHpaPi8TD8SHkXoUsCjvxInebnMMTzD9joiFgOgyY9m -pFuiTdaBJQbpdqQACj7LzTWb4OE4y2BThihCQRxEV+ioratF4yUQvNs+ZUH7G6aXD+u5dHn5Hrwd -Vw1Hr8Mvn4dGp+smWg9WY7ViYG4A++MnESLn/pmPNPW56MORcr3Ywx65LvKRRFHQV80MNNVIIb/b -E/FmJUNS0nAiNs2fxBx1IK1jcmMGDw4nztJqDby1ORrp0XZ60Vzk50lJLVU3aPAaOpg+VBeHVOmm -J1CJeyAvP/+/oYtKR5j/K3tJPsMpRmAYQqszKbrAKbkTidOIijlBO8n9pu0f9GBj39ItVQGL ------END CERTIFICATE----- - -SSL.com TLS RSA Root CA 2022 -============================ ------BEGIN CERTIFICATE----- -MIIFiTCCA3GgAwIBAgIQb77arXO9CEDii02+1PdbkTANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQG -EwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxTU0wuY29tIFRMUyBSU0Eg -Um9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzQyMloXDTQ2MDgxOTE2MzQyMVowTjELMAkGA1UEBhMC -VVMxGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgUlNBIFJv -b3QgQ0EgMjAyMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANCkCXJPQIgSYT41I57u -9nTPL3tYPc48DRAokC+X94xI2KDYJbFMsBFMF3NQ0CJKY7uB0ylu1bUJPiYYf7ISf5OYt6/wNr/y -7hienDtSxUcZXXTzZGbVXcdotL8bHAajvI9AI7YexoS9UcQbOcGV0insS657Lb85/bRi3pZ7Qcac -oOAGcvvwB5cJOYF0r/c0WRFXCsJbwST0MXMwgsadugL3PnxEX4MN8/HdIGkWCVDi1FW24IBydm5M -R7d1VVm0U3TZlMZBrViKMWYPHqIbKUBOL9975hYsLfy/7PO0+r4Y9ptJ1O4Fbtk085zx7AGL0SDG -D6C1vBdOSHtRwvzpXGk3R2azaPgVKPC506QVzFpPulJwoxJF3ca6TvvC0PeoUidtbnm1jPx7jMEW -TO6Af77wdr5BUxIzrlo4QqvXDz5BjXYHMtWrifZOZ9mxQnUjbvPNQrL8VfVThxc7wDNY8VLS+YCk -8OjwO4s4zKTGkH8PnP2L0aPP2oOnaclQNtVcBdIKQXTbYxE3waWglksejBYSd66UNHsef8JmAOSq -g+qKkK3ONkRN0VHpvB/zagX9wHQfJRlAUW7qglFA35u5CCoGAtUjHBPW6dvbxrB6y3snm/vg1UYk -7RBLY0ulBY+6uB0rpvqR4pJSvezrZ5dtmi2fgTIFZzL7SAg/2SW4BCUvAgMBAAGjYzBhMA8GA1Ud -EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU+y437uOEeicuzRk1sTN8/9REQrkwHQYDVR0OBBYEFPsu -N+7jhHonLs0ZNbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAjYlt -hEUY8U+zoO9opMAdrDC8Z2awms22qyIZZtM7QbUQnRC6cm4pJCAcAZli05bg4vsMQtfhWsSWTVTN -j8pDU/0quOr4ZcoBwq1gaAafORpR2eCNJvkLTqVTJXojpBzOCBvfR4iyrT7gJ4eLSYwfqUdYe5by -iB0YrrPRpgqU+tvT5TgKa3kSM/tKWTcWQA673vWJDPFs0/dRa1419dvAJuoSc06pkZCmF8NsLzjU -o3KUQyxi4U5cMj29TH0ZR6LDSeeWP4+a0zvkEdiLA9z2tmBVGKaBUfPhqBVq6+AL8BQx1rmMRTqo -ENjwuSfr98t67wVylrXEj5ZzxOhWc5y8aVFjvO9nHEMaX3cZHxj4HCUp+UmZKbaSPaKDN7Egkaib -MOlqbLQjk2UEqxHzDh1TJElTHaE/nUiSEeJ9DU/1172iWD54nR4fK/4huxoTtrEoZP2wAgDHbICi -vRZQIA9ygV/MlP+7mea6kMvq+cYMwq7FGc4zoWtcu358NFcXrfA/rs3qr5nsLFR+jM4uElZI7xc7 -P0peYNLcdDa8pUNjyw9bowJWCZ4kLOGGgYz+qxcs+sjiMho6/4UIyYOf8kpIEFR3N+2ivEC+5BB0 -9+Rbu7nzifmPQdjH5FCQNYA+HLhNkNPU98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmA= ------END CERTIFICATE----- - -SSL.com TLS ECC Root CA 2022 -============================ ------BEGIN CERTIFICATE----- -MIICOjCCAcCgAwIBAgIQFAP1q/s3ixdAW+JDsqXRxDAKBggqhkjOPQQDAzBOMQswCQYDVQQGEwJV -UzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxTU0wuY29tIFRMUyBFQ0MgUm9v -dCBDQSAyMDIyMB4XDTIyMDgyNTE2MzM0OFoXDTQ2MDgxOTE2MzM0N1owTjELMAkGA1UEBhMCVVMx -GDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgRUNDIFJvb3Qg -Q0EgMjAyMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABEUpNXP6wrgjzhR9qLFNoFs27iosU8NgCTWy -JGYmacCzldZdkkAZDsalE3D07xJRKF3nzL35PIXBz5SQySvOkkJYWWf9lCcQZIxPBLFNSeR7T5v1 -5wj4A4j3p8OSSxlUgaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSJjy+j6CugFFR7 -81a4Jl9nOAuc0DAdBgNVHQ4EFgQUiY8vo+groBRUe/NWuCZfZzgLnNAwDgYDVR0PAQH/BAQDAgGG -MAoGCCqGSM49BAMDA2gAMGUCMFXjIlbp15IkWE8elDIPDAI2wv2sdDJO4fscgIijzPvX6yv/N33w -7deedWo1dlJF4AIxAMeNb0Igj762TVntd00pxCAgRWSGOlDGxK0tk/UYfXLtqc/ErFc2KAhl3zx5 -Zn6g6g== ------END CERTIFICATE----- - -Atos TrustedRoot Root CA ECC TLS 2021 -===================================== ------BEGIN CERTIFICATE----- -MIICFTCCAZugAwIBAgIQPZg7pmY9kGP3fiZXOATvADAKBggqhkjOPQQDAzBMMS4wLAYDVQQDDCVB -dG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgRUNDIFRMUyAyMDIxMQ0wCwYDVQQKDARBdG9zMQswCQYD -VQQGEwJERTAeFw0yMTA0MjIwOTI2MjNaFw00MTA0MTcwOTI2MjJaMEwxLjAsBgNVBAMMJUF0b3Mg -VHJ1c3RlZFJvb3QgUm9vdCBDQSBFQ0MgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYT -AkRFMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEloZYKDcKZ9Cg3iQZGeHkBQcfl+3oZIK59sRxUM6K -DP/XtXa7oWyTbIOiaG6l2b4siJVBzV3dscqDY4PMwL502eCdpO5KTlbgmClBk1IQ1SQ4AjJn8ZQS -b+/Xxd4u/RmAo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR2KCXWfeBmmnoJsmo7jjPX -NtNPojAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMDaAAwZQIwW5kp85wxtolrbNa9d+F851F+ -uDrNozZffPc8dz7kUK2o59JZDCaOMDtuCCrCp1rIAjEAmeMM56PDr9NJLkaCI2ZdyQAUEv049OGY -a3cpetskz2VAv9LcjBHo9H1/IISpQuQo ------END CERTIFICATE----- - -Atos TrustedRoot Root CA RSA TLS 2021 -===================================== ------BEGIN CERTIFICATE----- -MIIFZDCCA0ygAwIBAgIQU9XP5hmTC/srBRLYwiqipDANBgkqhkiG9w0BAQwFADBMMS4wLAYDVQQD -DCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgUlNBIFRMUyAyMDIxMQ0wCwYDVQQKDARBdG9zMQsw -CQYDVQQGEwJERTAeFw0yMTA0MjIwOTIxMTBaFw00MTA0MTcwOTIxMDlaMEwxLjAsBgNVBAMMJUF0 -b3MgVHJ1c3RlZFJvb3QgUm9vdCBDQSBSU0EgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNV -BAYTAkRFMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtoAOxHm9BYx9sKOdTSJNy/BB -l01Z4NH+VoyX8te9j2y3I49f1cTYQcvyAh5x5en2XssIKl4w8i1mx4QbZFc4nXUtVsYvYe+W/CBG -vevUez8/fEc4BKkbqlLfEzfTFRVOvV98r61jx3ncCHvVoOX3W3WsgFWZkmGbzSoXfduP9LVq6hdK -ZChmFSlsAvFr1bqjM9xaZ6cF4r9lthawEO3NUDPJcFDsGY6wx/J0W2tExn2WuZgIWWbeKQGb9Cpt -0xU6kGpn8bRrZtkh68rZYnxGEFzedUlnnkL5/nWpo63/dgpnQOPF943HhZpZnmKaau1Fh5hnstVK -PNe0OwANwI8f4UDErmwh3El+fsqyjW22v5MvoVw+j8rtgI5Y4dtXz4U2OLJxpAmMkokIiEjxQGMY -sluMWuPD0xeqqxmjLBvk1cbiZnrXghmmOxYsL3GHX0WelXOTwkKBIROW1527k2gV+p2kHYzygeBY -Br3JtuP2iV2J+axEoctr+hbxx1A9JNr3w+SH1VbxT5Aw+kUJWdo0zuATHAR8ANSbhqRAvNncTFd+ -rrcztl524WWLZt+NyteYr842mIycg5kDcPOvdO3GDjbnvezBc6eUWsuSZIKmAMFwoW4sKeFYV+xa -fJlrJaSQOoD0IJ2azsct+bJLKZWD6TWNp0lIpw9MGZHQ9b8Q4HECAwEAAaNCMEAwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUdEmZ0f+0emhFdcN+tNzMzjkz2ggwDgYDVR0PAQH/BAQDAgGGMA0G -CSqGSIb3DQEBDAUAA4ICAQAjQ1MkYlxt/T7Cz1UAbMVWiLkO3TriJQ2VSpfKgInuKs1l+NsW4AmS -4BjHeJi78+xCUvuppILXTdiK/ORO/auQxDh1MoSf/7OwKwIzNsAQkG8dnK/haZPso0UvFJ/1TCpl -Q3IM98P4lYsU84UgYt1UU90s3BiVaU+DR3BAM1h3Egyi61IxHkzJqM7F78PRreBrAwA0JrRUITWX -AdxfG/F851X6LWh3e9NpzNMOa7pNdkTWwhWaJuywxfW70Xp0wmzNxbVe9kzmWy2B27O3Opee7c9G -slA9hGCZcbUztVdF5kJHdWoOsAgMrr3e97sPWD2PAzHoPYJQyi9eDF20l74gNAf0xBLh7tew2Vkt -afcxBPTy+av5EzH4AXcOPUIjJsyacmdRIXrMPIWo6iFqO9taPKU0nprALN+AnCng33eU0aKAQv9q -TFsR0PXNor6uzFFcw9VUewyu1rkGd4Di7wcaaMxZUa1+XGdrudviB0JbuAEFWDlN5LuYo7Ey7Nmj -1m+UI/87tyll5gfp77YZ6ufCOB0yiJA8EytuzO+rdwY0d4RPcuSBhPm5dDTedk+SKlOxJTnbPP/l -PqYO5Wue/9vsL3SD3460s6neFE3/MaNFcyT6lSnMEpcEoji2jbDwN/zIIX8/syQbPYtuzE2wFg2W -HYMfRsCbvUOZ58SWLs5fyQ== ------END CERTIFICATE----- - -TrustAsia Global Root CA G3 -=========================== ------BEGIN CERTIFICATE----- -MIIFpTCCA42gAwIBAgIUZPYOZXdhaqs7tOqFhLuxibhxkw8wDQYJKoZIhvcNAQEMBQAwWjELMAkG -A1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xJDAiBgNVBAMM -G1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHMzAeFw0yMTA1MjAwMjEwMTlaFw00NjA1MTkwMjEw -MTlaMFoxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMu -MSQwIgYDVQQDDBtUcnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzMwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDAMYJhkuSUGwoqZdC+BqmHO1ES6nBBruL7dOoKjbmzTNyPtxNST1QY4Sxz -lZHFZjtqz6xjbYdT8PfxObegQ2OwxANdV6nnRM7EoYNl9lA+sX4WuDqKAtCWHwDNBSHvBm3dIZwZ -Q0WhxeiAysKtQGIXBsaqvPPW5vxQfmZCHzyLpnl5hkA1nyDvP+uLRx+PjsXUjrYsyUQE49RDdT/V -P68czH5GX6zfZBCK70bwkPAPLfSIC7Epqq+FqklYqL9joDiR5rPmd2jE+SoZhLsO4fWvieylL1Ag -dB4SQXMeJNnKziyhWTXAyB1GJ2Faj/lN03J5Zh6fFZAhLf3ti1ZwA0pJPn9pMRJpxx5cynoTi+jm -9WAPzJMshH/x/Gr8m0ed262IPfN2dTPXS6TIi/n1Q1hPy8gDVI+lhXgEGvNz8teHHUGf59gXzhqc -D0r83ERoVGjiQTz+LISGNzzNPy+i2+f3VANfWdP3kXjHi3dqFuVJhZBFcnAvkV34PmVACxmZySYg -WmjBNb9Pp1Hx2BErW+Canig7CjoKH8GB5S7wprlppYiU5msTf9FkPz2ccEblooV7WIQn3MSAPmea -mseaMQ4w7OYXQJXZRe0Blqq/DPNL0WP3E1jAuPP6Z92bfW1K/zJMtSU7/xxnD4UiWQWRkUF3gdCF -TIcQcf+eQxuulXUtgQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEDk5PIj -7zjKsK5Xf/IhMBY027ySMB0GA1UdDgQWBBRA5OTyI+84yrCuV3/yITAWNNu8kjAOBgNVHQ8BAf8E -BAMCAQYwDQYJKoZIhvcNAQEMBQADggIBACY7UeFNOPMyGLS0XuFlXsSUT9SnYaP4wM8zAQLpw6o1 -D/GUE3d3NZ4tVlFEbuHGLige/9rsR82XRBf34EzC4Xx8MnpmyFq2XFNFV1pF1AWZLy4jVe5jaN/T -G3inEpQGAHUNcoTpLrxaatXeL1nHo+zSh2bbt1S1JKv0Q3jbSwTEb93mPmY+KfJLaHEih6D4sTNj -duMNhXJEIlU/HHzp/LgV6FL6qj6jITk1dImmasI5+njPtqzn59ZW/yOSLlALqbUHM/Q4X6RJpstl -cHboCoWASzY9M/eVVHUl2qzEc4Jl6VL1XP04lQJqaTDFHApXB64ipCz5xUG3uOyfT0gA+QEEVcys -+TIxxHWVBqB/0Y0n3bOppHKH/lmLmnp0Ft0WpWIp6zqW3IunaFnT63eROfjXy9mPX1onAX1daBli -2MjN9LdyR75bl87yraKZk62Uy5P2EgmVtqvXO9A/EcswFi55gORngS1d7XB4tmBZrOFdRWOPyN9y -aFvqHbgB8X7754qz41SgOAngPN5C8sLtLpvzHzW2NtjjgKGLzZlkD8Kqq7HK9W+eQ42EVJmzbsAS -ZthwEPEGNTNDqJwuuhQxzhB/HIbjj9LV+Hfsm6vxL2PZQl/gZ4FkkfGXL/xuJvYz+NO1+MRiqzFR -JQJ6+N1rZdVtTTDIZbpoFGWsJwt0ivKH ------END CERTIFICATE----- - -TrustAsia Global Root CA G4 -=========================== ------BEGIN CERTIFICATE----- -MIICVTCCAdygAwIBAgIUTyNkuI6XY57GU4HBdk7LKnQV1tcwCgYIKoZIzj0EAwMwWjELMAkGA1UE -BhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xJDAiBgNVBAMMG1Ry -dXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHNDAeFw0yMTA1MjAwMjEwMjJaFw00NjA1MTkwMjEwMjJa -MFoxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQw -IgYDVQQDDBtUcnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNi -AATxs8045CVD5d4ZCbuBeaIVXxVjAd7Cq92zphtnS4CDr5nLrBfbK5bKfFJV4hrhPVbwLxYI+hW8 -m7tH5j/uqOFMjPXTNvk4XatwmkcN4oFBButJ+bAp3TPsUKV/eSm4IJijYzBhMA8GA1UdEwEB/wQF -MAMBAf8wHwYDVR0jBBgwFoAUpbtKl86zK3+kMd6Xg1mDpm9xy94wHQYDVR0OBBYEFKW7SpfOsyt/ -pDHel4NZg6ZvccveMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjBe8usGzEkxn0AA -bbd+NvBNEU/zy4k6LHiRUKNbwMp1JvK/kF0LgoxgKJ/GcJpo5PECMFxYDlZ2z1jD1xCMuo6u47xk -dUfFVZDj/bpV6wfEU6s3qe4hsiFbYI89MvHVI5TWWA== ------END CERTIFICATE----- - -Telekom Security TLS ECC Root 2020 -================================== ------BEGIN CERTIFICATE----- -MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQswCQYDVQQGEwJE -RTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMSswKQYDVQQDDCJUZWxl -a29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIwMB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIz -NTk1OVowYzELMAkGA1UEBhMCREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkg -R21iSDErMCkGA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqG -SM49AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/OtdKPD/M1 -2kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDPf8iAC8GXs7s1J8nCG6NC -MEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6fMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P -AQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZ -Mo7k+5Dck2TOrbRBR2Diz6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdU -ga/sf+Rn27iQ7t0l ------END CERTIFICATE----- - -Telekom Security TLS RSA Root 2023 -================================== ------BEGIN CERTIFICATE----- -MIIFszCCA5ugAwIBAgIQIZxULej27HF3+k7ow3BXlzANBgkqhkiG9w0BAQwFADBjMQswCQYDVQQG -EwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMSswKQYDVQQDDCJU -ZWxla29tIFNlY3VyaXR5IFRMUyBSU0EgUm9vdCAyMDIzMB4XDTIzMDMyODEyMTY0NVoXDTQ4MDMy -NzIzNTk1OVowYzELMAkGA1UEBhMCREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJp -dHkgR21iSDErMCkGA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgUlNBIFJvb3QgMjAyMzCCAiIw -DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAO01oYGA88tKaVvC+1GDrib94W7zgRJ9cUD/h3VC -KSHtgVIs3xLBGYSJwb3FKNXVS2xE1kzbB5ZKVXrKNoIENqil/Cf2SfHVcp6R+SPWcHu79ZvB7JPP -GeplfohwoHP89v+1VmLhc2o0mD6CuKyVU/QBoCcHcqMAU6DksquDOFczJZSfvkgdmOGjup5czQRx -UX11eKvzWarE4GC+j4NSuHUaQTXtvPM6Y+mpFEXX5lLRbtLevOP1Czvm4MS9Q2QTps70mDdsipWo -l8hHD/BeEIvnHRz+sTugBTNoBUGCwQMrAcjnj02r6LX2zWtEtefdi+zqJbQAIldNsLGyMcEWzv/9 -FIS3R/qy8XDe24tsNlikfLMR0cN3f1+2JeANxdKz+bi4d9s3cXFH42AYTyS2dTd4uaNir73Jco4v -zLuu2+QVUhkHM/tqty1LkCiCc/4YizWN26cEar7qwU02OxY2kTLvtkCJkUPg8qKrBC7m8kwOFjQg -rIfBLX7JZkcXFBGk8/ehJImr2BrIoVyxo/eMbcgByU/J7MT8rFEz0ciD0cmfHdRHNCk+y7AO+oML -KFjlKdw/fKifybYKu6boRhYPluV75Gp6SG12mAWl3G0eQh5C2hrgUve1g8Aae3g1LDj1H/1Joy7S -WWO/gLCMk3PLNaaZlSJhZQNg+y+TS/qanIA7AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAdBgNV -HQ4EFgQUtqeXgj10hZv3PJ+TmpV5dVKMbUcwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS2 -p5eCPXSFm/c8n5OalXl1UoxtRzANBgkqhkiG9w0BAQwFAAOCAgEAqMxhpr51nhVQpGv7qHBFfLp+ -sVr8WyP6Cnf4mHGCDG3gXkaqk/QeoMPhk9tLrbKmXauw1GLLXrtm9S3ul0A8Yute1hTWjOKWi0Fp -kzXmuZlrYrShF2Y0pmtjxrlO8iLpWA1WQdH6DErwM807u20hOq6OcrXDSvvpfeWxm4bu4uB9tPcy -/SKE8YXJN3nptT+/XOR0so8RYgDdGGah2XsjX/GO1WfoVNpbOms2b/mBsTNHM3dA+VKq3dSDz4V4 -mZqTuXNnQkYRIer+CqkbGmVps4+uFrb2S1ayLfmlyOw7YqPta9BO1UAJpB+Y1zqlklkg5LB9zVtz -aL1txKITDmcZuI1CfmwMmm6gJC3VRRvcxAIU/oVbZZfKTpBQCHpCNfnqwmbU+AGuHrS+w6jv/naa -oqYfRvaE7fzbzsQCzndILIyy7MMAo+wsVRjBfhnu4S/yrYObnqsZ38aKL4x35bcF7DvB7L6Gs4a8 -wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+ljX273CXE2whJdV/LItM3z7gLfEdxquVeE -HVlNjM7IDiPCtyaaEBRx/pOyiriA8A4QntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0 -o82bNSQ3+pCTE4FCxpgmdTdmQRCsu/WU48IxK63nI1bMNSWSs1A= ------END CERTIFICATE----- - -FIRMAPROFESIONAL CA ROOT-A WEB -============================== ------BEGIN CERTIFICATE----- -MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQswCQYDVQQGEwJF -UzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4 -MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENBIFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2 -WhcNNDcwMzMxMDkwMTM2WjBuMQswCQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25h -bCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFM -IENBIFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zfe9MEkVz6 -iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6CcyvHZpsKjECcfIr28jlg -st7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FD -Y1w8ndYn81LsF7Kpryz3dvgwHQYDVR0OBBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB -/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgL -cFBTApFwhVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dGXSaQ -pYXFuXqUPoeovQA= ------END CERTIFICATE----- - -TWCA CYBER Root CA -================== ------BEGIN CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIQQAE0jMIAAAAAAAAAATzyxjANBgkqhkiG9w0BAQwFADBQMQswCQYDVQQG -EwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NB -IENZQkVSIFJvb3QgQ0EwHhcNMjIxMTIyMDY1NDI5WhcNNDcxMTIyMTU1OTU5WjBQMQswCQYDVQQG -EwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NB -IENZQkVSIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDG+Moe2Qkgfh1s -Ts6P40czRJzHyWmqOlt47nDSkvgEs1JSHWdyKKHfi12VCv7qze33Kc7wb3+szT3vsxxFavcokPFh -V8UMxKNQXd7UtcsZyoC5dc4pztKFIuwCY8xEMCDa6pFbVuYdHNWdZsc/34bKS1PE2Y2yHer43CdT -o0fhYcx9tbD47nORxc5zb87uEB8aBs/pJ2DFTxnk684iJkXXYJndzk834H/nY62wuFm40AZoNWDT -Nq5xQwTxaWV4fPMf88oon1oglWa0zbfuj3ikRRjpJi+NmykosaS3Om251Bw4ckVYsV7r8Cibt4LK -/c/WMw+f+5eesRycnupfXtuq3VTpMCEobY5583WSjCb+3MX2w7DfRFlDo7YDKPYIMKoNM+HvnKkH -IuNZW0CP2oi3aQiotyMuRAlZN1vH4xfyIutuOVLF3lSnmMlLIJXcRolftBL5hSmO68gnFSDAS9TM -fAxsNAwmmyYxpjyn9tnQS6Jk/zuZQXLB4HCX8SS7K8R0IrGsayIyJNN4KsDAoS/xUgXJP+92ZuJF -2A09rZXIx4kmyA+upwMu+8Ff+iDhcK2wZSA3M2Cw1a/XDBzCkHDXShi8fgGwsOsVHkQGzaRP6AzR -wyAQ4VRlnrZR0Bp2a0JaWHY06rc3Ga4udfmW5cFZ95RXKSWNOkyrTZpB0F8mAwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSdhWEUfMFib5do5E83 -QOGt4A1WNzAdBgNVHQ4EFgQUnYVhFHzBYm+XaORPN0DhreANVjcwDQYJKoZIhvcNAQEMBQADggIB -AGSPesRiDrWIzLjHhg6hShbNcAu3p4ULs3a2D6f/CIsLJc+o1IN1KriWiLb73y0ttGlTITVX1olN -c79pj3CjYcya2x6a4CD4bLubIp1dhDGaLIrdaqHXKGnK/nZVekZn68xDiBaiA9a5F/gZbG0jAn/x -X9AKKSM70aoK7akXJlQKTcKlTfjF/biBzysseKNnTKkHmvPfXvt89YnNdJdhEGoHK4Fa0o635yDR -IG4kqIQnoVesqlVYL9zZyvpoBJ7tRCT5dEA7IzOrg1oYJkK2bVS1FmAwbLGg+LhBoF1JSdJlBTrq -/p1hvIbZv97Tujqxf36SNI7JAG7cmL3c7IAFrQI932XtCwP39xaEBDG6k5TY8hL4iuO/Qq+n1M0R -FxbIQh0UqEL20kCGoE8jypZFVmAGzbdVAaYBlGX+bgUJurSkquLvWL69J1bY73NxW0Qz8ppy6rBe -Pm6pUlvscG21h483XjyMnM7k8M4MZ0HMzvaAq07MTFb1wWFZk7Q+ptq4NxKfKjLji7gh7MMrZQzv -It6IKTtM1/r+t+FHvpw+PoP7UV31aPcuIYXcv/Fa4nzXxeSDwWrruoBa3lwtcHb4yOWHh8qgnaHl -IhInD0Q9HWzq1MKLL295q39QpsQZp6F6t5b5wR9iWqJDB0BeJsas7a5wFsWqynKKTbDPAYsDP27X ------END CERTIFICATE----- - -SecureSign Root CA12 -==================== ------BEGIN CERTIFICATE----- -MIIDcjCCAlqgAwIBAgIUZvnHwa/swlG07VOX5uaCwysckBYwDQYJKoZIhvcNAQELBQAwUTELMAkG -A1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRT -ZWN1cmVTaWduIFJvb3QgQ0ExMjAeFw0yMDA0MDgwNTM2NDZaFw00MDA0MDgwNTM2NDZaMFExCzAJ -BgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMU -U2VjdXJlU2lnbiBSb290IENBMTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6OcE3 -emhFKxS06+QT61d1I02PJC0W6K6OyX2kVzsqdiUzg2zqMoqUm048luT9Ub+ZyZN+v/mtp7JIKwcc -J/VMvHASd6SFVLX9kHrko+RRWAPNEHl57muTH2SOa2SroxPjcf59q5zdJ1M3s6oYwlkm7Fsf0uZl -fO+TvdhYXAvA42VvPMfKWeP+bl+sg779XSVOKik71gurFzJ4pOE+lEa+Ym6b3kaosRbnhW70CEBF -EaCeVESE99g2zvVQR9wsMJvuwPWW0v4JhscGWa5Pro4RmHvzC1KqYiaqId+OJTN5lxZJjfU+1Uef -NzFJM3IFTQy2VYzxV4+Kh9GtxRESOaCtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P -AQH/BAQDAgEGMB0GA1UdDgQWBBRXNPN0zwRL1SXm8UC2LEzZLemgrTANBgkqhkiG9w0BAQsFAAOC -AQEAPrvbFxbS8hQBICw4g0utvsqFepq2m2um4fylOqyttCg6r9cBg0krY6LdmmQOmFxv3Y67ilQi -LUoT865AQ9tPkbeGGuwAtEGBpE/6aouIs3YIcipJQMPTw4WJmBClnW8Zt7vPemVV2zfrPIpyMpce -mik+rY3moxtt9XUa5rBouVui7mlHJzWhhpmA8zNL4WukJsPvdFlseqJkth5Ew1DgDzk9qTPxpfPS -vWKErI4cqc1avTc7bgoitPQV55FYxTpE05Uo2cBl6XLK0A+9H7MV2anjpEcJnuDLN/v9vZfVvhga -aaI5gdka9at/yOPiZwud9AzqVN/Ssq+xIvEg37xEHA== ------END CERTIFICATE----- - -SecureSign Root CA14 -==================== ------BEGIN CERTIFICATE----- -MIIFcjCCA1qgAwIBAgIUZNtaDCBO6Ncpd8hQJ6JaJ90t8sswDQYJKoZIhvcNAQEMBQAwUTELMAkG -A1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRT -ZWN1cmVTaWduIFJvb3QgQ0ExNDAeFw0yMDA0MDgwNzA2MTlaFw00NTA0MDgwNzA2MTlaMFExCzAJ -BgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMU -U2VjdXJlU2lnbiBSb290IENBMTQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDF0nqh -1oq/FjHQmNE6lPxauG4iwWL3pwon71D2LrGeaBLwbCRjOfHw3xDG3rdSINVSW0KZnvOgvlIfX8xn -bacuUKLBl422+JX1sLrcneC+y9/3OPJH9aaakpUqYllQC6KxNedlsmGy6pJxaeQp8E+BgQQ8sqVb -1MWoWWd7VRxJq3qdwudzTe/NCcLEVxLbAQ4jeQkHO6Lo/IrPj8BGJJw4J+CDnRugv3gVEOuGTgpa -/d/aLIJ+7sr2KeH6caH3iGicnPCNvg9JkdjqOvn90Ghx2+m1K06Ckm9mH+Dw3EzsytHqunQG+bOE -kJTRX45zGRBdAuVwpcAQ0BB8b8VYSbSwbprafZX1zNoCr7gsfXmPvkPx+SgojQlD+Ajda8iLLCSx -jVIHvXiby8posqTdDEx5YMaZ0ZPxMBoH064iwurO8YQJzOAUbn8/ftKChazcqRZOhaBgy/ac18iz -ju3Gm5h1DVXoX+WViwKkrkMpKBGk5hIwAUt1ax5mnXkvpXYvHUC0bcl9eQjs0Wq2XSqypWa9a4X0 -dFbD9ed1Uigspf9mR6XU/v6eVL9lfgHWMI+lNpyiUBzuOIABSMbHdPTGrMNASRZhdCyvjG817XsY -AFs2PJxQDcqSMxDxJklt33UkN4Ii1+iW/RVLApY+B3KVfqs9TC7XyvDf4Fg/LS8EmjijAQIDAQAB -o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUBpOjCl4oaTeq -YR3r6/wtbyPk86AwDQYJKoZIhvcNAQEMBQADggIBAJaAcgkGfpzMkwQWu6A6jZJOtxEaCnFxEM0E -rX+lRVAQZk5KQaID2RFPeje5S+LGjzJmdSX7684/AykmjbgWHfYfM25I5uj4V7Ibed87hwriZLoA -ymzvftAj63iP/2SbNDefNWWipAA9EiOWWF3KY4fGoweITedpdopTzfFP7ELyk+OZpDc8h7hi2/Ds -Hzc/N19DzFGdtfCXwreFamgLRB7lUe6TzktuhsHSDCRZNhqfLJGP4xjblJUK7ZGqDpncllPjYYPG -FrojutzdfhrGe0K22VoF3Jpf1d+42kd92jjbrDnVHmtsKheMYc2xbXIBw8MgAGJoFjHVdqqGuw6q -nsb58Nn4DSEC5MUoFlkRudlpcyqSeLiSV5sI8jrlL5WwWLdrIBRtFO8KvH7YVdiI2i/6GaX7i+B/ -OfVyK4XELKzvGUWSTLNhB9xNH27SgRNcmvMSZ4PPmz+Ln52kuaiWA3rF7iDeM9ovnhp6dB7h7sxa -OgTdsxoEqBRjrLdHEoOabPXm6RUVkRqEGQ6UROcSjiVbgGcZ3GOTEAtlLor6CZpO2oYofaphNdgO -pygau1LgePhsumywbrmHXumZNTfxPWQrqaA0k89jL9WB365jJ6UeTo3cKXhZ+PmhIIynJkBugnLN -eLLIjzwec+fBH7/PzqUqm9tEZDKgu39cJRNItX+S ------END CERTIFICATE----- - -SecureSign Root CA15 -==================== ------BEGIN CERTIFICATE----- -MIICIzCCAamgAwIBAgIUFhXHw9hJp75pDIqI7fBw+d23PocwCgYIKoZIzj0EAwMwUTELMAkGA1UE -BhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRTZWN1 -cmVTaWduIFJvb3QgQ0ExNTAeFw0yMDA0MDgwODMyNTZaFw00NTA0MDgwODMyNTZaMFExCzAJBgNV -BAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2Vj -dXJlU2lnbiBSb290IENBMTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQLUHSNZDKZmbPSYAi4Io5G -dCx4wCtELW1fHcmuS1Iggz24FG1Th2CeX2yF2wYUleDHKP+dX+Sq8bOLbe1PL0vJSpSRZHX+AezB -2Ot6lHhWGENfa4HL9rzatAy2KZMIaY+jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT9DAKBggqhkjOPQQDAwNoADBlAjEA2S6J -fl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJ -SwdLZrWeqrqgHkHZAXQ6bkU6iYAZezKYVWOr62Nuk22rGwlgMU4= ------END CERTIFICATE----- - -D-TRUST BR Root CA 2 2023 -========================= ------BEGIN CERTIFICATE----- -MIIFqTCCA5GgAwIBAgIQczswBEhb2U14LnNLyaHcZjANBgkqhkiG9w0BAQ0FADBIMQswCQYDVQQG -EwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEJSIFJvb3QgQ0Eg -MiAyMDIzMB4XDTIzMDUwOTA4NTYzMVoXDTM4MDUwOTA4NTYzMFowSDELMAkGA1UEBhMCREUxFTAT -BgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDIgMjAyMzCC -AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK7/CVmRgApKaOYkP7in5Mg6CjoWzckjYaCT -cfKri3OPoGdlYNJUa2NRb0kz4HIHE304zQaSBylSa053bATTlfrdTIzZXcFhfUvnKLNEgXtRr90z -sWh81k5M/itoucpmacTsXld/9w3HnDY25QdgrMBM6ghs7wZ8T1soegj8k12b9py0i4a6Ibn08OhZ -WiihNIQaJZG2tY/vsvmA+vk9PBFy2OMvhnbFeSzBqZCTRphny4NqoFAjpzv2gTng7fC5v2Xx2Mt6 -++9zA84A9H3X4F07ZrjcjrqDy4d2A/wl2ecjbwb9Z/Pg/4S8R7+1FhhGaRTMBffb00msa8yr5LUL -QyReS2tNZ9/WtT5PeB+UcSTq3nD88ZP+npNa5JRal1QMNXtfbO4AHyTsA7oC9Xb0n9Sa7YUsOCIv -x9gvdhFP/Wxc6PWOJ4d/GUohR5AdeY0cW/jPSoXk7bNbjb7EZChdQcRurDhaTyN0dKkSw/bSuREV -MweR2Ds3OmMwBtHFIjYoYiMQ4EbMl6zWK11kJNXuHA7e+whadSr2Y23OC0K+0bpwHJwh5Q8xaRfX -/Aq03u2AnMuStIv13lmiWAmlY0cL4UEyNEHZmrHZqLAbWt4NDfTisl01gLmB1IRpkQLLddCNxbU9 -CZEJjxShFHR5PtbJFR2kWVki3PaKRT08EtY+XTIvAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQUZ5Dw1t61GNVGKX5cq/ieCLxklRAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRC -MEAwPqA8oDqGOGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfYnJfcm9vdF9jYV8y -XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQA097N3U9swFrktpSHxQCF16+tIFoE9c+CeJyrr -d6kTpGoKWloUMz1oH4Guaf2Mn2VsNELZLdB/eBaxOqwjMa1ef67nriv6uvw8l5VAk1/DLQOj7aRv -U9f6QA4w9QAgLABMjDu0ox+2v5Eyq6+SmNMW5tTRVFxDWy6u71cqqLRvpO8NVhTaIasgdp4D/Ca4 -nj8+AybmTNudX0KEPUUDAxxZiMrcLmEkWqTqJwtzEr5SswrPMhfiHocaFpVIbVrg0M8JkiZmkdij -YQ6qgYF/6FKC0ULn4B0Y+qSFNueG4A3rvNTJ1jxD8V1Jbn6Bm2m1iWKPiFLY1/4nwSPFyysCu7Ff -/vtDhQNGvl3GyiEm/9cCnnRK3PgTFbGBVzbLZVzRHTF36SXDw7IyN9XxmAnkbWOACKsGkoHU6XCP -pz+y7YaMgmo1yEJagtFSGkUPFaUA8JR7ZSdXOUPPfH/mvTWze/EZTN46ls/pdu4D58JDUjxqgejB -WoC9EV2Ta/vH5mQ/u2kc6d0li690yVRAysuTEwrt+2aSEcr1wPrYg1UDfNPFIkZ1cGt5SAYqgpq/ -5usWDiJFAbzdNpQ0qTUmiteXue4Icr80knCDgKs4qllo3UCkGJCy89UDyibK79XH4I9TjvAA46jt -n/mtd+ArY0+ew+43u3gJhJ65bvspmZDogNOfJA== ------END CERTIFICATE----- - -TrustAsia TLS ECC Root CA -========================= ------BEGIN CERTIFICATE----- -MIICMTCCAbegAwIBAgIUNnThTXxlE8msg1UloD5Sfi9QaMcwCgYIKoZIzj0EAwMwWDELMAkGA1UE -BhMCQ04xJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xIjAgBgNVBAMTGVRy -dXN0QXNpYSBUTFMgRUNDIFJvb3QgQ0EwHhcNMjQwNTE1MDU0MTU2WhcNNDQwNTE1MDU0MTU1WjBY -MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywgSW5jLjEiMCAG -A1UEAxMZVHJ1c3RBc2lhIFRMUyBFQ0MgUm9vdCBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABLh/ -pVs/AT598IhtrimY4ZtcU5nb9wj/1WrgjstEpvDBjL1P1M7UiFPoXlfXTr4sP/MSpwDpguMqWzJ8 -S5sUKZ74LYO1644xST0mYekdcouJtgq7nDM1D9rs3qlKH8kzsaNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQULIVTu7FDzTLqnqOH/qKYqKaT6RAwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49 -BAMDA2gAMGUCMFRH18MtYYZI9HlaVQ01L18N9mdsd0AaRuf4aFtOJx24mH1/k78ITcTaRTChD15K -eAIxAKORh/IRM4PDwYqROkwrULG9IpRdNYlzg8WbGf60oenUoWa2AaU2+dhoYSi3dOGiMQ== ------END CERTIFICATE----- - -TrustAsia TLS RSA Root CA -========================= ------BEGIN CERTIFICATE----- -MIIFgDCCA2igAwIBAgIUHBjYz+VTPyI1RlNUJDxsR9FcSpwwDQYJKoZIhvcNAQEMBQAwWDELMAkG -A1UEBhMCQ04xJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xIjAgBgNVBAMT -GVRydXN0QXNpYSBUTFMgUlNBIFJvb3QgQ0EwHhcNMjQwNTE1MDU0MTU3WhcNNDQwNTE1MDU0MTU2 -WjBYMQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywgSW5jLjEi -MCAGA1UEAxMZVHJ1c3RBc2lhIFRMUyBSU0EgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAMMWuBtqpERz5dZO9LnPWwvB0ZqB9WOwj0PBuwhaGnrhB3YmH49pVr7+NmDQDIPN -lOrnxS1cLwUWAp4KqC/lYCZUlviYQB2srp10Zy9U+5RjmOMmSoPGlbYJQ1DNDX3eRA5gEk9bNb2/ -mThtfWza4mhzH/kxpRkQcwUqwzIZheo0qt1CHjCNP561HmHVb70AcnKtEj+qpklz8oYVlQwQX1Fk -zv93uMltrOXVmPGZLmzjyUT5tUMnCE32ft5EebuyjBza00tsLtbDeLdM1aTk2tyKjg7/D8OmYCYo -zza/+lcK7Fs/6TAWe8TbxNRkoDD75f0dcZLdKY9BWN4ArTr9PXwaqLEX8E40eFgl1oUh63kd0Nyr -z2I8sMeXi9bQn9P+PN7F4/w6g3CEIR0JwqH8uyghZVNgepBtljhb//HXeltt08lwSUq6HTrQUNoy -IBnkiz/r1RYmNzz7dZ6wB3C4FGB33PYPXFIKvF1tjVEK2sUYyJtt3LCDs3+jTnhMmCWr8n4uIF6C -FabW2I+s5c0yhsj55NqJ4js+k8UTav/H9xj8Z7XvGCxUq0DTbE3txci3OE9kxJRMT6DNrqXGJyV1 -J23G2pyOsAWZ1SgRxSHUuPzHlqtKZFlhaxP8S8ySpg+kUb8OWJDZgoM5pl+z+m6Ss80zDoWo8SnT -q1mt1tve1CuBAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFLgHkXlcBvRG/XtZ -ylomkadFK/hTMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQwFAAOCAgEAIZtqBSBdGBanEqT3 -Rz/NyjuujsCCztxIJXgXbODgcMTWltnZ9r96nBO7U5WS/8+S4PPFJzVXqDuiGev4iqME3mmL5Dw8 -veWv0BIb5Ylrc5tvJQJLkIKvQMKtuppgJFqBTQUYo+IzeXoLH5Pt7DlK9RME7I10nYEKqG/odv6L -TytpEoYKNDbdgptvT+Bz3Ul/KD7JO6NXBNiT2Twp2xIQaOHEibgGIOcberyxk2GaGUARtWqFVwHx -tlotJnMnlvm5P1vQiJ3koP26TpUJg3933FEFlJ0gcXax7PqJtZwuhfG5WyRasQmr2soaB82G39tp -27RIGAAtvKLEiUUjpQ7hRGU+isFqMB3iYPg6qocJQrmBktwliJiJ8Xw18WLK7nn4GS/+X/jbh87q -qA8MpugLoDzga5SYnH+tBuYc6kIQX+ImFTw3OffXvO645e8D7r0i+yiGNFjEWn9hongPXvPKnbwb -PKfILfanIhHKA9jnZwqKDss1jjQ52MjqjZ9k4DewbNfFj8GQYSbbJIweSsCI3zWQzj8C9GRh3sfI -B5XeMhg6j6JCQCTl1jNdfK7vsU1P1FeQNWrcrgSXSYk0ly4wBOeY99sLAZDBHwo/+ML+TvrbmnNz -FrwFuHnYWa8G5z9nODmxfKuU4CkUpijy323imttUQ/hHWKNddBWcwauwxzQ= ------END CERTIFICATE----- - -D-TRUST EV Root CA 2 2023 -========================= ------BEGIN CERTIFICATE----- -MIIFqTCCA5GgAwIBAgIQaSYJfoBLTKCnjHhiU19abzANBgkqhkiG9w0BAQ0FADBIMQswCQYDVQQG -EwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEVWIFJvb3QgQ0Eg -MiAyMDIzMB4XDTIzMDUwOTA5MTAzM1oXDTM4MDUwOTA5MTAzMlowSDELMAkGA1UEBhMCREUxFTAT -BgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDIgMjAyMzCC -AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANiOo4mAC7JXUtypU0w3uX9jFxPvp1sjW2l1 -sJkKF8GLxNuo4MwxusLyzV3pt/gdr2rElYfXR8mV2IIEUD2BCP/kPbOx1sWy/YgJ25yE7CUXFId/ -MHibaljJtnMoPDT3mfd/06b4HEV8rSyMlD/YZxBTfiLNTiVR8CUkNRFeEMbsh2aJgWi6zCudR3Mf -vc2RpHJqnKIbGKBv7FD0fUDCqDDPvXPIEysQEx6Lmqg6lHPTGGkKSv/BAQP/eX+1SH977ugpbzZM -lWGG2Pmic4ruri+W7mjNPU0oQvlFKzIbRlUWaqZLKfm7lVa/Rh3sHZMdwGWyH6FDrlaeoLGPaxK3 -YG14C8qKXO0elg6DpkiVjTujIcSuWMYAsoS0I6SWhjW42J7YrDRJmGOVxcttSEfi8i4YHtAxq910 -7PncjLgcjmgjutDzUNzPZY9zOjLHfP7KgiJPvo5iR2blzYfi6NUPGJ/lBHJLRjwQ8kTCZFZxTnXo -nMkmdMV9WdEKWw9t/p51HBjGGjp82A0EzM23RWV6sY+4roRIPrN6TagD4uJ+ARZZaBhDM7DS3LAa -QzXupdqpRlyuhoFBAUp0JuyfBr/CBTdkdXgpaP3F9ev+R/nkhbDhezGdpn9yo7nELC7MmVcOIQxF -AZRl62UJxmMiCzNJkkg8/M3OsD6Onov4/knFNXJHAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQUqvyREBuHkV8Wub9PS5FeAByxMoAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRC -MEAwPqA8oDqGOGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfZXZfcm9vdF9jYV8y -XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQCTy6UfmRHsmg1fLBWTxj++EI14QvBukEdHjqOS -Mo1wj/Zbjb6JzkcBahsgIIlbyIIQbODnmaprxiqgYzWRaoUlrRc4pZt+UPJ26oUFKidBK7GB0aL2 -QHWpDsvxVUjY7NHss+jOFKE17MJeNRqrphYBBo7q3C+jisosketSjl8MmxfPy3MHGcRqwnNU73xD -UmPBEcrCRbH0O1P1aa4846XerOhUt7KR/aypH/KH5BfGSah82ApB9PI+53c0BFLd6IHyTS9URZ0V -4U/M5d40VxDJI3IXcI1QcB9WbMy5/zpaT2N6w25lBx2Eof+pDGOJbbJAiDnXH3dotfyc1dZnaVuo -dNv8ifYbMvekJKZ2t0dT741Jj6m2g1qllpBFYfXeA08mD6iL8AOWsKwV0HFaanuU5nCT2vFp4LJi -TZ6P/4mdm13NRemUAiKN4DV/6PEEeXFsVIP4M7kFMhtYVRFP0OUnR3Hs7dpn1mKmS00PaaLJvOwi -S5THaJQXfuKOKD62xur1NGyfN4gHONuGcfrNlUhDbqNPgofXNJhuS5N5YHVpD/Aa1VP6IQzCP+k/ -HxiMkl14p3ZnGbuy6n/pcAlWVqOwDAstNl7F6cTVg8uGF5csbBNvh1qvSaYd2804BC5f4ko1Di1L -+KIkBI3Y4WNeApI02phhXBxvWHZks/wCuPWdCg== ------END CERTIFICATE----- - -SwissSign RSA TLS Root CA 2022 - 1 -================================== ------BEGIN CERTIFICATE----- -MIIFkzCCA3ugAwIBAgIUQ/oMX04bgBhE79G0TzUfRPSA7cswDQYJKoZIhvcNAQELBQAwUTELMAkG -A1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzErMCkGA1UEAxMiU3dpc3NTaWduIFJTQSBU -TFMgUm9vdCBDQSAyMDIyIC0gMTAeFw0yMjA2MDgxMTA4MjJaFw00NzA2MDgxMTA4MjJaMFExCzAJ -BgNVBAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxKzApBgNVBAMTIlN3aXNzU2lnbiBSU0Eg -VExTIFJvb3QgQ0EgMjAyMiAtIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDLKmji -C8NXvDVjvHClO/OMPE5Xlm7DTjak9gLKHqquuN6orx122ro10JFwB9+zBvKK8i5VUXu7LCTLf5Im -gKO0lPaCoaTo+nUdWfMHamFk4saMla+ju45vVs9xzF6BYQ1t8qsCLqSX5XH8irCRIFucdFJtrhUn -WXjyCcplDn/L9Ovn3KlMd/YrFgSVrpxxpT8q2kFC5zyEEPThPYxr4iuRR1VPuFa+Rd4iUU1OKNlf -GUEGjw5NBuBwQCMBauTLE5tzrE0USJIt/m2n+IdreXXhvhCxqohAWVTXz8TQm0SzOGlkjIHRI36q -OTw7D59Ke4LKa2/KIj4x0LDQKhySio/YGZxH5D4MucLNvkEM+KRHBdvBFzA4OmnczcNpI/2aDwLO -EGrOyvi5KaM2iYauC8BPY7kGWUleDsFpswrzd34unYyzJ5jSmY0lpx+Gs6ZUcDj8fV3oT4MM0ZPl -EuRU2j7yrTrePjxF8CgPBrnh25d7mUWe3f6VWQQvdT/TromZhqwUtKiE+shdOxtYk8EXlFXIC+OC -eYSf8wCENO7cMdWP8vpPlkwGqnj73mSiI80fPsWMvDdUDrtaclXvyFu1cvh43zcgTFeRc5JzrBh3 -Q4IgaezprClG5QtO+DdziZaKHG29777YtvTKwP1H8K4LWCDFyB02rpeNUIMmJCn3nTsPBQIDAQAB -o2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBRvjmKLk0Ow -4UD2p8P98Q+4DxU4pTAdBgNVHQ4EFgQUb45ii5NDsOFA9qfD/fEPuA8VOKUwDQYJKoZIhvcNAQEL -BQADggIBAKwsKUF9+lz1GpUYvyypiqkkVHX1uECry6gkUSsYP2OprphWKwVDIqO310aewCoSPY6W -lkDfDDOLazeROpW7OSltwAJsipQLBwJNGD77+3v1dj2b9l4wBlgzHqp41eZUBDqyggmNzhYzWUUo -8aWjlw5DI/0LIICQ/+Mmz7hkkeUFjxOgdg3XNwwQiJb0Pr6VvfHDffCjw3lHC1ySFWPtUnWK50Zp -y1FVCypM9fJkT6lc/2cyjlUtMoIcgC9qkfjLvH4YoiaoLqNTKIftV+Vlek4ASltOU8liNr3Cjlvr -zG4ngRhZi0Rjn9UMZfQpZX+RLOV/fuiJz48gy20HQhFRJjKKLjpHE7iNvUcNCfAWpO2Whi4Z2L6M -OuhFLhG6rlrnub+xzI/goP+4s9GFe3lmozm1O2bYQL7Pt2eLSMkZJVX8vY3PXtpOpvJpzv1/THfQ -wUY1mFwjmwJFQ5Ra3bxHrSL+ul4vkSkphnsh3m5kt8sNjzdbowhq6/TdAo9QAwKxuDdollDruF/U -KIqlIgyKhPBZLtU30WHlQnNYKoH3dtvi4k0NX/a3vgW0rk4N3hY9A4GzJl5LuEsAz/+MF7psYC0n -hzck5npgL7XTgwSqT0N1osGDsieYK7EOgLrAhV5Cud+xYJHT6xh+cHiudoO+cVrQkOPKwRYlZ0rw -tnu64ZzZ ------END CERTIFICATE----- - -OISTE Server Root ECC G1 -======================== ------BEGIN CERTIFICATE----- -MIICNTCCAbqgAwIBAgIQI/nD1jWvjyhLH/BU6n6XnTAKBggqhkjOPQQDAzBLMQswCQYDVQQGEwJD -SDEZMBcGA1UECgwQT0lTVEUgRm91bmRhdGlvbjEhMB8GA1UEAwwYT0lTVEUgU2VydmVyIFJvb3Qg -RUNDIEcxMB4XDTIzMDUzMTE0NDIyOFoXDTQ4MDUyNDE0NDIyN1owSzELMAkGA1UEBhMCQ0gxGTAX -BgNVBAoMEE9JU1RFIEZvdW5kYXRpb24xITAfBgNVBAMMGE9JU1RFIFNlcnZlciBSb290IEVDQyBH -MTB2MBAGByqGSM49AgEGBSuBBAAiA2IABBcv+hK8rBjzCvRE1nZCnrPoH7d5qVi2+GXROiFPqOuj -vqQycvO2Ackr/XeFblPdreqqLiWStukhEaivtUwL85Zgmjvn6hp4LrQ95SjeHIC6XG4N2xml4z+c -KrhAS93mT6NjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBQ3TYhlz/w9itWj8UnATgwQ -b0K0nDAdBgNVHQ4EFgQUN02IZc/8PYrVo/FJwE4MEG9CtJwwDgYDVR0PAQH/BAQDAgGGMAoGCCqG -SM49BAMDA2kAMGYCMQCpKjAd0MKfkFFRQD6VVCHNFmb3U2wIFjnQEnx/Yxvf4zgAOdktUyBFCxxg -ZzFDJe0CMQCSia7pXGKDYmH5LVerVrkR3SW+ak5KGoJr3M/TvEqzPNcum9v4KGm8ay3sMaE641c= ------END CERTIFICATE----- - - OISTE Server Root RSA G1 -========================= ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIQVaXZZ5Qoxu0M+ifdWwFNGDANBgkqhkiG9w0BAQwFADBLMQswCQYDVQQG -EwJDSDEZMBcGA1UECgwQT0lTVEUgRm91bmRhdGlvbjEhMB8GA1UEAwwYT0lTVEUgU2VydmVyIFJv -b3QgUlNBIEcxMB4XDTIzMDUzMTE0MzcxNloXDTQ4MDUyNDE0MzcxNVowSzELMAkGA1UEBhMCQ0gx -GTAXBgNVBAoMEE9JU1RFIEZvdW5kYXRpb24xITAfBgNVBAMMGE9JU1RFIFNlcnZlciBSb290IFJT -QSBHMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKqu9KuCz/vlNwvn1ZatkOhLKdxV -YOPMvLO8LZK55KN68YG0nnJyQ98/qwsmtO57Gmn7KNByXEptaZnwYx4M0rH/1ow00O7brEi56rAU -jtgHqSSY3ekJvqgiG1k50SeH3BzN+Puz6+mTeO0Pzjd8JnduodgsIUzkik/HEzxux9UTl7Ko2yRp -g1bTacuCErudG/L4NPKYKyqOBGf244ehHa1uzjZ0Dl4zO8vbUZeUapU8zhhabkvG/AePLhq5Svdk -NCncpo1Q4Y2LS+VIG24ugBA/5J8bZT8RtOpXaZ+0AOuFJJkk9SGdl6r7NH8CaxWQrbueWhl/pIzY -+m0o/DjH40ytas7ZTpOSjswMZ78LS5bOZmdTaMsXEY5Z96ycG7mOaES3GK/m5Q9l3JUJsJMStR8+ -lKXHiHUhsd4JJCpM4rzsTGdHwimIuQq6+cF0zowYJmXa92/GjHtoXAvuY8BeS/FOzJ8vD+HomnqT -8eDI278n5mUpezbgMxVz8p1rhAhoKzYHKyfMeNhqhw5HdPSqoBNdZH702xSu+zrkL8Fl47l6QGzw -Brd7KJvX4V84c5Ss2XCTLdyEr0YconosP4EmQufU2MVshGYRi3drVByjtdgQ8K4p92cIiBdcuJd5 -z+orKu5YM+Vt6SmqZQENghPsJQtdLEByFSnTkCz3GkPVavBpAgMBAAGjYzBhMA8GA1UdEwEB/wQF -MAMBAf8wHwYDVR0jBBgwFoAU8snBDw1jALvsRQ5KH7WxszbNDo0wHQYDVR0OBBYEFPLJwQ8NYwC7 -7EUOSh+1sbM2zQ6NMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQwFAAOCAgEANGd5sjrG5T33 -I3K5Ce+SrScfoE4KsvXaFwyihdJ+klH9FWXXXGtkFu6KRcoMQzZENdl//nk6HOjG5D1rd9QhEOP2 -8yBOqb6J8xycqd+8MDoX0TJD0KqKchxRKEzdNsjkLWd9kYccnbz8qyiWXmFcuCIzGEgWUOrKL+ml -Sdx/PKQZvDatkuK59EvV6wit53j+F8Bdh3foZ3dPAGav9LEDOr4SfEE15fSmG0eLy3n31r8Xbk5l -8PjaV8GUgeV6Vg27Rn9vkf195hfkgSe7BYhW3SCl95gtkRlpMV+bMPKZrXJAlszYd2abtNUOshD+ -FKrDgHGdPY3ofRRsYWSGRqbXVMW215AWRqWFyp464+YTFrYVI8ypKVL9AMb2kI5Wj4kI3Zaq5tNq -qYY19tVFeEJKRvwDyF7YZvZFZSS0vod7VSCd9521Kvy5YhnLbDuv0204bKt7ph6N/Ome/msVuduC -msuY33OhkKCgxeDoAaijFJzIwZqsFVAzje18KotzlUBDJvyBpCpfOZC3J8tRd/iWkx7P8nd9H0aT -olkelUTFLXVksNb54Dxp6gS1HAviRkRNQzuXSXERvSS2wq1yVAb+axj5d9spLFKebXd7Yv0PTY6Y -MjAwcRLWJTXjn/hvnLXrahut6hDTlhZyBiElxky8j3C7DOReIoMt0r7+hVu05L0= +# DigiCert Global Root G3 +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe +Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw +EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x +IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG +fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO +Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx +AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ +oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 +sycX +-----END CERTIFICATE----- + +# DigiCert High Assurance EV Root CA +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- + +# GlobalSign Root R46 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUA +MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYD +VQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMy +MDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt +c2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08EsCVeJ +OaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQG +vGIFAha/r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud +316HCkD7rRlr+/fKYIje2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo +0q3v84RLHIf8E6M6cqJaESvWJ3En7YEtbWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSE +y132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvjK8Cd+RTyG/FWaha/LIWF +zXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD412lPFzYE ++cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCN +I/onccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzs +x2sZy/N78CsHpdlseVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqa +ByFrgY/bxFn63iLABJzjqls2k+g9vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC +4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEMBQADggIBAHx4 +7PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg +JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti +2kM3S+LGteWygxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIk +pnnpHs6i58FZFZ8d4kuaPp92CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRF +FRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZmOUdkLG5NrmJ7v2B0GbhWrJKsFjLt +rWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qqJZ4d16GLuc1CLgSk +ZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwyeqiv5 +u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP +4vkYxboznxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6 +N3ec592kD3ZDZopD8p/7DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3 +vouXsXgxT7PntgMTzlSdriVZzH81Xwj3QEUxeCp6 +-----END CERTIFICATE----- + +# GlobalSign Root E46 +-----BEGIN CERTIFICATE----- +MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYx +CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQD +ExNHbG9iYWxTaWduIFJvb3QgRTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAw +MDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex +HDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkBjtjq +R+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGdd +yXqBPCCjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ +7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZkvLtoURMMA/cVi4RguYv/Uo7njLwcAjA8 ++RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A= +-----END CERTIFICATE----- + +# Let's Encrypt ISRG Root X1 +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +# Let's Encrypt ISRG Root X2 +-----BEGIN CERTIFICATE----- +MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw +CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg +R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00 +MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT +ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw +EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW ++1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9 +ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI +zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW +tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1 +/q4AaOeMSQ+2b1tbFfLn +-----END CERTIFICATE----- + +# Sectigo Public Server Authentication Root R46 +-----BEGIN CERTIFICATE----- +MIIFijCCA3KgAwIBAgIQdY39i658BwD6qSWn4cetFDANBgkqhkiG9w0BAQwFADBf +MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD +Ey1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw +HhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEY +MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1Ymxp +YyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCTvtU2UnXYASOgHEdCSe5jtrch/cSV1UgrJnwUUxDa +ef0rty2k1Cz66jLdScK5vQ9IPXtamFSvnl0xdE8H/FAh3aTPaE8bEmNtJZlMKpnz +SDBh+oF8HqcIStw+KxwfGExxqjWMrfhu6DtK2eWUAtaJhBOqbchPM8xQljeSM9xf +iOefVNlI8JhD1mb9nxc4Q8UBUQvX4yMPFF1bFOdLvt30yNoDN9HWOaEhUTCDsG3X +ME6WW5HwcCSrv0WBZEMNvSE6Lzzpng3LILVCJ8zab5vuZDCQOc2TZYEhMbUjUDM3 +IuM47fgxMMxF/mL50V0yeUKH32rMVhlATc6qu/m1dkmU8Sf4kaWD5QazYw6A3OAS +VYCmO2a0OYctyPDQ0RTp5A1NDvZdV3LFOxxHVp3i1fuBYYzMTYCQNFu31xR13NgE +SJ/AwSiItOkcyqex8Va3e0lMWeUgFaiEAin6OJRpmkkGj80feRQXEgyDet4fsZfu ++Zd4KKTIRJLpfSYFplhym3kT2BFfrsU4YjRosoYwjviQYZ4ybPUHNs2iTG7sijbt +8uaZFURww3y8nDnAtOFr94MlI1fZEoDlSfB1D++N6xybVCi0ITz8fAr/73trdf+L +HaAZBav6+CuBQug4urv7qv094PPK306Xlynt8xhW6aWWrL3DkJiy4Pmi1KZHQ3xt +zwIDAQABo0IwQDAdBgNVHQ4EFgQUVnNYZJX5khqwEioEYnmhQBWIIUkwDgYDVR0P +AQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAC9c +mTz8Bl6MlC5w6tIyMY208FHVvArzZJ8HXtXBc2hkeqK5Duj5XYUtqDdFqij0lgVQ +YKlJfp/imTYpE0RHap1VIDzYm/EDMrraQKFz6oOht0SmDpkBm+S8f74TlH7Kph52 +gDY9hAaLMyZlbcp+nv4fjFg4exqDsQ+8FxG75gbMY/qB8oFM2gsQa6H61SilzwZA +Fv97fRheORKkU55+MkIQpiGRqRxOF3yEvJ+M0ejf5lG5Nkc/kLnHvALcWxxPDkjB +JYOcCj+esQMzEhonrPcibCTRAUH4WAP+JWgiH5paPHxsnnVI84HxZmduTILA7rpX +DhjvLpr3Etiga+kFpaHpaPi8TD8SHkXoUsCjvxInebnMMTzD9joiFgOgyY9mpFui +TdaBJQbpdqQACj7LzTWb4OE4y2BThihCQRxEV+ioratF4yUQvNs+ZUH7G6aXD+u5 +dHn5HrwdVw1Hr8Mvn4dGp+smWg9WY7ViYG4A++MnESLn/pmPNPW56MORcr3Ywx65 +LvKRRFHQV80MNNVIIb/bE/FmJUNS0nAiNs2fxBx1IK1jcmMGDw4nztJqDby1ORrp +0XZ60Vzk50lJLVU3aPAaOpg+VBeHVOmmJ1CJeyAvP/+/oYtKR5j/K3tJPsMpRmAY +QqszKbrAKbkTidOIijlBO8n9pu0f9GBj39ItVQGL +-----END CERTIFICATE----- + +# Sectigo Public Server Authentication Root E46 +-----BEGIN CERTIFICATE----- +MIICOjCCAcGgAwIBAgIQQvLM2htpN0RfFf51KBC49DAKBggqhkjOPQQDAzBfMQsw +CQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1T +ZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwHhcN +MjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEYMBYG +A1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBT +ZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAR2+pmpbiDt+dd34wc7qNs9Xzjoq1WmVk/WSOrsfy2qw7LFeeyZYX8QeccC +WvkEN/U0NSt3zn8gj1KjAIns1aeibVvjS5KToID1AZTc8GgHHs3u/iVStSBDHBv+ +6xnOQ6OjQjBAMB0GA1UdDgQWBBTRItpMWfFLXyY4qp3W7usNw/upYTAOBgNVHQ8B +Af8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNnADBkAjAn7qRa +qCG76UeXlImldCBteU/IvZNeWBj7LRoAasm4PdCkT0RHlAFWovgzJQxC36oCMB3q +4S6ILuH5px0CMk7yn2xVdOOurvulGu7t0vzCAxHrRVxgED1cf5kDW21USAGKcw== -----END CERTIFICATE----- diff --git a/stripe/events/__init__.py b/stripe/events/__init__.py index 870b71f1f..0b0ef0642 100644 --- a/stripe/events/__init__.py +++ b/stripe/events/__init__.py @@ -259,18 +259,66 @@ V1CustomerDiscountDeletedEvent as V1CustomerDiscountDeletedEvent, V1CustomerDiscountDeletedEventNotification as V1CustomerDiscountDeletedEventNotification, ) + from stripe.events._v1_customer_discount_source_changed_event import ( + V1CustomerDiscountSourceChangedEvent as V1CustomerDiscountSourceChangedEvent, + V1CustomerDiscountSourceChangedEventNotification as V1CustomerDiscountSourceChangedEventNotification, + ) from stripe.events._v1_customer_discount_updated_event import ( V1CustomerDiscountUpdatedEvent as V1CustomerDiscountUpdatedEvent, V1CustomerDiscountUpdatedEventNotification as V1CustomerDiscountUpdatedEventNotification, ) + from stripe.events._v1_customer_subscription_active_event import ( + V1CustomerSubscriptionActiveEvent as V1CustomerSubscriptionActiveEvent, + V1CustomerSubscriptionActiveEventNotification as V1CustomerSubscriptionActiveEventNotification, + ) + from stripe.events._v1_customer_subscription_cancel_at_changed_event import ( + V1CustomerSubscriptionCancelAtChangedEvent as V1CustomerSubscriptionCancelAtChangedEvent, + V1CustomerSubscriptionCancelAtChangedEventNotification as V1CustomerSubscriptionCancelAtChangedEventNotification, + ) from stripe.events._v1_customer_subscription_created_event import ( V1CustomerSubscriptionCreatedEvent as V1CustomerSubscriptionCreatedEvent, V1CustomerSubscriptionCreatedEventNotification as V1CustomerSubscriptionCreatedEventNotification, ) + from stripe.events._v1_customer_subscription_default_payment_method_changed_event import ( + V1CustomerSubscriptionDefaultPaymentMethodChangedEvent as V1CustomerSubscriptionDefaultPaymentMethodChangedEvent, + V1CustomerSubscriptionDefaultPaymentMethodChangedEventNotification as V1CustomerSubscriptionDefaultPaymentMethodChangedEventNotification, + ) from stripe.events._v1_customer_subscription_deleted_event import ( V1CustomerSubscriptionDeletedEvent as V1CustomerSubscriptionDeletedEvent, V1CustomerSubscriptionDeletedEventNotification as V1CustomerSubscriptionDeletedEventNotification, ) + from stripe.events._v1_customer_subscription_incomplete_event import ( + V1CustomerSubscriptionIncompleteEvent as V1CustomerSubscriptionIncompleteEvent, + V1CustomerSubscriptionIncompleteEventNotification as V1CustomerSubscriptionIncompleteEventNotification, + ) + from stripe.events._v1_customer_subscription_incomplete_expired_event import ( + V1CustomerSubscriptionIncompleteExpiredEvent as V1CustomerSubscriptionIncompleteExpiredEvent, + V1CustomerSubscriptionIncompleteExpiredEventNotification as V1CustomerSubscriptionIncompleteExpiredEventNotification, + ) + from stripe.events._v1_customer_subscription_item_added_event import ( + V1CustomerSubscriptionItemAddedEvent as V1CustomerSubscriptionItemAddedEvent, + V1CustomerSubscriptionItemAddedEventNotification as V1CustomerSubscriptionItemAddedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_price_changed_event import ( + V1CustomerSubscriptionItemPriceChangedEvent as V1CustomerSubscriptionItemPriceChangedEvent, + V1CustomerSubscriptionItemPriceChangedEventNotification as V1CustomerSubscriptionItemPriceChangedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_quantity_changed_event import ( + V1CustomerSubscriptionItemQuantityChangedEvent as V1CustomerSubscriptionItemQuantityChangedEvent, + V1CustomerSubscriptionItemQuantityChangedEventNotification as V1CustomerSubscriptionItemQuantityChangedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_removed_event import ( + V1CustomerSubscriptionItemRemovedEvent as V1CustomerSubscriptionItemRemovedEvent, + V1CustomerSubscriptionItemRemovedEventNotification as V1CustomerSubscriptionItemRemovedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_tax_rates_changed_event import ( + V1CustomerSubscriptionItemTaxRatesChangedEvent as V1CustomerSubscriptionItemTaxRatesChangedEvent, + V1CustomerSubscriptionItemTaxRatesChangedEventNotification as V1CustomerSubscriptionItemTaxRatesChangedEventNotification, + ) + from stripe.events._v1_customer_subscription_past_due_event import ( + V1CustomerSubscriptionPastDueEvent as V1CustomerSubscriptionPastDueEvent, + V1CustomerSubscriptionPastDueEventNotification as V1CustomerSubscriptionPastDueEventNotification, + ) from stripe.events._v1_customer_subscription_paused_event import ( V1CustomerSubscriptionPausedEvent as V1CustomerSubscriptionPausedEvent, V1CustomerSubscriptionPausedEventNotification as V1CustomerSubscriptionPausedEventNotification, @@ -291,6 +339,14 @@ V1CustomerSubscriptionTrialWillEndEvent as V1CustomerSubscriptionTrialWillEndEvent, V1CustomerSubscriptionTrialWillEndEventNotification as V1CustomerSubscriptionTrialWillEndEventNotification, ) + from stripe.events._v1_customer_subscription_trialing_event import ( + V1CustomerSubscriptionTrialingEvent as V1CustomerSubscriptionTrialingEvent, + V1CustomerSubscriptionTrialingEventNotification as V1CustomerSubscriptionTrialingEventNotification, + ) + from stripe.events._v1_customer_subscription_unpaid_event import ( + V1CustomerSubscriptionUnpaidEvent as V1CustomerSubscriptionUnpaidEvent, + V1CustomerSubscriptionUnpaidEventNotification as V1CustomerSubscriptionUnpaidEventNotification, + ) from stripe.events._v1_customer_subscription_updated_event import ( V1CustomerSubscriptionUpdatedEvent as V1CustomerSubscriptionUpdatedEvent, V1CustomerSubscriptionUpdatedEventNotification as V1CustomerSubscriptionUpdatedEventNotification, @@ -311,6 +367,14 @@ V1CustomerUpdatedEvent as V1CustomerUpdatedEvent, V1CustomerUpdatedEventNotification as V1CustomerUpdatedEventNotification, ) + from stripe.events._v1_entitlements_active_entitlement_summary_entitlement_added_event import ( + V1EntitlementsActiveEntitlementSummaryEntitlementAddedEvent as V1EntitlementsActiveEntitlementSummaryEntitlementAddedEvent, + V1EntitlementsActiveEntitlementSummaryEntitlementAddedEventNotification as V1EntitlementsActiveEntitlementSummaryEntitlementAddedEventNotification, + ) + from stripe.events._v1_entitlements_active_entitlement_summary_entitlement_removed_event import ( + V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEvent as V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEvent, + V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEventNotification as V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEventNotification, + ) from stripe.events._v1_entitlements_active_entitlement_summary_updated_event import ( V1EntitlementsActiveEntitlementSummaryUpdatedEvent as V1EntitlementsActiveEntitlementSummaryUpdatedEvent, V1EntitlementsActiveEntitlementSummaryUpdatedEventNotification as V1EntitlementsActiveEntitlementSummaryUpdatedEventNotification, @@ -323,6 +387,14 @@ V1FinancialConnectionsAccountAccountNumbersUpdatedEvent as V1FinancialConnectionsAccountAccountNumbersUpdatedEvent, V1FinancialConnectionsAccountAccountNumbersUpdatedEventNotification as V1FinancialConnectionsAccountAccountNumbersUpdatedEventNotification, ) + from stripe.events._v1_financial_connections_account_balance_refresh_failed_event import ( + V1FinancialConnectionsAccountBalanceRefreshFailedEvent as V1FinancialConnectionsAccountBalanceRefreshFailedEvent, + V1FinancialConnectionsAccountBalanceRefreshFailedEventNotification as V1FinancialConnectionsAccountBalanceRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_balance_refresh_succeeded_event import ( + V1FinancialConnectionsAccountBalanceRefreshSucceededEvent as V1FinancialConnectionsAccountBalanceRefreshSucceededEvent, + V1FinancialConnectionsAccountBalanceRefreshSucceededEventNotification as V1FinancialConnectionsAccountBalanceRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_created_event import ( V1FinancialConnectionsAccountCreatedEvent as V1FinancialConnectionsAccountCreatedEvent, V1FinancialConnectionsAccountCreatedEventNotification as V1FinancialConnectionsAccountCreatedEventNotification, @@ -339,6 +411,22 @@ V1FinancialConnectionsAccountExpectedDeactivationDateUpdatedEvent as V1FinancialConnectionsAccountExpectedDeactivationDateUpdatedEvent, V1FinancialConnectionsAccountExpectedDeactivationDateUpdatedEventNotification as V1FinancialConnectionsAccountExpectedDeactivationDateUpdatedEventNotification, ) + from stripe.events._v1_financial_connections_account_inferred_balances_refresh_failed_event import ( + V1FinancialConnectionsAccountInferredBalancesRefreshFailedEvent as V1FinancialConnectionsAccountInferredBalancesRefreshFailedEvent, + V1FinancialConnectionsAccountInferredBalancesRefreshFailedEventNotification as V1FinancialConnectionsAccountInferredBalancesRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_inferred_balances_refresh_succeeded_event import ( + V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEvent as V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEvent, + V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEventNotification as V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEventNotification, + ) + from stripe.events._v1_financial_connections_account_ownership_refresh_failed_event import ( + V1FinancialConnectionsAccountOwnershipRefreshFailedEvent as V1FinancialConnectionsAccountOwnershipRefreshFailedEvent, + V1FinancialConnectionsAccountOwnershipRefreshFailedEventNotification as V1FinancialConnectionsAccountOwnershipRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_ownership_refresh_succeeded_event import ( + V1FinancialConnectionsAccountOwnershipRefreshSucceededEvent as V1FinancialConnectionsAccountOwnershipRefreshSucceededEvent, + V1FinancialConnectionsAccountOwnershipRefreshSucceededEventNotification as V1FinancialConnectionsAccountOwnershipRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_reactivated_event import ( V1FinancialConnectionsAccountReactivatedEvent as V1FinancialConnectionsAccountReactivatedEvent, V1FinancialConnectionsAccountReactivatedEventNotification as V1FinancialConnectionsAccountReactivatedEventNotification, @@ -355,10 +443,26 @@ V1FinancialConnectionsAccountRefreshedTransactionsEvent as V1FinancialConnectionsAccountRefreshedTransactionsEvent, V1FinancialConnectionsAccountRefreshedTransactionsEventNotification as V1FinancialConnectionsAccountRefreshedTransactionsEventNotification, ) + from stripe.events._v1_financial_connections_account_risk_intelligence_refresh_failed_event import ( + V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEvent as V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEvent, + V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEventNotification as V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_risk_intelligence_refresh_succeeded_event import ( + V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEvent as V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEvent, + V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEventNotification as V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_supported_payment_method_types_updated_event import ( V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEvent as V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEvent, V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEventNotification as V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEventNotification, ) + from stripe.events._v1_financial_connections_account_transactions_refresh_failed_event import ( + V1FinancialConnectionsAccountTransactionsRefreshFailedEvent as V1FinancialConnectionsAccountTransactionsRefreshFailedEvent, + V1FinancialConnectionsAccountTransactionsRefreshFailedEventNotification as V1FinancialConnectionsAccountTransactionsRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_transactions_refresh_succeeded_event import ( + V1FinancialConnectionsAccountTransactionsRefreshSucceededEvent as V1FinancialConnectionsAccountTransactionsRefreshSucceededEvent, + V1FinancialConnectionsAccountTransactionsRefreshSucceededEventNotification as V1FinancialConnectionsAccountTransactionsRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_upcoming_account_number_expiry_event import ( V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEvent as V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEvent, V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEventNotification as V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEventNotification, @@ -399,6 +503,14 @@ V1InvoiceDeletedEvent as V1InvoiceDeletedEvent, V1InvoiceDeletedEventNotification as V1InvoiceDeletedEventNotification, ) + from stripe.events._v1_invoice_discount_added_event import ( + V1InvoiceDiscountAddedEvent as V1InvoiceDiscountAddedEvent, + V1InvoiceDiscountAddedEventNotification as V1InvoiceDiscountAddedEventNotification, + ) + from stripe.events._v1_invoice_discount_removed_event import ( + V1InvoiceDiscountRemovedEvent as V1InvoiceDiscountRemovedEvent, + V1InvoiceDiscountRemovedEventNotification as V1InvoiceDiscountRemovedEventNotification, + ) from stripe.events._v1_invoice_finalization_failed_event import ( V1InvoiceFinalizationFailedEvent as V1InvoiceFinalizationFailedEvent, V1InvoiceFinalizationFailedEventNotification as V1InvoiceFinalizationFailedEventNotification, @@ -407,6 +519,22 @@ V1InvoiceFinalizedEvent as V1InvoiceFinalizedEvent, V1InvoiceFinalizedEventNotification as V1InvoiceFinalizedEventNotification, ) + from stripe.events._v1_invoice_line_item_added_event import ( + V1InvoiceLineItemAddedEvent as V1InvoiceLineItemAddedEvent, + V1InvoiceLineItemAddedEventNotification as V1InvoiceLineItemAddedEventNotification, + ) + from stripe.events._v1_invoice_line_item_pricing_changed_event import ( + V1InvoiceLineItemPricingChangedEvent as V1InvoiceLineItemPricingChangedEvent, + V1InvoiceLineItemPricingChangedEventNotification as V1InvoiceLineItemPricingChangedEventNotification, + ) + from stripe.events._v1_invoice_line_item_quantity_changed_event import ( + V1InvoiceLineItemQuantityChangedEvent as V1InvoiceLineItemQuantityChangedEvent, + V1InvoiceLineItemQuantityChangedEventNotification as V1InvoiceLineItemQuantityChangedEventNotification, + ) + from stripe.events._v1_invoice_line_item_removed_event import ( + V1InvoiceLineItemRemovedEvent as V1InvoiceLineItemRemovedEvent, + V1InvoiceLineItemRemovedEventNotification as V1InvoiceLineItemRemovedEventNotification, + ) from stripe.events._v1_invoice_marked_uncollectible_event import ( V1InvoiceMarkedUncollectibleEvent as V1InvoiceMarkedUncollectibleEvent, V1InvoiceMarkedUncollectibleEventNotification as V1InvoiceMarkedUncollectibleEventNotification, @@ -431,10 +559,18 @@ V1InvoicePaymentAttemptRequiredEvent as V1InvoicePaymentAttemptRequiredEvent, V1InvoicePaymentAttemptRequiredEventNotification as V1InvoicePaymentAttemptRequiredEventNotification, ) + from stripe.events._v1_invoice_payment_canceled_event import ( + V1InvoicePaymentCanceledEvent as V1InvoicePaymentCanceledEvent, + V1InvoicePaymentCanceledEventNotification as V1InvoicePaymentCanceledEventNotification, + ) from stripe.events._v1_invoice_payment_failed_event import ( V1InvoicePaymentFailedEvent as V1InvoicePaymentFailedEvent, V1InvoicePaymentFailedEventNotification as V1InvoicePaymentFailedEventNotification, ) + from stripe.events._v1_invoice_payment_open_event import ( + V1InvoicePaymentOpenEvent as V1InvoicePaymentOpenEvent, + V1InvoicePaymentOpenEventNotification as V1InvoicePaymentOpenEventNotification, + ) from stripe.events._v1_invoice_payment_paid_event import ( V1InvoicePaymentPaidEvent as V1InvoicePaymentPaidEvent, V1InvoicePaymentPaidEventNotification as V1InvoicePaymentPaidEventNotification, @@ -463,6 +599,10 @@ V1InvoiceWillBeDueEvent as V1InvoiceWillBeDueEvent, V1InvoiceWillBeDueEventNotification as V1InvoiceWillBeDueEventNotification, ) + from stripe.events._v1_invoiceitem_amount_changed_event import ( + V1InvoiceitemAmountChangedEvent as V1InvoiceitemAmountChangedEvent, + V1InvoiceitemAmountChangedEventNotification as V1InvoiceitemAmountChangedEventNotification, + ) from stripe.events._v1_invoiceitem_created_event import ( V1InvoiceitemCreatedEvent as V1InvoiceitemCreatedEvent, V1InvoiceitemCreatedEventNotification as V1InvoiceitemCreatedEventNotification, @@ -471,6 +611,14 @@ V1InvoiceitemDeletedEvent as V1InvoiceitemDeletedEvent, V1InvoiceitemDeletedEventNotification as V1InvoiceitemDeletedEventNotification, ) + from stripe.events._v1_invoiceitem_discount_added_event import ( + V1InvoiceitemDiscountAddedEvent as V1InvoiceitemDiscountAddedEvent, + V1InvoiceitemDiscountAddedEventNotification as V1InvoiceitemDiscountAddedEventNotification, + ) + from stripe.events._v1_invoiceitem_discount_removed_event import ( + V1InvoiceitemDiscountRemovedEvent as V1InvoiceitemDiscountRemovedEvent, + V1InvoiceitemDiscountRemovedEventNotification as V1InvoiceitemDiscountRemovedEventNotification, + ) from stripe.events._v1_issuing_authorization_created_event import ( V1IssuingAuthorizationCreatedEvent as V1IssuingAuthorizationCreatedEvent, V1IssuingAuthorizationCreatedEventNotification as V1IssuingAuthorizationCreatedEventNotification, @@ -667,26 +815,58 @@ V1PlanUpdatedEvent as V1PlanUpdatedEvent, V1PlanUpdatedEventNotification as V1PlanUpdatedEventNotification, ) + from stripe.events._v1_price_activated_event import ( + V1PriceActivatedEvent as V1PriceActivatedEvent, + V1PriceActivatedEventNotification as V1PriceActivatedEventNotification, + ) from stripe.events._v1_price_created_event import ( V1PriceCreatedEvent as V1PriceCreatedEvent, V1PriceCreatedEventNotification as V1PriceCreatedEventNotification, ) + from stripe.events._v1_price_deactivated_event import ( + V1PriceDeactivatedEvent as V1PriceDeactivatedEvent, + V1PriceDeactivatedEventNotification as V1PriceDeactivatedEventNotification, + ) from stripe.events._v1_price_deleted_event import ( V1PriceDeletedEvent as V1PriceDeletedEvent, V1PriceDeletedEventNotification as V1PriceDeletedEventNotification, ) + from stripe.events._v1_price_lookup_key_changed_event import ( + V1PriceLookupKeyChangedEvent as V1PriceLookupKeyChangedEvent, + V1PriceLookupKeyChangedEventNotification as V1PriceLookupKeyChangedEventNotification, + ) + from stripe.events._v1_price_tax_behavior_changed_event import ( + V1PriceTaxBehaviorChangedEvent as V1PriceTaxBehaviorChangedEvent, + V1PriceTaxBehaviorChangedEventNotification as V1PriceTaxBehaviorChangedEventNotification, + ) from stripe.events._v1_price_updated_event import ( V1PriceUpdatedEvent as V1PriceUpdatedEvent, V1PriceUpdatedEventNotification as V1PriceUpdatedEventNotification, ) + from stripe.events._v1_product_activated_event import ( + V1ProductActivatedEvent as V1ProductActivatedEvent, + V1ProductActivatedEventNotification as V1ProductActivatedEventNotification, + ) from stripe.events._v1_product_created_event import ( V1ProductCreatedEvent as V1ProductCreatedEvent, V1ProductCreatedEventNotification as V1ProductCreatedEventNotification, ) + from stripe.events._v1_product_deactivated_event import ( + V1ProductDeactivatedEvent as V1ProductDeactivatedEvent, + V1ProductDeactivatedEventNotification as V1ProductDeactivatedEventNotification, + ) + from stripe.events._v1_product_default_price_changed_event import ( + V1ProductDefaultPriceChangedEvent as V1ProductDefaultPriceChangedEvent, + V1ProductDefaultPriceChangedEventNotification as V1ProductDefaultPriceChangedEventNotification, + ) from stripe.events._v1_product_deleted_event import ( V1ProductDeletedEvent as V1ProductDeletedEvent, V1ProductDeletedEventNotification as V1ProductDeletedEventNotification, ) + from stripe.events._v1_product_tax_code_changed_event import ( + V1ProductTaxCodeChangedEvent as V1ProductTaxCodeChangedEvent, + V1ProductTaxCodeChangedEventNotification as V1ProductTaxCodeChangedEventNotification, + ) from stripe.events._v1_product_updated_event import ( V1ProductUpdatedEvent as V1ProductUpdatedEvent, V1ProductUpdatedEventNotification as V1ProductUpdatedEventNotification, @@ -695,6 +875,10 @@ V1PromotionCodeCreatedEvent as V1PromotionCodeCreatedEvent, V1PromotionCodeCreatedEventNotification as V1PromotionCodeCreatedEventNotification, ) + from stripe.events._v1_promotion_code_fully_redeemed_event import ( + V1PromotionCodeFullyRedeemedEvent as V1PromotionCodeFullyRedeemedEvent, + V1PromotionCodeFullyRedeemedEventNotification as V1PromotionCodeFullyRedeemedEventNotification, + ) from stripe.events._v1_promotion_code_updated_event import ( V1PromotionCodeUpdatedEvent as V1PromotionCodeUpdatedEvent, V1PromotionCodeUpdatedEventNotification as V1PromotionCodeUpdatedEventNotification, @@ -803,6 +987,26 @@ V1SubscriptionScheduleExpiringEvent as V1SubscriptionScheduleExpiringEvent, V1SubscriptionScheduleExpiringEventNotification as V1SubscriptionScheduleExpiringEventNotification, ) + from stripe.events._v1_subscription_schedule_phase_added_event import ( + V1SubscriptionSchedulePhaseAddedEvent as V1SubscriptionSchedulePhaseAddedEvent, + V1SubscriptionSchedulePhaseAddedEventNotification as V1SubscriptionSchedulePhaseAddedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_default_tax_rates_changed_event import ( + V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEvent as V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEvent, + V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEventNotification as V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_end_date_changed_event import ( + V1SubscriptionSchedulePhaseEndDateChangedEvent as V1SubscriptionSchedulePhaseEndDateChangedEvent, + V1SubscriptionSchedulePhaseEndDateChangedEventNotification as V1SubscriptionSchedulePhaseEndDateChangedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_removed_event import ( + V1SubscriptionSchedulePhaseRemovedEvent as V1SubscriptionSchedulePhaseRemovedEvent, + V1SubscriptionSchedulePhaseRemovedEventNotification as V1SubscriptionSchedulePhaseRemovedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_trial_end_changed_event import ( + V1SubscriptionSchedulePhaseTrialEndChangedEvent as V1SubscriptionSchedulePhaseTrialEndChangedEvent, + V1SubscriptionSchedulePhaseTrialEndChangedEventNotification as V1SubscriptionSchedulePhaseTrialEndChangedEventNotification, + ) from stripe.events._v1_subscription_schedule_released_event import ( V1SubscriptionScheduleReleasedEvent as V1SubscriptionScheduleReleasedEvent, V1SubscriptionScheduleReleasedEventNotification as V1SubscriptionScheduleReleasedEventNotification, @@ -1055,6 +1259,38 @@ V2CoreHealthEventGenerationFailureResolvedEvent as V2CoreHealthEventGenerationFailureResolvedEvent, V2CoreHealthEventGenerationFailureResolvedEventNotification as V2CoreHealthEventGenerationFailureResolvedEventNotification, ) + from stripe.events._v2_data_query_run_created_event import ( + V2DataQueryRunCreatedEvent as V2DataQueryRunCreatedEvent, + V2DataQueryRunCreatedEventNotification as V2DataQueryRunCreatedEventNotification, + ) + from stripe.events._v2_data_query_run_failed_event import ( + V2DataQueryRunFailedEvent as V2DataQueryRunFailedEvent, + V2DataQueryRunFailedEventNotification as V2DataQueryRunFailedEventNotification, + ) + from stripe.events._v2_data_query_run_succeeded_event import ( + V2DataQueryRunSucceededEvent as V2DataQueryRunSucceededEvent, + V2DataQueryRunSucceededEventNotification as V2DataQueryRunSucceededEventNotification, + ) + from stripe.events._v2_data_query_run_updated_event import ( + V2DataQueryRunUpdatedEvent as V2DataQueryRunUpdatedEvent, + V2DataQueryRunUpdatedEventNotification as V2DataQueryRunUpdatedEventNotification, + ) + from stripe.events._v2_data_report_run_created_event import ( + V2DataReportRunCreatedEvent as V2DataReportRunCreatedEvent, + V2DataReportRunCreatedEventNotification as V2DataReportRunCreatedEventNotification, + ) + from stripe.events._v2_data_report_run_failed_event import ( + V2DataReportRunFailedEvent as V2DataReportRunFailedEvent, + V2DataReportRunFailedEventNotification as V2DataReportRunFailedEventNotification, + ) + from stripe.events._v2_data_report_run_succeeded_event import ( + V2DataReportRunSucceededEvent as V2DataReportRunSucceededEvent, + V2DataReportRunSucceededEventNotification as V2DataReportRunSucceededEventNotification, + ) + from stripe.events._v2_data_report_run_updated_event import ( + V2DataReportRunUpdatedEvent as V2DataReportRunUpdatedEvent, + V2DataReportRunUpdatedEventNotification as V2DataReportRunUpdatedEventNotification, + ) from stripe.events._v2_data_reporting_query_run_created_event import ( V2DataReportingQueryRunCreatedEvent as V2DataReportingQueryRunCreatedEvent, V2DataReportingQueryRunCreatedEventNotification as V2DataReportingQueryRunCreatedEventNotification, @@ -1183,6 +1419,34 @@ V2MoneyManagementOutboundTransferUpdatedEvent as V2MoneyManagementOutboundTransferUpdatedEvent, V2MoneyManagementOutboundTransferUpdatedEventNotification as V2MoneyManagementOutboundTransferUpdatedEventNotification, ) + from stripe.events._v2_money_management_payout_intent_canceled_event import ( + V2MoneyManagementPayoutIntentCanceledEvent as V2MoneyManagementPayoutIntentCanceledEvent, + V2MoneyManagementPayoutIntentCanceledEventNotification as V2MoneyManagementPayoutIntentCanceledEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_created_event import ( + V2MoneyManagementPayoutIntentCreatedEvent as V2MoneyManagementPayoutIntentCreatedEvent, + V2MoneyManagementPayoutIntentCreatedEventNotification as V2MoneyManagementPayoutIntentCreatedEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_pending_event import ( + V2MoneyManagementPayoutIntentPendingEvent as V2MoneyManagementPayoutIntentPendingEvent, + V2MoneyManagementPayoutIntentPendingEventNotification as V2MoneyManagementPayoutIntentPendingEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_posted_event import ( + V2MoneyManagementPayoutIntentPostedEvent as V2MoneyManagementPayoutIntentPostedEvent, + V2MoneyManagementPayoutIntentPostedEventNotification as V2MoneyManagementPayoutIntentPostedEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_processing_event import ( + V2MoneyManagementPayoutIntentProcessingEvent as V2MoneyManagementPayoutIntentProcessingEvent, + V2MoneyManagementPayoutIntentProcessingEventNotification as V2MoneyManagementPayoutIntentProcessingEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_requires_action_event import ( + V2MoneyManagementPayoutIntentRequiresActionEvent as V2MoneyManagementPayoutIntentRequiresActionEvent, + V2MoneyManagementPayoutIntentRequiresActionEventNotification as V2MoneyManagementPayoutIntentRequiresActionEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_updated_event import ( + V2MoneyManagementPayoutIntentUpdatedEvent as V2MoneyManagementPayoutIntentUpdatedEvent, + V2MoneyManagementPayoutIntentUpdatedEventNotification as V2MoneyManagementPayoutIntentUpdatedEventNotification, + ) from stripe.events._v2_money_management_payout_method_created_event import ( V2MoneyManagementPayoutMethodCreatedEvent as V2MoneyManagementPayoutMethodCreatedEvent, V2MoneyManagementPayoutMethodCreatedEventNotification as V2MoneyManagementPayoutMethodCreatedEventNotification, @@ -1227,6 +1491,14 @@ V2MoneyManagementReceivedDebitUpdatedEvent as V2MoneyManagementReceivedDebitUpdatedEvent, V2MoneyManagementReceivedDebitUpdatedEventNotification as V2MoneyManagementReceivedDebitUpdatedEventNotification, ) + from stripe.events._v2_money_management_recipient_verification_created_event import ( + V2MoneyManagementRecipientVerificationCreatedEvent as V2MoneyManagementRecipientVerificationCreatedEvent, + V2MoneyManagementRecipientVerificationCreatedEventNotification as V2MoneyManagementRecipientVerificationCreatedEventNotification, + ) + from stripe.events._v2_money_management_recipient_verification_updated_event import ( + V2MoneyManagementRecipientVerificationUpdatedEvent as V2MoneyManagementRecipientVerificationUpdatedEvent, + V2MoneyManagementRecipientVerificationUpdatedEventNotification as V2MoneyManagementRecipientVerificationUpdatedEventNotification, + ) from stripe.events._v2_money_management_transaction_created_event import ( V2MoneyManagementTransactionCreatedEvent as V2MoneyManagementTransactionCreatedEvent, V2MoneyManagementTransactionCreatedEventNotification as V2MoneyManagementTransactionCreatedEventNotification, @@ -1734,6 +2006,14 @@ "stripe.events._v1_customer_discount_deleted_event", False, ), + "V1CustomerDiscountSourceChangedEvent": ( + "stripe.events._v1_customer_discount_source_changed_event", + False, + ), + "V1CustomerDiscountSourceChangedEventNotification": ( + "stripe.events._v1_customer_discount_source_changed_event", + False, + ), "V1CustomerDiscountUpdatedEvent": ( "stripe.events._v1_customer_discount_updated_event", False, @@ -1742,6 +2022,22 @@ "stripe.events._v1_customer_discount_updated_event", False, ), + "V1CustomerSubscriptionActiveEvent": ( + "stripe.events._v1_customer_subscription_active_event", + False, + ), + "V1CustomerSubscriptionActiveEventNotification": ( + "stripe.events._v1_customer_subscription_active_event", + False, + ), + "V1CustomerSubscriptionCancelAtChangedEvent": ( + "stripe.events._v1_customer_subscription_cancel_at_changed_event", + False, + ), + "V1CustomerSubscriptionCancelAtChangedEventNotification": ( + "stripe.events._v1_customer_subscription_cancel_at_changed_event", + False, + ), "V1CustomerSubscriptionCreatedEvent": ( "stripe.events._v1_customer_subscription_created_event", False, @@ -1750,6 +2046,14 @@ "stripe.events._v1_customer_subscription_created_event", False, ), + "V1CustomerSubscriptionDefaultPaymentMethodChangedEvent": ( + "stripe.events._v1_customer_subscription_default_payment_method_changed_event", + False, + ), + "V1CustomerSubscriptionDefaultPaymentMethodChangedEventNotification": ( + "stripe.events._v1_customer_subscription_default_payment_method_changed_event", + False, + ), "V1CustomerSubscriptionDeletedEvent": ( "stripe.events._v1_customer_subscription_deleted_event", False, @@ -1758,6 +2062,70 @@ "stripe.events._v1_customer_subscription_deleted_event", False, ), + "V1CustomerSubscriptionIncompleteEvent": ( + "stripe.events._v1_customer_subscription_incomplete_event", + False, + ), + "V1CustomerSubscriptionIncompleteEventNotification": ( + "stripe.events._v1_customer_subscription_incomplete_event", + False, + ), + "V1CustomerSubscriptionIncompleteExpiredEvent": ( + "stripe.events._v1_customer_subscription_incomplete_expired_event", + False, + ), + "V1CustomerSubscriptionIncompleteExpiredEventNotification": ( + "stripe.events._v1_customer_subscription_incomplete_expired_event", + False, + ), + "V1CustomerSubscriptionItemAddedEvent": ( + "stripe.events._v1_customer_subscription_item_added_event", + False, + ), + "V1CustomerSubscriptionItemAddedEventNotification": ( + "stripe.events._v1_customer_subscription_item_added_event", + False, + ), + "V1CustomerSubscriptionItemPriceChangedEvent": ( + "stripe.events._v1_customer_subscription_item_price_changed_event", + False, + ), + "V1CustomerSubscriptionItemPriceChangedEventNotification": ( + "stripe.events._v1_customer_subscription_item_price_changed_event", + False, + ), + "V1CustomerSubscriptionItemQuantityChangedEvent": ( + "stripe.events._v1_customer_subscription_item_quantity_changed_event", + False, + ), + "V1CustomerSubscriptionItemQuantityChangedEventNotification": ( + "stripe.events._v1_customer_subscription_item_quantity_changed_event", + False, + ), + "V1CustomerSubscriptionItemRemovedEvent": ( + "stripe.events._v1_customer_subscription_item_removed_event", + False, + ), + "V1CustomerSubscriptionItemRemovedEventNotification": ( + "stripe.events._v1_customer_subscription_item_removed_event", + False, + ), + "V1CustomerSubscriptionItemTaxRatesChangedEvent": ( + "stripe.events._v1_customer_subscription_item_tax_rates_changed_event", + False, + ), + "V1CustomerSubscriptionItemTaxRatesChangedEventNotification": ( + "stripe.events._v1_customer_subscription_item_tax_rates_changed_event", + False, + ), + "V1CustomerSubscriptionPastDueEvent": ( + "stripe.events._v1_customer_subscription_past_due_event", + False, + ), + "V1CustomerSubscriptionPastDueEventNotification": ( + "stripe.events._v1_customer_subscription_past_due_event", + False, + ), "V1CustomerSubscriptionPausedEvent": ( "stripe.events._v1_customer_subscription_paused_event", False, @@ -1798,6 +2166,22 @@ "stripe.events._v1_customer_subscription_trial_will_end_event", False, ), + "V1CustomerSubscriptionTrialingEvent": ( + "stripe.events._v1_customer_subscription_trialing_event", + False, + ), + "V1CustomerSubscriptionTrialingEventNotification": ( + "stripe.events._v1_customer_subscription_trialing_event", + False, + ), + "V1CustomerSubscriptionUnpaidEvent": ( + "stripe.events._v1_customer_subscription_unpaid_event", + False, + ), + "V1CustomerSubscriptionUnpaidEventNotification": ( + "stripe.events._v1_customer_subscription_unpaid_event", + False, + ), "V1CustomerSubscriptionUpdatedEvent": ( "stripe.events._v1_customer_subscription_updated_event", False, @@ -1838,6 +2222,22 @@ "stripe.events._v1_customer_updated_event", False, ), + "V1EntitlementsActiveEntitlementSummaryEntitlementAddedEvent": ( + "stripe.events._v1_entitlements_active_entitlement_summary_entitlement_added_event", + False, + ), + "V1EntitlementsActiveEntitlementSummaryEntitlementAddedEventNotification": ( + "stripe.events._v1_entitlements_active_entitlement_summary_entitlement_added_event", + False, + ), + "V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEvent": ( + "stripe.events._v1_entitlements_active_entitlement_summary_entitlement_removed_event", + False, + ), + "V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEventNotification": ( + "stripe.events._v1_entitlements_active_entitlement_summary_entitlement_removed_event", + False, + ), "V1EntitlementsActiveEntitlementSummaryUpdatedEvent": ( "stripe.events._v1_entitlements_active_entitlement_summary_updated_event", False, @@ -1859,6 +2259,22 @@ "stripe.events._v1_financial_connections_account_account_numbers_updated_event", False, ), + "V1FinancialConnectionsAccountBalanceRefreshFailedEvent": ( + "stripe.events._v1_financial_connections_account_balance_refresh_failed_event", + False, + ), + "V1FinancialConnectionsAccountBalanceRefreshFailedEventNotification": ( + "stripe.events._v1_financial_connections_account_balance_refresh_failed_event", + False, + ), + "V1FinancialConnectionsAccountBalanceRefreshSucceededEvent": ( + "stripe.events._v1_financial_connections_account_balance_refresh_succeeded_event", + False, + ), + "V1FinancialConnectionsAccountBalanceRefreshSucceededEventNotification": ( + "stripe.events._v1_financial_connections_account_balance_refresh_succeeded_event", + False, + ), "V1FinancialConnectionsAccountCreatedEvent": ( "stripe.events._v1_financial_connections_account_created_event", False, @@ -1891,6 +2307,38 @@ "stripe.events._v1_financial_connections_account_expected_deactivation_date_updated_event", False, ), + "V1FinancialConnectionsAccountInferredBalancesRefreshFailedEvent": ( + "stripe.events._v1_financial_connections_account_inferred_balances_refresh_failed_event", + False, + ), + "V1FinancialConnectionsAccountInferredBalancesRefreshFailedEventNotification": ( + "stripe.events._v1_financial_connections_account_inferred_balances_refresh_failed_event", + False, + ), + "V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEvent": ( + "stripe.events._v1_financial_connections_account_inferred_balances_refresh_succeeded_event", + False, + ), + "V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEventNotification": ( + "stripe.events._v1_financial_connections_account_inferred_balances_refresh_succeeded_event", + False, + ), + "V1FinancialConnectionsAccountOwnershipRefreshFailedEvent": ( + "stripe.events._v1_financial_connections_account_ownership_refresh_failed_event", + False, + ), + "V1FinancialConnectionsAccountOwnershipRefreshFailedEventNotification": ( + "stripe.events._v1_financial_connections_account_ownership_refresh_failed_event", + False, + ), + "V1FinancialConnectionsAccountOwnershipRefreshSucceededEvent": ( + "stripe.events._v1_financial_connections_account_ownership_refresh_succeeded_event", + False, + ), + "V1FinancialConnectionsAccountOwnershipRefreshSucceededEventNotification": ( + "stripe.events._v1_financial_connections_account_ownership_refresh_succeeded_event", + False, + ), "V1FinancialConnectionsAccountReactivatedEvent": ( "stripe.events._v1_financial_connections_account_reactivated_event", False, @@ -1923,6 +2371,22 @@ "stripe.events._v1_financial_connections_account_refreshed_transactions_event", False, ), + "V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEvent": ( + "stripe.events._v1_financial_connections_account_risk_intelligence_refresh_failed_event", + False, + ), + "V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEventNotification": ( + "stripe.events._v1_financial_connections_account_risk_intelligence_refresh_failed_event", + False, + ), + "V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEvent": ( + "stripe.events._v1_financial_connections_account_risk_intelligence_refresh_succeeded_event", + False, + ), + "V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEventNotification": ( + "stripe.events._v1_financial_connections_account_risk_intelligence_refresh_succeeded_event", + False, + ), "V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEvent": ( "stripe.events._v1_financial_connections_account_supported_payment_method_types_updated_event", False, @@ -1931,6 +2395,22 @@ "stripe.events._v1_financial_connections_account_supported_payment_method_types_updated_event", False, ), + "V1FinancialConnectionsAccountTransactionsRefreshFailedEvent": ( + "stripe.events._v1_financial_connections_account_transactions_refresh_failed_event", + False, + ), + "V1FinancialConnectionsAccountTransactionsRefreshFailedEventNotification": ( + "stripe.events._v1_financial_connections_account_transactions_refresh_failed_event", + False, + ), + "V1FinancialConnectionsAccountTransactionsRefreshSucceededEvent": ( + "stripe.events._v1_financial_connections_account_transactions_refresh_succeeded_event", + False, + ), + "V1FinancialConnectionsAccountTransactionsRefreshSucceededEventNotification": ( + "stripe.events._v1_financial_connections_account_transactions_refresh_succeeded_event", + False, + ), "V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEvent": ( "stripe.events._v1_financial_connections_account_upcoming_account_number_expiry_event", False, @@ -2011,6 +2491,22 @@ "stripe.events._v1_invoice_deleted_event", False, ), + "V1InvoiceDiscountAddedEvent": ( + "stripe.events._v1_invoice_discount_added_event", + False, + ), + "V1InvoiceDiscountAddedEventNotification": ( + "stripe.events._v1_invoice_discount_added_event", + False, + ), + "V1InvoiceDiscountRemovedEvent": ( + "stripe.events._v1_invoice_discount_removed_event", + False, + ), + "V1InvoiceDiscountRemovedEventNotification": ( + "stripe.events._v1_invoice_discount_removed_event", + False, + ), "V1InvoiceFinalizationFailedEvent": ( "stripe.events._v1_invoice_finalization_failed_event", False, @@ -2027,6 +2523,38 @@ "stripe.events._v1_invoice_finalized_event", False, ), + "V1InvoiceLineItemAddedEvent": ( + "stripe.events._v1_invoice_line_item_added_event", + False, + ), + "V1InvoiceLineItemAddedEventNotification": ( + "stripe.events._v1_invoice_line_item_added_event", + False, + ), + "V1InvoiceLineItemPricingChangedEvent": ( + "stripe.events._v1_invoice_line_item_pricing_changed_event", + False, + ), + "V1InvoiceLineItemPricingChangedEventNotification": ( + "stripe.events._v1_invoice_line_item_pricing_changed_event", + False, + ), + "V1InvoiceLineItemQuantityChangedEvent": ( + "stripe.events._v1_invoice_line_item_quantity_changed_event", + False, + ), + "V1InvoiceLineItemQuantityChangedEventNotification": ( + "stripe.events._v1_invoice_line_item_quantity_changed_event", + False, + ), + "V1InvoiceLineItemRemovedEvent": ( + "stripe.events._v1_invoice_line_item_removed_event", + False, + ), + "V1InvoiceLineItemRemovedEventNotification": ( + "stripe.events._v1_invoice_line_item_removed_event", + False, + ), "V1InvoiceMarkedUncollectibleEvent": ( "stripe.events._v1_invoice_marked_uncollectible_event", False, @@ -2072,6 +2600,14 @@ "stripe.events._v1_invoice_payment_attempt_required_event", False, ), + "V1InvoicePaymentCanceledEvent": ( + "stripe.events._v1_invoice_payment_canceled_event", + False, + ), + "V1InvoicePaymentCanceledEventNotification": ( + "stripe.events._v1_invoice_payment_canceled_event", + False, + ), "V1InvoicePaymentFailedEvent": ( "stripe.events._v1_invoice_payment_failed_event", False, @@ -2080,6 +2616,14 @@ "stripe.events._v1_invoice_payment_failed_event", False, ), + "V1InvoicePaymentOpenEvent": ( + "stripe.events._v1_invoice_payment_open_event", + False, + ), + "V1InvoicePaymentOpenEventNotification": ( + "stripe.events._v1_invoice_payment_open_event", + False, + ), "V1InvoicePaymentPaidEvent": ( "stripe.events._v1_invoice_payment_paid_event", False, @@ -2130,6 +2674,14 @@ "stripe.events._v1_invoice_will_be_due_event", False, ), + "V1InvoiceitemAmountChangedEvent": ( + "stripe.events._v1_invoiceitem_amount_changed_event", + False, + ), + "V1InvoiceitemAmountChangedEventNotification": ( + "stripe.events._v1_invoiceitem_amount_changed_event", + False, + ), "V1InvoiceitemCreatedEvent": ( "stripe.events._v1_invoiceitem_created_event", False, @@ -2146,6 +2698,22 @@ "stripe.events._v1_invoiceitem_deleted_event", False, ), + "V1InvoiceitemDiscountAddedEvent": ( + "stripe.events._v1_invoiceitem_discount_added_event", + False, + ), + "V1InvoiceitemDiscountAddedEventNotification": ( + "stripe.events._v1_invoiceitem_discount_added_event", + False, + ), + "V1InvoiceitemDiscountRemovedEvent": ( + "stripe.events._v1_invoiceitem_discount_removed_event", + False, + ), + "V1InvoiceitemDiscountRemovedEventNotification": ( + "stripe.events._v1_invoiceitem_discount_removed_event", + False, + ), "V1IssuingAuthorizationCreatedEvent": ( "stripe.events._v1_issuing_authorization_created_event", False, @@ -2508,21 +3076,61 @@ "stripe.events._v1_plan_updated_event", False, ), + "V1PriceActivatedEvent": ( + "stripe.events._v1_price_activated_event", + False, + ), + "V1PriceActivatedEventNotification": ( + "stripe.events._v1_price_activated_event", + False, + ), "V1PriceCreatedEvent": ("stripe.events._v1_price_created_event", False), "V1PriceCreatedEventNotification": ( "stripe.events._v1_price_created_event", False, ), + "V1PriceDeactivatedEvent": ( + "stripe.events._v1_price_deactivated_event", + False, + ), + "V1PriceDeactivatedEventNotification": ( + "stripe.events._v1_price_deactivated_event", + False, + ), "V1PriceDeletedEvent": ("stripe.events._v1_price_deleted_event", False), "V1PriceDeletedEventNotification": ( "stripe.events._v1_price_deleted_event", False, ), + "V1PriceLookupKeyChangedEvent": ( + "stripe.events._v1_price_lookup_key_changed_event", + False, + ), + "V1PriceLookupKeyChangedEventNotification": ( + "stripe.events._v1_price_lookup_key_changed_event", + False, + ), + "V1PriceTaxBehaviorChangedEvent": ( + "stripe.events._v1_price_tax_behavior_changed_event", + False, + ), + "V1PriceTaxBehaviorChangedEventNotification": ( + "stripe.events._v1_price_tax_behavior_changed_event", + False, + ), "V1PriceUpdatedEvent": ("stripe.events._v1_price_updated_event", False), "V1PriceUpdatedEventNotification": ( "stripe.events._v1_price_updated_event", False, ), + "V1ProductActivatedEvent": ( + "stripe.events._v1_product_activated_event", + False, + ), + "V1ProductActivatedEventNotification": ( + "stripe.events._v1_product_activated_event", + False, + ), "V1ProductCreatedEvent": ( "stripe.events._v1_product_created_event", False, @@ -2531,6 +3139,22 @@ "stripe.events._v1_product_created_event", False, ), + "V1ProductDeactivatedEvent": ( + "stripe.events._v1_product_deactivated_event", + False, + ), + "V1ProductDeactivatedEventNotification": ( + "stripe.events._v1_product_deactivated_event", + False, + ), + "V1ProductDefaultPriceChangedEvent": ( + "stripe.events._v1_product_default_price_changed_event", + False, + ), + "V1ProductDefaultPriceChangedEventNotification": ( + "stripe.events._v1_product_default_price_changed_event", + False, + ), "V1ProductDeletedEvent": ( "stripe.events._v1_product_deleted_event", False, @@ -2539,6 +3163,14 @@ "stripe.events._v1_product_deleted_event", False, ), + "V1ProductTaxCodeChangedEvent": ( + "stripe.events._v1_product_tax_code_changed_event", + False, + ), + "V1ProductTaxCodeChangedEventNotification": ( + "stripe.events._v1_product_tax_code_changed_event", + False, + ), "V1ProductUpdatedEvent": ( "stripe.events._v1_product_updated_event", False, @@ -2555,6 +3187,14 @@ "stripe.events._v1_promotion_code_created_event", False, ), + "V1PromotionCodeFullyRedeemedEvent": ( + "stripe.events._v1_promotion_code_fully_redeemed_event", + False, + ), + "V1PromotionCodeFullyRedeemedEventNotification": ( + "stripe.events._v1_promotion_code_fully_redeemed_event", + False, + ), "V1PromotionCodeUpdatedEvent": ( "stripe.events._v1_promotion_code_updated_event", False, @@ -2744,6 +3384,46 @@ "stripe.events._v1_subscription_schedule_expiring_event", False, ), + "V1SubscriptionSchedulePhaseAddedEvent": ( + "stripe.events._v1_subscription_schedule_phase_added_event", + False, + ), + "V1SubscriptionSchedulePhaseAddedEventNotification": ( + "stripe.events._v1_subscription_schedule_phase_added_event", + False, + ), + "V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEvent": ( + "stripe.events._v1_subscription_schedule_phase_default_tax_rates_changed_event", + False, + ), + "V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEventNotification": ( + "stripe.events._v1_subscription_schedule_phase_default_tax_rates_changed_event", + False, + ), + "V1SubscriptionSchedulePhaseEndDateChangedEvent": ( + "stripe.events._v1_subscription_schedule_phase_end_date_changed_event", + False, + ), + "V1SubscriptionSchedulePhaseEndDateChangedEventNotification": ( + "stripe.events._v1_subscription_schedule_phase_end_date_changed_event", + False, + ), + "V1SubscriptionSchedulePhaseRemovedEvent": ( + "stripe.events._v1_subscription_schedule_phase_removed_event", + False, + ), + "V1SubscriptionSchedulePhaseRemovedEventNotification": ( + "stripe.events._v1_subscription_schedule_phase_removed_event", + False, + ), + "V1SubscriptionSchedulePhaseTrialEndChangedEvent": ( + "stripe.events._v1_subscription_schedule_phase_trial_end_changed_event", + False, + ), + "V1SubscriptionSchedulePhaseTrialEndChangedEventNotification": ( + "stripe.events._v1_subscription_schedule_phase_trial_end_changed_event", + False, + ), "V1SubscriptionScheduleReleasedEvent": ( "stripe.events._v1_subscription_schedule_released_event", False, @@ -3236,6 +3916,70 @@ "stripe.events._v2_core_health_event_generation_failure_resolved_event", False, ), + "V2DataQueryRunCreatedEvent": ( + "stripe.events._v2_data_query_run_created_event", + False, + ), + "V2DataQueryRunCreatedEventNotification": ( + "stripe.events._v2_data_query_run_created_event", + False, + ), + "V2DataQueryRunFailedEvent": ( + "stripe.events._v2_data_query_run_failed_event", + False, + ), + "V2DataQueryRunFailedEventNotification": ( + "stripe.events._v2_data_query_run_failed_event", + False, + ), + "V2DataQueryRunSucceededEvent": ( + "stripe.events._v2_data_query_run_succeeded_event", + False, + ), + "V2DataQueryRunSucceededEventNotification": ( + "stripe.events._v2_data_query_run_succeeded_event", + False, + ), + "V2DataQueryRunUpdatedEvent": ( + "stripe.events._v2_data_query_run_updated_event", + False, + ), + "V2DataQueryRunUpdatedEventNotification": ( + "stripe.events._v2_data_query_run_updated_event", + False, + ), + "V2DataReportRunCreatedEvent": ( + "stripe.events._v2_data_report_run_created_event", + False, + ), + "V2DataReportRunCreatedEventNotification": ( + "stripe.events._v2_data_report_run_created_event", + False, + ), + "V2DataReportRunFailedEvent": ( + "stripe.events._v2_data_report_run_failed_event", + False, + ), + "V2DataReportRunFailedEventNotification": ( + "stripe.events._v2_data_report_run_failed_event", + False, + ), + "V2DataReportRunSucceededEvent": ( + "stripe.events._v2_data_report_run_succeeded_event", + False, + ), + "V2DataReportRunSucceededEventNotification": ( + "stripe.events._v2_data_report_run_succeeded_event", + False, + ), + "V2DataReportRunUpdatedEvent": ( + "stripe.events._v2_data_report_run_updated_event", + False, + ), + "V2DataReportRunUpdatedEventNotification": ( + "stripe.events._v2_data_report_run_updated_event", + False, + ), "V2DataReportingQueryRunCreatedEvent": ( "stripe.events._v2_data_reporting_query_run_created_event", False, @@ -3492,6 +4236,62 @@ "stripe.events._v2_money_management_outbound_transfer_updated_event", False, ), + "V2MoneyManagementPayoutIntentCanceledEvent": ( + "stripe.events._v2_money_management_payout_intent_canceled_event", + False, + ), + "V2MoneyManagementPayoutIntentCanceledEventNotification": ( + "stripe.events._v2_money_management_payout_intent_canceled_event", + False, + ), + "V2MoneyManagementPayoutIntentCreatedEvent": ( + "stripe.events._v2_money_management_payout_intent_created_event", + False, + ), + "V2MoneyManagementPayoutIntentCreatedEventNotification": ( + "stripe.events._v2_money_management_payout_intent_created_event", + False, + ), + "V2MoneyManagementPayoutIntentPendingEvent": ( + "stripe.events._v2_money_management_payout_intent_pending_event", + False, + ), + "V2MoneyManagementPayoutIntentPendingEventNotification": ( + "stripe.events._v2_money_management_payout_intent_pending_event", + False, + ), + "V2MoneyManagementPayoutIntentPostedEvent": ( + "stripe.events._v2_money_management_payout_intent_posted_event", + False, + ), + "V2MoneyManagementPayoutIntentPostedEventNotification": ( + "stripe.events._v2_money_management_payout_intent_posted_event", + False, + ), + "V2MoneyManagementPayoutIntentProcessingEvent": ( + "stripe.events._v2_money_management_payout_intent_processing_event", + False, + ), + "V2MoneyManagementPayoutIntentProcessingEventNotification": ( + "stripe.events._v2_money_management_payout_intent_processing_event", + False, + ), + "V2MoneyManagementPayoutIntentRequiresActionEvent": ( + "stripe.events._v2_money_management_payout_intent_requires_action_event", + False, + ), + "V2MoneyManagementPayoutIntentRequiresActionEventNotification": ( + "stripe.events._v2_money_management_payout_intent_requires_action_event", + False, + ), + "V2MoneyManagementPayoutIntentUpdatedEvent": ( + "stripe.events._v2_money_management_payout_intent_updated_event", + False, + ), + "V2MoneyManagementPayoutIntentUpdatedEventNotification": ( + "stripe.events._v2_money_management_payout_intent_updated_event", + False, + ), "V2MoneyManagementPayoutMethodCreatedEvent": ( "stripe.events._v2_money_management_payout_method_created_event", False, @@ -3580,6 +4380,22 @@ "stripe.events._v2_money_management_received_debit_updated_event", False, ), + "V2MoneyManagementRecipientVerificationCreatedEvent": ( + "stripe.events._v2_money_management_recipient_verification_created_event", + False, + ), + "V2MoneyManagementRecipientVerificationCreatedEventNotification": ( + "stripe.events._v2_money_management_recipient_verification_created_event", + False, + ), + "V2MoneyManagementRecipientVerificationUpdatedEvent": ( + "stripe.events._v2_money_management_recipient_verification_updated_event", + False, + ), + "V2MoneyManagementRecipientVerificationUpdatedEventNotification": ( + "stripe.events._v2_money_management_recipient_verification_updated_event", + False, + ), "V2MoneyManagementTransactionCreatedEvent": ( "stripe.events._v2_money_management_transaction_created_event", False, diff --git a/stripe/events/_event_classes.py b/stripe/events/_event_classes.py index cc56c51a1..7262b0b16 100644 --- a/stripe/events/_event_classes.py +++ b/stripe/events/_event_classes.py @@ -190,15 +190,51 @@ from stripe.events._v1_customer_discount_deleted_event import ( V1CustomerDiscountDeletedEventNotification, ) + from stripe.events._v1_customer_discount_source_changed_event import ( + V1CustomerDiscountSourceChangedEventNotification, + ) from stripe.events._v1_customer_discount_updated_event import ( V1CustomerDiscountUpdatedEventNotification, ) + from stripe.events._v1_customer_subscription_active_event import ( + V1CustomerSubscriptionActiveEventNotification, + ) + from stripe.events._v1_customer_subscription_cancel_at_changed_event import ( + V1CustomerSubscriptionCancelAtChangedEventNotification, + ) from stripe.events._v1_customer_subscription_created_event import ( V1CustomerSubscriptionCreatedEventNotification, ) + from stripe.events._v1_customer_subscription_default_payment_method_changed_event import ( + V1CustomerSubscriptionDefaultPaymentMethodChangedEventNotification, + ) from stripe.events._v1_customer_subscription_deleted_event import ( V1CustomerSubscriptionDeletedEventNotification, ) + from stripe.events._v1_customer_subscription_incomplete_event import ( + V1CustomerSubscriptionIncompleteEventNotification, + ) + from stripe.events._v1_customer_subscription_incomplete_expired_event import ( + V1CustomerSubscriptionIncompleteExpiredEventNotification, + ) + from stripe.events._v1_customer_subscription_item_added_event import ( + V1CustomerSubscriptionItemAddedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_price_changed_event import ( + V1CustomerSubscriptionItemPriceChangedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_quantity_changed_event import ( + V1CustomerSubscriptionItemQuantityChangedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_removed_event import ( + V1CustomerSubscriptionItemRemovedEventNotification, + ) + from stripe.events._v1_customer_subscription_item_tax_rates_changed_event import ( + V1CustomerSubscriptionItemTaxRatesChangedEventNotification, + ) + from stripe.events._v1_customer_subscription_past_due_event import ( + V1CustomerSubscriptionPastDueEventNotification, + ) from stripe.events._v1_customer_subscription_paused_event import ( V1CustomerSubscriptionPausedEventNotification, ) @@ -211,9 +247,15 @@ from stripe.events._v1_customer_subscription_resumed_event import ( V1CustomerSubscriptionResumedEventNotification, ) + from stripe.events._v1_customer_subscription_trialing_event import ( + V1CustomerSubscriptionTrialingEventNotification, + ) from stripe.events._v1_customer_subscription_trial_will_end_event import ( V1CustomerSubscriptionTrialWillEndEventNotification, ) + from stripe.events._v1_customer_subscription_unpaid_event import ( + V1CustomerSubscriptionUnpaidEventNotification, + ) from stripe.events._v1_customer_subscription_updated_event import ( V1CustomerSubscriptionUpdatedEventNotification, ) @@ -229,6 +271,12 @@ from stripe.events._v1_customer_updated_event import ( V1CustomerUpdatedEventNotification, ) + from stripe.events._v1_entitlements_active_entitlement_summary_entitlement_added_event import ( + V1EntitlementsActiveEntitlementSummaryEntitlementAddedEventNotification, + ) + from stripe.events._v1_entitlements_active_entitlement_summary_entitlement_removed_event import ( + V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEventNotification, + ) from stripe.events._v1_entitlements_active_entitlement_summary_updated_event import ( V1EntitlementsActiveEntitlementSummaryUpdatedEventNotification, ) @@ -238,6 +286,12 @@ from stripe.events._v1_financial_connections_account_account_numbers_updated_event import ( V1FinancialConnectionsAccountAccountNumbersUpdatedEventNotification, ) + from stripe.events._v1_financial_connections_account_balance_refresh_failed_event import ( + V1FinancialConnectionsAccountBalanceRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_balance_refresh_succeeded_event import ( + V1FinancialConnectionsAccountBalanceRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_created_event import ( V1FinancialConnectionsAccountCreatedEventNotification, ) @@ -250,6 +304,18 @@ from stripe.events._v1_financial_connections_account_expected_deactivation_date_updated_event import ( V1FinancialConnectionsAccountExpectedDeactivationDateUpdatedEventNotification, ) + from stripe.events._v1_financial_connections_account_inferred_balances_refresh_failed_event import ( + V1FinancialConnectionsAccountInferredBalancesRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_inferred_balances_refresh_succeeded_event import ( + V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEventNotification, + ) + from stripe.events._v1_financial_connections_account_ownership_refresh_failed_event import ( + V1FinancialConnectionsAccountOwnershipRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_ownership_refresh_succeeded_event import ( + V1FinancialConnectionsAccountOwnershipRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_reactivated_event import ( V1FinancialConnectionsAccountReactivatedEventNotification, ) @@ -262,9 +328,21 @@ from stripe.events._v1_financial_connections_account_refreshed_transactions_event import ( V1FinancialConnectionsAccountRefreshedTransactionsEventNotification, ) + from stripe.events._v1_financial_connections_account_risk_intelligence_refresh_failed_event import ( + V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_risk_intelligence_refresh_succeeded_event import ( + V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_supported_payment_method_types_updated_event import ( V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEventNotification, ) + from stripe.events._v1_financial_connections_account_transactions_refresh_failed_event import ( + V1FinancialConnectionsAccountTransactionsRefreshFailedEventNotification, + ) + from stripe.events._v1_financial_connections_account_transactions_refresh_succeeded_event import ( + V1FinancialConnectionsAccountTransactionsRefreshSucceededEventNotification, + ) from stripe.events._v1_financial_connections_account_upcoming_account_number_expiry_event import ( V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEventNotification, ) @@ -295,18 +373,45 @@ from stripe.events._v1_invoice_deleted_event import ( V1InvoiceDeletedEventNotification, ) + from stripe.events._v1_invoice_discount_added_event import ( + V1InvoiceDiscountAddedEventNotification, + ) + from stripe.events._v1_invoice_discount_removed_event import ( + V1InvoiceDiscountRemovedEventNotification, + ) from stripe.events._v1_invoice_finalization_failed_event import ( V1InvoiceFinalizationFailedEventNotification, ) from stripe.events._v1_invoice_finalized_event import ( V1InvoiceFinalizedEventNotification, ) + from stripe.events._v1_invoiceitem_amount_changed_event import ( + V1InvoiceitemAmountChangedEventNotification, + ) from stripe.events._v1_invoiceitem_created_event import ( V1InvoiceitemCreatedEventNotification, ) from stripe.events._v1_invoiceitem_deleted_event import ( V1InvoiceitemDeletedEventNotification, ) + from stripe.events._v1_invoiceitem_discount_added_event import ( + V1InvoiceitemDiscountAddedEventNotification, + ) + from stripe.events._v1_invoiceitem_discount_removed_event import ( + V1InvoiceitemDiscountRemovedEventNotification, + ) + from stripe.events._v1_invoice_line_item_added_event import ( + V1InvoiceLineItemAddedEventNotification, + ) + from stripe.events._v1_invoice_line_item_pricing_changed_event import ( + V1InvoiceLineItemPricingChangedEventNotification, + ) + from stripe.events._v1_invoice_line_item_quantity_changed_event import ( + V1InvoiceLineItemQuantityChangedEventNotification, + ) + from stripe.events._v1_invoice_line_item_removed_event import ( + V1InvoiceLineItemRemovedEventNotification, + ) from stripe.events._v1_invoice_marked_uncollectible_event import ( V1InvoiceMarkedUncollectibleEventNotification, ) @@ -325,9 +430,15 @@ from stripe.events._v1_invoice_payment_attempt_required_event import ( V1InvoicePaymentAttemptRequiredEventNotification, ) + from stripe.events._v1_invoice_payment_canceled_event import ( + V1InvoicePaymentCanceledEventNotification, + ) from stripe.events._v1_invoice_payment_failed_event import ( V1InvoicePaymentFailedEventNotification, ) + from stripe.events._v1_invoice_payment_open_event import ( + V1InvoicePaymentOpenEventNotification, + ) from stripe.events._v1_invoice_payment_paid_event import ( V1InvoicePaymentPaidEventNotification, ) @@ -496,27 +607,54 @@ from stripe.events._v1_plan_updated_event import ( V1PlanUpdatedEventNotification, ) + from stripe.events._v1_price_activated_event import ( + V1PriceActivatedEventNotification, + ) from stripe.events._v1_price_created_event import ( V1PriceCreatedEventNotification, ) + from stripe.events._v1_price_deactivated_event import ( + V1PriceDeactivatedEventNotification, + ) from stripe.events._v1_price_deleted_event import ( V1PriceDeletedEventNotification, ) + from stripe.events._v1_price_lookup_key_changed_event import ( + V1PriceLookupKeyChangedEventNotification, + ) + from stripe.events._v1_price_tax_behavior_changed_event import ( + V1PriceTaxBehaviorChangedEventNotification, + ) from stripe.events._v1_price_updated_event import ( V1PriceUpdatedEventNotification, ) + from stripe.events._v1_product_activated_event import ( + V1ProductActivatedEventNotification, + ) from stripe.events._v1_product_created_event import ( V1ProductCreatedEventNotification, ) + from stripe.events._v1_product_deactivated_event import ( + V1ProductDeactivatedEventNotification, + ) + from stripe.events._v1_product_default_price_changed_event import ( + V1ProductDefaultPriceChangedEventNotification, + ) from stripe.events._v1_product_deleted_event import ( V1ProductDeletedEventNotification, ) + from stripe.events._v1_product_tax_code_changed_event import ( + V1ProductTaxCodeChangedEventNotification, + ) from stripe.events._v1_product_updated_event import ( V1ProductUpdatedEventNotification, ) from stripe.events._v1_promotion_code_created_event import ( V1PromotionCodeCreatedEventNotification, ) + from stripe.events._v1_promotion_code_fully_redeemed_event import ( + V1PromotionCodeFullyRedeemedEventNotification, + ) from stripe.events._v1_promotion_code_updated_event import ( V1PromotionCodeUpdatedEventNotification, ) @@ -598,6 +736,21 @@ from stripe.events._v1_subscription_schedule_expiring_event import ( V1SubscriptionScheduleExpiringEventNotification, ) + from stripe.events._v1_subscription_schedule_phase_added_event import ( + V1SubscriptionSchedulePhaseAddedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_default_tax_rates_changed_event import ( + V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_end_date_changed_event import ( + V1SubscriptionSchedulePhaseEndDateChangedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_removed_event import ( + V1SubscriptionSchedulePhaseRemovedEventNotification, + ) + from stripe.events._v1_subscription_schedule_phase_trial_end_changed_event import ( + V1SubscriptionSchedulePhaseTrialEndChangedEventNotification, + ) from stripe.events._v1_subscription_schedule_released_event import ( V1SubscriptionScheduleReleasedEventNotification, ) @@ -787,6 +940,18 @@ from stripe.events._v2_core_health_event_generation_failure_resolved_event import ( V2CoreHealthEventGenerationFailureResolvedEventNotification, ) + from stripe.events._v2_data_query_run_created_event import ( + V2DataQueryRunCreatedEventNotification, + ) + from stripe.events._v2_data_query_run_failed_event import ( + V2DataQueryRunFailedEventNotification, + ) + from stripe.events._v2_data_query_run_succeeded_event import ( + V2DataQueryRunSucceededEventNotification, + ) + from stripe.events._v2_data_query_run_updated_event import ( + V2DataQueryRunUpdatedEventNotification, + ) from stripe.events._v2_data_reporting_query_run_created_event import ( V2DataReportingQueryRunCreatedEventNotification, ) @@ -799,6 +964,18 @@ from stripe.events._v2_data_reporting_query_run_updated_event import ( V2DataReportingQueryRunUpdatedEventNotification, ) + from stripe.events._v2_data_report_run_created_event import ( + V2DataReportRunCreatedEventNotification, + ) + from stripe.events._v2_data_report_run_failed_event import ( + V2DataReportRunFailedEventNotification, + ) + from stripe.events._v2_data_report_run_succeeded_event import ( + V2DataReportRunSucceededEventNotification, + ) + from stripe.events._v2_data_report_run_updated_event import ( + V2DataReportRunUpdatedEventNotification, + ) from stripe.events._v2_extend_workflow_run_failed_event import ( V2ExtendWorkflowRunFailedEventNotification, ) @@ -883,6 +1060,27 @@ from stripe.events._v2_money_management_outbound_transfer_updated_event import ( V2MoneyManagementOutboundTransferUpdatedEventNotification, ) + from stripe.events._v2_money_management_payout_intent_canceled_event import ( + V2MoneyManagementPayoutIntentCanceledEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_created_event import ( + V2MoneyManagementPayoutIntentCreatedEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_pending_event import ( + V2MoneyManagementPayoutIntentPendingEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_posted_event import ( + V2MoneyManagementPayoutIntentPostedEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_processing_event import ( + V2MoneyManagementPayoutIntentProcessingEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_requires_action_event import ( + V2MoneyManagementPayoutIntentRequiresActionEventNotification, + ) + from stripe.events._v2_money_management_payout_intent_updated_event import ( + V2MoneyManagementPayoutIntentUpdatedEventNotification, + ) from stripe.events._v2_money_management_payout_method_created_event import ( V2MoneyManagementPayoutMethodCreatedEventNotification, ) @@ -916,6 +1114,12 @@ from stripe.events._v2_money_management_received_debit_updated_event import ( V2MoneyManagementReceivedDebitUpdatedEventNotification, ) + from stripe.events._v2_money_management_recipient_verification_created_event import ( + V2MoneyManagementRecipientVerificationCreatedEventNotification, + ) + from stripe.events._v2_money_management_recipient_verification_updated_event import ( + V2MoneyManagementRecipientVerificationUpdatedEventNotification, + ) from stripe.events._v2_money_management_transaction_created_event import ( V2MoneyManagementTransactionCreatedEventNotification, ) @@ -1190,18 +1394,66 @@ "stripe.events._v1_customer_discount_deleted_event", "V1CustomerDiscountDeletedEvent", ), + "v1.customer.discount.source_changed": ( + "stripe.events._v1_customer_discount_source_changed_event", + "V1CustomerDiscountSourceChangedEvent", + ), "v1.customer.discount.updated": ( "stripe.events._v1_customer_discount_updated_event", "V1CustomerDiscountUpdatedEvent", ), + "v1.customer.subscription.active": ( + "stripe.events._v1_customer_subscription_active_event", + "V1CustomerSubscriptionActiveEvent", + ), + "v1.customer.subscription.cancel_at_changed": ( + "stripe.events._v1_customer_subscription_cancel_at_changed_event", + "V1CustomerSubscriptionCancelAtChangedEvent", + ), "v1.customer.subscription.created": ( "stripe.events._v1_customer_subscription_created_event", "V1CustomerSubscriptionCreatedEvent", ), + "v1.customer.subscription.default_payment_method_changed": ( + "stripe.events._v1_customer_subscription_default_payment_method_changed_event", + "V1CustomerSubscriptionDefaultPaymentMethodChangedEvent", + ), "v1.customer.subscription.deleted": ( "stripe.events._v1_customer_subscription_deleted_event", "V1CustomerSubscriptionDeletedEvent", ), + "v1.customer.subscription.incomplete": ( + "stripe.events._v1_customer_subscription_incomplete_event", + "V1CustomerSubscriptionIncompleteEvent", + ), + "v1.customer.subscription.incomplete_expired": ( + "stripe.events._v1_customer_subscription_incomplete_expired_event", + "V1CustomerSubscriptionIncompleteExpiredEvent", + ), + "v1.customer.subscription.item_added": ( + "stripe.events._v1_customer_subscription_item_added_event", + "V1CustomerSubscriptionItemAddedEvent", + ), + "v1.customer.subscription.item_price_changed": ( + "stripe.events._v1_customer_subscription_item_price_changed_event", + "V1CustomerSubscriptionItemPriceChangedEvent", + ), + "v1.customer.subscription.item_quantity_changed": ( + "stripe.events._v1_customer_subscription_item_quantity_changed_event", + "V1CustomerSubscriptionItemQuantityChangedEvent", + ), + "v1.customer.subscription.item_removed": ( + "stripe.events._v1_customer_subscription_item_removed_event", + "V1CustomerSubscriptionItemRemovedEvent", + ), + "v1.customer.subscription.item_tax_rates_changed": ( + "stripe.events._v1_customer_subscription_item_tax_rates_changed_event", + "V1CustomerSubscriptionItemTaxRatesChangedEvent", + ), + "v1.customer.subscription.past_due": ( + "stripe.events._v1_customer_subscription_past_due_event", + "V1CustomerSubscriptionPastDueEvent", + ), "v1.customer.subscription.paused": ( "stripe.events._v1_customer_subscription_paused_event", "V1CustomerSubscriptionPausedEvent", @@ -1218,10 +1470,18 @@ "stripe.events._v1_customer_subscription_resumed_event", "V1CustomerSubscriptionResumedEvent", ), + "v1.customer.subscription.trialing": ( + "stripe.events._v1_customer_subscription_trialing_event", + "V1CustomerSubscriptionTrialingEvent", + ), "v1.customer.subscription.trial_will_end": ( "stripe.events._v1_customer_subscription_trial_will_end_event", "V1CustomerSubscriptionTrialWillEndEvent", ), + "v1.customer.subscription.unpaid": ( + "stripe.events._v1_customer_subscription_unpaid_event", + "V1CustomerSubscriptionUnpaidEvent", + ), "v1.customer.subscription.updated": ( "stripe.events._v1_customer_subscription_updated_event", "V1CustomerSubscriptionUpdatedEvent", @@ -1242,6 +1502,14 @@ "stripe.events._v1_customer_updated_event", "V1CustomerUpdatedEvent", ), + "v1.entitlements.active_entitlement_summary.entitlement_added": ( + "stripe.events._v1_entitlements_active_entitlement_summary_entitlement_added_event", + "V1EntitlementsActiveEntitlementSummaryEntitlementAddedEvent", + ), + "v1.entitlements.active_entitlement_summary.entitlement_removed": ( + "stripe.events._v1_entitlements_active_entitlement_summary_entitlement_removed_event", + "V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEvent", + ), "v1.entitlements.active_entitlement_summary.updated": ( "stripe.events._v1_entitlements_active_entitlement_summary_updated_event", "V1EntitlementsActiveEntitlementSummaryUpdatedEvent", @@ -1254,6 +1522,14 @@ "stripe.events._v1_financial_connections_account_account_numbers_updated_event", "V1FinancialConnectionsAccountAccountNumbersUpdatedEvent", ), + "v1.financial_connections.account.balance_refresh_failed": ( + "stripe.events._v1_financial_connections_account_balance_refresh_failed_event", + "V1FinancialConnectionsAccountBalanceRefreshFailedEvent", + ), + "v1.financial_connections.account.balance_refresh_succeeded": ( + "stripe.events._v1_financial_connections_account_balance_refresh_succeeded_event", + "V1FinancialConnectionsAccountBalanceRefreshSucceededEvent", + ), "v1.financial_connections.account.created": ( "stripe.events._v1_financial_connections_account_created_event", "V1FinancialConnectionsAccountCreatedEvent", @@ -1270,6 +1546,22 @@ "stripe.events._v1_financial_connections_account_expected_deactivation_date_updated_event", "V1FinancialConnectionsAccountExpectedDeactivationDateUpdatedEvent", ), + "v1.financial_connections.account.inferred_balances_refresh_failed": ( + "stripe.events._v1_financial_connections_account_inferred_balances_refresh_failed_event", + "V1FinancialConnectionsAccountInferredBalancesRefreshFailedEvent", + ), + "v1.financial_connections.account.inferred_balances_refresh_succeeded": ( + "stripe.events._v1_financial_connections_account_inferred_balances_refresh_succeeded_event", + "V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEvent", + ), + "v1.financial_connections.account.ownership_refresh_failed": ( + "stripe.events._v1_financial_connections_account_ownership_refresh_failed_event", + "V1FinancialConnectionsAccountOwnershipRefreshFailedEvent", + ), + "v1.financial_connections.account.ownership_refresh_succeeded": ( + "stripe.events._v1_financial_connections_account_ownership_refresh_succeeded_event", + "V1FinancialConnectionsAccountOwnershipRefreshSucceededEvent", + ), "v1.financial_connections.account.reactivated": ( "stripe.events._v1_financial_connections_account_reactivated_event", "V1FinancialConnectionsAccountReactivatedEvent", @@ -1286,10 +1578,26 @@ "stripe.events._v1_financial_connections_account_refreshed_transactions_event", "V1FinancialConnectionsAccountRefreshedTransactionsEvent", ), + "v1.financial_connections.account.risk_intelligence_refresh_failed": ( + "stripe.events._v1_financial_connections_account_risk_intelligence_refresh_failed_event", + "V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEvent", + ), + "v1.financial_connections.account.risk_intelligence_refresh_succeeded": ( + "stripe.events._v1_financial_connections_account_risk_intelligence_refresh_succeeded_event", + "V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEvent", + ), "v1.financial_connections.account.supported_payment_method_types_updated": ( "stripe.events._v1_financial_connections_account_supported_payment_method_types_updated_event", "V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEvent", ), + "v1.financial_connections.account.transactions_refresh_failed": ( + "stripe.events._v1_financial_connections_account_transactions_refresh_failed_event", + "V1FinancialConnectionsAccountTransactionsRefreshFailedEvent", + ), + "v1.financial_connections.account.transactions_refresh_succeeded": ( + "stripe.events._v1_financial_connections_account_transactions_refresh_succeeded_event", + "V1FinancialConnectionsAccountTransactionsRefreshSucceededEvent", + ), "v1.financial_connections.account.upcoming_account_number_expiry": ( "stripe.events._v1_financial_connections_account_upcoming_account_number_expiry_event", "V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEvent", @@ -1330,6 +1638,14 @@ "stripe.events._v1_invoice_deleted_event", "V1InvoiceDeletedEvent", ), + "v1.invoice.discount_added": ( + "stripe.events._v1_invoice_discount_added_event", + "V1InvoiceDiscountAddedEvent", + ), + "v1.invoice.discount_removed": ( + "stripe.events._v1_invoice_discount_removed_event", + "V1InvoiceDiscountRemovedEvent", + ), "v1.invoice.finalization_failed": ( "stripe.events._v1_invoice_finalization_failed_event", "V1InvoiceFinalizationFailedEvent", @@ -1338,6 +1654,10 @@ "stripe.events._v1_invoice_finalized_event", "V1InvoiceFinalizedEvent", ), + "v1.invoiceitem.amount_changed": ( + "stripe.events._v1_invoiceitem_amount_changed_event", + "V1InvoiceitemAmountChangedEvent", + ), "v1.invoiceitem.created": ( "stripe.events._v1_invoiceitem_created_event", "V1InvoiceitemCreatedEvent", @@ -1346,6 +1666,30 @@ "stripe.events._v1_invoiceitem_deleted_event", "V1InvoiceitemDeletedEvent", ), + "v1.invoiceitem.discount_added": ( + "stripe.events._v1_invoiceitem_discount_added_event", + "V1InvoiceitemDiscountAddedEvent", + ), + "v1.invoiceitem.discount_removed": ( + "stripe.events._v1_invoiceitem_discount_removed_event", + "V1InvoiceitemDiscountRemovedEvent", + ), + "v1.invoice.line_item_added": ( + "stripe.events._v1_invoice_line_item_added_event", + "V1InvoiceLineItemAddedEvent", + ), + "v1.invoice.line_item_pricing_changed": ( + "stripe.events._v1_invoice_line_item_pricing_changed_event", + "V1InvoiceLineItemPricingChangedEvent", + ), + "v1.invoice.line_item_quantity_changed": ( + "stripe.events._v1_invoice_line_item_quantity_changed_event", + "V1InvoiceLineItemQuantityChangedEvent", + ), + "v1.invoice.line_item_removed": ( + "stripe.events._v1_invoice_line_item_removed_event", + "V1InvoiceLineItemRemovedEvent", + ), "v1.invoice.marked_uncollectible": ( "stripe.events._v1_invoice_marked_uncollectible_event", "V1InvoiceMarkedUncollectibleEvent", @@ -1370,10 +1714,18 @@ "stripe.events._v1_invoice_payment_attempt_required_event", "V1InvoicePaymentAttemptRequiredEvent", ), + "v1.invoice_payment.canceled": ( + "stripe.events._v1_invoice_payment_canceled_event", + "V1InvoicePaymentCanceledEvent", + ), "v1.invoice.payment_failed": ( "stripe.events._v1_invoice_payment_failed_event", "V1InvoicePaymentFailedEvent", ), + "v1.invoice_payment.open": ( + "stripe.events._v1_invoice_payment_open_event", + "V1InvoicePaymentOpenEvent", + ), "v1.invoice_payment.paid": ( "stripe.events._v1_invoice_payment_paid_event", "V1InvoicePaymentPaidEvent", @@ -1598,26 +1950,58 @@ "stripe.events._v1_plan_updated_event", "V1PlanUpdatedEvent", ), + "v1.price.activated": ( + "stripe.events._v1_price_activated_event", + "V1PriceActivatedEvent", + ), "v1.price.created": ( "stripe.events._v1_price_created_event", "V1PriceCreatedEvent", ), + "v1.price.deactivated": ( + "stripe.events._v1_price_deactivated_event", + "V1PriceDeactivatedEvent", + ), "v1.price.deleted": ( "stripe.events._v1_price_deleted_event", "V1PriceDeletedEvent", ), + "v1.price.lookup_key_changed": ( + "stripe.events._v1_price_lookup_key_changed_event", + "V1PriceLookupKeyChangedEvent", + ), + "v1.price.tax_behavior_changed": ( + "stripe.events._v1_price_tax_behavior_changed_event", + "V1PriceTaxBehaviorChangedEvent", + ), "v1.price.updated": ( "stripe.events._v1_price_updated_event", "V1PriceUpdatedEvent", ), + "v1.product.activated": ( + "stripe.events._v1_product_activated_event", + "V1ProductActivatedEvent", + ), "v1.product.created": ( "stripe.events._v1_product_created_event", "V1ProductCreatedEvent", ), + "v1.product.deactivated": ( + "stripe.events._v1_product_deactivated_event", + "V1ProductDeactivatedEvent", + ), + "v1.product.default_price_changed": ( + "stripe.events._v1_product_default_price_changed_event", + "V1ProductDefaultPriceChangedEvent", + ), "v1.product.deleted": ( "stripe.events._v1_product_deleted_event", "V1ProductDeletedEvent", ), + "v1.product.tax_code_changed": ( + "stripe.events._v1_product_tax_code_changed_event", + "V1ProductTaxCodeChangedEvent", + ), "v1.product.updated": ( "stripe.events._v1_product_updated_event", "V1ProductUpdatedEvent", @@ -1626,6 +2010,10 @@ "stripe.events._v1_promotion_code_created_event", "V1PromotionCodeCreatedEvent", ), + "v1.promotion_code.fully_redeemed": ( + "stripe.events._v1_promotion_code_fully_redeemed_event", + "V1PromotionCodeFullyRedeemedEvent", + ), "v1.promotion_code.updated": ( "stripe.events._v1_promotion_code_updated_event", "V1PromotionCodeUpdatedEvent", @@ -1734,6 +2122,26 @@ "stripe.events._v1_subscription_schedule_expiring_event", "V1SubscriptionScheduleExpiringEvent", ), + "v1.subscription_schedule.phase_added": ( + "stripe.events._v1_subscription_schedule_phase_added_event", + "V1SubscriptionSchedulePhaseAddedEvent", + ), + "v1.subscription_schedule.phase_default_tax_rates_changed": ( + "stripe.events._v1_subscription_schedule_phase_default_tax_rates_changed_event", + "V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEvent", + ), + "v1.subscription_schedule.phase_end_date_changed": ( + "stripe.events._v1_subscription_schedule_phase_end_date_changed_event", + "V1SubscriptionSchedulePhaseEndDateChangedEvent", + ), + "v1.subscription_schedule.phase_removed": ( + "stripe.events._v1_subscription_schedule_phase_removed_event", + "V1SubscriptionSchedulePhaseRemovedEvent", + ), + "v1.subscription_schedule.phase_trial_end_changed": ( + "stripe.events._v1_subscription_schedule_phase_trial_end_changed_event", + "V1SubscriptionSchedulePhaseTrialEndChangedEvent", + ), "v1.subscription_schedule.released": ( "stripe.events._v1_subscription_schedule_released_event", "V1SubscriptionScheduleReleasedEvent", @@ -1986,6 +2394,22 @@ "stripe.events._v2_core_health_event_generation_failure_resolved_event", "V2CoreHealthEventGenerationFailureResolvedEvent", ), + "v2.data.query_run.created": ( + "stripe.events._v2_data_query_run_created_event", + "V2DataQueryRunCreatedEvent", + ), + "v2.data.query_run.failed": ( + "stripe.events._v2_data_query_run_failed_event", + "V2DataQueryRunFailedEvent", + ), + "v2.data.query_run.succeeded": ( + "stripe.events._v2_data_query_run_succeeded_event", + "V2DataQueryRunSucceededEvent", + ), + "v2.data.query_run.updated": ( + "stripe.events._v2_data_query_run_updated_event", + "V2DataQueryRunUpdatedEvent", + ), "v2.data.reporting.query_run.created": ( "stripe.events._v2_data_reporting_query_run_created_event", "V2DataReportingQueryRunCreatedEvent", @@ -2002,6 +2426,22 @@ "stripe.events._v2_data_reporting_query_run_updated_event", "V2DataReportingQueryRunUpdatedEvent", ), + "v2.data.report_run.created": ( + "stripe.events._v2_data_report_run_created_event", + "V2DataReportRunCreatedEvent", + ), + "v2.data.report_run.failed": ( + "stripe.events._v2_data_report_run_failed_event", + "V2DataReportRunFailedEvent", + ), + "v2.data.report_run.succeeded": ( + "stripe.events._v2_data_report_run_succeeded_event", + "V2DataReportRunSucceededEvent", + ), + "v2.data.report_run.updated": ( + "stripe.events._v2_data_report_run_updated_event", + "V2DataReportRunUpdatedEvent", + ), "v2.extend.workflow_run.failed": ( "stripe.events._v2_extend_workflow_run_failed_event", "V2ExtendWorkflowRunFailedEvent", @@ -2114,6 +2554,34 @@ "stripe.events._v2_money_management_outbound_transfer_updated_event", "V2MoneyManagementOutboundTransferUpdatedEvent", ), + "v2.money_management.payout_intent.canceled": ( + "stripe.events._v2_money_management_payout_intent_canceled_event", + "V2MoneyManagementPayoutIntentCanceledEvent", + ), + "v2.money_management.payout_intent.created": ( + "stripe.events._v2_money_management_payout_intent_created_event", + "V2MoneyManagementPayoutIntentCreatedEvent", + ), + "v2.money_management.payout_intent.pending": ( + "stripe.events._v2_money_management_payout_intent_pending_event", + "V2MoneyManagementPayoutIntentPendingEvent", + ), + "v2.money_management.payout_intent.posted": ( + "stripe.events._v2_money_management_payout_intent_posted_event", + "V2MoneyManagementPayoutIntentPostedEvent", + ), + "v2.money_management.payout_intent.processing": ( + "stripe.events._v2_money_management_payout_intent_processing_event", + "V2MoneyManagementPayoutIntentProcessingEvent", + ), + "v2.money_management.payout_intent.requires_action": ( + "stripe.events._v2_money_management_payout_intent_requires_action_event", + "V2MoneyManagementPayoutIntentRequiresActionEvent", + ), + "v2.money_management.payout_intent.updated": ( + "stripe.events._v2_money_management_payout_intent_updated_event", + "V2MoneyManagementPayoutIntentUpdatedEvent", + ), "v2.money_management.payout_method.created": ( "stripe.events._v2_money_management_payout_method_created_event", "V2MoneyManagementPayoutMethodCreatedEvent", @@ -2158,6 +2626,14 @@ "stripe.events._v2_money_management_received_debit_updated_event", "V2MoneyManagementReceivedDebitUpdatedEvent", ), + "v2.money_management.recipient_verification.created": ( + "stripe.events._v2_money_management_recipient_verification_created_event", + "V2MoneyManagementRecipientVerificationCreatedEvent", + ), + "v2.money_management.recipient_verification.updated": ( + "stripe.events._v2_money_management_recipient_verification_updated_event", + "V2MoneyManagementRecipientVerificationUpdatedEvent", + ), "v2.money_management.transaction.created": ( "stripe.events._v2_money_management_transaction_created_event", "V2MoneyManagementTransactionCreatedEvent", @@ -2453,18 +2929,66 @@ def get_v2_event_class(type_: str): "stripe.events._v1_customer_discount_deleted_event", "V1CustomerDiscountDeletedEventNotification", ), + "v1.customer.discount.source_changed": ( + "stripe.events._v1_customer_discount_source_changed_event", + "V1CustomerDiscountSourceChangedEventNotification", + ), "v1.customer.discount.updated": ( "stripe.events._v1_customer_discount_updated_event", "V1CustomerDiscountUpdatedEventNotification", ), + "v1.customer.subscription.active": ( + "stripe.events._v1_customer_subscription_active_event", + "V1CustomerSubscriptionActiveEventNotification", + ), + "v1.customer.subscription.cancel_at_changed": ( + "stripe.events._v1_customer_subscription_cancel_at_changed_event", + "V1CustomerSubscriptionCancelAtChangedEventNotification", + ), "v1.customer.subscription.created": ( "stripe.events._v1_customer_subscription_created_event", "V1CustomerSubscriptionCreatedEventNotification", ), + "v1.customer.subscription.default_payment_method_changed": ( + "stripe.events._v1_customer_subscription_default_payment_method_changed_event", + "V1CustomerSubscriptionDefaultPaymentMethodChangedEventNotification", + ), "v1.customer.subscription.deleted": ( "stripe.events._v1_customer_subscription_deleted_event", "V1CustomerSubscriptionDeletedEventNotification", ), + "v1.customer.subscription.incomplete": ( + "stripe.events._v1_customer_subscription_incomplete_event", + "V1CustomerSubscriptionIncompleteEventNotification", + ), + "v1.customer.subscription.incomplete_expired": ( + "stripe.events._v1_customer_subscription_incomplete_expired_event", + "V1CustomerSubscriptionIncompleteExpiredEventNotification", + ), + "v1.customer.subscription.item_added": ( + "stripe.events._v1_customer_subscription_item_added_event", + "V1CustomerSubscriptionItemAddedEventNotification", + ), + "v1.customer.subscription.item_price_changed": ( + "stripe.events._v1_customer_subscription_item_price_changed_event", + "V1CustomerSubscriptionItemPriceChangedEventNotification", + ), + "v1.customer.subscription.item_quantity_changed": ( + "stripe.events._v1_customer_subscription_item_quantity_changed_event", + "V1CustomerSubscriptionItemQuantityChangedEventNotification", + ), + "v1.customer.subscription.item_removed": ( + "stripe.events._v1_customer_subscription_item_removed_event", + "V1CustomerSubscriptionItemRemovedEventNotification", + ), + "v1.customer.subscription.item_tax_rates_changed": ( + "stripe.events._v1_customer_subscription_item_tax_rates_changed_event", + "V1CustomerSubscriptionItemTaxRatesChangedEventNotification", + ), + "v1.customer.subscription.past_due": ( + "stripe.events._v1_customer_subscription_past_due_event", + "V1CustomerSubscriptionPastDueEventNotification", + ), "v1.customer.subscription.paused": ( "stripe.events._v1_customer_subscription_paused_event", "V1CustomerSubscriptionPausedEventNotification", @@ -2481,10 +3005,18 @@ def get_v2_event_class(type_: str): "stripe.events._v1_customer_subscription_resumed_event", "V1CustomerSubscriptionResumedEventNotification", ), + "v1.customer.subscription.trialing": ( + "stripe.events._v1_customer_subscription_trialing_event", + "V1CustomerSubscriptionTrialingEventNotification", + ), "v1.customer.subscription.trial_will_end": ( "stripe.events._v1_customer_subscription_trial_will_end_event", "V1CustomerSubscriptionTrialWillEndEventNotification", ), + "v1.customer.subscription.unpaid": ( + "stripe.events._v1_customer_subscription_unpaid_event", + "V1CustomerSubscriptionUnpaidEventNotification", + ), "v1.customer.subscription.updated": ( "stripe.events._v1_customer_subscription_updated_event", "V1CustomerSubscriptionUpdatedEventNotification", @@ -2505,6 +3037,14 @@ def get_v2_event_class(type_: str): "stripe.events._v1_customer_updated_event", "V1CustomerUpdatedEventNotification", ), + "v1.entitlements.active_entitlement_summary.entitlement_added": ( + "stripe.events._v1_entitlements_active_entitlement_summary_entitlement_added_event", + "V1EntitlementsActiveEntitlementSummaryEntitlementAddedEventNotification", + ), + "v1.entitlements.active_entitlement_summary.entitlement_removed": ( + "stripe.events._v1_entitlements_active_entitlement_summary_entitlement_removed_event", + "V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEventNotification", + ), "v1.entitlements.active_entitlement_summary.updated": ( "stripe.events._v1_entitlements_active_entitlement_summary_updated_event", "V1EntitlementsActiveEntitlementSummaryUpdatedEventNotification", @@ -2517,6 +3057,14 @@ def get_v2_event_class(type_: str): "stripe.events._v1_financial_connections_account_account_numbers_updated_event", "V1FinancialConnectionsAccountAccountNumbersUpdatedEventNotification", ), + "v1.financial_connections.account.balance_refresh_failed": ( + "stripe.events._v1_financial_connections_account_balance_refresh_failed_event", + "V1FinancialConnectionsAccountBalanceRefreshFailedEventNotification", + ), + "v1.financial_connections.account.balance_refresh_succeeded": ( + "stripe.events._v1_financial_connections_account_balance_refresh_succeeded_event", + "V1FinancialConnectionsAccountBalanceRefreshSucceededEventNotification", + ), "v1.financial_connections.account.created": ( "stripe.events._v1_financial_connections_account_created_event", "V1FinancialConnectionsAccountCreatedEventNotification", @@ -2533,6 +3081,22 @@ def get_v2_event_class(type_: str): "stripe.events._v1_financial_connections_account_expected_deactivation_date_updated_event", "V1FinancialConnectionsAccountExpectedDeactivationDateUpdatedEventNotification", ), + "v1.financial_connections.account.inferred_balances_refresh_failed": ( + "stripe.events._v1_financial_connections_account_inferred_balances_refresh_failed_event", + "V1FinancialConnectionsAccountInferredBalancesRefreshFailedEventNotification", + ), + "v1.financial_connections.account.inferred_balances_refresh_succeeded": ( + "stripe.events._v1_financial_connections_account_inferred_balances_refresh_succeeded_event", + "V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEventNotification", + ), + "v1.financial_connections.account.ownership_refresh_failed": ( + "stripe.events._v1_financial_connections_account_ownership_refresh_failed_event", + "V1FinancialConnectionsAccountOwnershipRefreshFailedEventNotification", + ), + "v1.financial_connections.account.ownership_refresh_succeeded": ( + "stripe.events._v1_financial_connections_account_ownership_refresh_succeeded_event", + "V1FinancialConnectionsAccountOwnershipRefreshSucceededEventNotification", + ), "v1.financial_connections.account.reactivated": ( "stripe.events._v1_financial_connections_account_reactivated_event", "V1FinancialConnectionsAccountReactivatedEventNotification", @@ -2549,10 +3113,26 @@ def get_v2_event_class(type_: str): "stripe.events._v1_financial_connections_account_refreshed_transactions_event", "V1FinancialConnectionsAccountRefreshedTransactionsEventNotification", ), + "v1.financial_connections.account.risk_intelligence_refresh_failed": ( + "stripe.events._v1_financial_connections_account_risk_intelligence_refresh_failed_event", + "V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEventNotification", + ), + "v1.financial_connections.account.risk_intelligence_refresh_succeeded": ( + "stripe.events._v1_financial_connections_account_risk_intelligence_refresh_succeeded_event", + "V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEventNotification", + ), "v1.financial_connections.account.supported_payment_method_types_updated": ( "stripe.events._v1_financial_connections_account_supported_payment_method_types_updated_event", "V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEventNotification", ), + "v1.financial_connections.account.transactions_refresh_failed": ( + "stripe.events._v1_financial_connections_account_transactions_refresh_failed_event", + "V1FinancialConnectionsAccountTransactionsRefreshFailedEventNotification", + ), + "v1.financial_connections.account.transactions_refresh_succeeded": ( + "stripe.events._v1_financial_connections_account_transactions_refresh_succeeded_event", + "V1FinancialConnectionsAccountTransactionsRefreshSucceededEventNotification", + ), "v1.financial_connections.account.upcoming_account_number_expiry": ( "stripe.events._v1_financial_connections_account_upcoming_account_number_expiry_event", "V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEventNotification", @@ -2593,6 +3173,14 @@ def get_v2_event_class(type_: str): "stripe.events._v1_invoice_deleted_event", "V1InvoiceDeletedEventNotification", ), + "v1.invoice.discount_added": ( + "stripe.events._v1_invoice_discount_added_event", + "V1InvoiceDiscountAddedEventNotification", + ), + "v1.invoice.discount_removed": ( + "stripe.events._v1_invoice_discount_removed_event", + "V1InvoiceDiscountRemovedEventNotification", + ), "v1.invoice.finalization_failed": ( "stripe.events._v1_invoice_finalization_failed_event", "V1InvoiceFinalizationFailedEventNotification", @@ -2601,6 +3189,10 @@ def get_v2_event_class(type_: str): "stripe.events._v1_invoice_finalized_event", "V1InvoiceFinalizedEventNotification", ), + "v1.invoiceitem.amount_changed": ( + "stripe.events._v1_invoiceitem_amount_changed_event", + "V1InvoiceitemAmountChangedEventNotification", + ), "v1.invoiceitem.created": ( "stripe.events._v1_invoiceitem_created_event", "V1InvoiceitemCreatedEventNotification", @@ -2609,6 +3201,30 @@ def get_v2_event_class(type_: str): "stripe.events._v1_invoiceitem_deleted_event", "V1InvoiceitemDeletedEventNotification", ), + "v1.invoiceitem.discount_added": ( + "stripe.events._v1_invoiceitem_discount_added_event", + "V1InvoiceitemDiscountAddedEventNotification", + ), + "v1.invoiceitem.discount_removed": ( + "stripe.events._v1_invoiceitem_discount_removed_event", + "V1InvoiceitemDiscountRemovedEventNotification", + ), + "v1.invoice.line_item_added": ( + "stripe.events._v1_invoice_line_item_added_event", + "V1InvoiceLineItemAddedEventNotification", + ), + "v1.invoice.line_item_pricing_changed": ( + "stripe.events._v1_invoice_line_item_pricing_changed_event", + "V1InvoiceLineItemPricingChangedEventNotification", + ), + "v1.invoice.line_item_quantity_changed": ( + "stripe.events._v1_invoice_line_item_quantity_changed_event", + "V1InvoiceLineItemQuantityChangedEventNotification", + ), + "v1.invoice.line_item_removed": ( + "stripe.events._v1_invoice_line_item_removed_event", + "V1InvoiceLineItemRemovedEventNotification", + ), "v1.invoice.marked_uncollectible": ( "stripe.events._v1_invoice_marked_uncollectible_event", "V1InvoiceMarkedUncollectibleEventNotification", @@ -2633,10 +3249,18 @@ def get_v2_event_class(type_: str): "stripe.events._v1_invoice_payment_attempt_required_event", "V1InvoicePaymentAttemptRequiredEventNotification", ), + "v1.invoice_payment.canceled": ( + "stripe.events._v1_invoice_payment_canceled_event", + "V1InvoicePaymentCanceledEventNotification", + ), "v1.invoice.payment_failed": ( "stripe.events._v1_invoice_payment_failed_event", "V1InvoicePaymentFailedEventNotification", ), + "v1.invoice_payment.open": ( + "stripe.events._v1_invoice_payment_open_event", + "V1InvoicePaymentOpenEventNotification", + ), "v1.invoice_payment.paid": ( "stripe.events._v1_invoice_payment_paid_event", "V1InvoicePaymentPaidEventNotification", @@ -2861,26 +3485,58 @@ def get_v2_event_class(type_: str): "stripe.events._v1_plan_updated_event", "V1PlanUpdatedEventNotification", ), + "v1.price.activated": ( + "stripe.events._v1_price_activated_event", + "V1PriceActivatedEventNotification", + ), "v1.price.created": ( "stripe.events._v1_price_created_event", "V1PriceCreatedEventNotification", ), + "v1.price.deactivated": ( + "stripe.events._v1_price_deactivated_event", + "V1PriceDeactivatedEventNotification", + ), "v1.price.deleted": ( "stripe.events._v1_price_deleted_event", "V1PriceDeletedEventNotification", ), + "v1.price.lookup_key_changed": ( + "stripe.events._v1_price_lookup_key_changed_event", + "V1PriceLookupKeyChangedEventNotification", + ), + "v1.price.tax_behavior_changed": ( + "stripe.events._v1_price_tax_behavior_changed_event", + "V1PriceTaxBehaviorChangedEventNotification", + ), "v1.price.updated": ( "stripe.events._v1_price_updated_event", "V1PriceUpdatedEventNotification", ), + "v1.product.activated": ( + "stripe.events._v1_product_activated_event", + "V1ProductActivatedEventNotification", + ), "v1.product.created": ( "stripe.events._v1_product_created_event", "V1ProductCreatedEventNotification", ), + "v1.product.deactivated": ( + "stripe.events._v1_product_deactivated_event", + "V1ProductDeactivatedEventNotification", + ), + "v1.product.default_price_changed": ( + "stripe.events._v1_product_default_price_changed_event", + "V1ProductDefaultPriceChangedEventNotification", + ), "v1.product.deleted": ( "stripe.events._v1_product_deleted_event", "V1ProductDeletedEventNotification", ), + "v1.product.tax_code_changed": ( + "stripe.events._v1_product_tax_code_changed_event", + "V1ProductTaxCodeChangedEventNotification", + ), "v1.product.updated": ( "stripe.events._v1_product_updated_event", "V1ProductUpdatedEventNotification", @@ -2889,6 +3545,10 @@ def get_v2_event_class(type_: str): "stripe.events._v1_promotion_code_created_event", "V1PromotionCodeCreatedEventNotification", ), + "v1.promotion_code.fully_redeemed": ( + "stripe.events._v1_promotion_code_fully_redeemed_event", + "V1PromotionCodeFullyRedeemedEventNotification", + ), "v1.promotion_code.updated": ( "stripe.events._v1_promotion_code_updated_event", "V1PromotionCodeUpdatedEventNotification", @@ -2997,6 +3657,26 @@ def get_v2_event_class(type_: str): "stripe.events._v1_subscription_schedule_expiring_event", "V1SubscriptionScheduleExpiringEventNotification", ), + "v1.subscription_schedule.phase_added": ( + "stripe.events._v1_subscription_schedule_phase_added_event", + "V1SubscriptionSchedulePhaseAddedEventNotification", + ), + "v1.subscription_schedule.phase_default_tax_rates_changed": ( + "stripe.events._v1_subscription_schedule_phase_default_tax_rates_changed_event", + "V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEventNotification", + ), + "v1.subscription_schedule.phase_end_date_changed": ( + "stripe.events._v1_subscription_schedule_phase_end_date_changed_event", + "V1SubscriptionSchedulePhaseEndDateChangedEventNotification", + ), + "v1.subscription_schedule.phase_removed": ( + "stripe.events._v1_subscription_schedule_phase_removed_event", + "V1SubscriptionSchedulePhaseRemovedEventNotification", + ), + "v1.subscription_schedule.phase_trial_end_changed": ( + "stripe.events._v1_subscription_schedule_phase_trial_end_changed_event", + "V1SubscriptionSchedulePhaseTrialEndChangedEventNotification", + ), "v1.subscription_schedule.released": ( "stripe.events._v1_subscription_schedule_released_event", "V1SubscriptionScheduleReleasedEventNotification", @@ -3249,6 +3929,22 @@ def get_v2_event_class(type_: str): "stripe.events._v2_core_health_event_generation_failure_resolved_event", "V2CoreHealthEventGenerationFailureResolvedEventNotification", ), + "v2.data.query_run.created": ( + "stripe.events._v2_data_query_run_created_event", + "V2DataQueryRunCreatedEventNotification", + ), + "v2.data.query_run.failed": ( + "stripe.events._v2_data_query_run_failed_event", + "V2DataQueryRunFailedEventNotification", + ), + "v2.data.query_run.succeeded": ( + "stripe.events._v2_data_query_run_succeeded_event", + "V2DataQueryRunSucceededEventNotification", + ), + "v2.data.query_run.updated": ( + "stripe.events._v2_data_query_run_updated_event", + "V2DataQueryRunUpdatedEventNotification", + ), "v2.data.reporting.query_run.created": ( "stripe.events._v2_data_reporting_query_run_created_event", "V2DataReportingQueryRunCreatedEventNotification", @@ -3265,6 +3961,22 @@ def get_v2_event_class(type_: str): "stripe.events._v2_data_reporting_query_run_updated_event", "V2DataReportingQueryRunUpdatedEventNotification", ), + "v2.data.report_run.created": ( + "stripe.events._v2_data_report_run_created_event", + "V2DataReportRunCreatedEventNotification", + ), + "v2.data.report_run.failed": ( + "stripe.events._v2_data_report_run_failed_event", + "V2DataReportRunFailedEventNotification", + ), + "v2.data.report_run.succeeded": ( + "stripe.events._v2_data_report_run_succeeded_event", + "V2DataReportRunSucceededEventNotification", + ), + "v2.data.report_run.updated": ( + "stripe.events._v2_data_report_run_updated_event", + "V2DataReportRunUpdatedEventNotification", + ), "v2.extend.workflow_run.failed": ( "stripe.events._v2_extend_workflow_run_failed_event", "V2ExtendWorkflowRunFailedEventNotification", @@ -3377,6 +4089,34 @@ def get_v2_event_class(type_: str): "stripe.events._v2_money_management_outbound_transfer_updated_event", "V2MoneyManagementOutboundTransferUpdatedEventNotification", ), + "v2.money_management.payout_intent.canceled": ( + "stripe.events._v2_money_management_payout_intent_canceled_event", + "V2MoneyManagementPayoutIntentCanceledEventNotification", + ), + "v2.money_management.payout_intent.created": ( + "stripe.events._v2_money_management_payout_intent_created_event", + "V2MoneyManagementPayoutIntentCreatedEventNotification", + ), + "v2.money_management.payout_intent.pending": ( + "stripe.events._v2_money_management_payout_intent_pending_event", + "V2MoneyManagementPayoutIntentPendingEventNotification", + ), + "v2.money_management.payout_intent.posted": ( + "stripe.events._v2_money_management_payout_intent_posted_event", + "V2MoneyManagementPayoutIntentPostedEventNotification", + ), + "v2.money_management.payout_intent.processing": ( + "stripe.events._v2_money_management_payout_intent_processing_event", + "V2MoneyManagementPayoutIntentProcessingEventNotification", + ), + "v2.money_management.payout_intent.requires_action": ( + "stripe.events._v2_money_management_payout_intent_requires_action_event", + "V2MoneyManagementPayoutIntentRequiresActionEventNotification", + ), + "v2.money_management.payout_intent.updated": ( + "stripe.events._v2_money_management_payout_intent_updated_event", + "V2MoneyManagementPayoutIntentUpdatedEventNotification", + ), "v2.money_management.payout_method.created": ( "stripe.events._v2_money_management_payout_method_created_event", "V2MoneyManagementPayoutMethodCreatedEventNotification", @@ -3421,6 +4161,14 @@ def get_v2_event_class(type_: str): "stripe.events._v2_money_management_received_debit_updated_event", "V2MoneyManagementReceivedDebitUpdatedEventNotification", ), + "v2.money_management.recipient_verification.created": ( + "stripe.events._v2_money_management_recipient_verification_created_event", + "V2MoneyManagementRecipientVerificationCreatedEventNotification", + ), + "v2.money_management.recipient_verification.updated": ( + "stripe.events._v2_money_management_recipient_verification_updated_event", + "V2MoneyManagementRecipientVerificationUpdatedEventNotification", + ), "v2.money_management.transaction.created": ( "stripe.events._v2_money_management_transaction_created_event", "V2MoneyManagementTransactionCreatedEventNotification", @@ -3533,31 +4281,57 @@ def get_v2_event_notification_class(type_: str): "V1CustomerDeletedEventNotification", "V1CustomerDiscountCreatedEventNotification", "V1CustomerDiscountDeletedEventNotification", + "V1CustomerDiscountSourceChangedEventNotification", "V1CustomerDiscountUpdatedEventNotification", + "V1CustomerSubscriptionActiveEventNotification", + "V1CustomerSubscriptionCancelAtChangedEventNotification", "V1CustomerSubscriptionCreatedEventNotification", + "V1CustomerSubscriptionDefaultPaymentMethodChangedEventNotification", "V1CustomerSubscriptionDeletedEventNotification", + "V1CustomerSubscriptionIncompleteEventNotification", + "V1CustomerSubscriptionIncompleteExpiredEventNotification", + "V1CustomerSubscriptionItemAddedEventNotification", + "V1CustomerSubscriptionItemPriceChangedEventNotification", + "V1CustomerSubscriptionItemQuantityChangedEventNotification", + "V1CustomerSubscriptionItemRemovedEventNotification", + "V1CustomerSubscriptionItemTaxRatesChangedEventNotification", + "V1CustomerSubscriptionPastDueEventNotification", "V1CustomerSubscriptionPausedEventNotification", "V1CustomerSubscriptionPendingUpdateAppliedEventNotification", "V1CustomerSubscriptionPendingUpdateExpiredEventNotification", "V1CustomerSubscriptionResumedEventNotification", + "V1CustomerSubscriptionTrialingEventNotification", "V1CustomerSubscriptionTrialWillEndEventNotification", + "V1CustomerSubscriptionUnpaidEventNotification", "V1CustomerSubscriptionUpdatedEventNotification", "V1CustomerTaxIdCreatedEventNotification", "V1CustomerTaxIdDeletedEventNotification", "V1CustomerTaxIdUpdatedEventNotification", "V1CustomerUpdatedEventNotification", + "V1EntitlementsActiveEntitlementSummaryEntitlementAddedEventNotification", + "V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEventNotification", "V1EntitlementsActiveEntitlementSummaryUpdatedEventNotification", "V1FileCreatedEventNotification", "V1FinancialConnectionsAccountAccountNumbersUpdatedEventNotification", + "V1FinancialConnectionsAccountBalanceRefreshFailedEventNotification", + "V1FinancialConnectionsAccountBalanceRefreshSucceededEventNotification", "V1FinancialConnectionsAccountCreatedEventNotification", "V1FinancialConnectionsAccountDeactivatedEventNotification", "V1FinancialConnectionsAccountDisconnectedEventNotification", "V1FinancialConnectionsAccountExpectedDeactivationDateUpdatedEventNotification", + "V1FinancialConnectionsAccountInferredBalancesRefreshFailedEventNotification", + "V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEventNotification", + "V1FinancialConnectionsAccountOwnershipRefreshFailedEventNotification", + "V1FinancialConnectionsAccountOwnershipRefreshSucceededEventNotification", "V1FinancialConnectionsAccountReactivatedEventNotification", "V1FinancialConnectionsAccountRefreshedBalanceEventNotification", "V1FinancialConnectionsAccountRefreshedOwnershipEventNotification", "V1FinancialConnectionsAccountRefreshedTransactionsEventNotification", + "V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEventNotification", + "V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEventNotification", "V1FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEventNotification", + "V1FinancialConnectionsAccountTransactionsRefreshFailedEventNotification", + "V1FinancialConnectionsAccountTransactionsRefreshSucceededEventNotification", "V1FinancialConnectionsAccountUpcomingAccountNumberExpiryEventNotification", "V1FinancialConnectionsAccountUpcomingDeactivationEventNotification", "V1IdentityVerificationSessionCanceledEventNotification", @@ -3568,17 +4342,28 @@ def get_v2_event_notification_class(type_: str): "V1IdentityVerificationSessionVerifiedEventNotification", "V1InvoiceCreatedEventNotification", "V1InvoiceDeletedEventNotification", + "V1InvoiceDiscountAddedEventNotification", + "V1InvoiceDiscountRemovedEventNotification", "V1InvoiceFinalizationFailedEventNotification", "V1InvoiceFinalizedEventNotification", + "V1InvoiceitemAmountChangedEventNotification", "V1InvoiceitemCreatedEventNotification", "V1InvoiceitemDeletedEventNotification", + "V1InvoiceitemDiscountAddedEventNotification", + "V1InvoiceitemDiscountRemovedEventNotification", + "V1InvoiceLineItemAddedEventNotification", + "V1InvoiceLineItemPricingChangedEventNotification", + "V1InvoiceLineItemQuantityChangedEventNotification", + "V1InvoiceLineItemRemovedEventNotification", "V1InvoiceMarkedUncollectibleEventNotification", "V1InvoiceOverdueEventNotification", "V1InvoiceOverpaidEventNotification", "V1InvoicePaidEventNotification", "V1InvoicePaymentActionRequiredEventNotification", "V1InvoicePaymentAttemptRequiredEventNotification", + "V1InvoicePaymentCanceledEventNotification", "V1InvoicePaymentFailedEventNotification", + "V1InvoicePaymentOpenEventNotification", "V1InvoicePaymentPaidEventNotification", "V1InvoicePaymentSucceededEventNotification", "V1InvoiceSentEventNotification", @@ -3635,13 +4420,22 @@ def get_v2_event_notification_class(type_: str): "V1PlanCreatedEventNotification", "V1PlanDeletedEventNotification", "V1PlanUpdatedEventNotification", + "V1PriceActivatedEventNotification", "V1PriceCreatedEventNotification", + "V1PriceDeactivatedEventNotification", "V1PriceDeletedEventNotification", + "V1PriceLookupKeyChangedEventNotification", + "V1PriceTaxBehaviorChangedEventNotification", "V1PriceUpdatedEventNotification", + "V1ProductActivatedEventNotification", "V1ProductCreatedEventNotification", + "V1ProductDeactivatedEventNotification", + "V1ProductDefaultPriceChangedEventNotification", "V1ProductDeletedEventNotification", + "V1ProductTaxCodeChangedEventNotification", "V1ProductUpdatedEventNotification", "V1PromotionCodeCreatedEventNotification", + "V1PromotionCodeFullyRedeemedEventNotification", "V1PromotionCodeUpdatedEventNotification", "V1QuoteAcceptedEventNotification", "V1QuoteCanceledEventNotification", @@ -3669,6 +4463,11 @@ def get_v2_event_notification_class(type_: str): "V1SubscriptionScheduleCompletedEventNotification", "V1SubscriptionScheduleCreatedEventNotification", "V1SubscriptionScheduleExpiringEventNotification", + "V1SubscriptionSchedulePhaseAddedEventNotification", + "V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEventNotification", + "V1SubscriptionSchedulePhaseEndDateChangedEventNotification", + "V1SubscriptionSchedulePhaseRemovedEventNotification", + "V1SubscriptionSchedulePhaseTrialEndChangedEventNotification", "V1SubscriptionScheduleReleasedEventNotification", "V1SubscriptionScheduleUpdatedEventNotification", "V1TaxRateCreatedEventNotification", @@ -3732,10 +4531,18 @@ def get_v2_event_notification_class(type_: str): "V2CoreBatchJobValidationFailedEventNotification", "V2CoreEventDestinationPingEventNotification", "V2CoreHealthEventGenerationFailureResolvedEventNotification", + "V2DataQueryRunCreatedEventNotification", + "V2DataQueryRunFailedEventNotification", + "V2DataQueryRunSucceededEventNotification", + "V2DataQueryRunUpdatedEventNotification", "V2DataReportingQueryRunCreatedEventNotification", "V2DataReportingQueryRunFailedEventNotification", "V2DataReportingQueryRunSucceededEventNotification", "V2DataReportingQueryRunUpdatedEventNotification", + "V2DataReportRunCreatedEventNotification", + "V2DataReportRunFailedEventNotification", + "V2DataReportRunSucceededEventNotification", + "V2DataReportRunUpdatedEventNotification", "V2ExtendWorkflowRunFailedEventNotification", "V2ExtendWorkflowRunStartedEventNotification", "V2ExtendWorkflowRunSucceededEventNotification", @@ -3764,6 +4571,13 @@ def get_v2_event_notification_class(type_: str): "V2MoneyManagementOutboundTransferReturnedEventNotification", "V2MoneyManagementOutboundTransferUnderReviewEventNotification", "V2MoneyManagementOutboundTransferUpdatedEventNotification", + "V2MoneyManagementPayoutIntentCanceledEventNotification", + "V2MoneyManagementPayoutIntentCreatedEventNotification", + "V2MoneyManagementPayoutIntentPendingEventNotification", + "V2MoneyManagementPayoutIntentPostedEventNotification", + "V2MoneyManagementPayoutIntentProcessingEventNotification", + "V2MoneyManagementPayoutIntentRequiresActionEventNotification", + "V2MoneyManagementPayoutIntentUpdatedEventNotification", "V2MoneyManagementPayoutMethodCreatedEventNotification", "V2MoneyManagementPayoutMethodUpdatedEventNotification", "V2MoneyManagementReceivedCreditAvailableEventNotification", @@ -3775,6 +4589,8 @@ def get_v2_event_notification_class(type_: str): "V2MoneyManagementReceivedDebitPendingEventNotification", "V2MoneyManagementReceivedDebitSucceededEventNotification", "V2MoneyManagementReceivedDebitUpdatedEventNotification", + "V2MoneyManagementRecipientVerificationCreatedEventNotification", + "V2MoneyManagementRecipientVerificationUpdatedEventNotification", "V2MoneyManagementTransactionCreatedEventNotification", "V2MoneyManagementTransactionUpdatedEventNotification", "V2OrchestratedCommerceAgreementConfirmedEventNotification", diff --git a/stripe/events/_v1_customer_discount_source_changed_event.py b/stripe/events/_v1_customer_discount_source_changed_event.py new file mode 100644 index 000000000..4c838df01 --- /dev/null +++ b/stripe/events/_v1_customer_discount_source_changed_event.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe.v2.core._event import Event, EventNotification +from typing import cast +from typing_extensions import Literal, override + + +class V1CustomerDiscountSourceChangedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.customer.discount.source_changed" + type: Literal["v1.customer.discount.source_changed"] + + @override + def fetch_event(self) -> "V1CustomerDiscountSourceChangedEvent": + return cast( + "V1CustomerDiscountSourceChangedEvent", + super().fetch_event(), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1CustomerDiscountSourceChangedEvent": + return cast( + "V1CustomerDiscountSourceChangedEvent", + await super().fetch_event_async(), + ) + + +class V1CustomerDiscountSourceChangedEvent(Event): + LOOKUP_TYPE = "v1.customer.discount.source_changed" + type: Literal["v1.customer.discount.source_changed"] diff --git a/stripe/events/_v1_customer_subscription_active_event.py b/stripe/events/_v1_customer_subscription_active_event.py new file mode 100644 index 000000000..3081292e2 --- /dev/null +++ b/stripe/events/_v1_customer_subscription_active_event.py @@ -0,0 +1,113 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionActiveEventNotification(EventNotification): + LOOKUP_TYPE = "v1.customer.subscription.active" + type: Literal["v1.customer.subscription.active"] + 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) -> "V1CustomerSubscriptionActiveEvent": + return cast( + "V1CustomerSubscriptionActiveEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1CustomerSubscriptionActiveEvent": + return cast( + "V1CustomerSubscriptionActiveEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionActiveEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.active" + type: Literal["v1.customer.subscription.active"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_cancel_at_changed_event.py b/stripe/events/_v1_customer_subscription_cancel_at_changed_event.py new file mode 100644 index 000000000..4edeb6704 --- /dev/null +++ b/stripe/events/_v1_customer_subscription_cancel_at_changed_event.py @@ -0,0 +1,117 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionCancelAtChangedEventNotification( + EventNotification +): + LOOKUP_TYPE = "v1.customer.subscription.cancel_at_changed" + type: Literal["v1.customer.subscription.cancel_at_changed"] + 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) -> "V1CustomerSubscriptionCancelAtChangedEvent": + return cast( + "V1CustomerSubscriptionCancelAtChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1CustomerSubscriptionCancelAtChangedEvent": + return cast( + "V1CustomerSubscriptionCancelAtChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionCancelAtChangedEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.cancel_at_changed" + type: Literal["v1.customer.subscription.cancel_at_changed"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_default_payment_method_changed_event.py b/stripe/events/_v1_customer_subscription_default_payment_method_changed_event.py new file mode 100644 index 000000000..105f4dc1c --- /dev/null +++ b/stripe/events/_v1_customer_subscription_default_payment_method_changed_event.py @@ -0,0 +1,119 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionDefaultPaymentMethodChangedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.customer.subscription.default_payment_method_changed" + type: Literal["v1.customer.subscription.default_payment_method_changed"] + 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, + ) -> "V1CustomerSubscriptionDefaultPaymentMethodChangedEvent": + return cast( + "V1CustomerSubscriptionDefaultPaymentMethodChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1CustomerSubscriptionDefaultPaymentMethodChangedEvent": + return cast( + "V1CustomerSubscriptionDefaultPaymentMethodChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionDefaultPaymentMethodChangedEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.default_payment_method_changed" + type: Literal["v1.customer.subscription.default_payment_method_changed"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_incomplete_event.py b/stripe/events/_v1_customer_subscription_incomplete_event.py new file mode 100644 index 000000000..4167ef608 --- /dev/null +++ b/stripe/events/_v1_customer_subscription_incomplete_event.py @@ -0,0 +1,115 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionIncompleteEventNotification(EventNotification): + LOOKUP_TYPE = "v1.customer.subscription.incomplete" + type: Literal["v1.customer.subscription.incomplete"] + 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) -> "V1CustomerSubscriptionIncompleteEvent": + return cast( + "V1CustomerSubscriptionIncompleteEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1CustomerSubscriptionIncompleteEvent": + return cast( + "V1CustomerSubscriptionIncompleteEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionIncompleteEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.incomplete" + type: Literal["v1.customer.subscription.incomplete"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_incomplete_expired_event.py b/stripe/events/_v1_customer_subscription_incomplete_expired_event.py new file mode 100644 index 000000000..4f818e94a --- /dev/null +++ b/stripe/events/_v1_customer_subscription_incomplete_expired_event.py @@ -0,0 +1,117 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionIncompleteExpiredEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.customer.subscription.incomplete_expired" + type: Literal["v1.customer.subscription.incomplete_expired"] + 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) -> "V1CustomerSubscriptionIncompleteExpiredEvent": + return cast( + "V1CustomerSubscriptionIncompleteExpiredEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1CustomerSubscriptionIncompleteExpiredEvent": + return cast( + "V1CustomerSubscriptionIncompleteExpiredEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionIncompleteExpiredEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.incomplete_expired" + type: Literal["v1.customer.subscription.incomplete_expired"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_item_added_event.py b/stripe/events/_v1_customer_subscription_item_added_event.py new file mode 100644 index 000000000..28b8b5fb0 --- /dev/null +++ b/stripe/events/_v1_customer_subscription_item_added_event.py @@ -0,0 +1,115 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionItemAddedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.customer.subscription.item_added" + type: Literal["v1.customer.subscription.item_added"] + 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) -> "V1CustomerSubscriptionItemAddedEvent": + return cast( + "V1CustomerSubscriptionItemAddedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1CustomerSubscriptionItemAddedEvent": + return cast( + "V1CustomerSubscriptionItemAddedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionItemAddedEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.item_added" + type: Literal["v1.customer.subscription.item_added"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_item_price_changed_event.py b/stripe/events/_v1_customer_subscription_item_price_changed_event.py new file mode 100644 index 000000000..6346d0c2e --- /dev/null +++ b/stripe/events/_v1_customer_subscription_item_price_changed_event.py @@ -0,0 +1,117 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionItemPriceChangedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.customer.subscription.item_price_changed" + type: Literal["v1.customer.subscription.item_price_changed"] + 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) -> "V1CustomerSubscriptionItemPriceChangedEvent": + return cast( + "V1CustomerSubscriptionItemPriceChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1CustomerSubscriptionItemPriceChangedEvent": + return cast( + "V1CustomerSubscriptionItemPriceChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionItemPriceChangedEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.item_price_changed" + type: Literal["v1.customer.subscription.item_price_changed"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_item_quantity_changed_event.py b/stripe/events/_v1_customer_subscription_item_quantity_changed_event.py new file mode 100644 index 000000000..630e027ce --- /dev/null +++ b/stripe/events/_v1_customer_subscription_item_quantity_changed_event.py @@ -0,0 +1,117 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionItemQuantityChangedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.customer.subscription.item_quantity_changed" + type: Literal["v1.customer.subscription.item_quantity_changed"] + 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) -> "V1CustomerSubscriptionItemQuantityChangedEvent": + return cast( + "V1CustomerSubscriptionItemQuantityChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1CustomerSubscriptionItemQuantityChangedEvent": + return cast( + "V1CustomerSubscriptionItemQuantityChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionItemQuantityChangedEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.item_quantity_changed" + type: Literal["v1.customer.subscription.item_quantity_changed"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_item_removed_event.py b/stripe/events/_v1_customer_subscription_item_removed_event.py new file mode 100644 index 000000000..d32797474 --- /dev/null +++ b/stripe/events/_v1_customer_subscription_item_removed_event.py @@ -0,0 +1,115 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionItemRemovedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.customer.subscription.item_removed" + type: Literal["v1.customer.subscription.item_removed"] + 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) -> "V1CustomerSubscriptionItemRemovedEvent": + return cast( + "V1CustomerSubscriptionItemRemovedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1CustomerSubscriptionItemRemovedEvent": + return cast( + "V1CustomerSubscriptionItemRemovedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionItemRemovedEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.item_removed" + type: Literal["v1.customer.subscription.item_removed"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_item_tax_rates_changed_event.py b/stripe/events/_v1_customer_subscription_item_tax_rates_changed_event.py new file mode 100644 index 000000000..253bf9422 --- /dev/null +++ b/stripe/events/_v1_customer_subscription_item_tax_rates_changed_event.py @@ -0,0 +1,117 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionItemTaxRatesChangedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.customer.subscription.item_tax_rates_changed" + type: Literal["v1.customer.subscription.item_tax_rates_changed"] + 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) -> "V1CustomerSubscriptionItemTaxRatesChangedEvent": + return cast( + "V1CustomerSubscriptionItemTaxRatesChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1CustomerSubscriptionItemTaxRatesChangedEvent": + return cast( + "V1CustomerSubscriptionItemTaxRatesChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionItemTaxRatesChangedEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.item_tax_rates_changed" + type: Literal["v1.customer.subscription.item_tax_rates_changed"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_past_due_event.py b/stripe/events/_v1_customer_subscription_past_due_event.py new file mode 100644 index 000000000..e2e7c2acb --- /dev/null +++ b/stripe/events/_v1_customer_subscription_past_due_event.py @@ -0,0 +1,113 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionPastDueEventNotification(EventNotification): + LOOKUP_TYPE = "v1.customer.subscription.past_due" + type: Literal["v1.customer.subscription.past_due"] + 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) -> "V1CustomerSubscriptionPastDueEvent": + return cast( + "V1CustomerSubscriptionPastDueEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1CustomerSubscriptionPastDueEvent": + return cast( + "V1CustomerSubscriptionPastDueEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionPastDueEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.past_due" + type: Literal["v1.customer.subscription.past_due"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_trialing_event.py b/stripe/events/_v1_customer_subscription_trialing_event.py new file mode 100644 index 000000000..1bfc69b72 --- /dev/null +++ b/stripe/events/_v1_customer_subscription_trialing_event.py @@ -0,0 +1,113 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionTrialingEventNotification(EventNotification): + LOOKUP_TYPE = "v1.customer.subscription.trialing" + type: Literal["v1.customer.subscription.trialing"] + 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) -> "V1CustomerSubscriptionTrialingEvent": + return cast( + "V1CustomerSubscriptionTrialingEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1CustomerSubscriptionTrialingEvent": + return cast( + "V1CustomerSubscriptionTrialingEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionTrialingEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.trialing" + type: Literal["v1.customer.subscription.trialing"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_customer_subscription_unpaid_event.py b/stripe/events/_v1_customer_subscription_unpaid_event.py new file mode 100644 index 000000000..68b9a4df1 --- /dev/null +++ b/stripe/events/_v1_customer_subscription_unpaid_event.py @@ -0,0 +1,113 @@ +# -*- 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._subscription import Subscription + + +class V1CustomerSubscriptionUnpaidEventNotification(EventNotification): + LOOKUP_TYPE = "v1.customer.subscription.unpaid" + type: Literal["v1.customer.subscription.unpaid"] + 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) -> "V1CustomerSubscriptionUnpaidEvent": + return cast( + "V1CustomerSubscriptionUnpaidEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Subscription": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1CustomerSubscriptionUnpaidEvent": + return cast( + "V1CustomerSubscriptionUnpaidEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Subscription": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Subscription", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1CustomerSubscriptionUnpaidEvent(Event): + LOOKUP_TYPE = "v1.customer.subscription.unpaid" + type: Literal["v1.customer.subscription.unpaid"] + + 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) -> "Subscription": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Subscription", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_entitlements_active_entitlement_summary_entitlement_added_event.py b/stripe/events/_v1_entitlements_active_entitlement_summary_entitlement_added_event.py new file mode 100644 index 000000000..4144c2d39 --- /dev/null +++ b/stripe/events/_v1_entitlements_active_entitlement_summary_entitlement_added_event.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe.v2.core._event import Event, EventNotification +from typing import cast +from typing_extensions import Literal, override + + +class V1EntitlementsActiveEntitlementSummaryEntitlementAddedEventNotification( + EventNotification, +): + LOOKUP_TYPE = ( + "v1.entitlements.active_entitlement_summary.entitlement_added" + ) + type: Literal[ + "v1.entitlements.active_entitlement_summary.entitlement_added" + ] + + @override + def fetch_event( + self, + ) -> "V1EntitlementsActiveEntitlementSummaryEntitlementAddedEvent": + return cast( + "V1EntitlementsActiveEntitlementSummaryEntitlementAddedEvent", + super().fetch_event(), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1EntitlementsActiveEntitlementSummaryEntitlementAddedEvent": + return cast( + "V1EntitlementsActiveEntitlementSummaryEntitlementAddedEvent", + await super().fetch_event_async(), + ) + + +class V1EntitlementsActiveEntitlementSummaryEntitlementAddedEvent(Event): + LOOKUP_TYPE = ( + "v1.entitlements.active_entitlement_summary.entitlement_added" + ) + type: Literal[ + "v1.entitlements.active_entitlement_summary.entitlement_added" + ] diff --git a/stripe/events/_v1_entitlements_active_entitlement_summary_entitlement_removed_event.py b/stripe/events/_v1_entitlements_active_entitlement_summary_entitlement_removed_event.py new file mode 100644 index 000000000..69e29280f --- /dev/null +++ b/stripe/events/_v1_entitlements_active_entitlement_summary_entitlement_removed_event.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe.v2.core._event import Event, EventNotification +from typing import cast +from typing_extensions import Literal, override + + +class V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEventNotification( + EventNotification, +): + LOOKUP_TYPE = ( + "v1.entitlements.active_entitlement_summary.entitlement_removed" + ) + type: Literal[ + "v1.entitlements.active_entitlement_summary.entitlement_removed" + ] + + @override + def fetch_event( + self, + ) -> "V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEvent": + return cast( + "V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEvent", + super().fetch_event(), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEvent": + return cast( + "V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEvent", + await super().fetch_event_async(), + ) + + +class V1EntitlementsActiveEntitlementSummaryEntitlementRemovedEvent(Event): + LOOKUP_TYPE = ( + "v1.entitlements.active_entitlement_summary.entitlement_removed" + ) + type: Literal[ + "v1.entitlements.active_entitlement_summary.entitlement_removed" + ] diff --git a/stripe/events/_v1_financial_connections_account_balance_refresh_failed_event.py b/stripe/events/_v1_financial_connections_account_balance_refresh_failed_event.py new file mode 100644 index 000000000..4c9edd925 --- /dev/null +++ b/stripe/events/_v1_financial_connections_account_balance_refresh_failed_event.py @@ -0,0 +1,119 @@ +# -*- 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.financial_connections._account import Account + + +class V1FinancialConnectionsAccountBalanceRefreshFailedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.financial_connections.account.balance_refresh_failed" + type: Literal["v1.financial_connections.account.balance_refresh_failed"] + 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, + ) -> "V1FinancialConnectionsAccountBalanceRefreshFailedEvent": + return cast( + "V1FinancialConnectionsAccountBalanceRefreshFailedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Account": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1FinancialConnectionsAccountBalanceRefreshFailedEvent": + return cast( + "V1FinancialConnectionsAccountBalanceRefreshFailedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Account": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1FinancialConnectionsAccountBalanceRefreshFailedEvent(Event): + LOOKUP_TYPE = "v1.financial_connections.account.balance_refresh_failed" + type: Literal["v1.financial_connections.account.balance_refresh_failed"] + + 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) -> "Account": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Account", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_financial_connections_account_balance_refresh_succeeded_event.py b/stripe/events/_v1_financial_connections_account_balance_refresh_succeeded_event.py new file mode 100644 index 000000000..99c283bf6 --- /dev/null +++ b/stripe/events/_v1_financial_connections_account_balance_refresh_succeeded_event.py @@ -0,0 +1,119 @@ +# -*- 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.financial_connections._account import Account + + +class V1FinancialConnectionsAccountBalanceRefreshSucceededEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.financial_connections.account.balance_refresh_succeeded" + type: Literal["v1.financial_connections.account.balance_refresh_succeeded"] + 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, + ) -> "V1FinancialConnectionsAccountBalanceRefreshSucceededEvent": + return cast( + "V1FinancialConnectionsAccountBalanceRefreshSucceededEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Account": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1FinancialConnectionsAccountBalanceRefreshSucceededEvent": + return cast( + "V1FinancialConnectionsAccountBalanceRefreshSucceededEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Account": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1FinancialConnectionsAccountBalanceRefreshSucceededEvent(Event): + LOOKUP_TYPE = "v1.financial_connections.account.balance_refresh_succeeded" + type: Literal["v1.financial_connections.account.balance_refresh_succeeded"] + + 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) -> "Account": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Account", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_financial_connections_account_inferred_balances_refresh_failed_event.py b/stripe/events/_v1_financial_connections_account_inferred_balances_refresh_failed_event.py new file mode 100644 index 000000000..4990ef0d9 --- /dev/null +++ b/stripe/events/_v1_financial_connections_account_inferred_balances_refresh_failed_event.py @@ -0,0 +1,127 @@ +# -*- 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.financial_connections._account import Account + + +class V1FinancialConnectionsAccountInferredBalancesRefreshFailedEventNotification( + EventNotification, +): + LOOKUP_TYPE = ( + "v1.financial_connections.account.inferred_balances_refresh_failed" + ) + type: Literal[ + "v1.financial_connections.account.inferred_balances_refresh_failed" + ] + 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, + ) -> "V1FinancialConnectionsAccountInferredBalancesRefreshFailedEvent": + return cast( + "V1FinancialConnectionsAccountInferredBalancesRefreshFailedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Account": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1FinancialConnectionsAccountInferredBalancesRefreshFailedEvent": + return cast( + "V1FinancialConnectionsAccountInferredBalancesRefreshFailedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Account": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1FinancialConnectionsAccountInferredBalancesRefreshFailedEvent(Event): + LOOKUP_TYPE = ( + "v1.financial_connections.account.inferred_balances_refresh_failed" + ) + type: Literal[ + "v1.financial_connections.account.inferred_balances_refresh_failed" + ] + + 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) -> "Account": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Account", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_financial_connections_account_inferred_balances_refresh_succeeded_event.py b/stripe/events/_v1_financial_connections_account_inferred_balances_refresh_succeeded_event.py new file mode 100644 index 000000000..c1ecc7549 --- /dev/null +++ b/stripe/events/_v1_financial_connections_account_inferred_balances_refresh_succeeded_event.py @@ -0,0 +1,129 @@ +# -*- 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.financial_connections._account import Account + + +class V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEventNotification( + EventNotification, +): + LOOKUP_TYPE = ( + "v1.financial_connections.account.inferred_balances_refresh_succeeded" + ) + type: Literal[ + "v1.financial_connections.account.inferred_balances_refresh_succeeded" + ] + 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, + ) -> "V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEvent": + return cast( + "V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Account": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEvent": + return cast( + "V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Account": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1FinancialConnectionsAccountInferredBalancesRefreshSucceededEvent( + Event +): + LOOKUP_TYPE = ( + "v1.financial_connections.account.inferred_balances_refresh_succeeded" + ) + type: Literal[ + "v1.financial_connections.account.inferred_balances_refresh_succeeded" + ] + + 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) -> "Account": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Account", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_financial_connections_account_ownership_refresh_failed_event.py b/stripe/events/_v1_financial_connections_account_ownership_refresh_failed_event.py new file mode 100644 index 000000000..1377d1c8b --- /dev/null +++ b/stripe/events/_v1_financial_connections_account_ownership_refresh_failed_event.py @@ -0,0 +1,119 @@ +# -*- 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.financial_connections._account import Account + + +class V1FinancialConnectionsAccountOwnershipRefreshFailedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.financial_connections.account.ownership_refresh_failed" + type: Literal["v1.financial_connections.account.ownership_refresh_failed"] + 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, + ) -> "V1FinancialConnectionsAccountOwnershipRefreshFailedEvent": + return cast( + "V1FinancialConnectionsAccountOwnershipRefreshFailedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Account": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1FinancialConnectionsAccountOwnershipRefreshFailedEvent": + return cast( + "V1FinancialConnectionsAccountOwnershipRefreshFailedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Account": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1FinancialConnectionsAccountOwnershipRefreshFailedEvent(Event): + LOOKUP_TYPE = "v1.financial_connections.account.ownership_refresh_failed" + type: Literal["v1.financial_connections.account.ownership_refresh_failed"] + + 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) -> "Account": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Account", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_financial_connections_account_ownership_refresh_succeeded_event.py b/stripe/events/_v1_financial_connections_account_ownership_refresh_succeeded_event.py new file mode 100644 index 000000000..df908effe --- /dev/null +++ b/stripe/events/_v1_financial_connections_account_ownership_refresh_succeeded_event.py @@ -0,0 +1,127 @@ +# -*- 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.financial_connections._account import Account + + +class V1FinancialConnectionsAccountOwnershipRefreshSucceededEventNotification( + EventNotification, +): + LOOKUP_TYPE = ( + "v1.financial_connections.account.ownership_refresh_succeeded" + ) + type: Literal[ + "v1.financial_connections.account.ownership_refresh_succeeded" + ] + 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, + ) -> "V1FinancialConnectionsAccountOwnershipRefreshSucceededEvent": + return cast( + "V1FinancialConnectionsAccountOwnershipRefreshSucceededEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Account": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1FinancialConnectionsAccountOwnershipRefreshSucceededEvent": + return cast( + "V1FinancialConnectionsAccountOwnershipRefreshSucceededEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Account": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1FinancialConnectionsAccountOwnershipRefreshSucceededEvent(Event): + LOOKUP_TYPE = ( + "v1.financial_connections.account.ownership_refresh_succeeded" + ) + type: Literal[ + "v1.financial_connections.account.ownership_refresh_succeeded" + ] + + 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) -> "Account": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Account", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_financial_connections_account_risk_intelligence_refresh_failed_event.py b/stripe/events/_v1_financial_connections_account_risk_intelligence_refresh_failed_event.py new file mode 100644 index 000000000..bce01f8d6 --- /dev/null +++ b/stripe/events/_v1_financial_connections_account_risk_intelligence_refresh_failed_event.py @@ -0,0 +1,127 @@ +# -*- 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.financial_connections._account import Account + + +class V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEventNotification( + EventNotification, +): + LOOKUP_TYPE = ( + "v1.financial_connections.account.risk_intelligence_refresh_failed" + ) + type: Literal[ + "v1.financial_connections.account.risk_intelligence_refresh_failed" + ] + 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, + ) -> "V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEvent": + return cast( + "V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Account": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEvent": + return cast( + "V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Account": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1FinancialConnectionsAccountRiskIntelligenceRefreshFailedEvent(Event): + LOOKUP_TYPE = ( + "v1.financial_connections.account.risk_intelligence_refresh_failed" + ) + type: Literal[ + "v1.financial_connections.account.risk_intelligence_refresh_failed" + ] + + 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) -> "Account": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Account", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_financial_connections_account_risk_intelligence_refresh_succeeded_event.py b/stripe/events/_v1_financial_connections_account_risk_intelligence_refresh_succeeded_event.py new file mode 100644 index 000000000..dedab7084 --- /dev/null +++ b/stripe/events/_v1_financial_connections_account_risk_intelligence_refresh_succeeded_event.py @@ -0,0 +1,129 @@ +# -*- 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.financial_connections._account import Account + + +class V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEventNotification( + EventNotification, +): + LOOKUP_TYPE = ( + "v1.financial_connections.account.risk_intelligence_refresh_succeeded" + ) + type: Literal[ + "v1.financial_connections.account.risk_intelligence_refresh_succeeded" + ] + 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, + ) -> "V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEvent": + return cast( + "V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Account": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEvent": + return cast( + "V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Account": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1FinancialConnectionsAccountRiskIntelligenceRefreshSucceededEvent( + Event +): + LOOKUP_TYPE = ( + "v1.financial_connections.account.risk_intelligence_refresh_succeeded" + ) + type: Literal[ + "v1.financial_connections.account.risk_intelligence_refresh_succeeded" + ] + + 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) -> "Account": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Account", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_financial_connections_account_transactions_refresh_failed_event.py b/stripe/events/_v1_financial_connections_account_transactions_refresh_failed_event.py new file mode 100644 index 000000000..48e43c371 --- /dev/null +++ b/stripe/events/_v1_financial_connections_account_transactions_refresh_failed_event.py @@ -0,0 +1,127 @@ +# -*- 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.financial_connections._account import Account + + +class V1FinancialConnectionsAccountTransactionsRefreshFailedEventNotification( + EventNotification, +): + LOOKUP_TYPE = ( + "v1.financial_connections.account.transactions_refresh_failed" + ) + type: Literal[ + "v1.financial_connections.account.transactions_refresh_failed" + ] + 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, + ) -> "V1FinancialConnectionsAccountTransactionsRefreshFailedEvent": + return cast( + "V1FinancialConnectionsAccountTransactionsRefreshFailedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Account": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1FinancialConnectionsAccountTransactionsRefreshFailedEvent": + return cast( + "V1FinancialConnectionsAccountTransactionsRefreshFailedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Account": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1FinancialConnectionsAccountTransactionsRefreshFailedEvent(Event): + LOOKUP_TYPE = ( + "v1.financial_connections.account.transactions_refresh_failed" + ) + type: Literal[ + "v1.financial_connections.account.transactions_refresh_failed" + ] + + 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) -> "Account": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Account", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_financial_connections_account_transactions_refresh_succeeded_event.py b/stripe/events/_v1_financial_connections_account_transactions_refresh_succeeded_event.py new file mode 100644 index 000000000..4c18ca6e3 --- /dev/null +++ b/stripe/events/_v1_financial_connections_account_transactions_refresh_succeeded_event.py @@ -0,0 +1,127 @@ +# -*- 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.financial_connections._account import Account + + +class V1FinancialConnectionsAccountTransactionsRefreshSucceededEventNotification( + EventNotification, +): + LOOKUP_TYPE = ( + "v1.financial_connections.account.transactions_refresh_succeeded" + ) + type: Literal[ + "v1.financial_connections.account.transactions_refresh_succeeded" + ] + 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, + ) -> "V1FinancialConnectionsAccountTransactionsRefreshSucceededEvent": + return cast( + "V1FinancialConnectionsAccountTransactionsRefreshSucceededEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Account": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1FinancialConnectionsAccountTransactionsRefreshSucceededEvent": + return cast( + "V1FinancialConnectionsAccountTransactionsRefreshSucceededEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Account": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Account", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1FinancialConnectionsAccountTransactionsRefreshSucceededEvent(Event): + LOOKUP_TYPE = ( + "v1.financial_connections.account.transactions_refresh_succeeded" + ) + type: Literal[ + "v1.financial_connections.account.transactions_refresh_succeeded" + ] + + 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) -> "Account": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Account", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoice_discount_added_event.py b/stripe/events/_v1_invoice_discount_added_event.py new file mode 100644 index 000000000..af3dfe589 --- /dev/null +++ b/stripe/events/_v1_invoice_discount_added_event.py @@ -0,0 +1,113 @@ +# -*- 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._invoice import Invoice + from stripe._stripe_client import StripeClient + + +class V1InvoiceDiscountAddedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoice.discount_added" + type: Literal["v1.invoice.discount_added"] + 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) -> "V1InvoiceDiscountAddedEvent": + return cast( + "V1InvoiceDiscountAddedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Invoice": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1InvoiceDiscountAddedEvent": + return cast( + "V1InvoiceDiscountAddedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Invoice": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoiceDiscountAddedEvent(Event): + LOOKUP_TYPE = "v1.invoice.discount_added" + type: Literal["v1.invoice.discount_added"] + + 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) -> "Invoice": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Invoice", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoice_discount_removed_event.py b/stripe/events/_v1_invoice_discount_removed_event.py new file mode 100644 index 000000000..637ab939b --- /dev/null +++ b/stripe/events/_v1_invoice_discount_removed_event.py @@ -0,0 +1,113 @@ +# -*- 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._invoice import Invoice + from stripe._stripe_client import StripeClient + + +class V1InvoiceDiscountRemovedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoice.discount_removed" + type: Literal["v1.invoice.discount_removed"] + 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) -> "V1InvoiceDiscountRemovedEvent": + return cast( + "V1InvoiceDiscountRemovedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Invoice": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1InvoiceDiscountRemovedEvent": + return cast( + "V1InvoiceDiscountRemovedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Invoice": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoiceDiscountRemovedEvent(Event): + LOOKUP_TYPE = "v1.invoice.discount_removed" + type: Literal["v1.invoice.discount_removed"] + + 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) -> "Invoice": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Invoice", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoice_line_item_added_event.py b/stripe/events/_v1_invoice_line_item_added_event.py new file mode 100644 index 000000000..e4f939530 --- /dev/null +++ b/stripe/events/_v1_invoice_line_item_added_event.py @@ -0,0 +1,113 @@ +# -*- 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._invoice import Invoice + from stripe._stripe_client import StripeClient + + +class V1InvoiceLineItemAddedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoice.line_item_added" + type: Literal["v1.invoice.line_item_added"] + 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) -> "V1InvoiceLineItemAddedEvent": + return cast( + "V1InvoiceLineItemAddedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Invoice": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1InvoiceLineItemAddedEvent": + return cast( + "V1InvoiceLineItemAddedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Invoice": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoiceLineItemAddedEvent(Event): + LOOKUP_TYPE = "v1.invoice.line_item_added" + type: Literal["v1.invoice.line_item_added"] + + 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) -> "Invoice": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Invoice", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoice_line_item_pricing_changed_event.py b/stripe/events/_v1_invoice_line_item_pricing_changed_event.py new file mode 100644 index 000000000..0c4652b04 --- /dev/null +++ b/stripe/events/_v1_invoice_line_item_pricing_changed_event.py @@ -0,0 +1,115 @@ +# -*- 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._invoice import Invoice + from stripe._stripe_client import StripeClient + + +class V1InvoiceLineItemPricingChangedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoice.line_item_pricing_changed" + type: Literal["v1.invoice.line_item_pricing_changed"] + 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) -> "V1InvoiceLineItemPricingChangedEvent": + return cast( + "V1InvoiceLineItemPricingChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Invoice": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1InvoiceLineItemPricingChangedEvent": + return cast( + "V1InvoiceLineItemPricingChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Invoice": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoiceLineItemPricingChangedEvent(Event): + LOOKUP_TYPE = "v1.invoice.line_item_pricing_changed" + type: Literal["v1.invoice.line_item_pricing_changed"] + + 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) -> "Invoice": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Invoice", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoice_line_item_quantity_changed_event.py b/stripe/events/_v1_invoice_line_item_quantity_changed_event.py new file mode 100644 index 000000000..71826b56e --- /dev/null +++ b/stripe/events/_v1_invoice_line_item_quantity_changed_event.py @@ -0,0 +1,115 @@ +# -*- 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._invoice import Invoice + from stripe._stripe_client import StripeClient + + +class V1InvoiceLineItemQuantityChangedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoice.line_item_quantity_changed" + type: Literal["v1.invoice.line_item_quantity_changed"] + 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) -> "V1InvoiceLineItemQuantityChangedEvent": + return cast( + "V1InvoiceLineItemQuantityChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Invoice": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1InvoiceLineItemQuantityChangedEvent": + return cast( + "V1InvoiceLineItemQuantityChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Invoice": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoiceLineItemQuantityChangedEvent(Event): + LOOKUP_TYPE = "v1.invoice.line_item_quantity_changed" + type: Literal["v1.invoice.line_item_quantity_changed"] + + 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) -> "Invoice": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Invoice", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoice_line_item_removed_event.py b/stripe/events/_v1_invoice_line_item_removed_event.py new file mode 100644 index 000000000..5e4647204 --- /dev/null +++ b/stripe/events/_v1_invoice_line_item_removed_event.py @@ -0,0 +1,113 @@ +# -*- 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._invoice import Invoice + from stripe._stripe_client import StripeClient + + +class V1InvoiceLineItemRemovedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoice.line_item_removed" + type: Literal["v1.invoice.line_item_removed"] + 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) -> "V1InvoiceLineItemRemovedEvent": + return cast( + "V1InvoiceLineItemRemovedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Invoice": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1InvoiceLineItemRemovedEvent": + return cast( + "V1InvoiceLineItemRemovedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Invoice": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Invoice", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoiceLineItemRemovedEvent(Event): + LOOKUP_TYPE = "v1.invoice.line_item_removed" + type: Literal["v1.invoice.line_item_removed"] + + 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) -> "Invoice": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Invoice", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoice_payment_canceled_event.py b/stripe/events/_v1_invoice_payment_canceled_event.py new file mode 100644 index 000000000..6901315ff --- /dev/null +++ b/stripe/events/_v1_invoice_payment_canceled_event.py @@ -0,0 +1,113 @@ +# -*- 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._invoice_payment import InvoicePayment + from stripe._stripe_client import StripeClient + + +class V1InvoicePaymentCanceledEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoice_payment.canceled" + type: Literal["v1.invoice_payment.canceled"] + 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) -> "V1InvoicePaymentCanceledEvent": + return cast( + "V1InvoicePaymentCanceledEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "InvoicePayment": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "InvoicePayment", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1InvoicePaymentCanceledEvent": + return cast( + "V1InvoicePaymentCanceledEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "InvoicePayment": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "InvoicePayment", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoicePaymentCanceledEvent(Event): + LOOKUP_TYPE = "v1.invoice_payment.canceled" + type: Literal["v1.invoice_payment.canceled"] + + 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) -> "InvoicePayment": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "InvoicePayment", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoice_payment_open_event.py b/stripe/events/_v1_invoice_payment_open_event.py new file mode 100644 index 000000000..42e5a0cdd --- /dev/null +++ b/stripe/events/_v1_invoice_payment_open_event.py @@ -0,0 +1,113 @@ +# -*- 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._invoice_payment import InvoicePayment + from stripe._stripe_client import StripeClient + + +class V1InvoicePaymentOpenEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoice_payment.open" + type: Literal["v1.invoice_payment.open"] + 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) -> "V1InvoicePaymentOpenEvent": + return cast( + "V1InvoicePaymentOpenEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "InvoicePayment": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "InvoicePayment", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1InvoicePaymentOpenEvent": + return cast( + "V1InvoicePaymentOpenEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "InvoicePayment": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "InvoicePayment", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoicePaymentOpenEvent(Event): + LOOKUP_TYPE = "v1.invoice_payment.open" + type: Literal["v1.invoice_payment.open"] + + 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) -> "InvoicePayment": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "InvoicePayment", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoice_upcoming_event.py b/stripe/events/_v1_invoice_upcoming_event.py index 91505066c..6ac670a56 100644 --- a/stripe/events/_v1_invoice_upcoming_event.py +++ b/stripe/events/_v1_invoice_upcoming_event.py @@ -1,8 +1,14 @@ # -*- 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 cast -from typing_extensions import Literal, override +from typing import Any, Dict, Optional, cast +from typing_extensions import Literal, TYPE_CHECKING, override + +if TYPE_CHECKING: + from stripe._api_requestor import _APIRequestor class V1InvoiceUpcomingEventNotification(EventNotification): @@ -27,3 +33,42 @@ async def fetch_event_async(self) -> "V1InvoiceUpcomingEvent": class V1InvoiceUpcomingEvent(Event): LOOKUP_TYPE = "v1.invoice.upcoming" type: Literal["v1.invoice.upcoming"] + + class V1InvoiceUpcomingEventData(StripeObject): + customer: str + """ + The ID of the customer this upcoming invoice is associated with. + """ + subscription: Optional[str] + """ + The ID of the subscription, if any. + """ + + data: V1InvoiceUpcomingEventData + """ + Data for the v1.invoice.upcoming event + """ + + @classmethod + def _construct_from( + cls, + *, + values: Dict[str, Any], + last_response: Optional[StripeResponse] = None, + requestor: "_APIRequestor", + api_mode: ApiMode, + ) -> "V1InvoiceUpcomingEvent": + evt = super()._construct_from( + values=values, + last_response=last_response, + requestor=requestor, + api_mode=api_mode, + ) + if hasattr(evt, "data"): + evt.data = V1InvoiceUpcomingEvent.V1InvoiceUpcomingEventData._construct_from( + values=evt.data, + last_response=last_response, + requestor=requestor, + api_mode=api_mode, + ) + return evt diff --git a/stripe/events/_v1_invoiceitem_amount_changed_event.py b/stripe/events/_v1_invoiceitem_amount_changed_event.py new file mode 100644 index 000000000..7f4102a10 --- /dev/null +++ b/stripe/events/_v1_invoiceitem_amount_changed_event.py @@ -0,0 +1,113 @@ +# -*- 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._invoice_item import InvoiceItem + from stripe._stripe_client import StripeClient + + +class V1InvoiceitemAmountChangedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoiceitem.amount_changed" + type: Literal["v1.invoiceitem.amount_changed"] + 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) -> "V1InvoiceitemAmountChangedEvent": + return cast( + "V1InvoiceitemAmountChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "InvoiceItem": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "InvoiceItem", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1InvoiceitemAmountChangedEvent": + return cast( + "V1InvoiceitemAmountChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "InvoiceItem": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "InvoiceItem", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoiceitemAmountChangedEvent(Event): + LOOKUP_TYPE = "v1.invoiceitem.amount_changed" + type: Literal["v1.invoiceitem.amount_changed"] + + 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) -> "InvoiceItem": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "InvoiceItem", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoiceitem_discount_added_event.py b/stripe/events/_v1_invoiceitem_discount_added_event.py new file mode 100644 index 000000000..28ecf68e3 --- /dev/null +++ b/stripe/events/_v1_invoiceitem_discount_added_event.py @@ -0,0 +1,113 @@ +# -*- 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._invoice_item import InvoiceItem + from stripe._stripe_client import StripeClient + + +class V1InvoiceitemDiscountAddedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoiceitem.discount_added" + type: Literal["v1.invoiceitem.discount_added"] + 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) -> "V1InvoiceitemDiscountAddedEvent": + return cast( + "V1InvoiceitemDiscountAddedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "InvoiceItem": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "InvoiceItem", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1InvoiceitemDiscountAddedEvent": + return cast( + "V1InvoiceitemDiscountAddedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "InvoiceItem": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "InvoiceItem", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoiceitemDiscountAddedEvent(Event): + LOOKUP_TYPE = "v1.invoiceitem.discount_added" + type: Literal["v1.invoiceitem.discount_added"] + + 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) -> "InvoiceItem": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "InvoiceItem", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_invoiceitem_discount_removed_event.py b/stripe/events/_v1_invoiceitem_discount_removed_event.py new file mode 100644 index 000000000..50f3e6c58 --- /dev/null +++ b/stripe/events/_v1_invoiceitem_discount_removed_event.py @@ -0,0 +1,113 @@ +# -*- 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._invoice_item import InvoiceItem + from stripe._stripe_client import StripeClient + + +class V1InvoiceitemDiscountRemovedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.invoiceitem.discount_removed" + type: Literal["v1.invoiceitem.discount_removed"] + 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) -> "V1InvoiceitemDiscountRemovedEvent": + return cast( + "V1InvoiceitemDiscountRemovedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "InvoiceItem": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "InvoiceItem", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1InvoiceitemDiscountRemovedEvent": + return cast( + "V1InvoiceitemDiscountRemovedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "InvoiceItem": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "InvoiceItem", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1InvoiceitemDiscountRemovedEvent(Event): + LOOKUP_TYPE = "v1.invoiceitem.discount_removed" + type: Literal["v1.invoiceitem.discount_removed"] + + 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) -> "InvoiceItem": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "InvoiceItem", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_price_activated_event.py b/stripe/events/_v1_price_activated_event.py new file mode 100644 index 000000000..eb14b09f4 --- /dev/null +++ b/stripe/events/_v1_price_activated_event.py @@ -0,0 +1,113 @@ +# -*- 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._price import Price + from stripe._stripe_client import StripeClient + + +class V1PriceActivatedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.price.activated" + type: Literal["v1.price.activated"] + 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) -> "V1PriceActivatedEvent": + return cast( + "V1PriceActivatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Price": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Price", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1PriceActivatedEvent": + return cast( + "V1PriceActivatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Price": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Price", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1PriceActivatedEvent(Event): + LOOKUP_TYPE = "v1.price.activated" + type: Literal["v1.price.activated"] + + 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) -> "Price": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Price", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_price_deactivated_event.py b/stripe/events/_v1_price_deactivated_event.py new file mode 100644 index 000000000..5e43eb50d --- /dev/null +++ b/stripe/events/_v1_price_deactivated_event.py @@ -0,0 +1,113 @@ +# -*- 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._price import Price + from stripe._stripe_client import StripeClient + + +class V1PriceDeactivatedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.price.deactivated" + type: Literal["v1.price.deactivated"] + 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) -> "V1PriceDeactivatedEvent": + return cast( + "V1PriceDeactivatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Price": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Price", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1PriceDeactivatedEvent": + return cast( + "V1PriceDeactivatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Price": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Price", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1PriceDeactivatedEvent(Event): + LOOKUP_TYPE = "v1.price.deactivated" + type: Literal["v1.price.deactivated"] + + 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) -> "Price": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Price", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_price_lookup_key_changed_event.py b/stripe/events/_v1_price_lookup_key_changed_event.py new file mode 100644 index 000000000..3bf71ecc9 --- /dev/null +++ b/stripe/events/_v1_price_lookup_key_changed_event.py @@ -0,0 +1,113 @@ +# -*- 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._price import Price + from stripe._stripe_client import StripeClient + + +class V1PriceLookupKeyChangedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.price.lookup_key_changed" + type: Literal["v1.price.lookup_key_changed"] + 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) -> "V1PriceLookupKeyChangedEvent": + return cast( + "V1PriceLookupKeyChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Price": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Price", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1PriceLookupKeyChangedEvent": + return cast( + "V1PriceLookupKeyChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Price": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Price", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1PriceLookupKeyChangedEvent(Event): + LOOKUP_TYPE = "v1.price.lookup_key_changed" + type: Literal["v1.price.lookup_key_changed"] + + 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) -> "Price": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Price", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_price_tax_behavior_changed_event.py b/stripe/events/_v1_price_tax_behavior_changed_event.py new file mode 100644 index 000000000..358723260 --- /dev/null +++ b/stripe/events/_v1_price_tax_behavior_changed_event.py @@ -0,0 +1,113 @@ +# -*- 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._price import Price + from stripe._stripe_client import StripeClient + + +class V1PriceTaxBehaviorChangedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.price.tax_behavior_changed" + type: Literal["v1.price.tax_behavior_changed"] + 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) -> "V1PriceTaxBehaviorChangedEvent": + return cast( + "V1PriceTaxBehaviorChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Price": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Price", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1PriceTaxBehaviorChangedEvent": + return cast( + "V1PriceTaxBehaviorChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Price": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Price", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1PriceTaxBehaviorChangedEvent(Event): + LOOKUP_TYPE = "v1.price.tax_behavior_changed" + type: Literal["v1.price.tax_behavior_changed"] + + 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) -> "Price": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Price", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_product_activated_event.py b/stripe/events/_v1_product_activated_event.py new file mode 100644 index 000000000..444a727a3 --- /dev/null +++ b/stripe/events/_v1_product_activated_event.py @@ -0,0 +1,113 @@ +# -*- 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._product import Product + from stripe._stripe_client import StripeClient + + +class V1ProductActivatedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.product.activated" + type: Literal["v1.product.activated"] + 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) -> "V1ProductActivatedEvent": + return cast( + "V1ProductActivatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Product": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Product", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1ProductActivatedEvent": + return cast( + "V1ProductActivatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Product": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Product", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1ProductActivatedEvent(Event): + LOOKUP_TYPE = "v1.product.activated" + type: Literal["v1.product.activated"] + + 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) -> "Product": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Product", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_product_deactivated_event.py b/stripe/events/_v1_product_deactivated_event.py new file mode 100644 index 000000000..733e23ee3 --- /dev/null +++ b/stripe/events/_v1_product_deactivated_event.py @@ -0,0 +1,113 @@ +# -*- 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._product import Product + from stripe._stripe_client import StripeClient + + +class V1ProductDeactivatedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.product.deactivated" + type: Literal["v1.product.deactivated"] + 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) -> "V1ProductDeactivatedEvent": + return cast( + "V1ProductDeactivatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Product": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Product", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1ProductDeactivatedEvent": + return cast( + "V1ProductDeactivatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Product": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Product", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1ProductDeactivatedEvent(Event): + LOOKUP_TYPE = "v1.product.deactivated" + type: Literal["v1.product.deactivated"] + + 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) -> "Product": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Product", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_product_default_price_changed_event.py b/stripe/events/_v1_product_default_price_changed_event.py new file mode 100644 index 000000000..2f67e4114 --- /dev/null +++ b/stripe/events/_v1_product_default_price_changed_event.py @@ -0,0 +1,113 @@ +# -*- 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._product import Product + from stripe._stripe_client import StripeClient + + +class V1ProductDefaultPriceChangedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.product.default_price_changed" + type: Literal["v1.product.default_price_changed"] + 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) -> "V1ProductDefaultPriceChangedEvent": + return cast( + "V1ProductDefaultPriceChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Product": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Product", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1ProductDefaultPriceChangedEvent": + return cast( + "V1ProductDefaultPriceChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Product": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Product", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1ProductDefaultPriceChangedEvent(Event): + LOOKUP_TYPE = "v1.product.default_price_changed" + type: Literal["v1.product.default_price_changed"] + + 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) -> "Product": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Product", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_product_tax_code_changed_event.py b/stripe/events/_v1_product_tax_code_changed_event.py new file mode 100644 index 000000000..7231a19bb --- /dev/null +++ b/stripe/events/_v1_product_tax_code_changed_event.py @@ -0,0 +1,113 @@ +# -*- 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._product import Product + from stripe._stripe_client import StripeClient + + +class V1ProductTaxCodeChangedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.product.tax_code_changed" + type: Literal["v1.product.tax_code_changed"] + 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) -> "V1ProductTaxCodeChangedEvent": + return cast( + "V1ProductTaxCodeChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "Product": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Product", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1ProductTaxCodeChangedEvent": + return cast( + "V1ProductTaxCodeChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "Product": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "Product", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1ProductTaxCodeChangedEvent(Event): + LOOKUP_TYPE = "v1.product.tax_code_changed" + type: Literal["v1.product.tax_code_changed"] + + 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) -> "Product": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "Product", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_promotion_code_fully_redeemed_event.py b/stripe/events/_v1_promotion_code_fully_redeemed_event.py new file mode 100644 index 000000000..e582903eb --- /dev/null +++ b/stripe/events/_v1_promotion_code_fully_redeemed_event.py @@ -0,0 +1,113 @@ +# -*- 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._promotion_code import PromotionCode + from stripe._stripe_client import StripeClient + + +class V1PromotionCodeFullyRedeemedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.promotion_code.fully_redeemed" + type: Literal["v1.promotion_code.fully_redeemed"] + 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) -> "V1PromotionCodeFullyRedeemedEvent": + return cast( + "V1PromotionCodeFullyRedeemedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "PromotionCode": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PromotionCode", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V1PromotionCodeFullyRedeemedEvent": + return cast( + "V1PromotionCodeFullyRedeemedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "PromotionCode": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PromotionCode", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1PromotionCodeFullyRedeemedEvent(Event): + LOOKUP_TYPE = "v1.promotion_code.fully_redeemed" + type: Literal["v1.promotion_code.fully_redeemed"] + + 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) -> "PromotionCode": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "PromotionCode", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_subscription_schedule_phase_added_event.py b/stripe/events/_v1_subscription_schedule_phase_added_event.py new file mode 100644 index 000000000..cc20de5bc --- /dev/null +++ b/stripe/events/_v1_subscription_schedule_phase_added_event.py @@ -0,0 +1,115 @@ +# -*- 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._subscription_schedule import SubscriptionSchedule + + +class V1SubscriptionSchedulePhaseAddedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.subscription_schedule.phase_added" + type: Literal["v1.subscription_schedule.phase_added"] + 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) -> "V1SubscriptionSchedulePhaseAddedEvent": + return cast( + "V1SubscriptionSchedulePhaseAddedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "SubscriptionSchedule": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "SubscriptionSchedule", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1SubscriptionSchedulePhaseAddedEvent": + return cast( + "V1SubscriptionSchedulePhaseAddedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "SubscriptionSchedule": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "SubscriptionSchedule", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1SubscriptionSchedulePhaseAddedEvent(Event): + LOOKUP_TYPE = "v1.subscription_schedule.phase_added" + type: Literal["v1.subscription_schedule.phase_added"] + + 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) -> "SubscriptionSchedule": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "SubscriptionSchedule", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_subscription_schedule_phase_default_tax_rates_changed_event.py b/stripe/events/_v1_subscription_schedule_phase_default_tax_rates_changed_event.py new file mode 100644 index 000000000..51dbe50a1 --- /dev/null +++ b/stripe/events/_v1_subscription_schedule_phase_default_tax_rates_changed_event.py @@ -0,0 +1,119 @@ +# -*- 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._subscription_schedule import SubscriptionSchedule + + +class V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.subscription_schedule.phase_default_tax_rates_changed" + type: Literal["v1.subscription_schedule.phase_default_tax_rates_changed"] + 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, + ) -> "V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEvent": + return cast( + "V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "SubscriptionSchedule": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "SubscriptionSchedule", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEvent": + return cast( + "V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "SubscriptionSchedule": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "SubscriptionSchedule", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1SubscriptionSchedulePhaseDefaultTaxRatesChangedEvent(Event): + LOOKUP_TYPE = "v1.subscription_schedule.phase_default_tax_rates_changed" + type: Literal["v1.subscription_schedule.phase_default_tax_rates_changed"] + + 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) -> "SubscriptionSchedule": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "SubscriptionSchedule", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_subscription_schedule_phase_end_date_changed_event.py b/stripe/events/_v1_subscription_schedule_phase_end_date_changed_event.py new file mode 100644 index 000000000..2cdaccea0 --- /dev/null +++ b/stripe/events/_v1_subscription_schedule_phase_end_date_changed_event.py @@ -0,0 +1,117 @@ +# -*- 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._subscription_schedule import SubscriptionSchedule + + +class V1SubscriptionSchedulePhaseEndDateChangedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.subscription_schedule.phase_end_date_changed" + type: Literal["v1.subscription_schedule.phase_end_date_changed"] + 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) -> "V1SubscriptionSchedulePhaseEndDateChangedEvent": + return cast( + "V1SubscriptionSchedulePhaseEndDateChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "SubscriptionSchedule": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "SubscriptionSchedule", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1SubscriptionSchedulePhaseEndDateChangedEvent": + return cast( + "V1SubscriptionSchedulePhaseEndDateChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "SubscriptionSchedule": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "SubscriptionSchedule", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1SubscriptionSchedulePhaseEndDateChangedEvent(Event): + LOOKUP_TYPE = "v1.subscription_schedule.phase_end_date_changed" + type: Literal["v1.subscription_schedule.phase_end_date_changed"] + + 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) -> "SubscriptionSchedule": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "SubscriptionSchedule", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_subscription_schedule_phase_removed_event.py b/stripe/events/_v1_subscription_schedule_phase_removed_event.py new file mode 100644 index 000000000..bb4445e4c --- /dev/null +++ b/stripe/events/_v1_subscription_schedule_phase_removed_event.py @@ -0,0 +1,115 @@ +# -*- 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._subscription_schedule import SubscriptionSchedule + + +class V1SubscriptionSchedulePhaseRemovedEventNotification(EventNotification): + LOOKUP_TYPE = "v1.subscription_schedule.phase_removed" + type: Literal["v1.subscription_schedule.phase_removed"] + 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) -> "V1SubscriptionSchedulePhaseRemovedEvent": + return cast( + "V1SubscriptionSchedulePhaseRemovedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "SubscriptionSchedule": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "SubscriptionSchedule", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1SubscriptionSchedulePhaseRemovedEvent": + return cast( + "V1SubscriptionSchedulePhaseRemovedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "SubscriptionSchedule": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "SubscriptionSchedule", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1SubscriptionSchedulePhaseRemovedEvent(Event): + LOOKUP_TYPE = "v1.subscription_schedule.phase_removed" + type: Literal["v1.subscription_schedule.phase_removed"] + + 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) -> "SubscriptionSchedule": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "SubscriptionSchedule", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v1_subscription_schedule_phase_trial_end_changed_event.py b/stripe/events/_v1_subscription_schedule_phase_trial_end_changed_event.py new file mode 100644 index 000000000..cced062ee --- /dev/null +++ b/stripe/events/_v1_subscription_schedule_phase_trial_end_changed_event.py @@ -0,0 +1,117 @@ +# -*- 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._subscription_schedule import SubscriptionSchedule + + +class V1SubscriptionSchedulePhaseTrialEndChangedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v1.subscription_schedule.phase_trial_end_changed" + type: Literal["v1.subscription_schedule.phase_trial_end_changed"] + 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) -> "V1SubscriptionSchedulePhaseTrialEndChangedEvent": + return cast( + "V1SubscriptionSchedulePhaseTrialEndChangedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "SubscriptionSchedule": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "SubscriptionSchedule", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V1SubscriptionSchedulePhaseTrialEndChangedEvent": + return cast( + "V1SubscriptionSchedulePhaseTrialEndChangedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "SubscriptionSchedule": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "SubscriptionSchedule", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V1SubscriptionSchedulePhaseTrialEndChangedEvent(Event): + LOOKUP_TYPE = "v1.subscription_schedule.phase_trial_end_changed" + type: Literal["v1.subscription_schedule.phase_trial_end_changed"] + + 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) -> "SubscriptionSchedule": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "SubscriptionSchedule", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_core_account_including_configuration_recipient_capability_status_updated_event.py b/stripe/events/_v2_core_account_including_configuration_recipient_capability_status_updated_event.py index c07e367c5..a98a99677 100644 --- a/stripe/events/_v2_core_account_including_configuration_recipient_capability_status_updated_event.py +++ b/stripe/events/_v2_core_account_including_configuration_recipient_capability_status_updated_event.py @@ -100,9 +100,16 @@ class V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEventDa ): updated_capability: Union[ Literal[ + "bank_accounts.ach", + "bank_accounts.fedwire", + "bank_accounts.fps", "bank_accounts.local", + "bank_accounts.rtp", + "bank_accounts.sepa", + "bank_accounts.swift", "bank_accounts.wire", "cards", + "crypto_wallets_v2", "stripe_balance.payouts", "stripe_balance.stripe_transfers", "stripe.transfers", diff --git a/stripe/events/_v2_data_query_run_created_event.py b/stripe/events/_v2_data_query_run_created_event.py new file mode 100644 index 000000000..b2367eb46 --- /dev/null +++ b/stripe/events/_v2_data_query_run_created_event.py @@ -0,0 +1,113 @@ +# -*- 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.data._query_run import QueryRun + + +class V2DataQueryRunCreatedEventNotification(EventNotification): + LOOKUP_TYPE = "v2.data.query_run.created" + type: Literal["v2.data.query_run.created"] + 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) -> "V2DataQueryRunCreatedEvent": + return cast( + "V2DataQueryRunCreatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "QueryRun": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "QueryRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V2DataQueryRunCreatedEvent": + return cast( + "V2DataQueryRunCreatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "QueryRun": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "QueryRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2DataQueryRunCreatedEvent(Event): + LOOKUP_TYPE = "v2.data.query_run.created" + type: Literal["v2.data.query_run.created"] + + 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) -> "QueryRun": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "QueryRun", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_data_query_run_failed_event.py b/stripe/events/_v2_data_query_run_failed_event.py new file mode 100644 index 000000000..c5fc62eeb --- /dev/null +++ b/stripe/events/_v2_data_query_run_failed_event.py @@ -0,0 +1,113 @@ +# -*- 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.data._query_run import QueryRun + + +class V2DataQueryRunFailedEventNotification(EventNotification): + LOOKUP_TYPE = "v2.data.query_run.failed" + type: Literal["v2.data.query_run.failed"] + 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) -> "V2DataQueryRunFailedEvent": + return cast( + "V2DataQueryRunFailedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "QueryRun": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "QueryRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V2DataQueryRunFailedEvent": + return cast( + "V2DataQueryRunFailedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "QueryRun": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "QueryRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2DataQueryRunFailedEvent(Event): + LOOKUP_TYPE = "v2.data.query_run.failed" + type: Literal["v2.data.query_run.failed"] + + 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) -> "QueryRun": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "QueryRun", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_data_query_run_succeeded_event.py b/stripe/events/_v2_data_query_run_succeeded_event.py new file mode 100644 index 000000000..86343daf7 --- /dev/null +++ b/stripe/events/_v2_data_query_run_succeeded_event.py @@ -0,0 +1,113 @@ +# -*- 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.data._query_run import QueryRun + + +class V2DataQueryRunSucceededEventNotification(EventNotification): + LOOKUP_TYPE = "v2.data.query_run.succeeded" + type: Literal["v2.data.query_run.succeeded"] + 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) -> "V2DataQueryRunSucceededEvent": + return cast( + "V2DataQueryRunSucceededEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "QueryRun": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "QueryRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V2DataQueryRunSucceededEvent": + return cast( + "V2DataQueryRunSucceededEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "QueryRun": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "QueryRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2DataQueryRunSucceededEvent(Event): + LOOKUP_TYPE = "v2.data.query_run.succeeded" + type: Literal["v2.data.query_run.succeeded"] + + 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) -> "QueryRun": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "QueryRun", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_data_query_run_updated_event.py b/stripe/events/_v2_data_query_run_updated_event.py new file mode 100644 index 000000000..aa8ef758f --- /dev/null +++ b/stripe/events/_v2_data_query_run_updated_event.py @@ -0,0 +1,113 @@ +# -*- 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.data._query_run import QueryRun + + +class V2DataQueryRunUpdatedEventNotification(EventNotification): + LOOKUP_TYPE = "v2.data.query_run.updated" + type: Literal["v2.data.query_run.updated"] + 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) -> "V2DataQueryRunUpdatedEvent": + return cast( + "V2DataQueryRunUpdatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "QueryRun": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "QueryRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V2DataQueryRunUpdatedEvent": + return cast( + "V2DataQueryRunUpdatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "QueryRun": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "QueryRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2DataQueryRunUpdatedEvent(Event): + LOOKUP_TYPE = "v2.data.query_run.updated" + type: Literal["v2.data.query_run.updated"] + + 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) -> "QueryRun": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "QueryRun", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_data_report_run_created_event.py b/stripe/events/_v2_data_report_run_created_event.py new file mode 100644 index 000000000..29d001269 --- /dev/null +++ b/stripe/events/_v2_data_report_run_created_event.py @@ -0,0 +1,113 @@ +# -*- 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.data._report_run import ReportRun + + +class V2DataReportRunCreatedEventNotification(EventNotification): + LOOKUP_TYPE = "v2.data.report_run.created" + type: Literal["v2.data.report_run.created"] + 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) -> "V2DataReportRunCreatedEvent": + return cast( + "V2DataReportRunCreatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "ReportRun": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "ReportRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V2DataReportRunCreatedEvent": + return cast( + "V2DataReportRunCreatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "ReportRun": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "ReportRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2DataReportRunCreatedEvent(Event): + LOOKUP_TYPE = "v2.data.report_run.created" + type: Literal["v2.data.report_run.created"] + + 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) -> "ReportRun": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "ReportRun", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_data_report_run_failed_event.py b/stripe/events/_v2_data_report_run_failed_event.py new file mode 100644 index 000000000..dcb40497f --- /dev/null +++ b/stripe/events/_v2_data_report_run_failed_event.py @@ -0,0 +1,113 @@ +# -*- 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.data._report_run import ReportRun + + +class V2DataReportRunFailedEventNotification(EventNotification): + LOOKUP_TYPE = "v2.data.report_run.failed" + type: Literal["v2.data.report_run.failed"] + 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) -> "V2DataReportRunFailedEvent": + return cast( + "V2DataReportRunFailedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "ReportRun": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "ReportRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V2DataReportRunFailedEvent": + return cast( + "V2DataReportRunFailedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "ReportRun": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "ReportRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2DataReportRunFailedEvent(Event): + LOOKUP_TYPE = "v2.data.report_run.failed" + type: Literal["v2.data.report_run.failed"] + + 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) -> "ReportRun": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "ReportRun", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_data_report_run_succeeded_event.py b/stripe/events/_v2_data_report_run_succeeded_event.py new file mode 100644 index 000000000..027f307be --- /dev/null +++ b/stripe/events/_v2_data_report_run_succeeded_event.py @@ -0,0 +1,113 @@ +# -*- 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.data._report_run import ReportRun + + +class V2DataReportRunSucceededEventNotification(EventNotification): + LOOKUP_TYPE = "v2.data.report_run.succeeded" + type: Literal["v2.data.report_run.succeeded"] + 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) -> "V2DataReportRunSucceededEvent": + return cast( + "V2DataReportRunSucceededEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "ReportRun": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "ReportRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V2DataReportRunSucceededEvent": + return cast( + "V2DataReportRunSucceededEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "ReportRun": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "ReportRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2DataReportRunSucceededEvent(Event): + LOOKUP_TYPE = "v2.data.report_run.succeeded" + type: Literal["v2.data.report_run.succeeded"] + + 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) -> "ReportRun": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "ReportRun", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_data_report_run_updated_event.py b/stripe/events/_v2_data_report_run_updated_event.py new file mode 100644 index 000000000..bdb185f07 --- /dev/null +++ b/stripe/events/_v2_data_report_run_updated_event.py @@ -0,0 +1,113 @@ +# -*- 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.data._report_run import ReportRun + + +class V2DataReportRunUpdatedEventNotification(EventNotification): + LOOKUP_TYPE = "v2.data.report_run.updated" + type: Literal["v2.data.report_run.updated"] + 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) -> "V2DataReportRunUpdatedEvent": + return cast( + "V2DataReportRunUpdatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "ReportRun": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "ReportRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async(self) -> "V2DataReportRunUpdatedEvent": + return cast( + "V2DataReportRunUpdatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "ReportRun": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "ReportRun", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2DataReportRunUpdatedEvent(Event): + LOOKUP_TYPE = "v2.data.report_run.updated" + type: Literal["v2.data.report_run.updated"] + + 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) -> "ReportRun": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "ReportRun", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_money_management_payout_intent_canceled_event.py b/stripe/events/_v2_money_management_payout_intent_canceled_event.py new file mode 100644 index 000000000..039428181 --- /dev/null +++ b/stripe/events/_v2_money_management_payout_intent_canceled_event.py @@ -0,0 +1,117 @@ +# -*- 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.money_management._payout_intent import PayoutIntent + + +class V2MoneyManagementPayoutIntentCanceledEventNotification( + EventNotification +): + LOOKUP_TYPE = "v2.money_management.payout_intent.canceled" + type: Literal["v2.money_management.payout_intent.canceled"] + 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) -> "V2MoneyManagementPayoutIntentCanceledEvent": + return cast( + "V2MoneyManagementPayoutIntentCanceledEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "PayoutIntent": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V2MoneyManagementPayoutIntentCanceledEvent": + return cast( + "V2MoneyManagementPayoutIntentCanceledEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "PayoutIntent": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2MoneyManagementPayoutIntentCanceledEvent(Event): + LOOKUP_TYPE = "v2.money_management.payout_intent.canceled" + type: Literal["v2.money_management.payout_intent.canceled"] + + 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) -> "PayoutIntent": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "PayoutIntent", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_money_management_payout_intent_created_event.py b/stripe/events/_v2_money_management_payout_intent_created_event.py new file mode 100644 index 000000000..066f5ec50 --- /dev/null +++ b/stripe/events/_v2_money_management_payout_intent_created_event.py @@ -0,0 +1,115 @@ +# -*- 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.money_management._payout_intent import PayoutIntent + + +class V2MoneyManagementPayoutIntentCreatedEventNotification(EventNotification): + LOOKUP_TYPE = "v2.money_management.payout_intent.created" + type: Literal["v2.money_management.payout_intent.created"] + 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) -> "V2MoneyManagementPayoutIntentCreatedEvent": + return cast( + "V2MoneyManagementPayoutIntentCreatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "PayoutIntent": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V2MoneyManagementPayoutIntentCreatedEvent": + return cast( + "V2MoneyManagementPayoutIntentCreatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "PayoutIntent": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2MoneyManagementPayoutIntentCreatedEvent(Event): + LOOKUP_TYPE = "v2.money_management.payout_intent.created" + type: Literal["v2.money_management.payout_intent.created"] + + 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) -> "PayoutIntent": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "PayoutIntent", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_money_management_payout_intent_pending_event.py b/stripe/events/_v2_money_management_payout_intent_pending_event.py new file mode 100644 index 000000000..c390b8947 --- /dev/null +++ b/stripe/events/_v2_money_management_payout_intent_pending_event.py @@ -0,0 +1,115 @@ +# -*- 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.money_management._payout_intent import PayoutIntent + + +class V2MoneyManagementPayoutIntentPendingEventNotification(EventNotification): + LOOKUP_TYPE = "v2.money_management.payout_intent.pending" + type: Literal["v2.money_management.payout_intent.pending"] + 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) -> "V2MoneyManagementPayoutIntentPendingEvent": + return cast( + "V2MoneyManagementPayoutIntentPendingEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "PayoutIntent": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V2MoneyManagementPayoutIntentPendingEvent": + return cast( + "V2MoneyManagementPayoutIntentPendingEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "PayoutIntent": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2MoneyManagementPayoutIntentPendingEvent(Event): + LOOKUP_TYPE = "v2.money_management.payout_intent.pending" + type: Literal["v2.money_management.payout_intent.pending"] + + 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) -> "PayoutIntent": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "PayoutIntent", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_money_management_payout_intent_posted_event.py b/stripe/events/_v2_money_management_payout_intent_posted_event.py new file mode 100644 index 000000000..e9958581f --- /dev/null +++ b/stripe/events/_v2_money_management_payout_intent_posted_event.py @@ -0,0 +1,115 @@ +# -*- 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.money_management._payout_intent import PayoutIntent + + +class V2MoneyManagementPayoutIntentPostedEventNotification(EventNotification): + LOOKUP_TYPE = "v2.money_management.payout_intent.posted" + type: Literal["v2.money_management.payout_intent.posted"] + 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) -> "V2MoneyManagementPayoutIntentPostedEvent": + return cast( + "V2MoneyManagementPayoutIntentPostedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "PayoutIntent": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V2MoneyManagementPayoutIntentPostedEvent": + return cast( + "V2MoneyManagementPayoutIntentPostedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "PayoutIntent": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2MoneyManagementPayoutIntentPostedEvent(Event): + LOOKUP_TYPE = "v2.money_management.payout_intent.posted" + type: Literal["v2.money_management.payout_intent.posted"] + + 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) -> "PayoutIntent": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "PayoutIntent", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_money_management_payout_intent_processing_event.py b/stripe/events/_v2_money_management_payout_intent_processing_event.py new file mode 100644 index 000000000..41234d8a9 --- /dev/null +++ b/stripe/events/_v2_money_management_payout_intent_processing_event.py @@ -0,0 +1,117 @@ +# -*- 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.money_management._payout_intent import PayoutIntent + + +class V2MoneyManagementPayoutIntentProcessingEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v2.money_management.payout_intent.processing" + type: Literal["v2.money_management.payout_intent.processing"] + 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) -> "V2MoneyManagementPayoutIntentProcessingEvent": + return cast( + "V2MoneyManagementPayoutIntentProcessingEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "PayoutIntent": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V2MoneyManagementPayoutIntentProcessingEvent": + return cast( + "V2MoneyManagementPayoutIntentProcessingEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "PayoutIntent": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2MoneyManagementPayoutIntentProcessingEvent(Event): + LOOKUP_TYPE = "v2.money_management.payout_intent.processing" + type: Literal["v2.money_management.payout_intent.processing"] + + 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) -> "PayoutIntent": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "PayoutIntent", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_money_management_payout_intent_requires_action_event.py b/stripe/events/_v2_money_management_payout_intent_requires_action_event.py new file mode 100644 index 000000000..455d6ea8e --- /dev/null +++ b/stripe/events/_v2_money_management_payout_intent_requires_action_event.py @@ -0,0 +1,119 @@ +# -*- 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.money_management._payout_intent import PayoutIntent + + +class V2MoneyManagementPayoutIntentRequiresActionEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v2.money_management.payout_intent.requires_action" + type: Literal["v2.money_management.payout_intent.requires_action"] + 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, + ) -> "V2MoneyManagementPayoutIntentRequiresActionEvent": + return cast( + "V2MoneyManagementPayoutIntentRequiresActionEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "PayoutIntent": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V2MoneyManagementPayoutIntentRequiresActionEvent": + return cast( + "V2MoneyManagementPayoutIntentRequiresActionEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "PayoutIntent": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2MoneyManagementPayoutIntentRequiresActionEvent(Event): + LOOKUP_TYPE = "v2.money_management.payout_intent.requires_action" + type: Literal["v2.money_management.payout_intent.requires_action"] + + 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) -> "PayoutIntent": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "PayoutIntent", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_money_management_payout_intent_updated_event.py b/stripe/events/_v2_money_management_payout_intent_updated_event.py new file mode 100644 index 000000000..3cbc5f2dc --- /dev/null +++ b/stripe/events/_v2_money_management_payout_intent_updated_event.py @@ -0,0 +1,115 @@ +# -*- 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.money_management._payout_intent import PayoutIntent + + +class V2MoneyManagementPayoutIntentUpdatedEventNotification(EventNotification): + LOOKUP_TYPE = "v2.money_management.payout_intent.updated" + type: Literal["v2.money_management.payout_intent.updated"] + 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) -> "V2MoneyManagementPayoutIntentUpdatedEvent": + return cast( + "V2MoneyManagementPayoutIntentUpdatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "PayoutIntent": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V2MoneyManagementPayoutIntentUpdatedEvent": + return cast( + "V2MoneyManagementPayoutIntentUpdatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "PayoutIntent": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "PayoutIntent", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2MoneyManagementPayoutIntentUpdatedEvent(Event): + LOOKUP_TYPE = "v2.money_management.payout_intent.updated" + type: Literal["v2.money_management.payout_intent.updated"] + + 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) -> "PayoutIntent": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "PayoutIntent", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_money_management_recipient_verification_created_event.py b/stripe/events/_v2_money_management_recipient_verification_created_event.py new file mode 100644 index 000000000..b2c7bb37f --- /dev/null +++ b/stripe/events/_v2_money_management_recipient_verification_created_event.py @@ -0,0 +1,121 @@ +# -*- 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.money_management._recipient_verification import ( + RecipientVerification, + ) + + +class V2MoneyManagementRecipientVerificationCreatedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v2.money_management.recipient_verification.created" + type: Literal["v2.money_management.recipient_verification.created"] + 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, + ) -> "V2MoneyManagementRecipientVerificationCreatedEvent": + return cast( + "V2MoneyManagementRecipientVerificationCreatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "RecipientVerification": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "RecipientVerification", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V2MoneyManagementRecipientVerificationCreatedEvent": + return cast( + "V2MoneyManagementRecipientVerificationCreatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "RecipientVerification": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "RecipientVerification", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2MoneyManagementRecipientVerificationCreatedEvent(Event): + LOOKUP_TYPE = "v2.money_management.recipient_verification.created" + type: Literal["v2.money_management.recipient_verification.created"] + + 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) -> "RecipientVerification": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "RecipientVerification", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/events/_v2_money_management_recipient_verification_updated_event.py b/stripe/events/_v2_money_management_recipient_verification_updated_event.py new file mode 100644 index 000000000..dc992a997 --- /dev/null +++ b/stripe/events/_v2_money_management_recipient_verification_updated_event.py @@ -0,0 +1,121 @@ +# -*- 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.money_management._recipient_verification import ( + RecipientVerification, + ) + + +class V2MoneyManagementRecipientVerificationUpdatedEventNotification( + EventNotification, +): + LOOKUP_TYPE = "v2.money_management.recipient_verification.updated" + type: Literal["v2.money_management.recipient_verification.updated"] + 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, + ) -> "V2MoneyManagementRecipientVerificationUpdatedEvent": + return cast( + "V2MoneyManagementRecipientVerificationUpdatedEvent", + super().fetch_event(), + ) + + def fetch_related_object(self) -> "RecipientVerification": + response = self._client.raw_request( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "RecipientVerification", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + @override + async def fetch_event_async( + self, + ) -> "V2MoneyManagementRecipientVerificationUpdatedEvent": + return cast( + "V2MoneyManagementRecipientVerificationUpdatedEvent", + await super().fetch_event_async(), + ) + + async def fetch_related_object_async(self) -> "RecipientVerification": + response = await self._client.raw_request_async( + "get", + self.related_object.url, + stripe_context=self.context, + headers={"Stripe-Request-Trigger": f"event={self.id}"}, + usage=["fetch_related_object"], + ) + return cast( + "RecipientVerification", + self._client.deserialize( + response, + api_mode=get_api_mode(self.related_object.url), + ), + ) + + +class V2MoneyManagementRecipientVerificationUpdatedEvent(Event): + LOOKUP_TYPE = "v2.money_management.recipient_verification.updated" + type: Literal["v2.money_management.recipient_verification.updated"] + + 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) -> "RecipientVerification": + """ + Retrieves the related object from the API. Makes an API request on every call. + """ + return cast( + "RecipientVerification", + self._requestor.request( + "get", + self.related_object.url, + base_address="api", + options={ + "stripe_context": self.context, + "headers": {"Stripe-Request-Trigger": f"event={self.id}"}, + }, + ), + ) diff --git a/stripe/financial_connections/_account.py b/stripe/financial_connections/_account.py index 1301af8fa..2ac3086e6 100644 --- a/stripe/financial_connections/_account.py +++ b/stripe/financial_connections/_account.py @@ -300,7 +300,7 @@ class TransactionRefresh(StripeObject): """ ownership: Optional[ExpandableField["AccountOwnership"]] """ - The most recent information about the account's owners. + The ID of the [Financial Connections Account Ownership](https://docs.stripe.com/api/financial_connections/ownership) object associated with this account. """ ownership_refresh: Optional[OwnershipRefresh] """ diff --git a/stripe/issuing/_card.py b/stripe/issuing/_card.py index ceb430ce7..e98f5b0ec 100644 --- a/stripe/issuing/_card.py +++ b/stripe/issuing/_card.py @@ -189,6 +189,10 @@ class Customs(StripeObject): """ Additional information that may be required for clearing customs. """ + delivered_at: Optional[int] + """ + The time the card was reported as delivered. Null for undelivered or untracked shipments, or if Stripe has not recorded a delivery time. + """ eta: Optional[int] """ A unix timestamp representing a best estimate of when the card will be delivered. @@ -209,6 +213,10 @@ class Customs(StripeObject): """ Shipment service, such as `standard` or `express`. """ + shipped_at: Optional[int] + """ + The time the card was reported as shipped. Null if Stripe has not recorded a shipment time. + """ status: Optional[ Union[ Literal[ diff --git a/stripe/oauth_error.py b/stripe/oauth_error.py index 14f75c2af..5fd0fb1e8 100644 --- a/stripe/oauth_error.py +++ b/stripe/oauth_error.py @@ -15,6 +15,14 @@ def __init__( super(OAuthError, self).__init__( description, http_body, http_status, json_body, headers, code ) + self.args = ( + self.code, + self._message, + self.http_body, + self.http_status, + self.json_body, + self.headers, + ) def _construct_error_object(self): if self.json_body is None: diff --git a/stripe/params/__init__.py b/stripe/params/__init__.py index e2b631155..79f9dd6af 100644 --- a/stripe/params/__init__.py +++ b/stripe/params/__init__.py @@ -135,6 +135,7 @@ AccountCreateParamsCapabilitiesUpiPayments as AccountCreateParamsCapabilitiesUpiPayments, AccountCreateParamsCapabilitiesUsBankAccountAchPayments as AccountCreateParamsCapabilitiesUsBankAccountAchPayments, AccountCreateParamsCapabilitiesUsBankTransferPayments as AccountCreateParamsCapabilitiesUsBankTransferPayments, + AccountCreateParamsCapabilitiesWeroPayments as AccountCreateParamsCapabilitiesWeroPayments, AccountCreateParamsCapabilitiesZipPayments as AccountCreateParamsCapabilitiesZipPayments, AccountCreateParamsCard as AccountCreateParamsCard, AccountCreateParamsCardToken as AccountCreateParamsCardToken, @@ -145,6 +146,7 @@ AccountCreateParamsCompanyAdministrativeAddress as AccountCreateParamsCompanyAdministrativeAddress, AccountCreateParamsCompanyDirectorshipDeclaration as AccountCreateParamsCompanyDirectorshipDeclaration, AccountCreateParamsCompanyOwnershipDeclaration as AccountCreateParamsCompanyOwnershipDeclaration, + AccountCreateParamsCompanyPhysicalAddress as AccountCreateParamsCompanyPhysicalAddress, AccountCreateParamsCompanyPrincipalPlaceOfBusiness as AccountCreateParamsCompanyPrincipalPlaceOfBusiness, AccountCreateParamsCompanyRegistrationDate as AccountCreateParamsCompanyRegistrationDate, AccountCreateParamsCompanyRepresentativeDeclaration as AccountCreateParamsCompanyRepresentativeDeclaration, @@ -164,6 +166,7 @@ AccountCreateParamsDocumentsCompanyRegistrationVerification as AccountCreateParamsDocumentsCompanyRegistrationVerification, AccountCreateParamsDocumentsCompanyTaxIdVerification as AccountCreateParamsDocumentsCompanyTaxIdVerification, AccountCreateParamsDocumentsProofOfAddress as AccountCreateParamsDocumentsProofOfAddress, + AccountCreateParamsDocumentsProofOfBusinessPresence as AccountCreateParamsDocumentsProofOfBusinessPresence, AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnership as AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnership, AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnershipSigner as AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnershipSigner, AccountCreateParamsGroups as AccountCreateParamsGroups, @@ -463,6 +466,10 @@ AccountSessionCreateParamsComponentsTaxSettingsFeatures as AccountSessionCreateParamsComponentsTaxSettingsFeatures, AccountSessionCreateParamsComponentsTaxThresholdMonitoring as AccountSessionCreateParamsComponentsTaxThresholdMonitoring, AccountSessionCreateParamsComponentsTaxThresholdMonitoringFeatures as AccountSessionCreateParamsComponentsTaxThresholdMonitoringFeatures, + AccountSessionCreateParamsComponentsTerminalHardwareOrders as AccountSessionCreateParamsComponentsTerminalHardwareOrders, + AccountSessionCreateParamsComponentsTerminalHardwareOrdersFeatures as AccountSessionCreateParamsComponentsTerminalHardwareOrdersFeatures, + AccountSessionCreateParamsComponentsTerminalHardwareShop as AccountSessionCreateParamsComponentsTerminalHardwareShop, + AccountSessionCreateParamsComponentsTerminalHardwareShopFeatures as AccountSessionCreateParamsComponentsTerminalHardwareShopFeatures, ) from stripe.params._account_unreject_params import ( AccountUnrejectParams as AccountUnrejectParams, @@ -555,6 +562,7 @@ AccountUpdateParamsCapabilitiesUpiPayments as AccountUpdateParamsCapabilitiesUpiPayments, AccountUpdateParamsCapabilitiesUsBankAccountAchPayments as AccountUpdateParamsCapabilitiesUsBankAccountAchPayments, AccountUpdateParamsCapabilitiesUsBankTransferPayments as AccountUpdateParamsCapabilitiesUsBankTransferPayments, + AccountUpdateParamsCapabilitiesWeroPayments as AccountUpdateParamsCapabilitiesWeroPayments, AccountUpdateParamsCapabilitiesZipPayments as AccountUpdateParamsCapabilitiesZipPayments, AccountUpdateParamsCard as AccountUpdateParamsCard, AccountUpdateParamsCardToken as AccountUpdateParamsCardToken, @@ -565,6 +573,7 @@ AccountUpdateParamsCompanyAdministrativeAddress as AccountUpdateParamsCompanyAdministrativeAddress, AccountUpdateParamsCompanyDirectorshipDeclaration as AccountUpdateParamsCompanyDirectorshipDeclaration, AccountUpdateParamsCompanyOwnershipDeclaration as AccountUpdateParamsCompanyOwnershipDeclaration, + AccountUpdateParamsCompanyPhysicalAddress as AccountUpdateParamsCompanyPhysicalAddress, AccountUpdateParamsCompanyPrincipalPlaceOfBusiness as AccountUpdateParamsCompanyPrincipalPlaceOfBusiness, AccountUpdateParamsCompanyRegistrationDate as AccountUpdateParamsCompanyRegistrationDate, AccountUpdateParamsCompanyRepresentativeDeclaration as AccountUpdateParamsCompanyRepresentativeDeclaration, @@ -578,6 +587,7 @@ AccountUpdateParamsDocumentsCompanyRegistrationVerification as AccountUpdateParamsDocumentsCompanyRegistrationVerification, AccountUpdateParamsDocumentsCompanyTaxIdVerification as AccountUpdateParamsDocumentsCompanyTaxIdVerification, AccountUpdateParamsDocumentsProofOfAddress as AccountUpdateParamsDocumentsProofOfAddress, + AccountUpdateParamsDocumentsProofOfBusinessPresence as AccountUpdateParamsDocumentsProofOfBusinessPresence, AccountUpdateParamsDocumentsProofOfRegistration as AccountUpdateParamsDocumentsProofOfRegistration, AccountUpdateParamsDocumentsProofOfRegistrationSigner as AccountUpdateParamsDocumentsProofOfRegistrationSigner, AccountUpdateParamsDocumentsProofOfUltimateBeneficialOwnership as AccountUpdateParamsDocumentsProofOfUltimateBeneficialOwnership, @@ -1021,7 +1031,9 @@ ConfirmationTokenCreateParamsPaymentMethodDataUpi as ConfirmationTokenCreateParamsPaymentMethodDataUpi, ConfirmationTokenCreateParamsPaymentMethodDataUpiMandateOptions as ConfirmationTokenCreateParamsPaymentMethodDataUpiMandateOptions, ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount as ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount, + ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccountExternalToken as ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccountExternalToken, ConfirmationTokenCreateParamsPaymentMethodDataWechatPay as ConfirmationTokenCreateParamsPaymentMethodDataWechatPay, + ConfirmationTokenCreateParamsPaymentMethodDataWero as ConfirmationTokenCreateParamsPaymentMethodDataWero, ConfirmationTokenCreateParamsPaymentMethodDataZip as ConfirmationTokenCreateParamsPaymentMethodDataZip, ConfirmationTokenCreateParamsPaymentMethodOptions as ConfirmationTokenCreateParamsPaymentMethodOptions, ConfirmationTokenCreateParamsPaymentMethodOptionsCard as ConfirmationTokenCreateParamsPaymentMethodOptionsCard, @@ -1560,6 +1572,17 @@ InvoiceCreatePreviewParamsScheduleDetailsAmendmentTrialSettingsEndBehavior as InvoiceCreatePreviewParamsScheduleDetailsAmendmentTrialSettingsEndBehavior, InvoiceCreatePreviewParamsScheduleDetailsBillingMode as InvoiceCreatePreviewParamsScheduleDetailsBillingMode, InvoiceCreatePreviewParamsScheduleDetailsBillingModeFlexible as InvoiceCreatePreviewParamsScheduleDetailsBillingModeFlexible, + InvoiceCreatePreviewParamsScheduleDetailsPauseSchedule as InvoiceCreatePreviewParamsScheduleDetailsPauseSchedule, + InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePause as InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePause, + InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePausePauseAt as InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePausePauseAt, + InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettings as InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettings, + InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillFor as InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillFor, + InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillForOutstandingUsageThrough as InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillForOutstandingUsageThrough, + InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillForUnusedTimeFrom as InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillForUnusedTimeFrom, + InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResume as InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResume, + InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeResumeAt as InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeResumeAt, + InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeResumeAtDuration as InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeResumeAtDuration, + InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeSettings as InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeSettings, InvoiceCreatePreviewParamsScheduleDetailsPhase as InvoiceCreatePreviewParamsScheduleDetailsPhase, InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItem as InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItem, InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemDiscount as InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemDiscount, @@ -2389,7 +2412,9 @@ PaymentIntentConfirmParamsPaymentMethodDataUpi as PaymentIntentConfirmParamsPaymentMethodDataUpi, PaymentIntentConfirmParamsPaymentMethodDataUpiMandateOptions as PaymentIntentConfirmParamsPaymentMethodDataUpiMandateOptions, PaymentIntentConfirmParamsPaymentMethodDataUsBankAccount as PaymentIntentConfirmParamsPaymentMethodDataUsBankAccount, + PaymentIntentConfirmParamsPaymentMethodDataUsBankAccountExternalToken as PaymentIntentConfirmParamsPaymentMethodDataUsBankAccountExternalToken, PaymentIntentConfirmParamsPaymentMethodDataWechatPay as PaymentIntentConfirmParamsPaymentMethodDataWechatPay, + PaymentIntentConfirmParamsPaymentMethodDataWero as PaymentIntentConfirmParamsPaymentMethodDataWero, PaymentIntentConfirmParamsPaymentMethodDataZip as PaymentIntentConfirmParamsPaymentMethodDataZip, PaymentIntentConfirmParamsPaymentMethodOptions as PaymentIntentConfirmParamsPaymentMethodOptions, PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebit as PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebit, @@ -2521,6 +2546,7 @@ PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions as PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions, PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks as PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks, PaymentIntentConfirmParamsPaymentMethodOptionsWechatPay as PaymentIntentConfirmParamsPaymentMethodOptionsWechatPay, + PaymentIntentConfirmParamsPaymentMethodOptionsWero as PaymentIntentConfirmParamsPaymentMethodOptionsWero, PaymentIntentConfirmParamsPaymentMethodOptionsZip as PaymentIntentConfirmParamsPaymentMethodOptionsZip, PaymentIntentConfirmParamsRadarOptions as PaymentIntentConfirmParamsRadarOptions, PaymentIntentConfirmParamsShipping as PaymentIntentConfirmParamsShipping, @@ -2683,7 +2709,9 @@ PaymentIntentCreateParamsPaymentMethodDataUpi as PaymentIntentCreateParamsPaymentMethodDataUpi, PaymentIntentCreateParamsPaymentMethodDataUpiMandateOptions as PaymentIntentCreateParamsPaymentMethodDataUpiMandateOptions, PaymentIntentCreateParamsPaymentMethodDataUsBankAccount as PaymentIntentCreateParamsPaymentMethodDataUsBankAccount, + PaymentIntentCreateParamsPaymentMethodDataUsBankAccountExternalToken as PaymentIntentCreateParamsPaymentMethodDataUsBankAccountExternalToken, PaymentIntentCreateParamsPaymentMethodDataWechatPay as PaymentIntentCreateParamsPaymentMethodDataWechatPay, + PaymentIntentCreateParamsPaymentMethodDataWero as PaymentIntentCreateParamsPaymentMethodDataWero, PaymentIntentCreateParamsPaymentMethodDataZip as PaymentIntentCreateParamsPaymentMethodDataZip, PaymentIntentCreateParamsPaymentMethodOptions as PaymentIntentCreateParamsPaymentMethodOptions, PaymentIntentCreateParamsPaymentMethodOptionsAcssDebit as PaymentIntentCreateParamsPaymentMethodOptionsAcssDebit, @@ -2815,6 +2843,7 @@ PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions as PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions, PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks as PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks, PaymentIntentCreateParamsPaymentMethodOptionsWechatPay as PaymentIntentCreateParamsPaymentMethodOptionsWechatPay, + PaymentIntentCreateParamsPaymentMethodOptionsWero as PaymentIntentCreateParamsPaymentMethodOptionsWero, PaymentIntentCreateParamsPaymentMethodOptionsZip as PaymentIntentCreateParamsPaymentMethodOptionsZip, PaymentIntentCreateParamsRadarOptions as PaymentIntentCreateParamsRadarOptions, PaymentIntentCreateParamsShipping as PaymentIntentCreateParamsShipping, @@ -3024,7 +3053,9 @@ PaymentIntentModifyParamsPaymentMethodDataUpi as PaymentIntentModifyParamsPaymentMethodDataUpi, PaymentIntentModifyParamsPaymentMethodDataUpiMandateOptions as PaymentIntentModifyParamsPaymentMethodDataUpiMandateOptions, PaymentIntentModifyParamsPaymentMethodDataUsBankAccount as PaymentIntentModifyParamsPaymentMethodDataUsBankAccount, + PaymentIntentModifyParamsPaymentMethodDataUsBankAccountExternalToken as PaymentIntentModifyParamsPaymentMethodDataUsBankAccountExternalToken, PaymentIntentModifyParamsPaymentMethodDataWechatPay as PaymentIntentModifyParamsPaymentMethodDataWechatPay, + PaymentIntentModifyParamsPaymentMethodDataWero as PaymentIntentModifyParamsPaymentMethodDataWero, PaymentIntentModifyParamsPaymentMethodDataZip as PaymentIntentModifyParamsPaymentMethodDataZip, PaymentIntentModifyParamsPaymentMethodOptions as PaymentIntentModifyParamsPaymentMethodOptions, PaymentIntentModifyParamsPaymentMethodOptionsAcssDebit as PaymentIntentModifyParamsPaymentMethodOptionsAcssDebit, @@ -3156,6 +3187,7 @@ PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions as PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions, PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks as PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks, PaymentIntentModifyParamsPaymentMethodOptionsWechatPay as PaymentIntentModifyParamsPaymentMethodOptionsWechatPay, + PaymentIntentModifyParamsPaymentMethodOptionsWero as PaymentIntentModifyParamsPaymentMethodOptionsWero, PaymentIntentModifyParamsPaymentMethodOptionsZip as PaymentIntentModifyParamsPaymentMethodOptionsZip, PaymentIntentModifyParamsShipping as PaymentIntentModifyParamsShipping, PaymentIntentModifyParamsShippingAddress as PaymentIntentModifyParamsShippingAddress, @@ -3327,7 +3359,9 @@ PaymentIntentUpdateParamsPaymentMethodDataUpi as PaymentIntentUpdateParamsPaymentMethodDataUpi, PaymentIntentUpdateParamsPaymentMethodDataUpiMandateOptions as PaymentIntentUpdateParamsPaymentMethodDataUpiMandateOptions, PaymentIntentUpdateParamsPaymentMethodDataUsBankAccount as PaymentIntentUpdateParamsPaymentMethodDataUsBankAccount, + PaymentIntentUpdateParamsPaymentMethodDataUsBankAccountExternalToken as PaymentIntentUpdateParamsPaymentMethodDataUsBankAccountExternalToken, PaymentIntentUpdateParamsPaymentMethodDataWechatPay as PaymentIntentUpdateParamsPaymentMethodDataWechatPay, + PaymentIntentUpdateParamsPaymentMethodDataWero as PaymentIntentUpdateParamsPaymentMethodDataWero, PaymentIntentUpdateParamsPaymentMethodDataZip as PaymentIntentUpdateParamsPaymentMethodDataZip, PaymentIntentUpdateParamsPaymentMethodOptions as PaymentIntentUpdateParamsPaymentMethodOptions, PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebit as PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebit, @@ -3459,6 +3493,7 @@ PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions as PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions, PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks as PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks, PaymentIntentUpdateParamsPaymentMethodOptionsWechatPay as PaymentIntentUpdateParamsPaymentMethodOptionsWechatPay, + PaymentIntentUpdateParamsPaymentMethodOptionsWero as PaymentIntentUpdateParamsPaymentMethodOptionsWero, PaymentIntentUpdateParamsPaymentMethodOptionsZip as PaymentIntentUpdateParamsPaymentMethodOptionsZip, PaymentIntentUpdateParamsShipping as PaymentIntentUpdateParamsShipping, PaymentIntentUpdateParamsShippingAddress as PaymentIntentUpdateParamsShippingAddress, @@ -3516,6 +3551,7 @@ PaymentLinkCreateParamsShippingOption as PaymentLinkCreateParamsShippingOption, PaymentLinkCreateParamsSubscriptionData as PaymentLinkCreateParamsSubscriptionData, PaymentLinkCreateParamsSubscriptionDataInvoiceSettings as PaymentLinkCreateParamsSubscriptionDataInvoiceSettings, + PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsCustomField as PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsCustomField, PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsIssuer as PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsIssuer, PaymentLinkCreateParamsSubscriptionDataTrialSettings as PaymentLinkCreateParamsSubscriptionDataTrialSettings, PaymentLinkCreateParamsSubscriptionDataTrialSettingsEndBehavior as PaymentLinkCreateParamsSubscriptionDataTrialSettingsEndBehavior, @@ -3574,6 +3610,7 @@ PaymentLinkModifyParamsShippingOption as PaymentLinkModifyParamsShippingOption, PaymentLinkModifyParamsSubscriptionData as PaymentLinkModifyParamsSubscriptionData, PaymentLinkModifyParamsSubscriptionDataInvoiceSettings as PaymentLinkModifyParamsSubscriptionDataInvoiceSettings, + PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsCustomField as PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsCustomField, PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsIssuer as PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsIssuer, PaymentLinkModifyParamsSubscriptionDataTrialSettings as PaymentLinkModifyParamsSubscriptionDataTrialSettings, PaymentLinkModifyParamsSubscriptionDataTrialSettingsEndBehavior as PaymentLinkModifyParamsSubscriptionDataTrialSettingsEndBehavior, @@ -3626,6 +3663,7 @@ PaymentLinkUpdateParamsShippingOption as PaymentLinkUpdateParamsShippingOption, PaymentLinkUpdateParamsSubscriptionData as PaymentLinkUpdateParamsSubscriptionData, PaymentLinkUpdateParamsSubscriptionDataInvoiceSettings as PaymentLinkUpdateParamsSubscriptionDataInvoiceSettings, + PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsCustomField as PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsCustomField, PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsIssuer as PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsIssuer, PaymentLinkUpdateParamsSubscriptionDataTrialSettings as PaymentLinkUpdateParamsSubscriptionDataTrialSettings, PaymentLinkUpdateParamsSubscriptionDataTrialSettingsEndBehavior as PaymentLinkUpdateParamsSubscriptionDataTrialSettingsEndBehavior, @@ -3767,6 +3805,8 @@ PaymentMethodConfigurationCreateParamsUsBankAccountDisplayPreference as PaymentMethodConfigurationCreateParamsUsBankAccountDisplayPreference, PaymentMethodConfigurationCreateParamsWechatPay as PaymentMethodConfigurationCreateParamsWechatPay, PaymentMethodConfigurationCreateParamsWechatPayDisplayPreference as PaymentMethodConfigurationCreateParamsWechatPayDisplayPreference, + PaymentMethodConfigurationCreateParamsWero as PaymentMethodConfigurationCreateParamsWero, + PaymentMethodConfigurationCreateParamsWeroDisplayPreference as PaymentMethodConfigurationCreateParamsWeroDisplayPreference, PaymentMethodConfigurationCreateParamsZip as PaymentMethodConfigurationCreateParamsZip, PaymentMethodConfigurationCreateParamsZipDisplayPreference as PaymentMethodConfigurationCreateParamsZipDisplayPreference, ) @@ -3905,6 +3945,8 @@ PaymentMethodConfigurationModifyParamsUsBankAccountDisplayPreference as PaymentMethodConfigurationModifyParamsUsBankAccountDisplayPreference, PaymentMethodConfigurationModifyParamsWechatPay as PaymentMethodConfigurationModifyParamsWechatPay, PaymentMethodConfigurationModifyParamsWechatPayDisplayPreference as PaymentMethodConfigurationModifyParamsWechatPayDisplayPreference, + PaymentMethodConfigurationModifyParamsWero as PaymentMethodConfigurationModifyParamsWero, + PaymentMethodConfigurationModifyParamsWeroDisplayPreference as PaymentMethodConfigurationModifyParamsWeroDisplayPreference, PaymentMethodConfigurationModifyParamsZip as PaymentMethodConfigurationModifyParamsZip, PaymentMethodConfigurationModifyParamsZipDisplayPreference as PaymentMethodConfigurationModifyParamsZipDisplayPreference, ) @@ -4043,6 +4085,8 @@ PaymentMethodConfigurationUpdateParamsUsBankAccountDisplayPreference as PaymentMethodConfigurationUpdateParamsUsBankAccountDisplayPreference, PaymentMethodConfigurationUpdateParamsWechatPay as PaymentMethodConfigurationUpdateParamsWechatPay, PaymentMethodConfigurationUpdateParamsWechatPayDisplayPreference as PaymentMethodConfigurationUpdateParamsWechatPayDisplayPreference, + PaymentMethodConfigurationUpdateParamsWero as PaymentMethodConfigurationUpdateParamsWero, + PaymentMethodConfigurationUpdateParamsWeroDisplayPreference as PaymentMethodConfigurationUpdateParamsWeroDisplayPreference, PaymentMethodConfigurationUpdateParamsZip as PaymentMethodConfigurationUpdateParamsZip, PaymentMethodConfigurationUpdateParamsZipDisplayPreference as PaymentMethodConfigurationUpdateParamsZipDisplayPreference, ) @@ -4117,7 +4161,9 @@ PaymentMethodCreateParamsUpi as PaymentMethodCreateParamsUpi, PaymentMethodCreateParamsUpiMandateOptions as PaymentMethodCreateParamsUpiMandateOptions, PaymentMethodCreateParamsUsBankAccount as PaymentMethodCreateParamsUsBankAccount, + PaymentMethodCreateParamsUsBankAccountExternalToken as PaymentMethodCreateParamsUsBankAccountExternalToken, PaymentMethodCreateParamsWechatPay as PaymentMethodCreateParamsWechatPay, + PaymentMethodCreateParamsWero as PaymentMethodCreateParamsWero, PaymentMethodCreateParamsZip as PaymentMethodCreateParamsZip, ) from stripe.params._payment_method_detach_params import ( @@ -4163,6 +4209,41 @@ PaymentMethodUpdateParamsCardNetworks as PaymentMethodUpdateParamsCardNetworks, PaymentMethodUpdateParamsUsBankAccount as PaymentMethodUpdateParamsUsBankAccount, ) + from stripe.params._payment_plan_create_params import ( + PaymentPlanCreateParams as PaymentPlanCreateParams, + PaymentPlanCreateParamsCollectsOn as PaymentPlanCreateParamsCollectsOn, + PaymentPlanCreateParamsCollectsOnInvoiceDetails as PaymentPlanCreateParamsCollectsOnInvoiceDetails, + PaymentPlanCreateParamsSchedule as PaymentPlanCreateParamsSchedule, + PaymentPlanCreateParamsScheduleAmountsDue as PaymentPlanCreateParamsScheduleAmountsDue, + PaymentPlanCreateParamsScheduleAmountsDueAmount as PaymentPlanCreateParamsScheduleAmountsDueAmount, + PaymentPlanCreateParamsScheduleAmountsDueAmountDueDate as PaymentPlanCreateParamsScheduleAmountsDueAmountDueDate, + PaymentPlanCreateParamsScheduleAmountsDueAmountDueDateRelative as PaymentPlanCreateParamsScheduleAmountsDueAmountDueDateRelative, + PaymentPlanCreateParamsScheduleAmountsDueAmountFixedAmount as PaymentPlanCreateParamsScheduleAmountsDueAmountFixedAmount, + ) + from stripe.params._payment_plan_list_params import ( + PaymentPlanListParams as PaymentPlanListParams, + ) + from stripe.params._payment_plan_modify_params import ( + PaymentPlanModifyParams as PaymentPlanModifyParams, + PaymentPlanModifyParamsSchedule as PaymentPlanModifyParamsSchedule, + PaymentPlanModifyParamsScheduleAmountsDue as PaymentPlanModifyParamsScheduleAmountsDue, + PaymentPlanModifyParamsScheduleAmountsDueAmount as PaymentPlanModifyParamsScheduleAmountsDueAmount, + PaymentPlanModifyParamsScheduleAmountsDueAmountDueDate as PaymentPlanModifyParamsScheduleAmountsDueAmountDueDate, + PaymentPlanModifyParamsScheduleAmountsDueAmountDueDateRelative as PaymentPlanModifyParamsScheduleAmountsDueAmountDueDateRelative, + PaymentPlanModifyParamsScheduleAmountsDueAmountFixedAmount as PaymentPlanModifyParamsScheduleAmountsDueAmountFixedAmount, + ) + from stripe.params._payment_plan_retrieve_params import ( + PaymentPlanRetrieveParams as PaymentPlanRetrieveParams, + ) + from stripe.params._payment_plan_update_params import ( + PaymentPlanUpdateParams as PaymentPlanUpdateParams, + PaymentPlanUpdateParamsSchedule as PaymentPlanUpdateParamsSchedule, + PaymentPlanUpdateParamsScheduleAmountsDue as PaymentPlanUpdateParamsScheduleAmountsDue, + PaymentPlanUpdateParamsScheduleAmountsDueAmount as PaymentPlanUpdateParamsScheduleAmountsDueAmount, + PaymentPlanUpdateParamsScheduleAmountsDueAmountDueDate as PaymentPlanUpdateParamsScheduleAmountsDueAmountDueDate, + PaymentPlanUpdateParamsScheduleAmountsDueAmountDueDateRelative as PaymentPlanUpdateParamsScheduleAmountsDueAmountDueDateRelative, + PaymentPlanUpdateParamsScheduleAmountsDueAmountFixedAmount as PaymentPlanUpdateParamsScheduleAmountsDueAmountFixedAmount, + ) from stripe.params._payment_record_list_params import ( PaymentRecordListParams as PaymentRecordListParams, ) @@ -4750,7 +4831,9 @@ SetupIntentConfirmParamsPaymentMethodDataUpi as SetupIntentConfirmParamsPaymentMethodDataUpi, SetupIntentConfirmParamsPaymentMethodDataUpiMandateOptions as SetupIntentConfirmParamsPaymentMethodDataUpiMandateOptions, SetupIntentConfirmParamsPaymentMethodDataUsBankAccount as SetupIntentConfirmParamsPaymentMethodDataUsBankAccount, + SetupIntentConfirmParamsPaymentMethodDataUsBankAccountExternalToken as SetupIntentConfirmParamsPaymentMethodDataUsBankAccountExternalToken, SetupIntentConfirmParamsPaymentMethodDataWechatPay as SetupIntentConfirmParamsPaymentMethodDataWechatPay, + SetupIntentConfirmParamsPaymentMethodDataWero as SetupIntentConfirmParamsPaymentMethodDataWero, SetupIntentConfirmParamsPaymentMethodDataZip as SetupIntentConfirmParamsPaymentMethodDataZip, SetupIntentConfirmParamsPaymentMethodOptions as SetupIntentConfirmParamsPaymentMethodOptions, SetupIntentConfirmParamsPaymentMethodOptionsAcssDebit as SetupIntentConfirmParamsPaymentMethodOptionsAcssDebit, @@ -4862,7 +4945,9 @@ SetupIntentCreateParamsPaymentMethodDataUpi as SetupIntentCreateParamsPaymentMethodDataUpi, SetupIntentCreateParamsPaymentMethodDataUpiMandateOptions as SetupIntentCreateParamsPaymentMethodDataUpiMandateOptions, SetupIntentCreateParamsPaymentMethodDataUsBankAccount as SetupIntentCreateParamsPaymentMethodDataUsBankAccount, + SetupIntentCreateParamsPaymentMethodDataUsBankAccountExternalToken as SetupIntentCreateParamsPaymentMethodDataUsBankAccountExternalToken, SetupIntentCreateParamsPaymentMethodDataWechatPay as SetupIntentCreateParamsPaymentMethodDataWechatPay, + SetupIntentCreateParamsPaymentMethodDataWero as SetupIntentCreateParamsPaymentMethodDataWero, SetupIntentCreateParamsPaymentMethodDataZip as SetupIntentCreateParamsPaymentMethodDataZip, SetupIntentCreateParamsPaymentMethodOptions as SetupIntentCreateParamsPaymentMethodOptions, SetupIntentCreateParamsPaymentMethodOptionsAcssDebit as SetupIntentCreateParamsPaymentMethodOptionsAcssDebit, @@ -4974,7 +5059,9 @@ SetupIntentModifyParamsPaymentMethodDataUpi as SetupIntentModifyParamsPaymentMethodDataUpi, SetupIntentModifyParamsPaymentMethodDataUpiMandateOptions as SetupIntentModifyParamsPaymentMethodDataUpiMandateOptions, SetupIntentModifyParamsPaymentMethodDataUsBankAccount as SetupIntentModifyParamsPaymentMethodDataUsBankAccount, + SetupIntentModifyParamsPaymentMethodDataUsBankAccountExternalToken as SetupIntentModifyParamsPaymentMethodDataUsBankAccountExternalToken, SetupIntentModifyParamsPaymentMethodDataWechatPay as SetupIntentModifyParamsPaymentMethodDataWechatPay, + SetupIntentModifyParamsPaymentMethodDataWero as SetupIntentModifyParamsPaymentMethodDataWero, SetupIntentModifyParamsPaymentMethodDataZip as SetupIntentModifyParamsPaymentMethodDataZip, SetupIntentModifyParamsPaymentMethodOptions as SetupIntentModifyParamsPaymentMethodOptions, SetupIntentModifyParamsPaymentMethodOptionsAcssDebit as SetupIntentModifyParamsPaymentMethodOptionsAcssDebit, @@ -5084,7 +5171,9 @@ SetupIntentUpdateParamsPaymentMethodDataUpi as SetupIntentUpdateParamsPaymentMethodDataUpi, SetupIntentUpdateParamsPaymentMethodDataUpiMandateOptions as SetupIntentUpdateParamsPaymentMethodDataUpiMandateOptions, SetupIntentUpdateParamsPaymentMethodDataUsBankAccount as SetupIntentUpdateParamsPaymentMethodDataUsBankAccount, + SetupIntentUpdateParamsPaymentMethodDataUsBankAccountExternalToken as SetupIntentUpdateParamsPaymentMethodDataUsBankAccountExternalToken, SetupIntentUpdateParamsPaymentMethodDataWechatPay as SetupIntentUpdateParamsPaymentMethodDataWechatPay, + SetupIntentUpdateParamsPaymentMethodDataWero as SetupIntentUpdateParamsPaymentMethodDataWero, SetupIntentUpdateParamsPaymentMethodDataZip as SetupIntentUpdateParamsPaymentMethodDataZip, SetupIntentUpdateParamsPaymentMethodOptions as SetupIntentUpdateParamsPaymentMethodOptions, SetupIntentUpdateParamsPaymentMethodOptionsAcssDebit as SetupIntentUpdateParamsPaymentMethodOptionsAcssDebit, @@ -5748,6 +5837,7 @@ TokenCreateParamsAccountCompanyAdministrativeAddress as TokenCreateParamsAccountCompanyAdministrativeAddress, TokenCreateParamsAccountCompanyDirectorshipDeclaration as TokenCreateParamsAccountCompanyDirectorshipDeclaration, TokenCreateParamsAccountCompanyOwnershipDeclaration as TokenCreateParamsAccountCompanyOwnershipDeclaration, + TokenCreateParamsAccountCompanyPhysicalAddress as TokenCreateParamsAccountCompanyPhysicalAddress, TokenCreateParamsAccountCompanyPrincipalPlaceOfBusiness as TokenCreateParamsAccountCompanyPrincipalPlaceOfBusiness, TokenCreateParamsAccountCompanyRegistrationDate as TokenCreateParamsAccountCompanyRegistrationDate, TokenCreateParamsAccountCompanyRepresentativeDeclaration as TokenCreateParamsAccountCompanyRepresentativeDeclaration, @@ -6274,6 +6364,10 @@ "stripe.params._account_create_params", False, ), + "AccountCreateParamsCapabilitiesWeroPayments": ( + "stripe.params._account_create_params", + False, + ), "AccountCreateParamsCapabilitiesZipPayments": ( "stripe.params._account_create_params", False, @@ -6311,6 +6405,10 @@ "stripe.params._account_create_params", False, ), + "AccountCreateParamsCompanyPhysicalAddress": ( + "stripe.params._account_create_params", + False, + ), "AccountCreateParamsCompanyPrincipalPlaceOfBusiness": ( "stripe.params._account_create_params", False, @@ -6387,6 +6485,10 @@ "stripe.params._account_create_params", False, ), + "AccountCreateParamsDocumentsProofOfBusinessPresence": ( + "stripe.params._account_create_params", + False, + ), "AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnership": ( "stripe.params._account_create_params", False, @@ -7285,6 +7387,22 @@ "stripe.params._account_session_create_params", False, ), + "AccountSessionCreateParamsComponentsTerminalHardwareOrders": ( + "stripe.params._account_session_create_params", + False, + ), + "AccountSessionCreateParamsComponentsTerminalHardwareOrdersFeatures": ( + "stripe.params._account_session_create_params", + False, + ), + "AccountSessionCreateParamsComponentsTerminalHardwareShop": ( + "stripe.params._account_session_create_params", + False, + ), + "AccountSessionCreateParamsComponentsTerminalHardwareShopFeatures": ( + "stripe.params._account_session_create_params", + False, + ), "AccountUnrejectParams": ("stripe.params._account_unreject_params", False), "AccountUpdateParams": ("stripe.params._account_update_params", False), "AccountUpdateParamsBankAccount": ( @@ -7631,6 +7749,10 @@ "stripe.params._account_update_params", False, ), + "AccountUpdateParamsCapabilitiesWeroPayments": ( + "stripe.params._account_update_params", + False, + ), "AccountUpdateParamsCapabilitiesZipPayments": ( "stripe.params._account_update_params", False, @@ -7668,6 +7790,10 @@ "stripe.params._account_update_params", False, ), + "AccountUpdateParamsCompanyPhysicalAddress": ( + "stripe.params._account_update_params", + False, + ), "AccountUpdateParamsCompanyPrincipalPlaceOfBusiness": ( "stripe.params._account_update_params", False, @@ -7720,6 +7846,10 @@ "stripe.params._account_update_params", False, ), + "AccountUpdateParamsDocumentsProofOfBusinessPresence": ( + "stripe.params._account_update_params", + False, + ), "AccountUpdateParamsDocumentsProofOfRegistration": ( "stripe.params._account_update_params", False, @@ -9198,10 +9328,18 @@ "stripe.params._confirmation_token_create_params", False, ), + "ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params._confirmation_token_create_params", + False, + ), "ConfirmationTokenCreateParamsPaymentMethodDataWechatPay": ( "stripe.params._confirmation_token_create_params", False, ), + "ConfirmationTokenCreateParamsPaymentMethodDataWero": ( + "stripe.params._confirmation_token_create_params", + False, + ), "ConfirmationTokenCreateParamsPaymentMethodDataZip": ( "stripe.params._confirmation_token_create_params", False, @@ -10433,6 +10571,50 @@ "stripe.params._invoice_create_preview_params", False, ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedule": ( + "stripe.params._invoice_create_preview_params", + False, + ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePause": ( + "stripe.params._invoice_create_preview_params", + False, + ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePausePauseAt": ( + "stripe.params._invoice_create_preview_params", + False, + ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettings": ( + "stripe.params._invoice_create_preview_params", + False, + ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillFor": ( + "stripe.params._invoice_create_preview_params", + False, + ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillForOutstandingUsageThrough": ( + "stripe.params._invoice_create_preview_params", + False, + ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillForUnusedTimeFrom": ( + "stripe.params._invoice_create_preview_params", + False, + ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResume": ( + "stripe.params._invoice_create_preview_params", + False, + ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeResumeAt": ( + "stripe.params._invoice_create_preview_params", + False, + ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeResumeAtDuration": ( + "stripe.params._invoice_create_preview_params", + False, + ), + "InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeSettings": ( + "stripe.params._invoice_create_preview_params", + False, + ), "InvoiceCreatePreviewParamsScheduleDetailsPhase": ( "stripe.params._invoice_create_preview_params", False, @@ -13264,10 +13446,18 @@ "stripe.params._payment_intent_confirm_params", False, ), + "PaymentIntentConfirmParamsPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params._payment_intent_confirm_params", + False, + ), "PaymentIntentConfirmParamsPaymentMethodDataWechatPay": ( "stripe.params._payment_intent_confirm_params", False, ), + "PaymentIntentConfirmParamsPaymentMethodDataWero": ( + "stripe.params._payment_intent_confirm_params", + False, + ), "PaymentIntentConfirmParamsPaymentMethodDataZip": ( "stripe.params._payment_intent_confirm_params", False, @@ -13792,6 +13982,10 @@ "stripe.params._payment_intent_confirm_params", False, ), + "PaymentIntentConfirmParamsPaymentMethodOptionsWero": ( + "stripe.params._payment_intent_confirm_params", + False, + ), "PaymentIntentConfirmParamsPaymentMethodOptionsZip": ( "stripe.params._payment_intent_confirm_params", False, @@ -14432,10 +14626,18 @@ "stripe.params._payment_intent_create_params", False, ), + "PaymentIntentCreateParamsPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params._payment_intent_create_params", + False, + ), "PaymentIntentCreateParamsPaymentMethodDataWechatPay": ( "stripe.params._payment_intent_create_params", False, ), + "PaymentIntentCreateParamsPaymentMethodDataWero": ( + "stripe.params._payment_intent_create_params", + False, + ), "PaymentIntentCreateParamsPaymentMethodDataZip": ( "stripe.params._payment_intent_create_params", False, @@ -14960,6 +15162,10 @@ "stripe.params._payment_intent_create_params", False, ), + "PaymentIntentCreateParamsPaymentMethodOptionsWero": ( + "stripe.params._payment_intent_create_params", + False, + ), "PaymentIntentCreateParamsPaymentMethodOptionsZip": ( "stripe.params._payment_intent_create_params", False, @@ -15756,10 +15962,18 @@ "stripe.params._payment_intent_modify_params", False, ), + "PaymentIntentModifyParamsPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params._payment_intent_modify_params", + False, + ), "PaymentIntentModifyParamsPaymentMethodDataWechatPay": ( "stripe.params._payment_intent_modify_params", False, ), + "PaymentIntentModifyParamsPaymentMethodDataWero": ( + "stripe.params._payment_intent_modify_params", + False, + ), "PaymentIntentModifyParamsPaymentMethodDataZip": ( "stripe.params._payment_intent_modify_params", False, @@ -16284,6 +16498,10 @@ "stripe.params._payment_intent_modify_params", False, ), + "PaymentIntentModifyParamsPaymentMethodOptionsWero": ( + "stripe.params._payment_intent_modify_params", + False, + ), "PaymentIntentModifyParamsPaymentMethodOptionsZip": ( "stripe.params._payment_intent_modify_params", False, @@ -16936,10 +17154,18 @@ "stripe.params._payment_intent_update_params", False, ), + "PaymentIntentUpdateParamsPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params._payment_intent_update_params", + False, + ), "PaymentIntentUpdateParamsPaymentMethodDataWechatPay": ( "stripe.params._payment_intent_update_params", False, ), + "PaymentIntentUpdateParamsPaymentMethodDataWero": ( + "stripe.params._payment_intent_update_params", + False, + ), "PaymentIntentUpdateParamsPaymentMethodDataZip": ( "stripe.params._payment_intent_update_params", False, @@ -17464,6 +17690,10 @@ "stripe.params._payment_intent_update_params", False, ), + "PaymentIntentUpdateParamsPaymentMethodOptionsWero": ( + "stripe.params._payment_intent_update_params", + False, + ), "PaymentIntentUpdateParamsPaymentMethodOptionsZip": ( "stripe.params._payment_intent_update_params", False, @@ -17676,6 +17906,10 @@ "stripe.params._payment_link_create_params", False, ), + "PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsCustomField": ( + "stripe.params._payment_link_create_params", + False, + ), "PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsIssuer": ( "stripe.params._payment_link_create_params", False, @@ -17876,6 +18110,10 @@ "stripe.params._payment_link_modify_params", False, ), + "PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsCustomField": ( + "stripe.params._payment_link_modify_params", + False, + ), "PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsIssuer": ( "stripe.params._payment_link_modify_params", False, @@ -18068,6 +18306,10 @@ "stripe.params._payment_link_update_params", False, ), + "PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsCustomField": ( + "stripe.params._payment_link_update_params", + False, + ), "PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsIssuer": ( "stripe.params._payment_link_update_params", False, @@ -18616,6 +18858,14 @@ "stripe.params._payment_method_configuration_create_params", False, ), + "PaymentMethodConfigurationCreateParamsWero": ( + "stripe.params._payment_method_configuration_create_params", + False, + ), + "PaymentMethodConfigurationCreateParamsWeroDisplayPreference": ( + "stripe.params._payment_method_configuration_create_params", + False, + ), "PaymentMethodConfigurationCreateParamsZip": ( "stripe.params._payment_method_configuration_create_params", False, @@ -19152,6 +19402,14 @@ "stripe.params._payment_method_configuration_modify_params", False, ), + "PaymentMethodConfigurationModifyParamsWero": ( + "stripe.params._payment_method_configuration_modify_params", + False, + ), + "PaymentMethodConfigurationModifyParamsWeroDisplayPreference": ( + "stripe.params._payment_method_configuration_modify_params", + False, + ), "PaymentMethodConfigurationModifyParamsZip": ( "stripe.params._payment_method_configuration_modify_params", False, @@ -19688,6 +19946,14 @@ "stripe.params._payment_method_configuration_update_params", False, ), + "PaymentMethodConfigurationUpdateParamsWero": ( + "stripe.params._payment_method_configuration_update_params", + False, + ), + "PaymentMethodConfigurationUpdateParamsWeroDisplayPreference": ( + "stripe.params._payment_method_configuration_update_params", + False, + ), "PaymentMethodConfigurationUpdateParamsZip": ( "stripe.params._payment_method_configuration_update_params", False, @@ -19976,10 +20242,18 @@ "stripe.params._payment_method_create_params", False, ), + "PaymentMethodCreateParamsUsBankAccountExternalToken": ( + "stripe.params._payment_method_create_params", + False, + ), "PaymentMethodCreateParamsWechatPay": ( "stripe.params._payment_method_create_params", False, ), + "PaymentMethodCreateParamsWero": ( + "stripe.params._payment_method_create_params", + False, + ), "PaymentMethodCreateParamsZip": ( "stripe.params._payment_method_create_params", False, @@ -20068,6 +20342,106 @@ "stripe.params._payment_method_update_params", False, ), + "PaymentPlanCreateParams": ( + "stripe.params._payment_plan_create_params", + False, + ), + "PaymentPlanCreateParamsCollectsOn": ( + "stripe.params._payment_plan_create_params", + False, + ), + "PaymentPlanCreateParamsCollectsOnInvoiceDetails": ( + "stripe.params._payment_plan_create_params", + False, + ), + "PaymentPlanCreateParamsSchedule": ( + "stripe.params._payment_plan_create_params", + False, + ), + "PaymentPlanCreateParamsScheduleAmountsDue": ( + "stripe.params._payment_plan_create_params", + False, + ), + "PaymentPlanCreateParamsScheduleAmountsDueAmount": ( + "stripe.params._payment_plan_create_params", + False, + ), + "PaymentPlanCreateParamsScheduleAmountsDueAmountDueDate": ( + "stripe.params._payment_plan_create_params", + False, + ), + "PaymentPlanCreateParamsScheduleAmountsDueAmountDueDateRelative": ( + "stripe.params._payment_plan_create_params", + False, + ), + "PaymentPlanCreateParamsScheduleAmountsDueAmountFixedAmount": ( + "stripe.params._payment_plan_create_params", + False, + ), + "PaymentPlanListParams": ( + "stripe.params._payment_plan_list_params", + False, + ), + "PaymentPlanModifyParams": ( + "stripe.params._payment_plan_modify_params", + False, + ), + "PaymentPlanModifyParamsSchedule": ( + "stripe.params._payment_plan_modify_params", + False, + ), + "PaymentPlanModifyParamsScheduleAmountsDue": ( + "stripe.params._payment_plan_modify_params", + False, + ), + "PaymentPlanModifyParamsScheduleAmountsDueAmount": ( + "stripe.params._payment_plan_modify_params", + False, + ), + "PaymentPlanModifyParamsScheduleAmountsDueAmountDueDate": ( + "stripe.params._payment_plan_modify_params", + False, + ), + "PaymentPlanModifyParamsScheduleAmountsDueAmountDueDateRelative": ( + "stripe.params._payment_plan_modify_params", + False, + ), + "PaymentPlanModifyParamsScheduleAmountsDueAmountFixedAmount": ( + "stripe.params._payment_plan_modify_params", + False, + ), + "PaymentPlanRetrieveParams": ( + "stripe.params._payment_plan_retrieve_params", + False, + ), + "PaymentPlanUpdateParams": ( + "stripe.params._payment_plan_update_params", + False, + ), + "PaymentPlanUpdateParamsSchedule": ( + "stripe.params._payment_plan_update_params", + False, + ), + "PaymentPlanUpdateParamsScheduleAmountsDue": ( + "stripe.params._payment_plan_update_params", + False, + ), + "PaymentPlanUpdateParamsScheduleAmountsDueAmount": ( + "stripe.params._payment_plan_update_params", + False, + ), + "PaymentPlanUpdateParamsScheduleAmountsDueAmountDueDate": ( + "stripe.params._payment_plan_update_params", + False, + ), + "PaymentPlanUpdateParamsScheduleAmountsDueAmountDueDateRelative": ( + "stripe.params._payment_plan_update_params", + False, + ), + "PaymentPlanUpdateParamsScheduleAmountsDueAmountFixedAmount": ( + "stripe.params._payment_plan_update_params", + False, + ), "PaymentRecordListParams": ( "stripe.params._payment_record_list_params", False, @@ -21544,10 +21918,18 @@ "stripe.params._setup_intent_confirm_params", False, ), + "SetupIntentConfirmParamsPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params._setup_intent_confirm_params", + False, + ), "SetupIntentConfirmParamsPaymentMethodDataWechatPay": ( "stripe.params._setup_intent_confirm_params", False, ), + "SetupIntentConfirmParamsPaymentMethodDataWero": ( + "stripe.params._setup_intent_confirm_params", + False, + ), "SetupIntentConfirmParamsPaymentMethodDataZip": ( "stripe.params._setup_intent_confirm_params", False, @@ -21984,10 +22366,18 @@ "stripe.params._setup_intent_create_params", False, ), + "SetupIntentCreateParamsPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params._setup_intent_create_params", + False, + ), "SetupIntentCreateParamsPaymentMethodDataWechatPay": ( "stripe.params._setup_intent_create_params", False, ), + "SetupIntentCreateParamsPaymentMethodDataWero": ( + "stripe.params._setup_intent_create_params", + False, + ), "SetupIntentCreateParamsPaymentMethodDataZip": ( "stripe.params._setup_intent_create_params", False, @@ -22416,10 +22806,18 @@ "stripe.params._setup_intent_modify_params", False, ), + "SetupIntentModifyParamsPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params._setup_intent_modify_params", + False, + ), "SetupIntentModifyParamsPaymentMethodDataWechatPay": ( "stripe.params._setup_intent_modify_params", False, ), + "SetupIntentModifyParamsPaymentMethodDataWero": ( + "stripe.params._setup_intent_modify_params", + False, + ), "SetupIntentModifyParamsPaymentMethodDataZip": ( "stripe.params._setup_intent_modify_params", False, @@ -22840,10 +23238,18 @@ "stripe.params._setup_intent_update_params", False, ), + "SetupIntentUpdateParamsPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params._setup_intent_update_params", + False, + ), "SetupIntentUpdateParamsPaymentMethodDataWechatPay": ( "stripe.params._setup_intent_update_params", False, ), + "SetupIntentUpdateParamsPaymentMethodDataWero": ( + "stripe.params._setup_intent_update_params", + False, + ), "SetupIntentUpdateParamsPaymentMethodDataZip": ( "stripe.params._setup_intent_update_params", False, @@ -25019,6 +25425,10 @@ "stripe.params._token_create_params", False, ), + "TokenCreateParamsAccountCompanyPhysicalAddress": ( + "stripe.params._token_create_params", + False, + ), "TokenCreateParamsAccountCompanyPrincipalPlaceOfBusiness": ( "stripe.params._token_create_params", False, diff --git a/stripe/params/_account_create_params.py b/stripe/params/_account_create_params.py index 0e85a7e99..2283c43d5 100644 --- a/stripe/params/_account_create_params.py +++ b/stripe/params/_account_create_params.py @@ -38,7 +38,7 @@ class AccountCreateParams(RequestOptions): """ controller: NotRequired["AccountCreateParamsController"] """ - A hash of configuration describing the account controller's attributes. + Configures the account's Dashboard access, loss liability, requirements collection, and Stripe fee responsibility. """ country: NotRequired[str] """ @@ -664,6 +664,10 @@ class AccountCreateParamsCapabilities(TypedDict): """ The us_bank_transfer_payments capability. """ + wero_payments: NotRequired["AccountCreateParamsCapabilitiesWeroPayments"] + """ + The wero_payments capability. + """ zip_payments: NotRequired["AccountCreateParamsCapabilitiesZipPayments"] """ The zip_payments capability. @@ -1230,6 +1234,13 @@ class AccountCreateParamsCapabilitiesUsBankTransferPayments(TypedDict): """ +class AccountCreateParamsCapabilitiesWeroPayments(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] """ @@ -1310,6 +1321,10 @@ class AccountCreateParamsCompany(TypedDict): """ The company's phone number (used for verification). """ + physical_address: NotRequired["AccountCreateParamsCompanyPhysicalAddress"] + """ + A location where the business has a meaningful physical operating presence. + """ principal_place_of_business: NotRequired[ "AccountCreateParamsCompanyPrincipalPlaceOfBusiness" ] @@ -1504,6 +1519,33 @@ class AccountCreateParamsCompanyOwnershipDeclaration(TypedDict): """ +class AccountCreateParamsCompanyPhysicalAddress(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 ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). + """ + + class AccountCreateParamsCompanyPrincipalPlaceOfBusiness(TypedDict): city: NotRequired[str] """ @@ -1633,14 +1675,14 @@ class AccountCreateParamsControllerDashboard(TypedDict): class AccountCreateParamsControllerFees(TypedDict): payer: NotRequired["Literal['account', 'application']|str"] """ - 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). + Controls who pays Stripe fees for direct charges and other pricing-control-eligible Stripe products. Setting `controller.losses.payments=application` requires `controller.fees.payer=application`. For destination charges and separate charges and transfers, Stripe bills the platform regardless of this setting. Defaults to `account`. Learn more about [fee behavior on connected accounts](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior), including application fees and pricing considerations. """ class AccountCreateParamsControllerLosses(TypedDict): payments: NotRequired["Literal['application', 'stripe']|str"] """ - A value indicating who is liable when this account can't pay back negative balances resulting from payments. Defaults to `stripe`. + Controls who is responsible for payment-related negative balances on this account. The platform remains liable for negative balances on its own account. To use Stripe negative balance liability, your integration must meet [Managed Risk requirements](https://docs.stripe.com/connect/risk-management/managed-risk). Defaults to `stripe`. """ @@ -1690,6 +1732,12 @@ class AccountCreateParamsDocuments(TypedDict): """ One or more documents that demonstrate proof of address. """ + proof_of_business_presence: NotRequired[ + "AccountCreateParamsDocumentsProofOfBusinessPresence" + ] + """ + One or more documents that demonstrate proof of business presence. + """ proof_of_ultimate_beneficial_ownership: NotRequired[ "AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnership" ] @@ -1747,6 +1795,13 @@ class AccountCreateParamsDocumentsProofOfAddress(TypedDict): """ +class AccountCreateParamsDocumentsProofOfBusinessPresence(TypedDict): + files: NotRequired[List[str]] + """ + One or more document ids returned by a [file upload](https://docs.stripe.com/api#create_file) with a `purpose` value of `account_requirement`. + """ + + class AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnership( TypedDict ): diff --git a/stripe/params/_account_session_create_params.py b/stripe/params/_account_session_create_params.py index 911efa943..bcccd0ff3 100644 --- a/stripe/params/_account_session_create_params.py +++ b/stripe/params/_account_session_create_params.py @@ -207,6 +207,18 @@ class AccountSessionCreateParamsComponents(TypedDict): """ Configuration for the [tax threshold monitoring](https://docs.stripe.com/connect/supported-embedded-components/tax-threshold-monitoring/) embedded component. """ + terminal_hardware_orders: NotRequired[ + "AccountSessionCreateParamsComponentsTerminalHardwareOrders" + ] + """ + Configuration for the [Terminal hardware orders](https://docs.stripe.com/connect/supported-embedded-components/terminal-hardware-orders/) embedded component. + """ + terminal_hardware_shop: NotRequired[ + "AccountSessionCreateParamsComponentsTerminalHardwareShop" + ] + """ + Configuration for the [Terminal hardware shop](https://docs.stripe.com/connect/supported-embedded-components/terminal-hardware-shop/) embedded component. + """ class AccountSessionCreateParamsComponentsAccountManagement(TypedDict): @@ -997,3 +1009,41 @@ class AccountSessionCreateParamsComponentsTaxThresholdMonitoringFeatures( TypedDict, ): pass + + +class AccountSessionCreateParamsComponentsTerminalHardwareOrders(TypedDict): + enabled: bool + """ + Whether the embedded component is enabled. + """ + features: NotRequired[ + "AccountSessionCreateParamsComponentsTerminalHardwareOrdersFeatures" + ] + """ + An empty list, because this embedded component has no features. + """ + + +class AccountSessionCreateParamsComponentsTerminalHardwareOrdersFeatures( + TypedDict, +): + pass + + +class AccountSessionCreateParamsComponentsTerminalHardwareShop(TypedDict): + enabled: bool + """ + Whether the embedded component is enabled. + """ + features: NotRequired[ + "AccountSessionCreateParamsComponentsTerminalHardwareShopFeatures" + ] + """ + An empty list, because this embedded component has no features. + """ + + +class AccountSessionCreateParamsComponentsTerminalHardwareShopFeatures( + TypedDict, +): + pass diff --git a/stripe/params/_account_update_params.py b/stripe/params/_account_update_params.py index 590da8d68..121e9525d 100644 --- a/stripe/params/_account_update_params.py +++ b/stripe/params/_account_update_params.py @@ -651,6 +651,10 @@ class AccountUpdateParamsCapabilities(TypedDict): """ The us_bank_transfer_payments capability. """ + wero_payments: NotRequired["AccountUpdateParamsCapabilitiesWeroPayments"] + """ + The wero_payments capability. + """ zip_payments: NotRequired["AccountUpdateParamsCapabilitiesZipPayments"] """ The zip_payments capability. @@ -1217,6 +1221,13 @@ class AccountUpdateParamsCapabilitiesUsBankTransferPayments(TypedDict): """ +class AccountUpdateParamsCapabilitiesWeroPayments(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] """ @@ -1297,6 +1308,10 @@ class AccountUpdateParamsCompany(TypedDict): """ The company's phone number (used for verification). """ + physical_address: NotRequired["AccountUpdateParamsCompanyPhysicalAddress"] + """ + A location where the business has a meaningful physical operating presence. + """ principal_place_of_business: NotRequired[ "AccountUpdateParamsCompanyPrincipalPlaceOfBusiness" ] @@ -1488,6 +1503,33 @@ class AccountUpdateParamsCompanyOwnershipDeclaration(TypedDict): """ +class AccountUpdateParamsCompanyPhysicalAddress(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 ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). + """ + + class AccountUpdateParamsCompanyPrincipalPlaceOfBusiness(TypedDict): city: NotRequired[str] """ @@ -1602,6 +1644,12 @@ class AccountUpdateParamsDocuments(TypedDict): """ One or more documents that demonstrate proof of address. """ + proof_of_business_presence: NotRequired[ + "AccountUpdateParamsDocumentsProofOfBusinessPresence" + ] + """ + One or more documents that demonstrate proof of business presence. + """ proof_of_registration: NotRequired[ "AccountUpdateParamsDocumentsProofOfRegistration" ] @@ -1665,6 +1713,13 @@ class AccountUpdateParamsDocumentsProofOfAddress(TypedDict): """ +class AccountUpdateParamsDocumentsProofOfBusinessPresence(TypedDict): + files: NotRequired[List[str]] + """ + One or more document ids returned by a [file upload](https://docs.stripe.com/api#create_file) with a `purpose` value of `account_requirement`. + """ + + class AccountUpdateParamsDocumentsProofOfRegistration(TypedDict): files: NotRequired[List[str]] """ diff --git a/stripe/params/_balance_settings_modify_params.py b/stripe/params/_balance_settings_modify_params.py index d6af5d934..5094a23b5 100644 --- a/stripe/params/_balance_settings_modify_params.py +++ b/stripe/params/_balance_settings_modify_params.py @@ -26,6 +26,12 @@ class BalanceSettingsModifyParamsPayments(TypedDict): """ Settings specific to the account's payouts. """ + settlement_currencies: NotRequired[ + "Dict[str, Union[Literal['disabled', 'enabled'], str]]|UntypedStripeObject[Union[Literal['disabled', 'enabled'], str]]" + ] + """ + A hash of settlement currencies to update. Each key is an ISO 4217 currency code, and the value is either `enabled` or `disabled`. + """ settlement_timing: NotRequired[ "BalanceSettingsModifyParamsPaymentsSettlementTiming" ] diff --git a/stripe/params/_balance_settings_update_params.py b/stripe/params/_balance_settings_update_params.py index 74d6e818c..2404f0a2c 100644 --- a/stripe/params/_balance_settings_update_params.py +++ b/stripe/params/_balance_settings_update_params.py @@ -25,6 +25,12 @@ class BalanceSettingsUpdateParamsPayments(TypedDict): """ Settings specific to the account's payouts. """ + settlement_currencies: NotRequired[ + "Dict[str, Union[Literal['disabled', 'enabled'], str]]|UntypedStripeObject[Union[Literal['disabled', 'enabled'], str]]" + ] + """ + A hash of settlement currencies to update. Each key is an ISO 4217 currency code, and the value is either `enabled` or `disabled`. + """ settlement_timing: NotRequired[ "BalanceSettingsUpdateParamsPaymentsSettlementTiming" ] diff --git a/stripe/params/_charge_capture_params.py b/stripe/params/_charge_capture_params.py index 5b5960916..356c9e4e6 100644 --- a/stripe/params/_charge_capture_params.py +++ b/stripe/params/_charge_capture_params.py @@ -28,7 +28,7 @@ class ChargeCaptureParams(RequestOptions): """ 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. + 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 are only sent for payments in live mode. """ statement_descriptor: NotRequired[str] """ diff --git a/stripe/params/_charge_create_params.py b/stripe/params/_charge_create_params.py index cfa3e339b..913ad68a5 100644 --- a/stripe/params/_charge_create_params.py +++ b/stripe/params/_charge_create_params.py @@ -53,7 +53,7 @@ class ChargeCreateParams(RequestOptions): """ receipt_email: NotRequired[str] """ - The email address to which this charge's [receipt](https://docs.stripe.com/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://docs.stripe.com/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). + The email address to which this charge's [receipt](https://docs.stripe.com/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and receipts are only sent for payments in live mode. If this charge is for a [Customer](https://docs.stripe.com/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"] """ diff --git a/stripe/params/_confirmation_token_create_params.py b/stripe/params/_confirmation_token_create_params.py index 374c93967..416a2987b 100644 --- a/stripe/params/_confirmation_token_create_params.py +++ b/stripe/params/_confirmation_token_create_params.py @@ -422,6 +422,7 @@ class ConfirmationTokenCreateParamsPaymentMethodData(TypedDict): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -445,6 +446,10 @@ class ConfirmationTokenCreateParamsPaymentMethodData(TypedDict): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -661,7 +666,9 @@ class ConfirmationTokenCreateParamsPaymentMethodDataGrabpay(TypedDict): class ConfirmationTokenCreateParamsPaymentMethodDataIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -950,6 +957,12 @@ class ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -960,10 +973,27 @@ class ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount(TypedDict): """ +class ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class ConfirmationTokenCreateParamsPaymentMethodDataWechatPay(TypedDict): pass +class ConfirmationTokenCreateParamsPaymentMethodDataWero(TypedDict): + pass + + class ConfirmationTokenCreateParamsPaymentMethodDataZip(TypedDict): pass diff --git a/stripe/params/_customer_create_params.py b/stripe/params/_customer_create_params.py index 47ee9ecd3..0eac02afd 100644 --- a/stripe/params/_customer_create_params.py +++ b/stripe/params/_customer_create_params.py @@ -250,7 +250,9 @@ class CustomerCreateParamsTaxIdDatum(TypedDict): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -264,6 +266,7 @@ class CustomerCreateParamsTaxIdDatum(TypedDict): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -274,12 +277,14 @@ class CustomerCreateParamsTaxIdDatum(TypedDict): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -289,8 +294,12 @@ class CustomerCreateParamsTaxIdDatum(TypedDict): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -300,6 +309,7 @@ class CustomerCreateParamsTaxIdDatum(TypedDict): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -315,23 +325,28 @@ class CustomerCreateParamsTaxIdDatum(TypedDict): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -341,12 +356,15 @@ class CustomerCreateParamsTaxIdDatum(TypedDict): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -364,7 +382,7 @@ class CustomerCreateParamsTaxIdDatum(TypedDict): str, ] """ - 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`, `fo_vat`, `gb_vat`, `ge_vat`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_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`, `pl_nip`, `py_ruc`, `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` + Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_acn`, `au_arn`, `au_wpn`, `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`, `bw_vat`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `ci_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `cz_dic`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `fo_vat`, `fr_siren`, `fr_siret`, `fr_spi`, `gb_vat`, `ge_vat`, `gh_tin`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_kt`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_vat`, `ma_vat`, `md_cf`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mu_vat`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `mz_nuit`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_bn`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `pl_nip`, `pt_nif`, `py_ruc`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sm_coe`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tt_bir`, `tt_vat`, `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 """ diff --git a/stripe/params/_customer_create_tax_id_params.py b/stripe/params/_customer_create_tax_id_params.py index 88b09b1d9..1e2f86aa8 100644 --- a/stripe/params/_customer_create_tax_id_params.py +++ b/stripe/params/_customer_create_tax_id_params.py @@ -19,7 +19,9 @@ class CustomerCreateTaxIdParams(RequestOptions): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -33,6 +35,7 @@ class CustomerCreateTaxIdParams(RequestOptions): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -43,12 +46,14 @@ class CustomerCreateTaxIdParams(RequestOptions): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -58,8 +63,12 @@ class CustomerCreateTaxIdParams(RequestOptions): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -69,6 +78,7 @@ class CustomerCreateTaxIdParams(RequestOptions): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -84,23 +94,28 @@ class CustomerCreateTaxIdParams(RequestOptions): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -110,12 +125,15 @@ class CustomerCreateTaxIdParams(RequestOptions): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -133,7 +151,7 @@ class CustomerCreateTaxIdParams(RequestOptions): str, ] """ - 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`, `fo_vat`, `gb_vat`, `ge_vat`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_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`, `pl_nip`, `py_ruc`, `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` + Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_acn`, `au_arn`, `au_wpn`, `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`, `bw_vat`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `ci_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `cz_dic`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `fo_vat`, `fr_siren`, `fr_siret`, `fr_spi`, `gb_vat`, `ge_vat`, `gh_tin`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_kt`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_vat`, `ma_vat`, `md_cf`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mu_vat`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `mz_nuit`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_bn`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `pl_nip`, `pt_nif`, `py_ruc`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sm_coe`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tt_bir`, `tt_vat`, `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 """ diff --git a/stripe/params/_customer_list_payment_methods_params.py b/stripe/params/_customer_list_payment_methods_params.py index b35b90059..1ccb41fac 100644 --- a/stripe/params/_customer_list_payment_methods_params.py +++ b/stripe/params/_customer_list_payment_methods_params.py @@ -29,7 +29,7 @@ class CustomerListPaymentMethodsParams(RequestOptions): 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', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', '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', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip']|str" + "Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', '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', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip']|str" ] """ 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. diff --git a/stripe/params/_customer_payment_method_list_params.py b/stripe/params/_customer_payment_method_list_params.py index cfea95b0f..101ab92f0 100644 --- a/stripe/params/_customer_payment_method_list_params.py +++ b/stripe/params/_customer_payment_method_list_params.py @@ -28,7 +28,7 @@ class CustomerPaymentMethodListParams(TypedDict): 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', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', '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', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip']|str" + "Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', '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', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip']|str" ] """ 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. diff --git a/stripe/params/_customer_tax_id_create_params.py b/stripe/params/_customer_tax_id_create_params.py index c8b9dd57f..bd6908d06 100644 --- a/stripe/params/_customer_tax_id_create_params.py +++ b/stripe/params/_customer_tax_id_create_params.py @@ -18,7 +18,9 @@ class CustomerTaxIdCreateParams(TypedDict): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -32,6 +34,7 @@ class CustomerTaxIdCreateParams(TypedDict): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -42,12 +45,14 @@ class CustomerTaxIdCreateParams(TypedDict): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -57,8 +62,12 @@ class CustomerTaxIdCreateParams(TypedDict): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -68,6 +77,7 @@ class CustomerTaxIdCreateParams(TypedDict): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -83,23 +93,28 @@ class CustomerTaxIdCreateParams(TypedDict): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -109,12 +124,15 @@ class CustomerTaxIdCreateParams(TypedDict): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -132,7 +150,7 @@ class CustomerTaxIdCreateParams(TypedDict): str, ] """ - 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`, `fo_vat`, `gb_vat`, `ge_vat`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_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`, `pl_nip`, `py_ruc`, `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` + Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_acn`, `au_arn`, `au_wpn`, `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`, `bw_vat`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `ci_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `cz_dic`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `fo_vat`, `fr_siren`, `fr_siret`, `fr_spi`, `gb_vat`, `ge_vat`, `gh_tin`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_kt`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_vat`, `ma_vat`, `md_cf`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mu_vat`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `mz_nuit`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_bn`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `pl_nip`, `pt_nif`, `py_ruc`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sm_coe`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tt_bir`, `tt_vat`, `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 """ diff --git a/stripe/params/_invoice_add_lines_params.py b/stripe/params/_invoice_add_lines_params.py index 41fbca1c7..356220596 100644 --- a/stripe/params/_invoice_add_lines_params.py +++ b/stripe/params/_invoice_add_lines_params.py @@ -286,7 +286,7 @@ class InvoiceAddLinesParamsLineTaxAmountTaxRateData(TypedDict): [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', 'digital_excise_tax', 'gst', 'hst', 'igst', 'jct', 'lease_tax', 'mass_transit_parking_tax', 'parking_tax', 'pst', 'qst', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'utility_users_tax', 'vat']|str" + "Literal['admissions_tax', 'amusement_tax', 'attendance_tax', 'communications_tax', 'digital_excise_tax', 'entertainment_tax', 'get_fund', 'gross_receipts_tax', 'gst', 'hospitality_tax', 'hst', 'igst', 'jct', 'lease_tax', 'luxury_tax', 'mass_transit_parking_tax', 'nhil', 'parking_tax', 'pst', 'qst', 'resort_tax', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'tourism_tax', 'utility_users_tax', 'vat']|str" ] """ The high-level tax type, such as `vat` or `sales_tax`. diff --git a/stripe/params/_invoice_create_params.py b/stripe/params/_invoice_create_params.py index b9fcbee20..cda78d3b4 100644 --- a/stripe/params/_invoice_create_params.py +++ b/stripe/params/_invoice_create_params.py @@ -288,7 +288,7 @@ class InvoiceCreateParamsPaymentSettings(TypedDict): Payment-method-specific configuration to provide to the invoice's PaymentIntent. """ payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" + "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sequra', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" ] """ 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). @@ -617,7 +617,7 @@ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsPix(TypedDict): """ expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If unspecified, defaults to 14400 seconds (4 hours). """ diff --git a/stripe/params/_invoice_create_preview_params.py b/stripe/params/_invoice_create_preview_params.py index fa7b75236..04d5c42b1 100644 --- a/stripe/params/_invoice_create_preview_params.py +++ b/stripe/params/_invoice_create_preview_params.py @@ -213,7 +213,9 @@ class InvoiceCreatePreviewParamsCustomerDetailsTaxId(TypedDict): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -227,6 +229,7 @@ class InvoiceCreatePreviewParamsCustomerDetailsTaxId(TypedDict): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -237,12 +240,14 @@ class InvoiceCreatePreviewParamsCustomerDetailsTaxId(TypedDict): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -252,8 +257,12 @@ class InvoiceCreatePreviewParamsCustomerDetailsTaxId(TypedDict): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -263,6 +272,7 @@ class InvoiceCreatePreviewParamsCustomerDetailsTaxId(TypedDict): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -278,23 +288,28 @@ class InvoiceCreatePreviewParamsCustomerDetailsTaxId(TypedDict): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -304,12 +319,15 @@ class InvoiceCreatePreviewParamsCustomerDetailsTaxId(TypedDict): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -327,7 +345,7 @@ class InvoiceCreatePreviewParamsCustomerDetailsTaxId(TypedDict): str, ] """ - 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`, `fo_vat`, `gb_vat`, `ge_vat`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_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`, `pl_nip`, `py_ruc`, `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` + Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_acn`, `au_arn`, `au_wpn`, `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`, `bw_vat`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `ci_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `cz_dic`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `fo_vat`, `fr_siren`, `fr_siret`, `fr_spi`, `gb_vat`, `ge_vat`, `gh_tin`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_kt`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_vat`, `ma_vat`, `md_cf`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mu_vat`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `mz_nuit`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_bn`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `pl_nip`, `pt_nif`, `py_ruc`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sm_coe`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tt_bir`, `tt_vat`, `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 """ @@ -421,11 +439,11 @@ class InvoiceCreatePreviewParamsInvoiceItem(TypedDict): """ price: NotRequired[str] """ - The ID of the price object. One of `price` or `price_data` is required. + The ID of the price object. """ price_data: NotRequired["InvoiceCreatePreviewParamsInvoiceItemPriceData"] """ - Data used to generate a new [Price](https://docs.stripe.com/api/prices) object inline. One of `price` or `price_data` is required. + Data used to generate a new [Price](https://docs.stripe.com/api/prices) object inline. """ quantity: NotRequired[int] """ @@ -580,6 +598,12 @@ class InvoiceCreatePreviewParamsScheduleDetails(TypedDict): """ 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. """ + pause_schedules: NotRequired[ + "Literal['']|List[InvoiceCreatePreviewParamsScheduleDetailsPauseSchedule]" + ] + """ + The subscription's pause behavior and optional resume behavior. You can provide one entry. Include its `key` to update an existing pause schedule. Omit `pause_schedules` to leave the existing schedule unchanged, or pass an empty string (`""`) to clear it. + """ 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. @@ -1210,6 +1234,179 @@ class InvoiceCreatePreviewParamsScheduleDetailsBillingModeFlexible(TypedDict): """ +class InvoiceCreatePreviewParamsScheduleDetailsPauseSchedule(TypedDict): + key: NotRequired[str] + """ + A unique identifier for this pause schedule entry. + """ + pause: NotRequired[ + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePause" + ] + """ + Configuration for when and how the subscription pauses. + """ + resume: NotRequired[ + "Literal['']|InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResume" + ] + """ + Configuration for when and how the subscription resumes. + """ + + +class InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePause(TypedDict): + pause_at: NotRequired[ + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePausePauseAt" + ] + """ + When to pause the subscription. + """ + settings: NotRequired[ + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettings" + ] + """ + Settings controlling billing behavior during the pause. + """ + + +class InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePausePauseAt( + TypedDict, +): + timestamp: NotRequired[int] + """ + The Unix timestamp at which to pause the subscription. Required when `type` is `timestamp`. + """ + type: Union[Literal["now", "timestamp"], str] + """ + When to pause the subscription. Use `now` to pause immediately or `timestamp` to pause at a specific time. + """ + + +class InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettings( + TypedDict, +): + bill_for: NotRequired[ + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillFor" + ] + """ + Controls what to bill for when pausing the subscription. + """ + invoicing_behavior: NotRequired[ + "Literal['invoice', 'pending_invoice_item']|str" + ] + """ + Determines whether to generate an invoice for outstanding amounts when pausing. When adding a pause schedule, defaults to `pending_invoice_item`. On updates, the existing value is preserved if not provided. + """ + type: NotRequired["Literal['subscription']|str"] + """ + The pause type. Currently only `subscription` is supported. + """ + + +class InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillFor( + TypedDict, +): + outstanding_usage_through: NotRequired[ + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillForOutstandingUsageThrough" + ] + """ + Controls whether to collect metered usage accrued up to the pause date. + """ + unused_time_from: NotRequired[ + "InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillForUnusedTimeFrom" + ] + """ + Controls how unused time on subscription items is credited when pausing. + """ + + +class InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillForOutstandingUsageThrough( + TypedDict, +): + type: NotRequired["Literal['none', 'pause_at']|str"] + """ + Determines whether to collect metered usage accrued up to the pause date. When adding a pause schedule, defaults to `pause_at`. On updates, the existing value is preserved if not provided. + """ + + +class InvoiceCreatePreviewParamsScheduleDetailsPauseSchedulePauseSettingsBillForUnusedTimeFrom( + TypedDict, +): + type: NotRequired[ + "Literal['item_current_period_start', 'none', 'pause_at']|str" + ] + """ + Determines which point in the billing period unused time is credited from. When adding a pause schedule, defaults to `pause_at`. On updates, the existing value is preserved if not provided. + """ + + +class InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResume(TypedDict): + resume_at: NotRequired[ + "InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeResumeAt" + ] + """ + When to resume the subscription. + """ + settings: NotRequired[ + "InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeSettings" + ] + """ + Settings controlling how the subscription resumes. + """ + + +class InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeResumeAt( + TypedDict, +): + duration: NotRequired[ + "InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeResumeAtDuration" + ] + """ + The duration after which to resume the subscription. Required when `type` is `duration`. + """ + timestamp: NotRequired[int] + """ + The Unix timestamp at which to resume the subscription. Required when `type` is `timestamp`. + """ + type: Union[Literal["duration", "now", "timestamp"], str] + """ + When to resume the subscription. Use `now` to resume immediately, `duration` to resume after a set duration, or `timestamp` to resume at a specific time. + """ + + +class InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeResumeAtDuration( + TypedDict, +): + interval: Union[Literal["day", "month", "week", "year"], str] + """ + The time unit for the resume duration. One of `day`, `week`, `month`, or `year`. + """ + interval_count: NotRequired[int] + """ + The number of intervals after which the subscription resumes. + """ + + +class InvoiceCreatePreviewParamsScheduleDetailsPauseScheduleResumeSettings( + TypedDict, +): + billing_cycle_anchor: NotRequired["Literal['resume_at', 'unchanged']|str"] + """ + Controls the billing cycle anchor when the subscription resumes. When adding a pause schedule, defaults to `resume_at`. On updates, the existing value is preserved if not provided. + """ + payment_behavior: NotRequired[ + "Literal['resume_on_payment_attempt', 'resume_on_payment_success']|str" + ] + """ + Controls whether Stripe attempts payment on the resumption invoice and how payment affects the subscription's status. When adding a pause schedule, defaults to `resume_on_payment_success`. On updates, the existing value is preserved if not provided. + """ + proration_behavior: NotRequired[ + "Literal['always_invoice', 'create_prorations', 'none']|str" + ] + """ + Determines how to handle prorations when the subscription resumes. When adding a pause schedule, defaults to `create_prorations`. On updates, the existing value is preserved if not provided. + """ + + class InvoiceCreatePreviewParamsScheduleDetailsPhase(TypedDict): add_invoice_items: NotRequired[ List["InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItem"] diff --git a/stripe/params/_invoice_line_item_update_params.py b/stripe/params/_invoice_line_item_update_params.py index 29612fab7..19018a7ee 100644 --- a/stripe/params/_invoice_line_item_update_params.py +++ b/stripe/params/_invoice_line_item_update_params.py @@ -270,7 +270,7 @@ class InvoiceLineItemUpdateParamsTaxAmountTaxRateData(TypedDict): [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', 'digital_excise_tax', 'gst', 'hst', 'igst', 'jct', 'lease_tax', 'mass_transit_parking_tax', 'parking_tax', 'pst', 'qst', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'utility_users_tax', 'vat']|str" + "Literal['admissions_tax', 'amusement_tax', 'attendance_tax', 'communications_tax', 'digital_excise_tax', 'entertainment_tax', 'get_fund', 'gross_receipts_tax', 'gst', 'hospitality_tax', 'hst', 'igst', 'jct', 'lease_tax', 'luxury_tax', 'mass_transit_parking_tax', 'nhil', 'parking_tax', 'pst', 'qst', 'resort_tax', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'tourism_tax', 'utility_users_tax', 'vat']|str" ] """ The high-level tax type, such as `vat` or `sales_tax`. diff --git a/stripe/params/_invoice_modify_params.py b/stripe/params/_invoice_modify_params.py index 56fca24e7..7f727aeb0 100644 --- a/stripe/params/_invoice_modify_params.py +++ b/stripe/params/_invoice_modify_params.py @@ -253,7 +253,7 @@ class InvoiceModifyParamsPaymentSettings(TypedDict): Payment-method-specific configuration to provide to the invoice's PaymentIntent. """ payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" + "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sequra', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" ] """ 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). @@ -582,7 +582,7 @@ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsPix(TypedDict): """ expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If unspecified, defaults to 14400 seconds (4 hours). """ diff --git a/stripe/params/_invoice_update_lines_params.py b/stripe/params/_invoice_update_lines_params.py index 4461d9bfb..908b4e416 100644 --- a/stripe/params/_invoice_update_lines_params.py +++ b/stripe/params/_invoice_update_lines_params.py @@ -290,7 +290,7 @@ class InvoiceUpdateLinesParamsLineTaxAmountTaxRateData(TypedDict): [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', 'digital_excise_tax', 'gst', 'hst', 'igst', 'jct', 'lease_tax', 'mass_transit_parking_tax', 'parking_tax', 'pst', 'qst', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'utility_users_tax', 'vat']|str" + "Literal['admissions_tax', 'amusement_tax', 'attendance_tax', 'communications_tax', 'digital_excise_tax', 'entertainment_tax', 'get_fund', 'gross_receipts_tax', 'gst', 'hospitality_tax', 'hst', 'igst', 'jct', 'lease_tax', 'luxury_tax', 'mass_transit_parking_tax', 'nhil', 'parking_tax', 'pst', 'qst', 'resort_tax', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'tourism_tax', 'utility_users_tax', 'vat']|str" ] """ The high-level tax type, such as `vat` or `sales_tax`. diff --git a/stripe/params/_invoice_update_params.py b/stripe/params/_invoice_update_params.py index e96332bf2..de6cb1940 100644 --- a/stripe/params/_invoice_update_params.py +++ b/stripe/params/_invoice_update_params.py @@ -252,7 +252,7 @@ class InvoiceUpdateParamsPaymentSettings(TypedDict): Payment-method-specific configuration to provide to the invoice's PaymentIntent. """ payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" + "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sequra', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" ] """ 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). @@ -581,7 +581,7 @@ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsPix(TypedDict): """ expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If unspecified, defaults to 14400 seconds (4 hours). """ diff --git a/stripe/params/_mandate_list_params.py b/stripe/params/_mandate_list_params.py index 23b190f1b..fefebff5e 100644 --- a/stripe/params/_mandate_list_params.py +++ b/stripe/params/_mandate_list_params.py @@ -23,6 +23,9 @@ class MandateListParams(RequestOptions): The Stripe account ID that the mandates are intended for. Learn more about the [use case for connected accounts payments](https://docs.stripe.com/payments/connected-accounts). """ payment_method: str + """ + The ID of the payment method whose mandates you want to retrieve. + """ 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. diff --git a/stripe/params/_order_create_params.py b/stripe/params/_order_create_params.py index 3197039e7..40bcc828a 100644 --- a/stripe/params/_order_create_params.py +++ b/stripe/params/_order_create_params.py @@ -2294,7 +2294,9 @@ class OrderCreateParamsTaxDetailsTaxId(TypedDict): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -2308,6 +2310,7 @@ class OrderCreateParamsTaxDetailsTaxId(TypedDict): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -2318,12 +2321,14 @@ class OrderCreateParamsTaxDetailsTaxId(TypedDict): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -2333,8 +2338,12 @@ class OrderCreateParamsTaxDetailsTaxId(TypedDict): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -2344,6 +2353,7 @@ class OrderCreateParamsTaxDetailsTaxId(TypedDict): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -2359,23 +2369,28 @@ class OrderCreateParamsTaxDetailsTaxId(TypedDict): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -2385,12 +2400,15 @@ class OrderCreateParamsTaxDetailsTaxId(TypedDict): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -2408,7 +2426,7 @@ class OrderCreateParamsTaxDetailsTaxId(TypedDict): str, ] """ - 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`, `fo_vat`, `gb_vat`, `ge_vat`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_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`, `pl_nip`, `py_ruc`, `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` + Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_acn`, `au_arn`, `au_wpn`, `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`, `bw_vat`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `ci_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `cz_dic`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `fo_vat`, `fr_siren`, `fr_siret`, `fr_spi`, `gb_vat`, `ge_vat`, `gh_tin`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_kt`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_vat`, `ma_vat`, `md_cf`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mu_vat`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `mz_nuit`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_bn`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `pl_nip`, `pt_nif`, `py_ruc`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sm_coe`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tt_bir`, `tt_vat`, `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 """ diff --git a/stripe/params/_order_modify_params.py b/stripe/params/_order_modify_params.py index db9e40be3..b817bb06c 100644 --- a/stripe/params/_order_modify_params.py +++ b/stripe/params/_order_modify_params.py @@ -2304,7 +2304,9 @@ class OrderModifyParamsTaxDetailsTaxId(TypedDict): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -2318,6 +2320,7 @@ class OrderModifyParamsTaxDetailsTaxId(TypedDict): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -2328,12 +2331,14 @@ class OrderModifyParamsTaxDetailsTaxId(TypedDict): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -2343,8 +2348,12 @@ class OrderModifyParamsTaxDetailsTaxId(TypedDict): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -2354,6 +2363,7 @@ class OrderModifyParamsTaxDetailsTaxId(TypedDict): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -2369,23 +2379,28 @@ class OrderModifyParamsTaxDetailsTaxId(TypedDict): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -2395,12 +2410,15 @@ class OrderModifyParamsTaxDetailsTaxId(TypedDict): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -2418,7 +2436,7 @@ class OrderModifyParamsTaxDetailsTaxId(TypedDict): str, ] """ - 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`, `fo_vat`, `gb_vat`, `ge_vat`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_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`, `pl_nip`, `py_ruc`, `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` + Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_acn`, `au_arn`, `au_wpn`, `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`, `bw_vat`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `ci_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `cz_dic`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `fo_vat`, `fr_siren`, `fr_siret`, `fr_spi`, `gb_vat`, `ge_vat`, `gh_tin`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_kt`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_vat`, `ma_vat`, `md_cf`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mu_vat`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `mz_nuit`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_bn`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `pl_nip`, `pt_nif`, `py_ruc`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sm_coe`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tt_bir`, `tt_vat`, `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 """ diff --git a/stripe/params/_order_update_params.py b/stripe/params/_order_update_params.py index e9c574fea..87a64f7b6 100644 --- a/stripe/params/_order_update_params.py +++ b/stripe/params/_order_update_params.py @@ -2303,7 +2303,9 @@ class OrderUpdateParamsTaxDetailsTaxId(TypedDict): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -2317,6 +2319,7 @@ class OrderUpdateParamsTaxDetailsTaxId(TypedDict): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -2327,12 +2330,14 @@ class OrderUpdateParamsTaxDetailsTaxId(TypedDict): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -2342,8 +2347,12 @@ class OrderUpdateParamsTaxDetailsTaxId(TypedDict): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -2353,6 +2362,7 @@ class OrderUpdateParamsTaxDetailsTaxId(TypedDict): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -2368,23 +2378,28 @@ class OrderUpdateParamsTaxDetailsTaxId(TypedDict): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -2394,12 +2409,15 @@ class OrderUpdateParamsTaxDetailsTaxId(TypedDict): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -2417,7 +2435,7 @@ class OrderUpdateParamsTaxDetailsTaxId(TypedDict): str, ] """ - 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`, `fo_vat`, `gb_vat`, `ge_vat`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_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`, `pl_nip`, `py_ruc`, `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` + Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_acn`, `au_arn`, `au_wpn`, `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`, `bw_vat`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `ci_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `cz_dic`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `fo_vat`, `fr_siren`, `fr_siret`, `fr_spi`, `gb_vat`, `ge_vat`, `gh_tin`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_kt`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_vat`, `ma_vat`, `md_cf`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mu_vat`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `mz_nuit`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_bn`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `pl_nip`, `pt_nif`, `py_ruc`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sm_coe`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tt_bir`, `tt_vat`, `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 """ diff --git a/stripe/params/_payment_intent_confirm_params.py b/stripe/params/_payment_intent_confirm_params.py index c83f04094..1a0b86d0f 100644 --- a/stripe/params/_payment_intent_confirm_params.py +++ b/stripe/params/_payment_intent_confirm_params.py @@ -149,7 +149,7 @@ class PaymentIntentConfirmParams(RequestOptions): 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://docs.stripe.com/payments/save-card-without-authentication). """ excluded_payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip'], str]]" + "Literal['']|List[Union[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip'], str]]" ] """ The list of payment method types to exclude from use with this payment. @@ -185,7 +185,7 @@ class PaymentIntentConfirmParams(RequestOptions): """ payment_method: NotRequired[str] """ - ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://docs.stripe.com/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. + The ID of a PaymentMethod to attach to this PaymentIntent. If the payment method is attached to a Customer, it must match the [customer](https://docs.stripe.com/api#create_payment_intent-customer) that is set on this PaymentIntent. """ payment_method_data: NotRequired[ @@ -2673,6 +2673,7 @@ class PaymentIntentConfirmParamsPaymentMethodData(TypedDict): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -2696,6 +2697,10 @@ class PaymentIntentConfirmParamsPaymentMethodData(TypedDict): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -2910,7 +2915,9 @@ class PaymentIntentConfirmParamsPaymentMethodDataGrabpay(TypedDict): class PaymentIntentConfirmParamsPaymentMethodDataIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -3197,6 +3204,12 @@ class PaymentIntentConfirmParamsPaymentMethodDataUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "PaymentIntentConfirmParamsPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -3207,10 +3220,27 @@ class PaymentIntentConfirmParamsPaymentMethodDataUsBankAccount(TypedDict): """ +class PaymentIntentConfirmParamsPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class PaymentIntentConfirmParamsPaymentMethodDataWechatPay(TypedDict): pass +class PaymentIntentConfirmParamsPaymentMethodDataWero(TypedDict): + pass + + class PaymentIntentConfirmParamsPaymentMethodDataZip(TypedDict): pass @@ -3594,6 +3624,12 @@ class PaymentIntentConfirmParamsPaymentMethodOptions(TypedDict): """ If this is a `wechat_pay` PaymentMethod, this sub-hash contains details about the WeChat Pay payment method options. """ + wero: NotRequired[ + "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsWero" + ] + """ + If this is a `wero` PaymentMethod, this sub-hash contains details about the Wero payment method options. + """ zip: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsZip" ] @@ -6195,11 +6231,11 @@ class PaymentIntentConfirmParamsPaymentMethodOptionsPix(TypedDict): """ expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If neither expiration option is supplied, defaults to 14400 seconds (4 hours). Mutually exclusive with `expires_at`. """ 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. + The absolute Unix timestamp at which the Pix expires, between 60 and 1209600 seconds from the current time. If neither expiration option is supplied, the Pix expires 14400 seconds (4 hours) after PaymentIntent confirmation. Mutually exclusive with `expires_after_seconds`. """ mandate_options: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsPixMandateOptions" @@ -6740,6 +6776,21 @@ class PaymentIntentConfirmParamsPaymentMethodOptionsWechatPay(TypedDict): """ +class PaymentIntentConfirmParamsPaymentMethodOptionsWero(TypedDict): + setup_future_usage: NotRequired["Literal['none']|str"] + """ + Indicates that you intend to make future payments with this PaymentIntent's payment method. + + If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. + + If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. + + When processing card payments, Stripe 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"]] """ diff --git a/stripe/params/_payment_intent_create_params.py b/stripe/params/_payment_intent_create_params.py index 39448db10..b35abb5ba 100644 --- a/stripe/params/_payment_intent_create_params.py +++ b/stripe/params/_payment_intent_create_params.py @@ -248,6 +248,7 @@ class PaymentIntentCreateParams(RequestOptions): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -297,7 +298,7 @@ class PaymentIntentCreateParams(RequestOptions): """ payment_method: NotRequired[str] """ - ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://docs.stripe.com/payments/payment-methods#compatibility) object) to attach to this PaymentIntent. + The ID of a PaymentMethod 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://docs.stripe.com/api#create_payment_intent-customer) parameter of this PaymentIntent. @@ -2800,6 +2801,7 @@ class PaymentIntentCreateParamsPaymentMethodData(TypedDict): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -2823,6 +2825,10 @@ class PaymentIntentCreateParamsPaymentMethodData(TypedDict): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["PaymentIntentCreateParamsPaymentMethodDataWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["PaymentIntentCreateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -3037,7 +3043,9 @@ class PaymentIntentCreateParamsPaymentMethodDataGrabpay(TypedDict): class PaymentIntentCreateParamsPaymentMethodDataIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -3324,6 +3332,12 @@ class PaymentIntentCreateParamsPaymentMethodDataUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "PaymentIntentCreateParamsPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -3334,10 +3348,27 @@ class PaymentIntentCreateParamsPaymentMethodDataUsBankAccount(TypedDict): """ +class PaymentIntentCreateParamsPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class PaymentIntentCreateParamsPaymentMethodDataWechatPay(TypedDict): pass +class PaymentIntentCreateParamsPaymentMethodDataWero(TypedDict): + pass + + class PaymentIntentCreateParamsPaymentMethodDataZip(TypedDict): pass @@ -3721,6 +3752,12 @@ class PaymentIntentCreateParamsPaymentMethodOptions(TypedDict): """ If this is a `wechat_pay` PaymentMethod, this sub-hash contains details about the WeChat Pay payment method options. """ + wero: NotRequired[ + "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsWero" + ] + """ + If this is a `wero` PaymentMethod, this sub-hash contains details about the Wero payment method options. + """ zip: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsZip" ] @@ -6316,11 +6353,11 @@ class PaymentIntentCreateParamsPaymentMethodOptionsPix(TypedDict): """ expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If neither expiration option is supplied, defaults to 14400 seconds (4 hours). Mutually exclusive with `expires_at`. """ 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. + The absolute Unix timestamp at which the Pix expires, between 60 and 1209600 seconds from the current time. If neither expiration option is supplied, the Pix expires 14400 seconds (4 hours) after PaymentIntent confirmation. Mutually exclusive with `expires_after_seconds`. """ mandate_options: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsPixMandateOptions" @@ -6861,6 +6898,21 @@ class PaymentIntentCreateParamsPaymentMethodOptionsWechatPay(TypedDict): """ +class PaymentIntentCreateParamsPaymentMethodOptionsWero(TypedDict): + setup_future_usage: NotRequired["Literal['none']|str"] + """ + Indicates that you intend to make future payments with this PaymentIntent's payment method. + + If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. + + If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. + + When processing card payments, Stripe 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"]] """ diff --git a/stripe/params/_payment_intent_modify_params.py b/stripe/params/_payment_intent_modify_params.py index 2424e32ab..cc06e7d45 100644 --- a/stripe/params/_payment_intent_modify_params.py +++ b/stripe/params/_payment_intent_modify_params.py @@ -163,7 +163,7 @@ class PaymentIntentModifyParams(RequestOptions): An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip'], str]]" + "Literal['']|List[Union[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip'], str]]" ] """ The list of payment method types to exclude from use with this payment. @@ -2652,6 +2652,7 @@ class PaymentIntentModifyParamsPaymentMethodData(TypedDict): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -2675,6 +2676,10 @@ class PaymentIntentModifyParamsPaymentMethodData(TypedDict): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["PaymentIntentModifyParamsPaymentMethodDataWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["PaymentIntentModifyParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -2889,7 +2894,9 @@ class PaymentIntentModifyParamsPaymentMethodDataGrabpay(TypedDict): class PaymentIntentModifyParamsPaymentMethodDataIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -3176,6 +3183,12 @@ class PaymentIntentModifyParamsPaymentMethodDataUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "PaymentIntentModifyParamsPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -3186,10 +3199,27 @@ class PaymentIntentModifyParamsPaymentMethodDataUsBankAccount(TypedDict): """ +class PaymentIntentModifyParamsPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class PaymentIntentModifyParamsPaymentMethodDataWechatPay(TypedDict): pass +class PaymentIntentModifyParamsPaymentMethodDataWero(TypedDict): + pass + + class PaymentIntentModifyParamsPaymentMethodDataZip(TypedDict): pass @@ -3573,6 +3603,12 @@ class PaymentIntentModifyParamsPaymentMethodOptions(TypedDict): """ If this is a `wechat_pay` PaymentMethod, this sub-hash contains details about the WeChat Pay payment method options. """ + wero: NotRequired[ + "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsWero" + ] + """ + If this is a `wero` PaymentMethod, this sub-hash contains details about the Wero payment method options. + """ zip: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsZip" ] @@ -6168,11 +6204,11 @@ class PaymentIntentModifyParamsPaymentMethodOptionsPix(TypedDict): """ expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If neither expiration option is supplied, defaults to 14400 seconds (4 hours). Mutually exclusive with `expires_at`. """ 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. + The absolute Unix timestamp at which the Pix expires, between 60 and 1209600 seconds from the current time. If neither expiration option is supplied, the Pix expires 14400 seconds (4 hours) after PaymentIntent confirmation. Mutually exclusive with `expires_after_seconds`. """ mandate_options: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsPixMandateOptions" @@ -6713,6 +6749,21 @@ class PaymentIntentModifyParamsPaymentMethodOptionsWechatPay(TypedDict): """ +class PaymentIntentModifyParamsPaymentMethodOptionsWero(TypedDict): + setup_future_usage: NotRequired["Literal['none']|str"] + """ + Indicates that you intend to make future payments with this PaymentIntent's payment method. + + If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. + + If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. + + When processing card payments, Stripe 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"]] """ diff --git a/stripe/params/_payment_intent_update_params.py b/stripe/params/_payment_intent_update_params.py index 4e1809f60..7c915461a 100644 --- a/stripe/params/_payment_intent_update_params.py +++ b/stripe/params/_payment_intent_update_params.py @@ -162,7 +162,7 @@ class PaymentIntentUpdateParams(TypedDict): An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip'], str]]" + "Literal['']|List[Union[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip'], str]]" ] """ The list of payment method types to exclude from use with this payment. @@ -2651,6 +2651,7 @@ class PaymentIntentUpdateParamsPaymentMethodData(TypedDict): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -2674,6 +2675,10 @@ class PaymentIntentUpdateParamsPaymentMethodData(TypedDict): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -2888,7 +2893,9 @@ class PaymentIntentUpdateParamsPaymentMethodDataGrabpay(TypedDict): class PaymentIntentUpdateParamsPaymentMethodDataIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -3175,6 +3182,12 @@ class PaymentIntentUpdateParamsPaymentMethodDataUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "PaymentIntentUpdateParamsPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -3185,10 +3198,27 @@ class PaymentIntentUpdateParamsPaymentMethodDataUsBankAccount(TypedDict): """ +class PaymentIntentUpdateParamsPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class PaymentIntentUpdateParamsPaymentMethodDataWechatPay(TypedDict): pass +class PaymentIntentUpdateParamsPaymentMethodDataWero(TypedDict): + pass + + class PaymentIntentUpdateParamsPaymentMethodDataZip(TypedDict): pass @@ -3572,6 +3602,12 @@ class PaymentIntentUpdateParamsPaymentMethodOptions(TypedDict): """ If this is a `wechat_pay` PaymentMethod, this sub-hash contains details about the WeChat Pay payment method options. """ + wero: NotRequired[ + "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsWero" + ] + """ + If this is a `wero` PaymentMethod, this sub-hash contains details about the Wero payment method options. + """ zip: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsZip" ] @@ -6167,11 +6203,11 @@ class PaymentIntentUpdateParamsPaymentMethodOptionsPix(TypedDict): """ expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If neither expiration option is supplied, defaults to 14400 seconds (4 hours). Mutually exclusive with `expires_at`. """ 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. + The absolute Unix timestamp at which the Pix expires, between 60 and 1209600 seconds from the current time. If neither expiration option is supplied, the Pix expires 14400 seconds (4 hours) after PaymentIntent confirmation. Mutually exclusive with `expires_after_seconds`. """ mandate_options: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsPixMandateOptions" @@ -6712,6 +6748,21 @@ class PaymentIntentUpdateParamsPaymentMethodOptionsWechatPay(TypedDict): """ +class PaymentIntentUpdateParamsPaymentMethodOptionsWero(TypedDict): + setup_future_usage: NotRequired["Literal['none']|str"] + """ + Indicates that you intend to make future payments with this PaymentIntent's payment method. + + If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. + + If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. + + When processing card payments, Stripe 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"]] """ diff --git a/stripe/params/_payment_link_create_params.py b/stripe/params/_payment_link_create_params.py index dd25529ed..4a9df815d 100644 --- a/stripe/params/_payment_link_create_params.py +++ b/stripe/params/_payment_link_create_params.py @@ -153,6 +153,7 @@ class PaymentLinkCreateParams(RequestOptions): "qris", "rechnung", "satispay", + "scalapay", "sepa_debit", "sequra", "shopeepay", @@ -163,6 +164,7 @@ class PaymentLinkCreateParams(RequestOptions): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -1123,6 +1125,24 @@ class PaymentLinkCreateParamsSubscriptionData(TypedDict): class PaymentLinkCreateParamsSubscriptionDataInvoiceSettings(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. + """ + custom_fields: NotRequired[ + "Literal['']|List[PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsCustomField]" + ] + """ + A list of up to 4 custom fields to be displayed on the invoice. + """ + description: NotRequired[str] + """ + An arbitrary string attached to the object. Often useful for displaying to users. + """ + footer: NotRequired[str] + """ + Footer to be displayed on the invoice. + """ issuer: NotRequired[ "PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsIssuer" ] @@ -1131,6 +1151,19 @@ class PaymentLinkCreateParamsSubscriptionDataInvoiceSettings(TypedDict): """ +class PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsCustomField( + 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 PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ diff --git a/stripe/params/_payment_link_modify_params.py b/stripe/params/_payment_link_modify_params.py index 225c977d7..d7f3ee6f7 100644 --- a/stripe/params/_payment_link_modify_params.py +++ b/stripe/params/_payment_link_modify_params.py @@ -114,7 +114,7 @@ class PaymentLinkModifyParams(RequestOptions): Payment-method-specific configuration. """ payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['affirm', 'afterpay_clearpay', 'alipay', 'alma', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'ideal', 'klarna', 'konbini', 'link', 'mb_way', 'mobilepay', 'multibanco', 'oxxo', 'p24', 'pay_by_bank', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'satispay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip'], str]]" + "Literal['']|List[Union[Literal['affirm', 'afterpay_clearpay', 'alipay', 'alma', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'ideal', 'klarna', 'konbini', 'link', 'mb_way', 'mobilepay', 'multibanco', 'oxxo', 'p24', 'pay_by_bank', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip'], str]]" ] """ 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). @@ -961,6 +961,24 @@ class PaymentLinkModifyParamsSubscriptionData(TypedDict): class PaymentLinkModifyParamsSubscriptionDataInvoiceSettings(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. + """ + custom_fields: NotRequired[ + "Literal['']|List[PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsCustomField]" + ] + """ + A list of up to 4 custom fields to be displayed on the invoice. + """ + description: NotRequired[str] + """ + An arbitrary string attached to the object. Often useful for displaying to users. + """ + footer: NotRequired[str] + """ + Footer to be displayed on the invoice. + """ issuer: NotRequired[ "PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsIssuer" ] @@ -969,6 +987,19 @@ class PaymentLinkModifyParamsSubscriptionDataInvoiceSettings(TypedDict): """ +class PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsCustomField( + 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 PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ diff --git a/stripe/params/_payment_link_update_params.py b/stripe/params/_payment_link_update_params.py index 7c516c87e..60ba2157d 100644 --- a/stripe/params/_payment_link_update_params.py +++ b/stripe/params/_payment_link_update_params.py @@ -113,7 +113,7 @@ class PaymentLinkUpdateParams(TypedDict): Payment-method-specific configuration. """ payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['affirm', 'afterpay_clearpay', 'alipay', 'alma', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'ideal', 'klarna', 'konbini', 'link', 'mb_way', 'mobilepay', 'multibanco', 'oxxo', 'p24', 'pay_by_bank', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'satispay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip'], str]]" + "Literal['']|List[Union[Literal['affirm', 'afterpay_clearpay', 'alipay', 'alma', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'ideal', 'klarna', 'konbini', 'link', 'mb_way', 'mobilepay', 'multibanco', 'oxxo', 'p24', 'pay_by_bank', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip'], str]]" ] """ 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). @@ -960,6 +960,24 @@ class PaymentLinkUpdateParamsSubscriptionData(TypedDict): class PaymentLinkUpdateParamsSubscriptionDataInvoiceSettings(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. + """ + custom_fields: NotRequired[ + "Literal['']|List[PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsCustomField]" + ] + """ + A list of up to 4 custom fields to be displayed on the invoice. + """ + description: NotRequired[str] + """ + An arbitrary string attached to the object. Often useful for displaying to users. + """ + footer: NotRequired[str] + """ + Footer to be displayed on the invoice. + """ issuer: NotRequired[ "PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsIssuer" ] @@ -968,6 +986,19 @@ class PaymentLinkUpdateParamsSubscriptionDataInvoiceSettings(TypedDict): """ +class PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsCustomField( + 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 PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ diff --git a/stripe/params/_payment_method_configuration_create_params.py b/stripe/params/_payment_method_configuration_create_params.py index 36daf6e97..a8074b002 100644 --- a/stripe/params/_payment_method_configuration_create_params.py +++ b/stripe/params/_payment_method_configuration_create_params.py @@ -300,6 +300,10 @@ class PaymentMethodConfigurationCreateParams(RequestOptions): """ 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://docs.stripe.com/payments/wechat-pay) for more details. """ + wero: NotRequired["PaymentMethodConfigurationCreateParamsWero"] + """ + Wero is a pan-European payment method that enables secure and instant money transfers between bank accounts. Learn more about the [Wero](https://docs.stripe.com/payments/wero) payment method. + """ zip: NotRequired["PaymentMethodConfigurationCreateParamsZip"] """ Zip gives your customers a way to split purchases over a series of payments. Check this [page](https://docs.stripe.com/payments/zip) for more details like country availability. @@ -1410,6 +1414,22 @@ class PaymentMethodConfigurationCreateParamsWechatPayDisplayPreference( """ +class PaymentMethodConfigurationCreateParamsWero(TypedDict): + display_preference: NotRequired[ + "PaymentMethodConfigurationCreateParamsWeroDisplayPreference" + ] + """ + Whether or not the payment method should be displayed. + """ + + +class PaymentMethodConfigurationCreateParamsWeroDisplayPreference(TypedDict): + preference: NotRequired["Literal['none', 'off', 'on']|str"] + """ + The account's preference for whether or not to display this payment method. + """ + + class PaymentMethodConfigurationCreateParamsZip(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsZipDisplayPreference" diff --git a/stripe/params/_payment_method_configuration_modify_params.py b/stripe/params/_payment_method_configuration_modify_params.py index b8f175074..c060ef3d3 100644 --- a/stripe/params/_payment_method_configuration_modify_params.py +++ b/stripe/params/_payment_method_configuration_modify_params.py @@ -300,6 +300,10 @@ class PaymentMethodConfigurationModifyParams(RequestOptions): """ 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://docs.stripe.com/payments/wechat-pay) for more details. """ + wero: NotRequired["PaymentMethodConfigurationModifyParamsWero"] + """ + Wero is a pan-European payment method that enables secure and instant money transfers between bank accounts. Learn more about the [Wero](https://docs.stripe.com/payments/wero) payment method. + """ zip: NotRequired["PaymentMethodConfigurationModifyParamsZip"] """ Zip gives your customers a way to split purchases over a series of payments. Check this [page](https://docs.stripe.com/payments/zip) for more details like country availability. @@ -1410,6 +1414,22 @@ class PaymentMethodConfigurationModifyParamsWechatPayDisplayPreference( """ +class PaymentMethodConfigurationModifyParamsWero(TypedDict): + display_preference: NotRequired[ + "PaymentMethodConfigurationModifyParamsWeroDisplayPreference" + ] + """ + Whether or not the payment method should be displayed. + """ + + +class PaymentMethodConfigurationModifyParamsWeroDisplayPreference(TypedDict): + preference: NotRequired["Literal['none', 'off', 'on']|str"] + """ + The account's preference for whether or not to display this payment method. + """ + + class PaymentMethodConfigurationModifyParamsZip(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsZipDisplayPreference" diff --git a/stripe/params/_payment_method_configuration_update_params.py b/stripe/params/_payment_method_configuration_update_params.py index 890dbedbc..099ae91f7 100644 --- a/stripe/params/_payment_method_configuration_update_params.py +++ b/stripe/params/_payment_method_configuration_update_params.py @@ -299,6 +299,10 @@ class PaymentMethodConfigurationUpdateParams(TypedDict): """ 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://docs.stripe.com/payments/wechat-pay) for more details. """ + wero: NotRequired["PaymentMethodConfigurationUpdateParamsWero"] + """ + Wero is a pan-European payment method that enables secure and instant money transfers between bank accounts. Learn more about the [Wero](https://docs.stripe.com/payments/wero) payment method. + """ zip: NotRequired["PaymentMethodConfigurationUpdateParamsZip"] """ Zip gives your customers a way to split purchases over a series of payments. Check this [page](https://docs.stripe.com/payments/zip) for more details like country availability. @@ -1409,6 +1413,22 @@ class PaymentMethodConfigurationUpdateParamsWechatPayDisplayPreference( """ +class PaymentMethodConfigurationUpdateParamsWero(TypedDict): + display_preference: NotRequired[ + "PaymentMethodConfigurationUpdateParamsWeroDisplayPreference" + ] + """ + Whether or not the payment method should be displayed. + """ + + +class PaymentMethodConfigurationUpdateParamsWeroDisplayPreference(TypedDict): + preference: NotRequired["Literal['none', 'off', 'on']|str"] + """ + The account's preference for whether or not to display this payment method. + """ + + class PaymentMethodConfigurationUpdateParamsZip(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsZipDisplayPreference" diff --git a/stripe/params/_payment_method_create_params.py b/stripe/params/_payment_method_create_params.py index 478879e4a..d6313ecbc 100644 --- a/stripe/params/_payment_method_create_params.py +++ b/stripe/params/_payment_method_create_params.py @@ -278,7 +278,7 @@ class PaymentMethodCreateParams(RequestOptions): 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', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', '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', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip']|str" + "Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', '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', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip']|str" ] """ 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. @@ -295,6 +295,10 @@ class PaymentMethodCreateParams(RequestOptions): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["PaymentMethodCreateParamsWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["PaymentMethodCreateParamsZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -550,7 +554,9 @@ class PaymentMethodCreateParamsGrabpay(TypedDict): class PaymentMethodCreateParamsIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -835,6 +841,12 @@ class PaymentMethodCreateParamsUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "PaymentMethodCreateParamsUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -845,9 +857,24 @@ class PaymentMethodCreateParamsUsBankAccount(TypedDict): """ +class PaymentMethodCreateParamsUsBankAccountExternalToken(TypedDict): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class PaymentMethodCreateParamsWechatPay(TypedDict): pass +class PaymentMethodCreateParamsWero(TypedDict): + pass + + class PaymentMethodCreateParamsZip(TypedDict): pass diff --git a/stripe/params/_payment_method_list_params.py b/stripe/params/_payment_method_list_params.py index abe192e57..0afd7f78a 100644 --- a/stripe/params/_payment_method_list_params.py +++ b/stripe/params/_payment_method_list_params.py @@ -37,7 +37,7 @@ class PaymentMethodListParams(RequestOptions): 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', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', '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', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip']|str" + "Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', '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', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip']|str" ] """ 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. diff --git a/stripe/params/_payment_plan_create_params.py b/stripe/params/_payment_plan_create_params.py new file mode 100644 index 000000000..4a8dcf257 --- /dev/null +++ b/stripe/params/_payment_plan_create_params.py @@ -0,0 +1,133 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._request_options import RequestOptions +from stripe._stripe_object import UntypedStripeObject +from typing import Dict, List, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class PaymentPlanCreateParams(RequestOptions): + collects_on: List["PaymentPlanCreateParamsCollectsOn"] + """ + The invoices this payment plan collects on. It must contain exactly one invoice entry. + """ + expand: NotRequired[List[str]] + """ + Specifies which fields in the response should be expanded. + """ + metadata: NotRequired["Dict[str, str]|UntypedStripeObject[str]"] + """ + Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. + """ + schedule: "PaymentPlanCreateParamsSchedule" + """ + The schedule defining how to split the invoice total into installments. + """ + + +class PaymentPlanCreateParamsCollectsOn(TypedDict): + invoice_details: "PaymentPlanCreateParamsCollectsOnInvoiceDetails" + """ + Details of the invoice this payment plan collects on. + """ + type: Literal["invoice_details"] + """ + The type of object this plan collects on. This is always `invoice_details`. + """ + + +class PaymentPlanCreateParamsCollectsOnInvoiceDetails(TypedDict): + invoice: str + """ + The ID of the invoice. + """ + + +class PaymentPlanCreateParamsSchedule(TypedDict): + amounts_due: "PaymentPlanCreateParamsScheduleAmountsDue" + """ + Required when type is 'amounts_due'. Must contain at least two installment entries. + """ + type: Literal["amounts_due"] + """ + The schedule type. It only supports 'amounts_due'. + """ + + +class PaymentPlanCreateParamsScheduleAmountsDue(TypedDict): + amounts: List["PaymentPlanCreateParamsScheduleAmountsDueAmount"] + """ + The list of installment entries. Must contain at least two entries. + """ + + +class PaymentPlanCreateParamsScheduleAmountsDueAmount(TypedDict): + description: NotRequired[str] + """ + Optional description for this installment. + """ + due_date: NotRequired[ + "PaymentPlanCreateParamsScheduleAmountsDueAmountDueDate" + ] + """ + When this installment is due. + """ + fixed_amount: NotRequired[ + "PaymentPlanCreateParamsScheduleAmountsDueAmountFixedAmount" + ] + """ + Required when type is 'fixed_amount'. + """ + id: NotRequired[str] + """ + Optional stable identifier for the installment entry. + """ + percentage: NotRequired[float] + """ + The installment percentage of the total. Required when type is 'percentage'. + """ + type: Union[Literal["fixed_amount", "percentage"], str] + """ + Either 'fixed_amount' or 'percentage'. + """ + + +class PaymentPlanCreateParamsScheduleAmountsDueAmountDueDate(TypedDict): + absolute: NotRequired[int] + """ + Unix timestamp. Required when type is 'absolute'. + """ + relative: NotRequired[ + "PaymentPlanCreateParamsScheduleAmountsDueAmountDueDateRelative" + ] + """ + Required when type is 'relative'. + """ + type: Union[Literal["absolute", "relative"], str] + """ + Either 'absolute' or 'relative'. + """ + + +class PaymentPlanCreateParamsScheduleAmountsDueAmountDueDateRelative( + TypedDict +): + count: int + """ + The number of intervals after finalization. + """ + interval: Union[Literal["day", "month", "week", "year"], str] + """ + The interval unit. + """ + + +class PaymentPlanCreateParamsScheduleAmountsDueAmountFixedAmount(TypedDict): + amount: int + """ + The installment amount in minor units. + """ + currency: str + """ + Three-letter ISO currency code. + """ diff --git a/stripe/params/_payment_plan_list_params.py b/stripe/params/_payment_plan_list_params.py new file mode 100644 index 000000000..7af4add58 --- /dev/null +++ b/stripe/params/_payment_plan_list_params.py @@ -0,0 +1,28 @@ +# -*- 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 PaymentPlanListParams(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] + """ + Only return payment plans associated with the given 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. + """ + 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. + """ diff --git a/stripe/params/_payment_plan_modify_params.py b/stripe/params/_payment_plan_modify_params.py new file mode 100644 index 000000000..afb2f618e --- /dev/null +++ b/stripe/params/_payment_plan_modify_params.py @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._request_options import RequestOptions +from stripe._stripe_object import UntypedStripeObject +from typing import Dict, List, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class PaymentPlanModifyParams(RequestOptions): + expand: NotRequired[List[str]] + """ + Specifies which fields in the response should be expanded. + """ + metadata: NotRequired["Dict[str, str]|UntypedStripeObject[str]"] + """ + Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. + """ + schedule: NotRequired["PaymentPlanModifyParamsSchedule"] + """ + The new schedule for this payment plan. + """ + + +class PaymentPlanModifyParamsSchedule(TypedDict): + amounts_due: "PaymentPlanModifyParamsScheduleAmountsDue" + """ + Required when type is 'amounts_due'. Must contain at least two installment entries. + """ + type: Literal["amounts_due"] + """ + The schedule type. It only supports 'amounts_due'. + """ + + +class PaymentPlanModifyParamsScheduleAmountsDue(TypedDict): + amounts: List["PaymentPlanModifyParamsScheduleAmountsDueAmount"] + """ + The list of installment entries. Must contain at least two entries. + """ + + +class PaymentPlanModifyParamsScheduleAmountsDueAmount(TypedDict): + description: NotRequired[str] + """ + Optional description for this installment. + """ + due_date: NotRequired[ + "PaymentPlanModifyParamsScheduleAmountsDueAmountDueDate" + ] + """ + When this installment is due. + """ + fixed_amount: NotRequired[ + "PaymentPlanModifyParamsScheduleAmountsDueAmountFixedAmount" + ] + """ + Required when type is 'fixed_amount'. + """ + id: NotRequired[str] + """ + Optional stable identifier for the installment entry. + """ + percentage: NotRequired[float] + """ + The installment percentage of the total. Required when type is 'percentage'. + """ + type: Union[Literal["fixed_amount", "percentage"], str] + """ + Either 'fixed_amount' or 'percentage'. + """ + + +class PaymentPlanModifyParamsScheduleAmountsDueAmountDueDate(TypedDict): + absolute: NotRequired[int] + """ + Unix timestamp. Required when type is 'absolute'. + """ + relative: NotRequired[ + "PaymentPlanModifyParamsScheduleAmountsDueAmountDueDateRelative" + ] + """ + Required when type is 'relative'. + """ + type: Union[Literal["absolute", "relative"], str] + """ + Either 'absolute' or 'relative'. + """ + + +class PaymentPlanModifyParamsScheduleAmountsDueAmountDueDateRelative( + TypedDict +): + count: int + """ + The number of intervals after finalization. + """ + interval: Union[Literal["day", "month", "week", "year"], str] + """ + The interval unit. + """ + + +class PaymentPlanModifyParamsScheduleAmountsDueAmountFixedAmount(TypedDict): + amount: int + """ + The installment amount in minor units. + """ + currency: str + """ + Three-letter ISO currency code. + """ diff --git a/stripe/params/_payment_plan_retrieve_params.py b/stripe/params/_payment_plan_retrieve_params.py new file mode 100644 index 000000000..e9a7d20d8 --- /dev/null +++ b/stripe/params/_payment_plan_retrieve_params.py @@ -0,0 +1,12 @@ +# -*- 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 PaymentPlanRetrieveParams(RequestOptions): + expand: NotRequired[List[str]] + """ + Specifies which fields in the response should be expanded. + """ diff --git a/stripe/params/_payment_plan_update_params.py b/stripe/params/_payment_plan_update_params.py new file mode 100644 index 000000000..b2a7f6f2e --- /dev/null +++ b/stripe/params/_payment_plan_update_params.py @@ -0,0 +1,110 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import UntypedStripeObject +from typing import Dict, List, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class PaymentPlanUpdateParams(TypedDict): + expand: NotRequired[List[str]] + """ + Specifies which fields in the response should be expanded. + """ + metadata: NotRequired["Dict[str, str]|UntypedStripeObject[str]"] + """ + Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. + """ + schedule: NotRequired["PaymentPlanUpdateParamsSchedule"] + """ + The new schedule for this payment plan. + """ + + +class PaymentPlanUpdateParamsSchedule(TypedDict): + amounts_due: "PaymentPlanUpdateParamsScheduleAmountsDue" + """ + Required when type is 'amounts_due'. Must contain at least two installment entries. + """ + type: Literal["amounts_due"] + """ + The schedule type. It only supports 'amounts_due'. + """ + + +class PaymentPlanUpdateParamsScheduleAmountsDue(TypedDict): + amounts: List["PaymentPlanUpdateParamsScheduleAmountsDueAmount"] + """ + The list of installment entries. Must contain at least two entries. + """ + + +class PaymentPlanUpdateParamsScheduleAmountsDueAmount(TypedDict): + description: NotRequired[str] + """ + Optional description for this installment. + """ + due_date: NotRequired[ + "PaymentPlanUpdateParamsScheduleAmountsDueAmountDueDate" + ] + """ + When this installment is due. + """ + fixed_amount: NotRequired[ + "PaymentPlanUpdateParamsScheduleAmountsDueAmountFixedAmount" + ] + """ + Required when type is 'fixed_amount'. + """ + id: NotRequired[str] + """ + Optional stable identifier for the installment entry. + """ + percentage: NotRequired[float] + """ + The installment percentage of the total. Required when type is 'percentage'. + """ + type: Union[Literal["fixed_amount", "percentage"], str] + """ + Either 'fixed_amount' or 'percentage'. + """ + + +class PaymentPlanUpdateParamsScheduleAmountsDueAmountDueDate(TypedDict): + absolute: NotRequired[int] + """ + Unix timestamp. Required when type is 'absolute'. + """ + relative: NotRequired[ + "PaymentPlanUpdateParamsScheduleAmountsDueAmountDueDateRelative" + ] + """ + Required when type is 'relative'. + """ + type: Union[Literal["absolute", "relative"], str] + """ + Either 'absolute' or 'relative'. + """ + + +class PaymentPlanUpdateParamsScheduleAmountsDueAmountDueDateRelative( + TypedDict +): + count: int + """ + The number of intervals after finalization. + """ + interval: Union[Literal["day", "month", "week", "year"], str] + """ + The interval unit. + """ + + +class PaymentPlanUpdateParamsScheduleAmountsDueAmountFixedAmount(TypedDict): + amount: int + """ + The installment amount in minor units. + """ + currency: str + """ + Three-letter ISO currency code. + """ diff --git a/stripe/params/_setup_intent_confirm_params.py b/stripe/params/_setup_intent_confirm_params.py index 41c2df3e3..98a8bcc35 100644 --- a/stripe/params/_setup_intent_confirm_params.py +++ b/stripe/params/_setup_intent_confirm_params.py @@ -133,7 +133,7 @@ class SetupIntentConfirmParams(RequestOptions): ] payment_method: NotRequired[str] """ - ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. + The ID of a PaymentMethod to attach to this SetupIntent. """ payment_method_data: NotRequired[ "SetupIntentConfirmParamsPaymentMethodData" @@ -566,6 +566,7 @@ class SetupIntentConfirmParamsPaymentMethodData(TypedDict): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -589,6 +590,10 @@ class SetupIntentConfirmParamsPaymentMethodData(TypedDict): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["SetupIntentConfirmParamsPaymentMethodDataWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["SetupIntentConfirmParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -803,7 +808,9 @@ class SetupIntentConfirmParamsPaymentMethodDataGrabpay(TypedDict): class SetupIntentConfirmParamsPaymentMethodDataIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -1090,6 +1097,12 @@ class SetupIntentConfirmParamsPaymentMethodDataUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "SetupIntentConfirmParamsPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -1100,10 +1113,27 @@ class SetupIntentConfirmParamsPaymentMethodDataUsBankAccount(TypedDict): """ +class SetupIntentConfirmParamsPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class SetupIntentConfirmParamsPaymentMethodDataWechatPay(TypedDict): pass +class SetupIntentConfirmParamsPaymentMethodDataWero(TypedDict): + pass + + class SetupIntentConfirmParamsPaymentMethodDataZip(TypedDict): pass diff --git a/stripe/params/_setup_intent_create_params.py b/stripe/params/_setup_intent_create_params.py index dc5be320f..d18186e5b 100644 --- a/stripe/params/_setup_intent_create_params.py +++ b/stripe/params/_setup_intent_create_params.py @@ -220,6 +220,7 @@ class SetupIntentCreateParams(RequestOptions): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -255,7 +256,7 @@ class SetupIntentCreateParams(RequestOptions): """ payment_method: NotRequired[str] """ - ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. + The ID of a PaymentMethod to attach to this SetupIntent. """ payment_method_configuration: NotRequired[str] """ @@ -705,6 +706,7 @@ class SetupIntentCreateParamsPaymentMethodData(TypedDict): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -728,6 +730,10 @@ class SetupIntentCreateParamsPaymentMethodData(TypedDict): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["SetupIntentCreateParamsPaymentMethodDataWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["SetupIntentCreateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -940,7 +946,9 @@ class SetupIntentCreateParamsPaymentMethodDataGrabpay(TypedDict): class SetupIntentCreateParamsPaymentMethodDataIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -1227,6 +1235,12 @@ class SetupIntentCreateParamsPaymentMethodDataUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "SetupIntentCreateParamsPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -1237,10 +1251,27 @@ class SetupIntentCreateParamsPaymentMethodDataUsBankAccount(TypedDict): """ +class SetupIntentCreateParamsPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class SetupIntentCreateParamsPaymentMethodDataWechatPay(TypedDict): pass +class SetupIntentCreateParamsPaymentMethodDataWero(TypedDict): + pass + + class SetupIntentCreateParamsPaymentMethodDataZip(TypedDict): pass diff --git a/stripe/params/_setup_intent_modify_params.py b/stripe/params/_setup_intent_modify_params.py index b58824c6c..fce9722d0 100644 --- a/stripe/params/_setup_intent_modify_params.py +++ b/stripe/params/_setup_intent_modify_params.py @@ -36,7 +36,7 @@ class SetupIntentModifyParams(RequestOptions): An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip'], str]]" + "Literal['']|List[Union[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip'], str]]" ] """ The list of payment method types to exclude from use with this SetupIntent. @@ -61,7 +61,7 @@ class SetupIntentModifyParams(RequestOptions): """ 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. + The ID of a PaymentMethod to attach to this SetupIntent. To unset this field to null, pass in an empty string. """ payment_method_configuration: NotRequired[str] """ @@ -435,6 +435,7 @@ class SetupIntentModifyParamsPaymentMethodData(TypedDict): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -458,6 +459,10 @@ class SetupIntentModifyParamsPaymentMethodData(TypedDict): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["SetupIntentModifyParamsPaymentMethodDataWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["SetupIntentModifyParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -670,7 +675,9 @@ class SetupIntentModifyParamsPaymentMethodDataGrabpay(TypedDict): class SetupIntentModifyParamsPaymentMethodDataIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -957,6 +964,12 @@ class SetupIntentModifyParamsPaymentMethodDataUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "SetupIntentModifyParamsPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -967,10 +980,27 @@ class SetupIntentModifyParamsPaymentMethodDataUsBankAccount(TypedDict): """ +class SetupIntentModifyParamsPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class SetupIntentModifyParamsPaymentMethodDataWechatPay(TypedDict): pass +class SetupIntentModifyParamsPaymentMethodDataWero(TypedDict): + pass + + class SetupIntentModifyParamsPaymentMethodDataZip(TypedDict): pass diff --git a/stripe/params/_setup_intent_update_params.py b/stripe/params/_setup_intent_update_params.py index 1ddf59f9b..fd402d48d 100644 --- a/stripe/params/_setup_intent_update_params.py +++ b/stripe/params/_setup_intent_update_params.py @@ -35,7 +35,7 @@ class SetupIntentUpdateParams(TypedDict): An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'zip'], str]]" + "Literal['']|List[Union[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'bizum', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'gopay', 'grabpay', 'id_bank_transfer', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'paypay', 'payto', 'pix', 'promptpay', 'qris', 'rechnung', 'revolut_pay', 'samsung_pay', 'satispay', 'scalapay', 'sepa_debit', 'sequra', 'shopeepay', 'sofort', 'stripe_balance', 'sunbit', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay', 'wero', 'zip'], str]]" ] """ The list of payment method types to exclude from use with this SetupIntent. @@ -60,7 +60,7 @@ class SetupIntentUpdateParams(TypedDict): """ 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. + The ID of a PaymentMethod to attach to this SetupIntent. To unset this field to null, pass in an empty string. """ payment_method_configuration: NotRequired[str] """ @@ -434,6 +434,7 @@ class SetupIntentUpdateParamsPaymentMethodData(TypedDict): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -457,6 +458,10 @@ class SetupIntentUpdateParamsPaymentMethodData(TypedDict): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["SetupIntentUpdateParamsPaymentMethodDataWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["SetupIntentUpdateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -669,7 +674,9 @@ class SetupIntentUpdateParamsPaymentMethodDataGrabpay(TypedDict): class SetupIntentUpdateParamsPaymentMethodDataIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -956,6 +963,12 @@ class SetupIntentUpdateParamsPaymentMethodDataUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "SetupIntentUpdateParamsPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -966,10 +979,27 @@ class SetupIntentUpdateParamsPaymentMethodDataUsBankAccount(TypedDict): """ +class SetupIntentUpdateParamsPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class SetupIntentUpdateParamsPaymentMethodDataWechatPay(TypedDict): pass +class SetupIntentUpdateParamsPaymentMethodDataWero(TypedDict): + pass + + class SetupIntentUpdateParamsPaymentMethodDataZip(TypedDict): pass diff --git a/stripe/params/_subscription_create_params.py b/stripe/params/_subscription_create_params.py index 7931bce09..3780b1266 100644 --- a/stripe/params/_subscription_create_params.py +++ b/stripe/params/_subscription_create_params.py @@ -723,7 +723,7 @@ class SubscriptionCreateParamsPaymentSettings(TypedDict): Payment-method-specific configuration to provide to invoices created by the subscription. """ payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" + "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sequra', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" ] """ 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 @@ -1063,7 +1063,7 @@ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsPix( ): expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If unspecified, defaults to 14400 seconds (4 hours). """ mandate_options: NotRequired[ "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsPixMandateOptions" diff --git a/stripe/params/_subscription_modify_params.py b/stripe/params/_subscription_modify_params.py index 9d241e7fc..3dba87b11 100644 --- a/stripe/params/_subscription_modify_params.py +++ b/stripe/params/_subscription_modify_params.py @@ -68,7 +68,7 @@ class SubscriptionModifyParams(RequestOptions): """ 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://docs.stripe.com/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://docs.stripe.com/api/customers/object#customer_object-default_source). + 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://docs.stripe.com/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://docs.stripe.com/api/customers/object#customer_object-default_source). For subscriptions created by Checkout Sessions with Managed Payments enabled, you can't update this field directly through the API. Customers can update it through the Customer Portal. """ default_source: NotRequired["Literal['']|str"] """ @@ -708,7 +708,7 @@ class SubscriptionModifyParamsPaymentSettings(TypedDict): Payment-method-specific configuration to provide to invoices created by the subscription. """ payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" + "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sequra', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" ] """ 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 @@ -1048,7 +1048,7 @@ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsPix( ): expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If unspecified, defaults to 14400 seconds (4 hours). """ mandate_options: NotRequired[ "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsPixMandateOptions" diff --git a/stripe/params/_subscription_schedule_modify_params.py b/stripe/params/_subscription_schedule_modify_params.py index d6619b367..e9a16e65e 100644 --- a/stripe/params/_subscription_schedule_modify_params.py +++ b/stripe/params/_subscription_schedule_modify_params.py @@ -40,7 +40,7 @@ class SubscriptionScheduleModifyParams(RequestOptions): "Literal['']|List[SubscriptionScheduleModifyParamsPauseSchedule]" ] """ - Configures the subscription's pause behavior and, optionally, its resume behavior. Only one entry is supported. Include a key to update an existing entry. Omit to leave an existing pause schedule unchanged, or pass "" to clear it. + The subscription's pause behavior and optional resume behavior. You can provide one entry. Include its `key` to update an existing pause schedule. Omit `pause_schedules` to leave the existing schedule unchanged, or pass an empty string (`""`) to clear it. """ phases: NotRequired[List["SubscriptionScheduleModifyParamsPhase"]] """ diff --git a/stripe/params/_subscription_schedule_update_params.py b/stripe/params/_subscription_schedule_update_params.py index 42d722fe0..5a6edcc81 100644 --- a/stripe/params/_subscription_schedule_update_params.py +++ b/stripe/params/_subscription_schedule_update_params.py @@ -39,7 +39,7 @@ class SubscriptionScheduleUpdateParams(TypedDict): "Literal['']|List[SubscriptionScheduleUpdateParamsPauseSchedule]" ] """ - Configures the subscription's pause behavior and, optionally, its resume behavior. Only one entry is supported. Include a key to update an existing entry. Omit to leave an existing pause schedule unchanged, or pass "" to clear it. + The subscription's pause behavior and optional resume behavior. You can provide one entry. Include its `key` to update an existing pause schedule. Omit `pause_schedules` to leave the existing schedule unchanged, or pass an empty string (`""`) to clear it. """ phases: NotRequired[List["SubscriptionScheduleUpdateParamsPhase"]] """ diff --git a/stripe/params/_subscription_update_params.py b/stripe/params/_subscription_update_params.py index 8d9e953e8..4be6cf96a 100644 --- a/stripe/params/_subscription_update_params.py +++ b/stripe/params/_subscription_update_params.py @@ -67,7 +67,7 @@ class SubscriptionUpdateParams(TypedDict): """ 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://docs.stripe.com/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://docs.stripe.com/api/customers/object#customer_object-default_source). + 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://docs.stripe.com/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://docs.stripe.com/api/customers/object#customer_object-default_source). For subscriptions created by Checkout Sessions with Managed Payments enabled, you can't update this field directly through the API. Customers can update it through the Customer Portal. """ default_source: NotRequired["Literal['']|str"] """ @@ -707,7 +707,7 @@ class SubscriptionUpdateParamsPaymentSettings(TypedDict): Payment-method-specific configuration to provide to invoices created by the subscription. """ payment_method_types: NotRequired[ - "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" + "Literal['']|List[Union[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'alipay', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'id_bank_transfer', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'mb_way', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'payto', 'pix', 'promptpay', 'revolut_pay', 'satispay', 'sepa_credit_transfer', 'sepa_debit', 'sequra', 'sofort', 'stripe_balance', 'swish', 'twint', 'upi', 'us_bank_account', 'wechat_pay'], str]]" ] """ 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 @@ -1047,7 +1047,7 @@ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsPix( ): expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If unspecified, defaults to 14400 seconds (4 hours). """ mandate_options: NotRequired[ "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsPixMandateOptions" diff --git a/stripe/params/_tax_id_create_params.py b/stripe/params/_tax_id_create_params.py index d2e45e779..68e653f33 100644 --- a/stripe/params/_tax_id_create_params.py +++ b/stripe/params/_tax_id_create_params.py @@ -23,7 +23,9 @@ class TaxIdCreateParams(RequestOptions): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -37,6 +39,7 @@ class TaxIdCreateParams(RequestOptions): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -47,12 +50,14 @@ class TaxIdCreateParams(RequestOptions): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -62,8 +67,12 @@ class TaxIdCreateParams(RequestOptions): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -73,6 +82,7 @@ class TaxIdCreateParams(RequestOptions): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -88,23 +98,28 @@ class TaxIdCreateParams(RequestOptions): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -114,12 +129,15 @@ class TaxIdCreateParams(RequestOptions): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -137,7 +155,7 @@ class TaxIdCreateParams(RequestOptions): str, ] """ - 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`, `fo_vat`, `gb_vat`, `ge_vat`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_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`, `pl_nip`, `py_ruc`, `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` + Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_acn`, `au_arn`, `au_wpn`, `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`, `bw_vat`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `ci_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `cz_dic`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `fo_vat`, `fr_siren`, `fr_siret`, `fr_spi`, `gb_vat`, `ge_vat`, `gh_tin`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_kt`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_vat`, `ma_vat`, `md_cf`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mu_vat`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `mz_nuit`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_bn`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `pl_nip`, `pt_nif`, `py_ruc`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sm_coe`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tt_bir`, `tt_vat`, `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 """ diff --git a/stripe/params/_tax_rate_create_params.py b/stripe/params/_tax_rate_create_params.py index 2ca0e360c..0b3b2ca6d 100644 --- a/stripe/params/_tax_rate_create_params.py +++ b/stripe/params/_tax_rate_create_params.py @@ -48,7 +48,7 @@ class TaxRateCreateParams(RequestOptions): [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', 'digital_excise_tax', 'gst', 'hst', 'igst', 'jct', 'lease_tax', 'mass_transit_parking_tax', 'parking_tax', 'pst', 'qst', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'utility_users_tax', 'vat']|str" + "Literal['admissions_tax', 'amusement_tax', 'attendance_tax', 'communications_tax', 'digital_excise_tax', 'entertainment_tax', 'get_fund', 'gross_receipts_tax', 'gst', 'hospitality_tax', 'hst', 'igst', 'jct', 'lease_tax', 'luxury_tax', 'mass_transit_parking_tax', 'nhil', 'parking_tax', 'pst', 'qst', 'resort_tax', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'tourism_tax', 'utility_users_tax', 'vat']|str" ] """ The high-level tax type, such as `vat` or `sales_tax`. diff --git a/stripe/params/_tax_rate_modify_params.py b/stripe/params/_tax_rate_modify_params.py index d31f79dec..a0d8b7ed3 100644 --- a/stripe/params/_tax_rate_modify_params.py +++ b/stripe/params/_tax_rate_modify_params.py @@ -42,7 +42,7 @@ class TaxRateModifyParams(RequestOptions): [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', 'digital_excise_tax', 'gst', 'hst', 'igst', 'jct', 'lease_tax', 'mass_transit_parking_tax', 'parking_tax', 'pst', 'qst', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'utility_users_tax', 'vat']|str" + "Literal['admissions_tax', 'amusement_tax', 'attendance_tax', 'communications_tax', 'digital_excise_tax', 'entertainment_tax', 'get_fund', 'gross_receipts_tax', 'gst', 'hospitality_tax', 'hst', 'igst', 'jct', 'lease_tax', 'luxury_tax', 'mass_transit_parking_tax', 'nhil', 'parking_tax', 'pst', 'qst', 'resort_tax', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'tourism_tax', 'utility_users_tax', 'vat']|str" ] """ The high-level tax type, such as `vat` or `sales_tax`. diff --git a/stripe/params/_tax_rate_update_params.py b/stripe/params/_tax_rate_update_params.py index 5394fe4e6..61e3be2a4 100644 --- a/stripe/params/_tax_rate_update_params.py +++ b/stripe/params/_tax_rate_update_params.py @@ -41,7 +41,7 @@ class TaxRateUpdateParams(TypedDict): [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', 'digital_excise_tax', 'gst', 'hst', 'igst', 'jct', 'lease_tax', 'mass_transit_parking_tax', 'parking_tax', 'pst', 'qst', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'utility_users_tax', 'vat']|str" + "Literal['admissions_tax', 'amusement_tax', 'attendance_tax', 'communications_tax', 'digital_excise_tax', 'entertainment_tax', 'get_fund', 'gross_receipts_tax', 'gst', 'hospitality_tax', 'hst', 'igst', 'jct', 'lease_tax', 'luxury_tax', 'mass_transit_parking_tax', 'nhil', 'parking_tax', 'pst', 'qst', 'resort_tax', 'retail_delivery_fee', 'rst', 'sales_tax', 'service_tax', 'tourism_tax', 'utility_users_tax', 'vat']|str" ] """ The high-level tax type, such as `vat` or `sales_tax`. diff --git a/stripe/params/_token_create_params.py b/stripe/params/_token_create_params.py index 0a541b75a..e93cce808 100644 --- a/stripe/params/_token_create_params.py +++ b/stripe/params/_token_create_params.py @@ -139,6 +139,12 @@ class TokenCreateParamsAccountCompany(TypedDict): """ The company's phone number (used for verification). """ + physical_address: NotRequired[ + "TokenCreateParamsAccountCompanyPhysicalAddress" + ] + """ + A location where the business has a meaningful physical operating presence. + """ principal_place_of_business: NotRequired[ "TokenCreateParamsAccountCompanyPrincipalPlaceOfBusiness" ] @@ -333,6 +339,33 @@ class TokenCreateParamsAccountCompanyOwnershipDeclaration(TypedDict): """ +class TokenCreateParamsAccountCompanyPhysicalAddress(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 ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). + """ + + class TokenCreateParamsAccountCompanyPrincipalPlaceOfBusiness(TypedDict): city: NotRequired[str] """ diff --git a/stripe/params/_webhook_endpoint_create_params.py b/stripe/params/_webhook_endpoint_create_params.py index d5de75116..4dd01374d 100644 --- a/stripe/params/_webhook_endpoint_create_params.py +++ b/stripe/params/_webhook_endpoint_create_params.py @@ -137,6 +137,7 @@ class WebhookEndpointCreateParams(RequestOptions): "2026-07-29.dahlia", "2026-08-26.dahlia", "2026-09-30.endive", + "2026-10-28.endive", ] ] """ @@ -422,6 +423,13 @@ class WebhookEndpointCreateParams(RequestOptions): "test_helpers.test_clock.deleted", "test_helpers.test_clock.internal_failure", "test_helpers.test_clock.ready", + "three_d_secure.authentication.canceled", + "three_d_secure.authentication.challenge_started", + "three_d_secure.authentication.errored", + "three_d_secure.authentication.failed", + "three_d_secure.authentication.requires_challenge", + "three_d_secure.authentication.requires_submission", + "three_d_secure.authentication.succeeded", "topup.canceled", "topup.created", "topup.failed", diff --git a/stripe/params/_webhook_endpoint_modify_params.py b/stripe/params/_webhook_endpoint_modify_params.py index b132e9878..0c39b8b81 100644 --- a/stripe/params/_webhook_endpoint_modify_params.py +++ b/stripe/params/_webhook_endpoint_modify_params.py @@ -288,6 +288,13 @@ class WebhookEndpointModifyParams(RequestOptions): "test_helpers.test_clock.deleted", "test_helpers.test_clock.internal_failure", "test_helpers.test_clock.ready", + "three_d_secure.authentication.canceled", + "three_d_secure.authentication.challenge_started", + "three_d_secure.authentication.errored", + "three_d_secure.authentication.failed", + "three_d_secure.authentication.requires_challenge", + "three_d_secure.authentication.requires_submission", + "three_d_secure.authentication.succeeded", "topup.canceled", "topup.created", "topup.failed", diff --git a/stripe/params/_webhook_endpoint_update_params.py b/stripe/params/_webhook_endpoint_update_params.py index 49d7edc00..1d71825f2 100644 --- a/stripe/params/_webhook_endpoint_update_params.py +++ b/stripe/params/_webhook_endpoint_update_params.py @@ -287,6 +287,13 @@ class WebhookEndpointUpdateParams(TypedDict): "test_helpers.test_clock.deleted", "test_helpers.test_clock.internal_failure", "test_helpers.test_clock.ready", + "three_d_secure.authentication.canceled", + "three_d_secure.authentication.challenge_started", + "three_d_secure.authentication.errored", + "three_d_secure.authentication.failed", + "three_d_secure.authentication.requires_challenge", + "three_d_secure.authentication.requires_submission", + "three_d_secure.authentication.succeeded", "topup.canceled", "topup.created", "topup.failed", diff --git a/stripe/params/apps/_install_create_params.py b/stripe/params/apps/_install_create_params.py index a287a4696..0b029cd72 100644 --- a/stripe/params/apps/_install_create_params.py +++ b/stripe/params/apps/_install_create_params.py @@ -14,7 +14,7 @@ class InstallCreateParams(RequestOptions): "Literal['private_live', 'private_test', 'public', 'testing']|str" ] """ - The distribution channel to install from. Defaults to `public`. A private app must be installed on `private_test` or `private_live`, matching the mode of the API key. + The distribution channel to install from. Defaults to `public`, which only app developers and embedding platforms can use. An account installing its own private app must pass `private_test` or `private_live`, matching the mode of the API key. """ code_challenge: NotRequired[str] """ diff --git a/stripe/params/apps/_install_list_params.py b/stripe/params/apps/_install_list_params.py index 0b17bd1ac..208db0fda 100644 --- a/stripe/params/apps/_install_list_params.py +++ b/stripe/params/apps/_install_list_params.py @@ -8,7 +8,7 @@ class InstallListParams(RequestOptions): account: NotRequired[str] """ - Only return installs made by this account. Only useful to app developers and embedding platforms, whose lists span the accounts that installed their app. + Only return installs made by this account. Only useful to an app developer filtering by its own app with its own key, whose list spans the accounts that installed the app; other lists only accept the authenticated account. """ app: NotRequired[str] """ @@ -52,7 +52,7 @@ class InstallListParams(RequestOptions): "Literal['install_failed', 'installed', 'installing', 'uninstall_failed', 'uninstalling']|str" ] """ - Only return installs with the given status. + Only return installs with the given status: `installed`, `installing`, `install_failed`, `uninstalling`, or `uninstall_failed`. """ diff --git a/stripe/params/billing_portal/__init__.py b/stripe/params/billing_portal/__init__.py index ee89e8a21..02b8fed7c 100644 --- a/stripe/params/billing_portal/__init__.py +++ b/stripe/params/billing_portal/__init__.py @@ -13,6 +13,9 @@ ConfigurationCreateParamsFeaturesPaymentMethodUpdate as ConfigurationCreateParamsFeaturesPaymentMethodUpdate, ConfigurationCreateParamsFeaturesSubscriptionCancel as ConfigurationCreateParamsFeaturesSubscriptionCancel, ConfigurationCreateParamsFeaturesSubscriptionCancelCancellationReason as ConfigurationCreateParamsFeaturesSubscriptionCancelCancellationReason, + ConfigurationCreateParamsFeaturesSubscriptionPause as ConfigurationCreateParamsFeaturesSubscriptionPause, + ConfigurationCreateParamsFeaturesSubscriptionPauseDuration as ConfigurationCreateParamsFeaturesSubscriptionPauseDuration, + ConfigurationCreateParamsFeaturesSubscriptionPauseDurationIntervalOption as ConfigurationCreateParamsFeaturesSubscriptionPauseDurationIntervalOption, ConfigurationCreateParamsFeaturesSubscriptionUpdate as ConfigurationCreateParamsFeaturesSubscriptionUpdate, ConfigurationCreateParamsFeaturesSubscriptionUpdateProduct as ConfigurationCreateParamsFeaturesSubscriptionUpdateProduct, ConfigurationCreateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity as ConfigurationCreateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity, @@ -32,6 +35,9 @@ ConfigurationModifyParamsFeaturesPaymentMethodUpdate as ConfigurationModifyParamsFeaturesPaymentMethodUpdate, ConfigurationModifyParamsFeaturesSubscriptionCancel as ConfigurationModifyParamsFeaturesSubscriptionCancel, ConfigurationModifyParamsFeaturesSubscriptionCancelCancellationReason as ConfigurationModifyParamsFeaturesSubscriptionCancelCancellationReason, + ConfigurationModifyParamsFeaturesSubscriptionPause as ConfigurationModifyParamsFeaturesSubscriptionPause, + ConfigurationModifyParamsFeaturesSubscriptionPauseDuration as ConfigurationModifyParamsFeaturesSubscriptionPauseDuration, + ConfigurationModifyParamsFeaturesSubscriptionPauseDurationIntervalOption as ConfigurationModifyParamsFeaturesSubscriptionPauseDurationIntervalOption, ConfigurationModifyParamsFeaturesSubscriptionUpdate as ConfigurationModifyParamsFeaturesSubscriptionUpdate, ConfigurationModifyParamsFeaturesSubscriptionUpdateProduct as ConfigurationModifyParamsFeaturesSubscriptionUpdateProduct, ConfigurationModifyParamsFeaturesSubscriptionUpdateProductAdjustableQuantity as ConfigurationModifyParamsFeaturesSubscriptionUpdateProductAdjustableQuantity, @@ -51,6 +57,9 @@ ConfigurationUpdateParamsFeaturesPaymentMethodUpdate as ConfigurationUpdateParamsFeaturesPaymentMethodUpdate, ConfigurationUpdateParamsFeaturesSubscriptionCancel as ConfigurationUpdateParamsFeaturesSubscriptionCancel, ConfigurationUpdateParamsFeaturesSubscriptionCancelCancellationReason as ConfigurationUpdateParamsFeaturesSubscriptionCancelCancellationReason, + ConfigurationUpdateParamsFeaturesSubscriptionPause as ConfigurationUpdateParamsFeaturesSubscriptionPause, + ConfigurationUpdateParamsFeaturesSubscriptionPauseDuration as ConfigurationUpdateParamsFeaturesSubscriptionPauseDuration, + ConfigurationUpdateParamsFeaturesSubscriptionPauseDurationIntervalOption as ConfigurationUpdateParamsFeaturesSubscriptionPauseDurationIntervalOption, ConfigurationUpdateParamsFeaturesSubscriptionUpdate as ConfigurationUpdateParamsFeaturesSubscriptionUpdate, ConfigurationUpdateParamsFeaturesSubscriptionUpdateProduct as ConfigurationUpdateParamsFeaturesSubscriptionUpdateProduct, ConfigurationUpdateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity as ConfigurationUpdateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity, @@ -69,6 +78,7 @@ SessionCreateParamsFlowDataSubscriptionCancel as SessionCreateParamsFlowDataSubscriptionCancel, SessionCreateParamsFlowDataSubscriptionCancelRetention as SessionCreateParamsFlowDataSubscriptionCancelRetention, SessionCreateParamsFlowDataSubscriptionCancelRetentionCouponOffer as SessionCreateParamsFlowDataSubscriptionCancelRetentionCouponOffer, + SessionCreateParamsFlowDataSubscriptionPause as SessionCreateParamsFlowDataSubscriptionPause, SessionCreateParamsFlowDataSubscriptionUpdate as SessionCreateParamsFlowDataSubscriptionUpdate, SessionCreateParamsFlowDataSubscriptionUpdateConfirm as SessionCreateParamsFlowDataSubscriptionUpdateConfirm, SessionCreateParamsFlowDataSubscriptionUpdateConfirmDiscount as SessionCreateParamsFlowDataSubscriptionUpdateConfirmDiscount, @@ -109,6 +119,18 @@ "stripe.params.billing_portal._configuration_create_params", False, ), + "ConfigurationCreateParamsFeaturesSubscriptionPause": ( + "stripe.params.billing_portal._configuration_create_params", + False, + ), + "ConfigurationCreateParamsFeaturesSubscriptionPauseDuration": ( + "stripe.params.billing_portal._configuration_create_params", + False, + ), + "ConfigurationCreateParamsFeaturesSubscriptionPauseDurationIntervalOption": ( + "stripe.params.billing_portal._configuration_create_params", + False, + ), "ConfigurationCreateParamsFeaturesSubscriptionUpdate": ( "stripe.params.billing_portal._configuration_create_params", False, @@ -169,6 +191,18 @@ "stripe.params.billing_portal._configuration_modify_params", False, ), + "ConfigurationModifyParamsFeaturesSubscriptionPause": ( + "stripe.params.billing_portal._configuration_modify_params", + False, + ), + "ConfigurationModifyParamsFeaturesSubscriptionPauseDuration": ( + "stripe.params.billing_portal._configuration_modify_params", + False, + ), + "ConfigurationModifyParamsFeaturesSubscriptionPauseDurationIntervalOption": ( + "stripe.params.billing_portal._configuration_modify_params", + False, + ), "ConfigurationModifyParamsFeaturesSubscriptionUpdate": ( "stripe.params.billing_portal._configuration_modify_params", False, @@ -229,6 +263,18 @@ "stripe.params.billing_portal._configuration_update_params", False, ), + "ConfigurationUpdateParamsFeaturesSubscriptionPause": ( + "stripe.params.billing_portal._configuration_update_params", + False, + ), + "ConfigurationUpdateParamsFeaturesSubscriptionPauseDuration": ( + "stripe.params.billing_portal._configuration_update_params", + False, + ), + "ConfigurationUpdateParamsFeaturesSubscriptionPauseDurationIntervalOption": ( + "stripe.params.billing_portal._configuration_update_params", + False, + ), "ConfigurationUpdateParamsFeaturesSubscriptionUpdate": ( "stripe.params.billing_portal._configuration_update_params", False, @@ -293,6 +339,10 @@ "stripe.params.billing_portal._session_create_params", False, ), + "SessionCreateParamsFlowDataSubscriptionPause": ( + "stripe.params.billing_portal._session_create_params", + False, + ), "SessionCreateParamsFlowDataSubscriptionUpdate": ( "stripe.params.billing_portal._session_create_params", False, diff --git a/stripe/params/billing_portal/_configuration_create_params.py b/stripe/params/billing_portal/_configuration_create_params.py index 305b11dc0..ce572f74e 100644 --- a/stripe/params/billing_portal/_configuration_create_params.py +++ b/stripe/params/billing_portal/_configuration_create_params.py @@ -77,6 +77,12 @@ class ConfigurationCreateParamsFeatures(TypedDict): """ Information about canceling subscriptions in the portal. """ + subscription_pause: NotRequired[ + "ConfigurationCreateParamsFeaturesSubscriptionPause" + ] + """ + Information about pausing subscriptions in the portal. + """ subscription_update: NotRequired[ "ConfigurationCreateParamsFeaturesSubscriptionUpdate" ] @@ -173,6 +179,45 @@ class ConfigurationCreateParamsFeaturesSubscriptionCancelCancellationReason( """ +class ConfigurationCreateParamsFeaturesSubscriptionPause(TypedDict): + duration: NotRequired[ + "ConfigurationCreateParamsFeaturesSubscriptionPauseDuration" + ] + """ + Controls how long a subscription can be paused. Defaults to `interval_options` with a single one-month option. + """ + enabled: NotRequired[bool] + """ + Whether the feature is enabled. Customers can only pause subscriptions in the [redesigned customer portal](https://docs.stripe.com/customer-management). + """ + + +class ConfigurationCreateParamsFeaturesSubscriptionPauseDuration(TypedDict): + interval_options: NotRequired[ + "Literal['']|List[ConfigurationCreateParamsFeaturesSubscriptionPauseDurationIntervalOption]" + ] + """ + The preset pause durations customers can choose from. Required when `type` is `interval_options`. + """ + type: Union[Literal["indefinite", "interval_options"], str] + """ + Whether subscriptions can be paused indefinitely or for a preset duration. + """ + + +class ConfigurationCreateParamsFeaturesSubscriptionPauseDurationIntervalOption( + TypedDict, +): + interval: Union[Literal["day", "month", "week", "year"], str] + """ + Specifies the pause duration unit. Either `day`, `week`, `month`, or `year`. + """ + interval_count: NotRequired[int] + """ + The number of intervals in the pause duration. Defaults to 1. The maximum duration is three years. + """ + + class ConfigurationCreateParamsFeaturesSubscriptionUpdate(TypedDict): billing_cycle_anchor: NotRequired["Literal['now', 'unchanged']|str"] """ diff --git a/stripe/params/billing_portal/_configuration_modify_params.py b/stripe/params/billing_portal/_configuration_modify_params.py index 36fed1907..9ecbaa883 100644 --- a/stripe/params/billing_portal/_configuration_modify_params.py +++ b/stripe/params/billing_portal/_configuration_modify_params.py @@ -83,6 +83,12 @@ class ConfigurationModifyParamsFeatures(TypedDict): """ Information about canceling subscriptions in the portal. """ + subscription_pause: NotRequired[ + "ConfigurationModifyParamsFeaturesSubscriptionPause" + ] + """ + Information about pausing subscriptions in the portal. + """ subscription_update: NotRequired[ "ConfigurationModifyParamsFeaturesSubscriptionUpdate" ] @@ -164,6 +170,45 @@ class ConfigurationModifyParamsFeaturesSubscriptionCancelCancellationReason( """ +class ConfigurationModifyParamsFeaturesSubscriptionPause(TypedDict): + duration: NotRequired[ + "ConfigurationModifyParamsFeaturesSubscriptionPauseDuration" + ] + """ + Controls how long a subscription can be paused. Defaults to `interval_options` with a single one-month option. + """ + enabled: NotRequired[bool] + """ + Whether the feature is enabled. Customers can only pause subscriptions in the [redesigned customer portal](https://docs.stripe.com/customer-management). + """ + + +class ConfigurationModifyParamsFeaturesSubscriptionPauseDuration(TypedDict): + interval_options: NotRequired[ + "Literal['']|List[ConfigurationModifyParamsFeaturesSubscriptionPauseDurationIntervalOption]" + ] + """ + The preset pause durations customers can choose from. Required when `type` is `interval_options`. + """ + type: Union[Literal["indefinite", "interval_options"], str] + """ + Whether subscriptions can be paused indefinitely or for a preset duration. + """ + + +class ConfigurationModifyParamsFeaturesSubscriptionPauseDurationIntervalOption( + TypedDict, +): + interval: Union[Literal["day", "month", "week", "year"], str] + """ + Specifies the pause duration unit. Either `day`, `week`, `month`, or `year`. + """ + interval_count: NotRequired[int] + """ + The number of intervals in the pause duration. Defaults to 1. The maximum duration is three years. + """ + + class ConfigurationModifyParamsFeaturesSubscriptionUpdate(TypedDict): billing_cycle_anchor: NotRequired["Literal['now', 'unchanged']|str"] """ diff --git a/stripe/params/billing_portal/_configuration_update_params.py b/stripe/params/billing_portal/_configuration_update_params.py index a0baba565..59675a905 100644 --- a/stripe/params/billing_portal/_configuration_update_params.py +++ b/stripe/params/billing_portal/_configuration_update_params.py @@ -82,6 +82,12 @@ class ConfigurationUpdateParamsFeatures(TypedDict): """ Information about canceling subscriptions in the portal. """ + subscription_pause: NotRequired[ + "ConfigurationUpdateParamsFeaturesSubscriptionPause" + ] + """ + Information about pausing subscriptions in the portal. + """ subscription_update: NotRequired[ "ConfigurationUpdateParamsFeaturesSubscriptionUpdate" ] @@ -163,6 +169,45 @@ class ConfigurationUpdateParamsFeaturesSubscriptionCancelCancellationReason( """ +class ConfigurationUpdateParamsFeaturesSubscriptionPause(TypedDict): + duration: NotRequired[ + "ConfigurationUpdateParamsFeaturesSubscriptionPauseDuration" + ] + """ + Controls how long a subscription can be paused. Defaults to `interval_options` with a single one-month option. + """ + enabled: NotRequired[bool] + """ + Whether the feature is enabled. Customers can only pause subscriptions in the [redesigned customer portal](https://docs.stripe.com/customer-management). + """ + + +class ConfigurationUpdateParamsFeaturesSubscriptionPauseDuration(TypedDict): + interval_options: NotRequired[ + "Literal['']|List[ConfigurationUpdateParamsFeaturesSubscriptionPauseDurationIntervalOption]" + ] + """ + The preset pause durations customers can choose from. Required when `type` is `interval_options`. + """ + type: Union[Literal["indefinite", "interval_options"], str] + """ + Whether subscriptions can be paused indefinitely or for a preset duration. + """ + + +class ConfigurationUpdateParamsFeaturesSubscriptionPauseDurationIntervalOption( + TypedDict, +): + interval: Union[Literal["day", "month", "week", "year"], str] + """ + Specifies the pause duration unit. Either `day`, `week`, `month`, or `year`. + """ + interval_count: NotRequired[int] + """ + The number of intervals in the pause duration. Defaults to 1. The maximum duration is three years. + """ + + class ConfigurationUpdateParamsFeaturesSubscriptionUpdate(TypedDict): billing_cycle_anchor: NotRequired["Literal['now', 'unchanged']|str"] """ diff --git a/stripe/params/billing_portal/_session_create_params.py b/stripe/params/billing_portal/_session_create_params.py index 119c13523..7b0c97f41 100644 --- a/stripe/params/billing_portal/_session_create_params.py +++ b/stripe/params/billing_portal/_session_create_params.py @@ -77,6 +77,12 @@ class SessionCreateParamsFlowData(TypedDict): """ Configuration when `flow_data.type=subscription_cancel`. """ + subscription_pause: NotRequired[ + "SessionCreateParamsFlowDataSubscriptionPause" + ] + """ + Configuration when `flow_data.type=subscription_pause`. + """ subscription_update: NotRequired[ "SessionCreateParamsFlowDataSubscriptionUpdate" ] @@ -94,6 +100,7 @@ class SessionCreateParamsFlowData(TypedDict): "customer_update", "payment_method_update", "subscription_cancel", + "subscription_pause", "subscription_update", "subscription_update_confirm", ], @@ -172,6 +179,13 @@ class SessionCreateParamsFlowDataSubscriptionCancelRetentionCouponOffer( """ +class SessionCreateParamsFlowDataSubscriptionPause(TypedDict): + subscription: str + """ + The ID of the subscription to be paused. + """ + + class SessionCreateParamsFlowDataSubscriptionUpdate(TypedDict): subscription: str """ diff --git a/stripe/params/checkout/__init__.py b/stripe/params/checkout/__init__.py index cc790abe0..8b8b103dd 100644 --- a/stripe/params/checkout/__init__.py +++ b/stripe/params/checkout/__init__.py @@ -136,6 +136,7 @@ SessionCreateParamsSubscriptionDataBillingMode as SessionCreateParamsSubscriptionDataBillingMode, SessionCreateParamsSubscriptionDataBillingModeFlexible as SessionCreateParamsSubscriptionDataBillingModeFlexible, SessionCreateParamsSubscriptionDataInvoiceSettings as SessionCreateParamsSubscriptionDataInvoiceSettings, + SessionCreateParamsSubscriptionDataInvoiceSettingsCustomField as SessionCreateParamsSubscriptionDataInvoiceSettingsCustomField, SessionCreateParamsSubscriptionDataInvoiceSettingsIssuer as SessionCreateParamsSubscriptionDataInvoiceSettingsIssuer, SessionCreateParamsSubscriptionDataPendingInvoiceItemInterval as SessionCreateParamsSubscriptionDataPendingInvoiceItemInterval, SessionCreateParamsSubscriptionDataTransferData as SessionCreateParamsSubscriptionDataTransferData, @@ -751,6 +752,10 @@ "stripe.params.checkout._session_create_params", False, ), + "SessionCreateParamsSubscriptionDataInvoiceSettingsCustomField": ( + "stripe.params.checkout._session_create_params", + False, + ), "SessionCreateParamsSubscriptionDataInvoiceSettingsIssuer": ( "stripe.params.checkout._session_create_params", False, diff --git a/stripe/params/checkout/_session_create_params.py b/stripe/params/checkout/_session_create_params.py index 1833fccd9..585bcffd9 100644 --- a/stripe/params/checkout/_session_create_params.py +++ b/stripe/params/checkout/_session_create_params.py @@ -83,6 +83,7 @@ class SessionCreateParams(RequestOptions): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -124,7 +125,7 @@ class SessionCreateParams(RequestOptions): """ 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. + 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 `allowed_payment_method_types` is not set. """ custom_fields: NotRequired[List["SessionCreateParamsCustomField"]] """ @@ -242,6 +243,7 @@ class SessionCreateParams(RequestOptions): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -276,7 +278,7 @@ class SessionCreateParams(RequestOptions): 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']|str" + "Literal['auto', 'bg', 'cs', 'da', 'de', 'el', 'en', 'en-GB', 'es', 'es-419', 'et', 'fi', 'fil', 'fr', 'fr-CA', 'hi-IN', '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']|str" ] """ The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used. @@ -883,7 +885,7 @@ class SessionCreateParamsLineItem(TypedDict): """ price_data: NotRequired["SessionCreateParamsLineItemPriceData"] """ - Data used to generate a new [Price](https://docs.stripe.com/api/prices) object inline. One of `price` or `price_data` is required. + Data used to generate a new [Price](https://docs.stripe.com/api/prices) object inline, for [dynamic pricing](https://docs.stripe.com/products-prices/how-products-and-prices-work#inline-pricing) when the amount isn't known ahead of time. One of `price` or `price_data` is required when creating a new line item. """ quantity: NotRequired[int] """ @@ -2323,7 +2325,7 @@ class SessionCreateParamsPaymentMethodOptionsPix(TypedDict): """ expires_after_seconds: NotRequired[int] """ - The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. + The number of seconds after PaymentIntent confirmation when the Pix expires (between 60 and 1209600, inclusive). If unspecified, defaults to 14400 seconds (4 hours). """ mandate_options: NotRequired[ "SessionCreateParamsPaymentMethodOptionsPixMandateOptions" @@ -3223,6 +3225,24 @@ class SessionCreateParamsSubscriptionDataBillingModeFlexible(TypedDict): class SessionCreateParamsSubscriptionDataInvoiceSettings(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. + """ + custom_fields: NotRequired[ + "Literal['']|List[SessionCreateParamsSubscriptionDataInvoiceSettingsCustomField]" + ] + """ + A list of up to 4 custom fields to be displayed on the invoice. + """ + description: NotRequired[str] + """ + An arbitrary string attached to the object. Often useful for displaying to users. + """ + footer: NotRequired[str] + """ + Footer to be displayed on the invoice. + """ issuer: NotRequired[ "SessionCreateParamsSubscriptionDataInvoiceSettingsIssuer" ] @@ -3231,6 +3251,17 @@ class SessionCreateParamsSubscriptionDataInvoiceSettings(TypedDict): """ +class SessionCreateParamsSubscriptionDataInvoiceSettingsCustomField(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 SessionCreateParamsSubscriptionDataInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ diff --git a/stripe/params/checkout/_session_modify_params.py b/stripe/params/checkout/_session_modify_params.py index 83bb9293e..8d8a6667c 100644 --- a/stripe/params/checkout/_session_modify_params.py +++ b/stripe/params/checkout/_session_modify_params.py @@ -223,7 +223,7 @@ class SessionModifyParamsLineItem(TypedDict): """ price_data: NotRequired["SessionModifyParamsLineItemPriceData"] """ - Data used to generate a new [Price](https://docs.stripe.com/api/prices) object inline. One of `price` or `price_data` is required when creating a new line item. + Data used to generate a new [Price](https://docs.stripe.com/api/prices) object inline, for [dynamic pricing](https://docs.stripe.com/products-prices/how-products-and-prices-work#inline-pricing) when the amount isn't known ahead of time. One of `price` or `price_data` is required when creating a new line item. """ quantity: NotRequired[int] """ @@ -367,6 +367,7 @@ class SessionModifyParamsPaymentIntentData(TypedDict): 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. + You must wrap any Checkout Session update that mutates `setup_future_usage` in [`runServerUpdate`](https://docs.stripe.com/js/custom_checkout/run_server_update) and await it before continuing with the payment. Pass an empty string to remove a previously supplied configuration. """ statement_descriptor: NotRequired["Literal['']|str"] diff --git a/stripe/params/checkout/_session_update_params.py b/stripe/params/checkout/_session_update_params.py index 755bd8c7e..a458b5dc2 100644 --- a/stripe/params/checkout/_session_update_params.py +++ b/stripe/params/checkout/_session_update_params.py @@ -222,7 +222,7 @@ class SessionUpdateParamsLineItem(TypedDict): """ price_data: NotRequired["SessionUpdateParamsLineItemPriceData"] """ - Data used to generate a new [Price](https://docs.stripe.com/api/prices) object inline. One of `price` or `price_data` is required when creating a new line item. + Data used to generate a new [Price](https://docs.stripe.com/api/prices) object inline, for [dynamic pricing](https://docs.stripe.com/products-prices/how-products-and-prices-work#inline-pricing) when the amount isn't known ahead of time. One of `price` or `price_data` is required when creating a new line item. """ quantity: NotRequired[int] """ @@ -366,6 +366,7 @@ class SessionUpdateParamsPaymentIntentData(TypedDict): 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. + You must wrap any Checkout Session update that mutates `setup_future_usage` in [`runServerUpdate`](https://docs.stripe.com/js/custom_checkout/run_server_update) and await it before continuing with the payment. Pass an empty string to remove a previously supplied configuration. """ statement_descriptor: NotRequired["Literal['']|str"] diff --git a/stripe/params/issuing/_card_modify_params.py b/stripe/params/issuing/_card_modify_params.py index 83b4f4caf..4c1590052 100644 --- a/stripe/params/issuing/_card_modify_params.py +++ b/stripe/params/issuing/_card_modify_params.py @@ -15,6 +15,10 @@ class CardModifyParams(RequestOptions): """ 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[ "Literal['']|Dict[str, str]|UntypedStripeObject[str]" ] diff --git a/stripe/params/issuing/_card_update_params.py b/stripe/params/issuing/_card_update_params.py index 82e82f003..371d0d49b 100644 --- a/stripe/params/issuing/_card_update_params.py +++ b/stripe/params/issuing/_card_update_params.py @@ -14,6 +14,10 @@ class CardUpdateParams(TypedDict): """ 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[ "Literal['']|Dict[str, str]|UntypedStripeObject[str]" ] diff --git a/stripe/params/tax/__init__.py b/stripe/params/tax/__init__.py index 42a40429f..67f500627 100644 --- a/stripe/params/tax/__init__.py +++ b/stripe/params/tax/__init__.py @@ -80,6 +80,7 @@ RegistrationCreateParamsCountryOptionsBj as RegistrationCreateParamsCountryOptionsBj, RegistrationCreateParamsCountryOptionsBs as RegistrationCreateParamsCountryOptionsBs, RegistrationCreateParamsCountryOptionsBsStandard as RegistrationCreateParamsCountryOptionsBsStandard, + RegistrationCreateParamsCountryOptionsBw as RegistrationCreateParamsCountryOptionsBw, RegistrationCreateParamsCountryOptionsBy as RegistrationCreateParamsCountryOptionsBy, RegistrationCreateParamsCountryOptionsCa as RegistrationCreateParamsCountryOptionsCa, RegistrationCreateParamsCountryOptionsCaProvinceStandard as RegistrationCreateParamsCountryOptionsCaProvinceStandard, @@ -87,6 +88,7 @@ RegistrationCreateParamsCountryOptionsCdStandard as RegistrationCreateParamsCountryOptionsCdStandard, RegistrationCreateParamsCountryOptionsCh as RegistrationCreateParamsCountryOptionsCh, RegistrationCreateParamsCountryOptionsChStandard as RegistrationCreateParamsCountryOptionsChStandard, + RegistrationCreateParamsCountryOptionsCi as RegistrationCreateParamsCountryOptionsCi, RegistrationCreateParamsCountryOptionsCl as RegistrationCreateParamsCountryOptionsCl, RegistrationCreateParamsCountryOptionsCm as RegistrationCreateParamsCountryOptionsCm, RegistrationCreateParamsCountryOptionsCo as RegistrationCreateParamsCountryOptionsCo, @@ -116,6 +118,7 @@ RegistrationCreateParamsCountryOptionsGb as RegistrationCreateParamsCountryOptionsGb, RegistrationCreateParamsCountryOptionsGbStandard as RegistrationCreateParamsCountryOptionsGbStandard, RegistrationCreateParamsCountryOptionsGe as RegistrationCreateParamsCountryOptionsGe, + RegistrationCreateParamsCountryOptionsGh as RegistrationCreateParamsCountryOptionsGh, RegistrationCreateParamsCountryOptionsGn as RegistrationCreateParamsCountryOptionsGn, RegistrationCreateParamsCountryOptionsGnStandard as RegistrationCreateParamsCountryOptionsGnStandard, RegistrationCreateParamsCountryOptionsGr as RegistrationCreateParamsCountryOptionsGr, @@ -157,6 +160,7 @@ RegistrationCreateParamsCountryOptionsMrStandard as RegistrationCreateParamsCountryOptionsMrStandard, RegistrationCreateParamsCountryOptionsMt as RegistrationCreateParamsCountryOptionsMt, RegistrationCreateParamsCountryOptionsMtStandard as RegistrationCreateParamsCountryOptionsMtStandard, + RegistrationCreateParamsCountryOptionsMu as RegistrationCreateParamsCountryOptionsMu, RegistrationCreateParamsCountryOptionsMx as RegistrationCreateParamsCountryOptionsMx, RegistrationCreateParamsCountryOptionsMy as RegistrationCreateParamsCountryOptionsMy, RegistrationCreateParamsCountryOptionsNg as RegistrationCreateParamsCountryOptionsNg, @@ -214,6 +218,7 @@ RegistrationCreateParamsCountryOptionsUsStateSalesTax as RegistrationCreateParamsCountryOptionsUsStateSalesTax, RegistrationCreateParamsCountryOptionsUsStateSalesTaxElection as RegistrationCreateParamsCountryOptionsUsStateSalesTaxElection, RegistrationCreateParamsCountryOptionsUsTourismTax as RegistrationCreateParamsCountryOptionsUsTourismTax, + RegistrationCreateParamsCountryOptionsUsUtilityUsersTax as RegistrationCreateParamsCountryOptionsUsUtilityUsersTax, RegistrationCreateParamsCountryOptionsUy as RegistrationCreateParamsCountryOptionsUy, RegistrationCreateParamsCountryOptionsUyStandard as RegistrationCreateParamsCountryOptionsUyStandard, RegistrationCreateParamsCountryOptionsUz as RegistrationCreateParamsCountryOptionsUz, @@ -468,6 +473,10 @@ "stripe.params.tax._registration_create_params", False, ), + "RegistrationCreateParamsCountryOptionsBw": ( + "stripe.params.tax._registration_create_params", + False, + ), "RegistrationCreateParamsCountryOptionsBy": ( "stripe.params.tax._registration_create_params", False, @@ -496,6 +505,10 @@ "stripe.params.tax._registration_create_params", False, ), + "RegistrationCreateParamsCountryOptionsCi": ( + "stripe.params.tax._registration_create_params", + False, + ), "RegistrationCreateParamsCountryOptionsCl": ( "stripe.params.tax._registration_create_params", False, @@ -612,6 +625,10 @@ "stripe.params.tax._registration_create_params", False, ), + "RegistrationCreateParamsCountryOptionsGh": ( + "stripe.params.tax._registration_create_params", + False, + ), "RegistrationCreateParamsCountryOptionsGn": ( "stripe.params.tax._registration_create_params", False, @@ -776,6 +793,10 @@ "stripe.params.tax._registration_create_params", False, ), + "RegistrationCreateParamsCountryOptionsMu": ( + "stripe.params.tax._registration_create_params", + False, + ), "RegistrationCreateParamsCountryOptionsMx": ( "stripe.params.tax._registration_create_params", False, @@ -1004,6 +1025,10 @@ "stripe.params.tax._registration_create_params", False, ), + "RegistrationCreateParamsCountryOptionsUsUtilityUsersTax": ( + "stripe.params.tax._registration_create_params", + False, + ), "RegistrationCreateParamsCountryOptionsUy": ( "stripe.params.tax._registration_create_params", False, diff --git a/stripe/params/tax/_calculation_create_params.py b/stripe/params/tax/_calculation_create_params.py index 44ea1631e..121a9bbc8 100644 --- a/stripe/params/tax/_calculation_create_params.py +++ b/stripe/params/tax/_calculation_create_params.py @@ -103,7 +103,9 @@ class CalculationCreateParamsCustomerDetailsTaxId(TypedDict): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -117,6 +119,7 @@ class CalculationCreateParamsCustomerDetailsTaxId(TypedDict): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -127,12 +130,14 @@ class CalculationCreateParamsCustomerDetailsTaxId(TypedDict): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -142,8 +147,12 @@ class CalculationCreateParamsCustomerDetailsTaxId(TypedDict): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -153,6 +162,7 @@ class CalculationCreateParamsCustomerDetailsTaxId(TypedDict): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -168,23 +178,28 @@ class CalculationCreateParamsCustomerDetailsTaxId(TypedDict): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -194,12 +209,15 @@ class CalculationCreateParamsCustomerDetailsTaxId(TypedDict): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -217,7 +235,7 @@ class CalculationCreateParamsCustomerDetailsTaxId(TypedDict): str, ] """ - 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`, `fo_vat`, `gb_vat`, `ge_vat`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_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`, `pl_nip`, `py_ruc`, `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` + Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_acn`, `au_arn`, `au_wpn`, `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`, `bw_vat`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `ci_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `cz_dic`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `fo_vat`, `fr_siren`, `fr_siret`, `fr_spi`, `gb_vat`, `ge_vat`, `gh_tin`, `gi_tin`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `ic_nif`, `id_npwp`, `il_vat`, `in_gst`, `is_kt`, `is_vat`, `it_cf`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `lk_vat`, `ma_vat`, `md_cf`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mu_vat`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `mz_nuit`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_bn`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `pl_nip`, `pt_nif`, `py_ruc`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sm_coe`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tt_bir`, `tt_vat`, `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 """ diff --git a/stripe/params/tax/_registration_create_params.py b/stripe/params/tax/_registration_create_params.py index b2cba2c0d..a0ea18dde 100644 --- a/stripe/params/tax/_registration_create_params.py +++ b/stripe/params/tax/_registration_create_params.py @@ -108,6 +108,10 @@ class RegistrationCreateParamsCountryOptions( """ Options for the registration in BS. """ + bw: NotRequired["RegistrationCreateParamsCountryOptionsBw"] + """ + Options for the registration in BW. + """ by: NotRequired["RegistrationCreateParamsCountryOptionsBy"] """ Options for the registration in BY. @@ -124,6 +128,10 @@ class RegistrationCreateParamsCountryOptions( """ Options for the registration in CH. """ + ci: NotRequired["RegistrationCreateParamsCountryOptionsCi"] + """ + Options for the registration in CI. + """ cl: NotRequired["RegistrationCreateParamsCountryOptionsCl"] """ Options for the registration in CL. @@ -196,6 +204,10 @@ class RegistrationCreateParamsCountryOptions( """ Options for the registration in GE. """ + gh: NotRequired["RegistrationCreateParamsCountryOptionsGh"] + """ + Options for the registration in GH. + """ gn: NotRequired["RegistrationCreateParamsCountryOptionsGn"] """ Options for the registration in GN. @@ -292,6 +304,10 @@ class RegistrationCreateParamsCountryOptions( """ Options for the registration in MT. """ + mu: NotRequired["RegistrationCreateParamsCountryOptionsMu"] + """ + Options for the registration in MU. + """ mx: NotRequired["RegistrationCreateParamsCountryOptionsMx"] """ Options for the registration in MX. @@ -739,6 +755,13 @@ class RegistrationCreateParamsCountryOptionsBsStandard(TypedDict): """ +class RegistrationCreateParamsCountryOptionsBw(TypedDict): + type: Literal["simplified"] + """ + Type of registration to be created in `country`. + """ + + class RegistrationCreateParamsCountryOptionsBy(TypedDict): type: Literal["simplified"] """ @@ -806,6 +829,13 @@ class RegistrationCreateParamsCountryOptionsChStandard(TypedDict): """ +class RegistrationCreateParamsCountryOptionsCi(TypedDict): + type: Literal["simplified"] + """ + Type of registration to be created in `country`. + """ + + class RegistrationCreateParamsCountryOptionsCl(TypedDict): type: Literal["simplified"] """ @@ -1075,6 +1105,13 @@ class RegistrationCreateParamsCountryOptionsGe(TypedDict): """ +class RegistrationCreateParamsCountryOptionsGh(TypedDict): + type: Literal["simplified"] + """ + Type of registration to be created in `country`. + """ + + class RegistrationCreateParamsCountryOptionsGn(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsGnStandard"] """ @@ -1452,6 +1489,13 @@ class RegistrationCreateParamsCountryOptionsMtStandard(TypedDict): """ +class RegistrationCreateParamsCountryOptionsMu(TypedDict): + type: Literal["simplified"] + """ + Type of registration to be created in `country`. + """ + + class RegistrationCreateParamsCountryOptionsMx(TypedDict): type: Literal["simplified"] """ @@ -1911,6 +1955,7 @@ class RegistrationCreateParamsCountryOptionsUs(TypedDict): Literal[ "admissions_tax", "attendance_tax", + "digital_excise_tax", "entertainment_tax", "gross_receipts_tax", "hospitality_tax", @@ -1924,12 +1969,19 @@ class RegistrationCreateParamsCountryOptionsUs(TypedDict): "state_retail_delivery_fee", "state_sales_tax", "tourism_tax", + "utility_users_tax", ], str, ] """ Type of registration to be created in the US. """ + utility_users_tax: NotRequired[ + "RegistrationCreateParamsCountryOptionsUsUtilityUsersTax" + ] + """ + Options for the utility users tax registration. + """ class RegistrationCreateParamsCountryOptionsUsAdmissionsTax(TypedDict): @@ -2021,7 +2073,7 @@ class RegistrationCreateParamsCountryOptionsUsStateSalesTax(TypedDict): 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). + A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. """ type: Union[ Literal[ @@ -2043,6 +2095,13 @@ class RegistrationCreateParamsCountryOptionsUsTourismTax(TypedDict): """ +class RegistrationCreateParamsCountryOptionsUsUtilityUsersTax(TypedDict): + jurisdiction: str + """ + A jurisdiction code representing the [local jurisdiction](https://docs.stripe.com/tax/registering?type=utility_users_tax#registration-types). + """ + + class RegistrationCreateParamsCountryOptionsUy(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsUyStandard"] """ diff --git a/stripe/params/terminal/__init__.py b/stripe/params/terminal/__init__.py index 89fb30f98..7d5823d63 100644 --- a/stripe/params/terminal/__init__.py +++ b/stripe/params/terminal/__init__.py @@ -14,6 +14,7 @@ ConfigurationCreateParamsRebootWindow as ConfigurationCreateParamsRebootWindow, ConfigurationCreateParamsStripeS700 as ConfigurationCreateParamsStripeS700, ConfigurationCreateParamsStripeS710 as ConfigurationCreateParamsStripeS710, + ConfigurationCreateParamsStripeT600 as ConfigurationCreateParamsStripeT600, ConfigurationCreateParamsTipping as ConfigurationCreateParamsTipping, ConfigurationCreateParamsTippingAed as ConfigurationCreateParamsTippingAed, ConfigurationCreateParamsTippingAud as ConfigurationCreateParamsTippingAud, @@ -62,6 +63,7 @@ ConfigurationModifyParamsRebootWindow as ConfigurationModifyParamsRebootWindow, ConfigurationModifyParamsStripeS700 as ConfigurationModifyParamsStripeS700, ConfigurationModifyParamsStripeS710 as ConfigurationModifyParamsStripeS710, + ConfigurationModifyParamsStripeT600 as ConfigurationModifyParamsStripeT600, ConfigurationModifyParamsTipping as ConfigurationModifyParamsTipping, ConfigurationModifyParamsTippingAed as ConfigurationModifyParamsTippingAed, ConfigurationModifyParamsTippingAud as ConfigurationModifyParamsTippingAud, @@ -107,6 +109,7 @@ ConfigurationUpdateParamsRebootWindow as ConfigurationUpdateParamsRebootWindow, ConfigurationUpdateParamsStripeS700 as ConfigurationUpdateParamsStripeS700, ConfigurationUpdateParamsStripeS710 as ConfigurationUpdateParamsStripeS710, + ConfigurationUpdateParamsStripeT600 as ConfigurationUpdateParamsStripeT600, ConfigurationUpdateParamsTipping as ConfigurationUpdateParamsTipping, ConfigurationUpdateParamsTippingAed as ConfigurationUpdateParamsTippingAed, ConfigurationUpdateParamsTippingAud as ConfigurationUpdateParamsTippingAud, @@ -284,6 +287,10 @@ "stripe.params.terminal._configuration_create_params", False, ), + "ConfigurationCreateParamsStripeT600": ( + "stripe.params.terminal._configuration_create_params", + False, + ), "ConfigurationCreateParamsTipping": ( "stripe.params.terminal._configuration_create_params", False, @@ -452,6 +459,10 @@ "stripe.params.terminal._configuration_modify_params", False, ), + "ConfigurationModifyParamsStripeT600": ( + "stripe.params.terminal._configuration_modify_params", + False, + ), "ConfigurationModifyParamsTipping": ( "stripe.params.terminal._configuration_modify_params", False, @@ -616,6 +627,10 @@ "stripe.params.terminal._configuration_update_params", False, ), + "ConfigurationUpdateParamsStripeT600": ( + "stripe.params.terminal._configuration_update_params", + False, + ), "ConfigurationUpdateParamsTipping": ( "stripe.params.terminal._configuration_update_params", False, diff --git a/stripe/params/terminal/_configuration_create_params.py b/stripe/params/terminal/_configuration_create_params.py index 1dc75052c..91ec44484 100644 --- a/stripe/params/terminal/_configuration_create_params.py +++ b/stripe/params/terminal/_configuration_create_params.py @@ -48,6 +48,10 @@ class ConfigurationCreateParams(RequestOptions): """ An object containing device type specific settings for Stripe S710 readers. """ + stripe_t600: NotRequired["ConfigurationCreateParamsStripeT600"] + """ + An object containing device type specific settings for Stripe T600 readers. + """ tipping: NotRequired["Literal['']|ConfigurationCreateParamsTipping"] """ Tipping configurations for readers that support on-reader tips. @@ -138,6 +142,13 @@ class ConfigurationCreateParamsStripeS710(TypedDict): """ +class ConfigurationCreateParamsStripeT600(TypedDict): + splashscreen: NotRequired["Literal['']|str"] + """ + A File ID representing an image you want to display on the reader. + """ + + class ConfigurationCreateParamsTipping(TypedDict): aed: NotRequired["ConfigurationCreateParamsTippingAed"] """ diff --git a/stripe/params/terminal/_configuration_modify_params.py b/stripe/params/terminal/_configuration_modify_params.py index d64fabbc6..9809dd44d 100644 --- a/stripe/params/terminal/_configuration_modify_params.py +++ b/stripe/params/terminal/_configuration_modify_params.py @@ -54,6 +54,10 @@ class ConfigurationModifyParams(RequestOptions): """ An object containing device type specific settings for Stripe S710 readers. """ + stripe_t600: NotRequired["Literal['']|ConfigurationModifyParamsStripeT600"] + """ + An object containing device type specific settings for Stripe T600 readers. + """ tipping: NotRequired["Literal['']|ConfigurationModifyParamsTipping"] """ Tipping configurations for readers that support on-reader tips. @@ -154,6 +158,13 @@ class ConfigurationModifyParamsStripeS710(TypedDict): """ +class ConfigurationModifyParamsStripeT600(TypedDict): + splashscreen: NotRequired["Literal['']|str"] + """ + A File ID representing an image you want to display on the reader. + """ + + class ConfigurationModifyParamsTipping(TypedDict): aed: NotRequired["ConfigurationModifyParamsTippingAed"] """ diff --git a/stripe/params/terminal/_configuration_update_params.py b/stripe/params/terminal/_configuration_update_params.py index d19c8dbf8..46a416a48 100644 --- a/stripe/params/terminal/_configuration_update_params.py +++ b/stripe/params/terminal/_configuration_update_params.py @@ -53,6 +53,10 @@ class ConfigurationUpdateParams(TypedDict): """ An object containing device type specific settings for Stripe S710 readers. """ + stripe_t600: NotRequired["Literal['']|ConfigurationUpdateParamsStripeT600"] + """ + An object containing device type specific settings for Stripe T600 readers. + """ tipping: NotRequired["Literal['']|ConfigurationUpdateParamsTipping"] """ Tipping configurations for readers that support on-reader tips. @@ -153,6 +157,13 @@ class ConfigurationUpdateParamsStripeS710(TypedDict): """ +class ConfigurationUpdateParamsStripeT600(TypedDict): + splashscreen: NotRequired["Literal['']|str"] + """ + A File ID representing an image you want to display on the reader. + """ + + class ConfigurationUpdateParamsTipping(TypedDict): aed: NotRequired["ConfigurationUpdateParamsTippingAed"] """ diff --git a/stripe/params/terminal/_reader_list_params.py b/stripe/params/terminal/_reader_list_params.py index becba0d89..caeaa5c8f 100644 --- a/stripe/params/terminal/_reader_list_params.py +++ b/stripe/params/terminal/_reader_list_params.py @@ -7,7 +7,7 @@ class ReaderListParams(RequestOptions): device_type: NotRequired[ - "Literal['bbpos_chipper2x', 'bbpos_wisepad3', 'bbpos_wisepos_e', 'mobile_phone_reader', 'simulated_stripe_s700', 'simulated_stripe_s710', 'simulated_verifone_m425', 'simulated_verifone_p630', 'simulated_verifone_ux700', 'simulated_verifone_v660p', 'simulated_wisepos_e', 'stripe_m2', 'stripe_s700', 'stripe_s710', 'verifone_P400', 'verifone_m425', 'verifone_p630', 'verifone_ux700', 'verifone_v660p']|str" + "Literal['bbpos_chipper2x', 'bbpos_wisepad3', 'bbpos_wisepos_e', 'mobile_phone_reader', 'simulated_stripe_s700', 'simulated_stripe_s710', 'simulated_stripe_t600', 'simulated_verifone_m425', 'simulated_verifone_p630', 'simulated_verifone_ux700', 'simulated_verifone_v660p', 'simulated_wisepos_e', 'stripe_m2', 'stripe_s700', 'stripe_s710', 'stripe_t600', 'verifone_P400', 'verifone_m425', 'verifone_p630', 'verifone_ux700', 'verifone_v660p']|str" ] """ Filters readers by device type diff --git a/stripe/params/test_helpers/__init__.py b/stripe/params/test_helpers/__init__.py index 675bf8db4..8c73c2d2c 100644 --- a/stripe/params/test_helpers/__init__.py +++ b/stripe/params/test_helpers/__init__.py @@ -79,7 +79,9 @@ ConfirmationTokenCreateParamsPaymentMethodDataUpi as ConfirmationTokenCreateParamsPaymentMethodDataUpi, ConfirmationTokenCreateParamsPaymentMethodDataUpiMandateOptions as ConfirmationTokenCreateParamsPaymentMethodDataUpiMandateOptions, ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount as ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount, + ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccountExternalToken as ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccountExternalToken, ConfirmationTokenCreateParamsPaymentMethodDataWechatPay as ConfirmationTokenCreateParamsPaymentMethodDataWechatPay, + ConfirmationTokenCreateParamsPaymentMethodDataWero as ConfirmationTokenCreateParamsPaymentMethodDataWero, ConfirmationTokenCreateParamsPaymentMethodDataZip as ConfirmationTokenCreateParamsPaymentMethodDataZip, ConfirmationTokenCreateParamsPaymentMethodOptions as ConfirmationTokenCreateParamsPaymentMethodOptions, ConfirmationTokenCreateParamsPaymentMethodOptionsCard as ConfirmationTokenCreateParamsPaymentMethodOptionsCard, @@ -388,10 +390,18 @@ "stripe.params.test_helpers._confirmation_token_create_params", False, ), + "ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params.test_helpers._confirmation_token_create_params", + False, + ), "ConfirmationTokenCreateParamsPaymentMethodDataWechatPay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), + "ConfirmationTokenCreateParamsPaymentMethodDataWero": ( + "stripe.params.test_helpers._confirmation_token_create_params", + False, + ), "ConfirmationTokenCreateParamsPaymentMethodDataZip": ( "stripe.params.test_helpers._confirmation_token_create_params", False, diff --git a/stripe/params/test_helpers/_confirmation_token_create_params.py b/stripe/params/test_helpers/_confirmation_token_create_params.py index 4b774fdc0..cad8c9fc0 100644 --- a/stripe/params/test_helpers/_confirmation_token_create_params.py +++ b/stripe/params/test_helpers/_confirmation_token_create_params.py @@ -421,6 +421,7 @@ class ConfirmationTokenCreateParamsPaymentMethodData(TypedDict): "upi", "us_bank_account", "wechat_pay", + "wero", "zip", ], str, @@ -444,6 +445,10 @@ class ConfirmationTokenCreateParamsPaymentMethodData(TypedDict): """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ + wero: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataWero"] + """ + If this is a Wero PaymentMethod, this hash contains details about the Wero payment method. + """ zip: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. @@ -660,7 +665,9 @@ class ConfirmationTokenCreateParamsPaymentMethodDataGrabpay(TypedDict): class ConfirmationTokenCreateParamsPaymentMethodDataIdBankTransfer(TypedDict): - bank: NotRequired["Literal['bca', 'bni', 'bri', 'cimb', 'permata']|str"] + bank: NotRequired[ + "Literal['bca', 'bni', 'bri', 'cimb', 'mandiri', 'permata']|str" + ] """ Bank where the account is held. """ @@ -949,6 +956,12 @@ class ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount(TypedDict): """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -959,10 +972,27 @@ class ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount(TypedDict): """ +class ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class ConfirmationTokenCreateParamsPaymentMethodDataWechatPay(TypedDict): pass +class ConfirmationTokenCreateParamsPaymentMethodDataWero(TypedDict): + pass + + class ConfirmationTokenCreateParamsPaymentMethodDataZip(TypedDict): pass diff --git a/stripe/params/treasury/__init__.py b/stripe/params/treasury/__init__.py index aaab41be9..c2312a8d9 100644 --- a/stripe/params/treasury/__init__.py +++ b/stripe/params/treasury/__init__.py @@ -158,6 +158,7 @@ OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetails as OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetails, OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetailsAddress as OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetailsAddress, OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccount as OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccount, + OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccountExternalToken as OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccountExternalToken, OutboundPaymentCreateParamsDestinationPaymentMethodOptions as OutboundPaymentCreateParamsDestinationPaymentMethodOptions, OutboundPaymentCreateParamsDestinationPaymentMethodOptionsUsBankAccount as OutboundPaymentCreateParamsDestinationPaymentMethodOptionsUsBankAccount, OutboundPaymentCreateParamsEndUserDetails as OutboundPaymentCreateParamsEndUserDetails, @@ -685,6 +686,10 @@ "stripe.params.treasury._outbound_payment_create_params", False, ), + "OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccountExternalToken": ( + "stripe.params.treasury._outbound_payment_create_params", + False, + ), "OutboundPaymentCreateParamsDestinationPaymentMethodOptions": ( "stripe.params.treasury._outbound_payment_create_params", False, diff --git a/stripe/params/treasury/_outbound_payment_create_params.py b/stripe/params/treasury/_outbound_payment_create_params.py index 13e743173..9c2ab6bd7 100644 --- a/stripe/params/treasury/_outbound_payment_create_params.py +++ b/stripe/params/treasury/_outbound_payment_create_params.py @@ -159,6 +159,12 @@ class OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccount( """ Account type: checkings or savings. Defaults to checking if omitted. """ + external_token: NotRequired[ + "OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccountExternalToken" + ] + """ + An external token used to create a payment method. + """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. @@ -169,6 +175,19 @@ class OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccount( """ +class OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccountExternalToken( + TypedDict, +): + plaid_processor_token: NotRequired[str] + """ + The Plaid processor token to use for this bank account. + """ + type: Union[Literal["plaid_processor_token"], str] + """ + The type of external token. + """ + + class OutboundPaymentCreateParamsDestinationPaymentMethodOptions(TypedDict): us_bank_account: NotRequired[ "Literal['']|OutboundPaymentCreateParamsDestinationPaymentMethodOptionsUsBankAccount" diff --git a/stripe/params/v2/__init__.py b/stripe/params/v2/__init__.py index 30c6613c7..1a920a665 100644 --- a/stripe/params/v2/__init__.py +++ b/stripe/params/v2/__init__.py @@ -7,24 +7,28 @@ from stripe.params.v2 import ( billing as billing, core as core, + data as data, extend as extend, iam as iam, money_management as money_management, network as network, orchestrated_commerce as orchestrated_commerce, signals as signals, + test_helpers as test_helpers, ) # name -> (import_target, is_submodule) _import_map = { "billing": ("stripe.params.v2.billing", True), "core": ("stripe.params.v2.core", True), + "data": ("stripe.params.v2.data", True), "extend": ("stripe.params.v2.extend", True), "iam": ("stripe.params.v2.iam", True), "money_management": ("stripe.params.v2.money_management", True), "network": ("stripe.params.v2.network", True), "orchestrated_commerce": ("stripe.params.v2.orchestrated_commerce", True), "signals": ("stripe.params.v2.signals", True), + "test_helpers": ("stripe.params.v2.test_helpers", True), } if not TYPE_CHECKING: diff --git a/stripe/params/v2/core/__init__.py b/stripe/params/v2/core/__init__.py index 845c640b3..ee1fef844 100644 --- a/stripe/params/v2/core/__init__.py +++ b/stripe/params/v2/core/__init__.py @@ -118,9 +118,15 @@ AccountCreateParamsConfigurationRecipient as AccountCreateParamsConfigurationRecipient, AccountCreateParamsConfigurationRecipientCapabilities as AccountCreateParamsConfigurationRecipientCapabilities, AccountCreateParamsConfigurationRecipientCapabilitiesBankAccounts as AccountCreateParamsConfigurationRecipientCapabilitiesBankAccounts, + AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsAch as AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsAch, + AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsFedwire as AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsFedwire, + AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsFps as AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsFps, AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsLocal as AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsLocal, - AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsWire as AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsWire, + AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsRtp as AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsRtp, + AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsSepa as AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsSepa, + AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsSwift as AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsSwift, AccountCreateParamsConfigurationRecipientCapabilitiesCards as AccountCreateParamsConfigurationRecipientCapabilitiesCards, + AccountCreateParamsConfigurationRecipientCapabilitiesCryptoWallets as AccountCreateParamsConfigurationRecipientCapabilitiesCryptoWallets, AccountCreateParamsConfigurationRecipientCapabilitiesStripeBalance as AccountCreateParamsConfigurationRecipientCapabilitiesStripeBalance, AccountCreateParamsConfigurationRecipientCapabilitiesStripeBalanceStripeTransfers as AccountCreateParamsConfigurationRecipientCapabilitiesStripeBalanceStripeTransfers, AccountCreateParamsDefaults as AccountCreateParamsDefaults, @@ -149,6 +155,7 @@ AccountCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerification as AccountCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerification, AccountCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack as AccountCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack, AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfAddress as AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfAddress, + AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence as AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence, AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistration as AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistration, AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistrationSigner as AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistrationSigner, AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership as AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership, @@ -223,6 +230,7 @@ AccountTokenCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerification as AccountTokenCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerification, AccountTokenCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack as AccountTokenCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack, AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfAddress as AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfAddress, + AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence as AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence, AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistration as AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistration, AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistrationSigner as AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistrationSigner, AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership as AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership, @@ -371,9 +379,15 @@ AccountUpdateParamsConfigurationRecipient as AccountUpdateParamsConfigurationRecipient, AccountUpdateParamsConfigurationRecipientCapabilities as AccountUpdateParamsConfigurationRecipientCapabilities, AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccounts as AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccounts, + AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsAch as AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsAch, + AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsFedwire as AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsFedwire, + AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsFps as AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsFps, AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsLocal as AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsLocal, - AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsWire as AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsWire, + AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsRtp as AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsRtp, + AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsSepa as AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsSepa, + AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsSwift as AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsSwift, AccountUpdateParamsConfigurationRecipientCapabilitiesCards as AccountUpdateParamsConfigurationRecipientCapabilitiesCards, + AccountUpdateParamsConfigurationRecipientCapabilitiesCryptoWallets as AccountUpdateParamsConfigurationRecipientCapabilitiesCryptoWallets, AccountUpdateParamsConfigurationRecipientCapabilitiesStripeBalance as AccountUpdateParamsConfigurationRecipientCapabilitiesStripeBalance, AccountUpdateParamsConfigurationRecipientCapabilitiesStripeBalanceStripeTransfers as AccountUpdateParamsConfigurationRecipientCapabilitiesStripeBalanceStripeTransfers, AccountUpdateParamsDefaults as AccountUpdateParamsDefaults, @@ -403,6 +417,7 @@ AccountUpdateParamsIdentityBusinessDetailsDocumentsPrimaryVerification as AccountUpdateParamsIdentityBusinessDetailsDocumentsPrimaryVerification, AccountUpdateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack as AccountUpdateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack, AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfAddress as AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfAddress, + AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence as AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence, AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfRegistration as AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfRegistration, AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfRegistrationSigner as AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfRegistrationSigner, AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership as AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership, @@ -942,11 +957,31 @@ "stripe.params.v2.core._account_create_params", False, ), + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsAch": ( + "stripe.params.v2.core._account_create_params", + False, + ), + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsFedwire": ( + "stripe.params.v2.core._account_create_params", + False, + ), + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsFps": ( + "stripe.params.v2.core._account_create_params", + False, + ), "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsLocal": ( "stripe.params.v2.core._account_create_params", False, ), - "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsWire": ( + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsRtp": ( + "stripe.params.v2.core._account_create_params", + False, + ), + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsSepa": ( + "stripe.params.v2.core._account_create_params", + False, + ), + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsSwift": ( "stripe.params.v2.core._account_create_params", False, ), @@ -954,6 +989,10 @@ "stripe.params.v2.core._account_create_params", False, ), + "AccountCreateParamsConfigurationRecipientCapabilitiesCryptoWallets": ( + "stripe.params.v2.core._account_create_params", + False, + ), "AccountCreateParamsConfigurationRecipientCapabilitiesStripeBalance": ( "stripe.params.v2.core._account_create_params", False, @@ -1066,6 +1105,10 @@ "stripe.params.v2.core._account_create_params", False, ), + "AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence": ( + "stripe.params.v2.core._account_create_params", + False, + ), "AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistration": ( "stripe.params.v2.core._account_create_params", False, @@ -1327,6 +1370,10 @@ "stripe.params.v2.core._account_token_create_params", False, ), + "AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence": ( + "stripe.params.v2.core._account_token_create_params", + False, + ), "AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistration": ( "stripe.params.v2.core._account_token_create_params", False, @@ -1903,11 +1950,31 @@ "stripe.params.v2.core._account_update_params", False, ), + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsAch": ( + "stripe.params.v2.core._account_update_params", + False, + ), + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsFedwire": ( + "stripe.params.v2.core._account_update_params", + False, + ), + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsFps": ( + "stripe.params.v2.core._account_update_params", + False, + ), "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsLocal": ( "stripe.params.v2.core._account_update_params", False, ), - "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsWire": ( + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsRtp": ( + "stripe.params.v2.core._account_update_params", + False, + ), + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsSepa": ( + "stripe.params.v2.core._account_update_params", + False, + ), + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsSwift": ( "stripe.params.v2.core._account_update_params", False, ), @@ -1915,6 +1982,10 @@ "stripe.params.v2.core._account_update_params", False, ), + "AccountUpdateParamsConfigurationRecipientCapabilitiesCryptoWallets": ( + "stripe.params.v2.core._account_update_params", + False, + ), "AccountUpdateParamsConfigurationRecipientCapabilitiesStripeBalance": ( "stripe.params.v2.core._account_update_params", False, @@ -2031,6 +2102,10 @@ "stripe.params.v2.core._account_update_params", False, ), + "AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence": ( + "stripe.params.v2.core._account_update_params", + False, + ), "AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfRegistration": ( "stripe.params.v2.core._account_update_params", False, diff --git a/stripe/params/v2/core/_account_create_params.py b/stripe/params/v2/core/_account_create_params.py index ed29159d1..0dd84e67c 100644 --- a/stripe/params/v2/core/_account_create_params.py +++ b/stripe/params/v2/core/_account_create_params.py @@ -332,11 +332,11 @@ class AccountCreateParamsConfigurationMerchantBacsDebitPayments(TypedDict): class AccountCreateParamsConfigurationMerchantBranding(TypedDict): icon: NotRequired[str] """ - ID of a [file upload](https://docs.stripe.com/api/persons/update#create_file): An icon for the merchant. Must be square and at least 128px x 128px. + ID of a [file upload](https://docs.stripe.com/api/files/create): An icon for the merchant. Must be square and at least 128px x 128px. """ logo: NotRequired[str] """ - ID of a [file upload](https://docs.stripe.com/api/persons/update#create_file): A logo for the merchant that will be used in Checkout instead of the icon and without the merchant's name next to it if provided. Must be at least 128px x 128px. + ID of a [file upload](https://docs.stripe.com/api/files/create): A logo for the merchant that will be used in Checkout instead of the icon and without the merchant's name next to it if provided. Must be at least 128px x 128px. """ primary_color: NotRequired[str] """ @@ -1655,6 +1655,12 @@ class AccountCreateParamsConfigurationRecipientCapabilities(TypedDict): """ Capabilities that enable OutboundPayments to a card linked to this Account. """ + crypto_wallets: NotRequired[ + "AccountCreateParamsConfigurationRecipientCapabilitiesCryptoWallets" + ] + """ + Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. + """ stripe_balance: NotRequired[ "AccountCreateParamsConfigurationRecipientCapabilitiesStripeBalance" ] @@ -1666,17 +1672,74 @@ class AccountCreateParamsConfigurationRecipientCapabilities(TypedDict): class AccountCreateParamsConfigurationRecipientCapabilitiesBankAccounts( TypedDict, ): + ach: NotRequired[ + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsAch" + ] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over ACH rails. + """ + fedwire: NotRequired[ + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsFedwire" + ] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over Fedwire or CHIPS. + """ + fps: NotRequired[ + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsFps" + ] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over FPS rails. + """ local: NotRequired[ "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsLocal" ] """ Enables this Account to receive OutboundPayments to linked bank accounts over local networks. """ - wire: NotRequired[ - "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsWire" + rtp: NotRequired[ + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsRtp" + ] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over RTP rails. + """ + sepa: NotRequired[ + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsSepa" + ] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over SEPA rails. + """ + swift: NotRequired[ + "AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsSwift" ] """ - Enables this Account to receive OutboundPayments to linked bank accounts over wire. + Enables this Account to receive OutboundPayments to linked bank accounts over SWIFT. + """ + + +class AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsAch( + TypedDict, +): + requested: bool + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. + """ + + +class AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsFedwire( + TypedDict, +): + requested: bool + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. + """ + + +class AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsFps( + TypedDict, +): + requested: bool + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. """ @@ -1689,7 +1752,25 @@ class AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsLocal( """ -class AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsWire( +class AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsRtp( + TypedDict, +): + requested: bool + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. + """ + + +class AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsSepa( + TypedDict, +): + requested: bool + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. + """ + + +class AccountCreateParamsConfigurationRecipientCapabilitiesBankAccountsSwift( TypedDict, ): requested: bool @@ -1705,6 +1786,15 @@ class AccountCreateParamsConfigurationRecipientCapabilitiesCards(TypedDict): """ +class AccountCreateParamsConfigurationRecipientCapabilitiesCryptoWallets( + TypedDict, +): + requested: bool + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. + """ + + class AccountCreateParamsConfigurationRecipientCapabilitiesStripeBalance( TypedDict, ): @@ -2006,7 +2096,7 @@ class AccountCreateParamsIdentityAttestationsTermsOfService(TypedDict): "AccountCreateParamsIdentityAttestationsTermsOfServiceAccount" ] """ - Details on the Account's acceptance of the [Stripe Services Agreement](https://docs.stripe.com/connect/updating-accounts#tos-acceptance). + Details on the Account's acceptance of the Stripe Services Agreement. """ money_manager: NotRequired[ "AccountCreateParamsIdentityAttestationsTermsOfServiceMoneyManager" @@ -2142,7 +2232,9 @@ class AccountCreateParamsIdentityBusinessDetailsAdditionalAddress(TypedDict): """ ZIP or postal code. """ - purpose: Literal["administrative", "principal_place_of_business"] + purpose: Literal[ + "administrative", "physical", "principal_place_of_business" + ] """ Purpose of additional address. """ @@ -2247,6 +2339,12 @@ class AccountCreateParamsIdentityBusinessDetailsDocuments(TypedDict): """ One or more documents that demonstrate proof of address. """ + proof_of_business_presence: NotRequired[ + "AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence" + ] + """ + One or more documents that demonstrate proof of business presence. + """ proof_of_registration: NotRequired[ "AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistration" ] @@ -2266,7 +2364,7 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsBankAccountOwnershipVer ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2279,7 +2377,7 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsCompanyLicense( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2292,7 +2390,7 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsCompanyMemorandumOfAsso ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2305,7 +2403,7 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsCompanyMinisterialDecre ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2318,7 +2416,7 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsCompanyRegistrationVeri ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2331,7 +2429,7 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsCompanyTaxIdVerificatio ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2344,7 +2442,7 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerification( ): front_back: "AccountCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -2357,11 +2455,11 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFron ): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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: str """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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. """ @@ -2370,7 +2468,20 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfAddress( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. + """ + type: Union[Literal["files"], str] + """ + The format of the document. Currently supports `files` only. + """ + + +class AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence( + TypedDict, +): + files: List[str] + """ + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2383,7 +2494,7 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistration( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ signer: NotRequired[ "AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistrationSigner" @@ -2411,7 +2522,7 @@ class AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBenefici ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ signer: NotRequired[ "AccountCreateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipSigner" @@ -2921,7 +3032,7 @@ class AccountCreateParamsIdentityIndividualDocumentsCompanyAuthorization( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2932,7 +3043,7 @@ class AccountCreateParamsIdentityIndividualDocumentsCompanyAuthorization( class AccountCreateParamsIdentityIndividualDocumentsPassport(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2945,7 +3056,7 @@ class AccountCreateParamsIdentityIndividualDocumentsPrimaryVerification( ): front_back: "AccountCreateParamsIdentityIndividualDocumentsPrimaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -2958,11 +3069,11 @@ class AccountCreateParamsIdentityIndividualDocumentsPrimaryVerificationFrontBack ): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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: str """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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. """ @@ -2971,7 +3082,7 @@ class AccountCreateParamsIdentityIndividualDocumentsSecondaryVerification( ): front_back: "AccountCreateParamsIdentityIndividualDocumentsSecondaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -2984,18 +3095,18 @@ class AccountCreateParamsIdentityIndividualDocumentsSecondaryVerificationFrontBa ): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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: str """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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 AccountCreateParamsIdentityIndividualDocumentsVisa(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ diff --git a/stripe/params/v2/core/_account_list_params.py b/stripe/params/v2/core/_account_list_params.py index 371e7a0e8..6beaaff7f 100644 --- a/stripe/params/v2/core/_account_list_params.py +++ b/stripe/params/v2/core/_account_list_params.py @@ -17,5 +17,5 @@ class AccountListParams(TypedDict): """ limit: NotRequired[int] """ - The upper limit on the number of accounts returned by the List Account request. + The maximum number of items returned by the list request. """ diff --git a/stripe/params/v2/core/_account_token_create_params.py b/stripe/params/v2/core/_account_token_create_params.py index 6cfc56b0d..63a649d87 100644 --- a/stripe/params/v2/core/_account_token_create_params.py +++ b/stripe/params/v2/core/_account_token_create_params.py @@ -266,7 +266,9 @@ class AccountTokenCreateParamsIdentityBusinessDetailsAdditionalAddress( """ ZIP or postal code. """ - purpose: Literal["administrative", "principal_place_of_business"] + purpose: Literal[ + "administrative", "physical", "principal_place_of_business" + ] """ Purpose of additional address. """ @@ -371,6 +373,12 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocuments(TypedDict): """ One or more documents that demonstrate proof of address. """ + proof_of_business_presence: NotRequired[ + "AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence" + ] + """ + One or more documents that demonstrate proof of business presence. + """ proof_of_registration: NotRequired[ "AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistration" ] @@ -390,7 +398,7 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsBankAccountOwnersh ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -403,7 +411,7 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsCompanyLicense( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -416,7 +424,7 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsCompanyMemorandumO ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -429,7 +437,7 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsCompanyMinisterial ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -442,7 +450,7 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsCompanyRegistratio ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -455,7 +463,7 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsCompanyTaxIdVerifi ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -468,7 +476,7 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerificatio ): front_back: "AccountTokenCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -481,11 +489,11 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsPrimaryVerificatio ): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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. """ @@ -494,7 +502,20 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfAddress( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. + """ + type: Union[Literal["files"], str] + """ + The format of the document. Currently supports `files` only. + """ + + +class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence( + TypedDict, +): + files: List[str] + """ + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -507,7 +528,7 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistratio ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ signer: NotRequired[ "AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfRegistrationSigner" @@ -535,7 +556,7 @@ class AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBen ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ signer: NotRequired[ "AccountTokenCreateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipSigner" @@ -1061,7 +1082,7 @@ class AccountTokenCreateParamsIdentityIndividualDocumentsCompanyAuthorization( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -1072,7 +1093,7 @@ class AccountTokenCreateParamsIdentityIndividualDocumentsCompanyAuthorization( class AccountTokenCreateParamsIdentityIndividualDocumentsPassport(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -1085,7 +1106,7 @@ class AccountTokenCreateParamsIdentityIndividualDocumentsPrimaryVerification( ): front_back: "AccountTokenCreateParamsIdentityIndividualDocumentsPrimaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -1098,11 +1119,11 @@ class AccountTokenCreateParamsIdentityIndividualDocumentsPrimaryVerificationFron ): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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. """ @@ -1111,7 +1132,7 @@ class AccountTokenCreateParamsIdentityIndividualDocumentsSecondaryVerification( ): front_back: "AccountTokenCreateParamsIdentityIndividualDocumentsSecondaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -1124,18 +1145,18 @@ class AccountTokenCreateParamsIdentityIndividualDocumentsSecondaryVerificationFr ): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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 AccountTokenCreateParamsIdentityIndividualDocumentsVisa(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ diff --git a/stripe/params/v2/core/_account_update_params.py b/stripe/params/v2/core/_account_update_params.py index 19572c866..bec5cd64c 100644 --- a/stripe/params/v2/core/_account_update_params.py +++ b/stripe/params/v2/core/_account_update_params.py @@ -332,7 +332,7 @@ class AccountUpdateParamsConfigurationMerchant(TypedDict): "AccountUpdateParamsConfigurationMerchantStatementDescriptor" ] """ - Settings for the default [statement descriptor](https://docs.stripe.com/connect/statement-descriptors) text. + Settings for the default statement descriptor text. """ support: NotRequired["AccountUpdateParamsConfigurationMerchantSupport"] """ @@ -350,11 +350,11 @@ class AccountUpdateParamsConfigurationMerchantBacsDebitPayments(TypedDict): class AccountUpdateParamsConfigurationMerchantBranding(TypedDict): icon: NotRequired[str] """ - ID of a [file upload](https://docs.stripe.com/api/persons/update#create_file): An icon for the merchant. Must be square and at least 128px x 128px. + ID of a [file upload](https://docs.stripe.com/api/files/create): An icon for the merchant. Must be square and at least 128px x 128px. """ logo: NotRequired[str] """ - ID of a [file upload](https://docs.stripe.com/api/persons/update#create_file): A logo for the merchant that will be used in Checkout instead of the icon and without the merchant's name next to it if provided. Must be at least 128px x 128px. + ID of a [file upload](https://docs.stripe.com/api/files/create): A logo for the merchant that will be used in Checkout instead of the icon and without the merchant's name next to it if provided. Must be at least 128px x 128px. """ primary_color: NotRequired[str] """ @@ -1666,10 +1666,6 @@ class AccountUpdateParamsConfigurationRecipient(TypedDict): """ Capabilities to request on the Recipient Configuration. """ - default_outbound_destination: NotRequired[str] - """ - The payout method id to be used as a default outbound destination. This will allow the PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via dashboard. Can also be explicitly set to `null` to clear the existing default outbound destination. For further details about creating an Outbound Destination, see [Collect recipient's payment details](https://docs.stripe.com/global-payouts-private-preview/quickstart?dashboard-or-api=api#collect-bank-account-details). - """ class AccountUpdateParamsConfigurationRecipientCapabilities(TypedDict): @@ -1685,6 +1681,12 @@ class AccountUpdateParamsConfigurationRecipientCapabilities(TypedDict): """ Capability that enable OutboundPayments to a debit card linked to this Account. """ + crypto_wallets: NotRequired[ + "AccountUpdateParamsConfigurationRecipientCapabilitiesCryptoWallets" + ] + """ + Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. + """ stripe_balance: NotRequired[ "AccountUpdateParamsConfigurationRecipientCapabilitiesStripeBalance" ] @@ -1696,17 +1698,74 @@ class AccountUpdateParamsConfigurationRecipientCapabilities(TypedDict): class AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccounts( TypedDict, ): + ach: NotRequired[ + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsAch" + ] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over ACH rails. + """ + fedwire: NotRequired[ + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsFedwire" + ] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over Fedwire or CHIPS. + """ + fps: NotRequired[ + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsFps" + ] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over FPS rails. + """ local: NotRequired[ "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsLocal" ] """ Enables this Account to receive OutboundPayments to linked bank accounts over local networks. """ - wire: NotRequired[ - "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsWire" + rtp: NotRequired[ + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsRtp" + ] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over RTP rails. + """ + sepa: NotRequired[ + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsSepa" ] """ - Enables this Account to receive OutboundPayments to linked bank accounts over wire. + Enables this Account to receive OutboundPayments to linked bank accounts over SEPA rails. + """ + swift: NotRequired[ + "AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsSwift" + ] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over SWIFT. + """ + + +class AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsAch( + TypedDict, +): + requested: NotRequired[bool] + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. + """ + + +class AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsFedwire( + TypedDict, +): + requested: NotRequired[bool] + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. + """ + + +class AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsFps( + TypedDict, +): + requested: NotRequired[bool] + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. """ @@ -1719,7 +1778,25 @@ class AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsLocal( """ -class AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsWire( +class AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsRtp( + TypedDict, +): + requested: NotRequired[bool] + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. + """ + + +class AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsSepa( + TypedDict, +): + requested: NotRequired[bool] + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. + """ + + +class AccountUpdateParamsConfigurationRecipientCapabilitiesBankAccountsSwift( TypedDict, ): requested: NotRequired[bool] @@ -1735,6 +1812,15 @@ class AccountUpdateParamsConfigurationRecipientCapabilitiesCards(TypedDict): """ +class AccountUpdateParamsConfigurationRecipientCapabilitiesCryptoWallets( + TypedDict, +): + requested: NotRequired[bool] + """ + To request a new Capability for an account, pass true. There can be a delay before the requested Capability becomes active. + """ + + class AccountUpdateParamsConfigurationRecipientCapabilitiesStripeBalance( TypedDict, ): @@ -2040,7 +2126,7 @@ class AccountUpdateParamsIdentityAttestationsTermsOfService(TypedDict): "AccountUpdateParamsIdentityAttestationsTermsOfServiceAccount" ] """ - Details on the Account's acceptance of the [Stripe Services Agreement](https://docs.stripe.com/connect/updating-accounts#tos-acceptance). + Details on the Account's acceptance of the Stripe Services Agreement. """ crypto_money_manager: NotRequired[ "AccountUpdateParamsIdentityAttestationsTermsOfServiceCryptoMoneyManager" @@ -2199,7 +2285,9 @@ class AccountUpdateParamsIdentityBusinessDetailsAdditionalAddress(TypedDict): """ ZIP or postal code. """ - purpose: Literal["administrative", "principal_place_of_business"] + purpose: Literal[ + "administrative", "physical", "principal_place_of_business" + ] """ Purpose of additional address. """ @@ -2304,6 +2392,12 @@ class AccountUpdateParamsIdentityBusinessDetailsDocuments(TypedDict): """ One or more documents that demonstrate proof of address. """ + proof_of_business_presence: NotRequired[ + "AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence" + ] + """ + One or more documents that demonstrate proof of business presence. + """ proof_of_registration: NotRequired[ "AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfRegistration" ] @@ -2323,7 +2417,7 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsBankAccountOwnershipVer ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2336,7 +2430,7 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsCompanyLicense( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2349,7 +2443,7 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsCompanyMemorandumOfAsso ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2362,7 +2456,7 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsCompanyMinisterialDecre ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2375,7 +2469,7 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsCompanyRegistrationVeri ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2388,7 +2482,7 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsCompanyTaxIdVerificatio ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2401,7 +2495,7 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsPrimaryVerification( ): front_back: "AccountUpdateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -2414,11 +2508,11 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsPrimaryVerificationFron ): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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. """ @@ -2427,7 +2521,20 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfAddress( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. + """ + type: Union[Literal["files"], str] + """ + The format of the document. Currently supports `files` only. + """ + + +class AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfBusinessPresence( + TypedDict, +): + files: List[str] + """ + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2440,7 +2547,7 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfRegistration( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ signer: NotRequired[ "AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfRegistrationSigner" @@ -2468,7 +2575,7 @@ class AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBenefici ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ signer: NotRequired[ "AccountUpdateParamsIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipSigner" @@ -2980,7 +3087,7 @@ class AccountUpdateParamsIdentityIndividualDocumentsCompanyAuthorization( ): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -2991,7 +3098,7 @@ class AccountUpdateParamsIdentityIndividualDocumentsCompanyAuthorization( class AccountUpdateParamsIdentityIndividualDocumentsPassport(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -3004,7 +3111,7 @@ class AccountUpdateParamsIdentityIndividualDocumentsPrimaryVerification( ): front_back: "AccountUpdateParamsIdentityIndividualDocumentsPrimaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -3017,11 +3124,11 @@ class AccountUpdateParamsIdentityIndividualDocumentsPrimaryVerificationFrontBack ): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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. """ @@ -3030,7 +3137,7 @@ class AccountUpdateParamsIdentityIndividualDocumentsSecondaryVerification( ): front_back: "AccountUpdateParamsIdentityIndividualDocumentsSecondaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -3043,18 +3150,18 @@ class AccountUpdateParamsIdentityIndividualDocumentsSecondaryVerificationFrontBa ): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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 AccountUpdateParamsIdentityIndividualDocumentsVisa(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ diff --git a/stripe/params/v2/core/accounts/_person_create_params.py b/stripe/params/v2/core/accounts/_person_create_params.py index 74e36cf35..cdf34a26d 100644 --- a/stripe/params/v2/core/accounts/_person_create_params.py +++ b/stripe/params/v2/core/accounts/_person_create_params.py @@ -243,7 +243,7 @@ class PersonCreateParamsDocuments(TypedDict): class PersonCreateParamsDocumentsCompanyAuthorization(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -254,7 +254,7 @@ class PersonCreateParamsDocumentsCompanyAuthorization(TypedDict): class PersonCreateParamsDocumentsPassport(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -265,7 +265,7 @@ class PersonCreateParamsDocumentsPassport(TypedDict): class PersonCreateParamsDocumentsPrimaryVerification(TypedDict): front_back: "PersonCreateParamsDocumentsPrimaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -276,18 +276,18 @@ class PersonCreateParamsDocumentsPrimaryVerification(TypedDict): class PersonCreateParamsDocumentsPrimaryVerificationFrontBack(TypedDict): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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: str """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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 PersonCreateParamsDocumentsSecondaryVerification(TypedDict): front_back: "PersonCreateParamsDocumentsSecondaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -298,18 +298,18 @@ class PersonCreateParamsDocumentsSecondaryVerification(TypedDict): class PersonCreateParamsDocumentsSecondaryVerificationFrontBack(TypedDict): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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: str """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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 PersonCreateParamsDocumentsVisa(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ diff --git a/stripe/params/v2/core/accounts/_person_list_params.py b/stripe/params/v2/core/accounts/_person_list_params.py index 3c881ec02..7f981eff0 100644 --- a/stripe/params/v2/core/accounts/_person_list_params.py +++ b/stripe/params/v2/core/accounts/_person_list_params.py @@ -6,5 +6,5 @@ class PersonListParams(TypedDict): limit: NotRequired[int] """ - The upper limit on the number of accounts returned by the List Account request. + The maximum number of items returned by the list request. """ diff --git a/stripe/params/v2/core/accounts/_person_token_create_params.py b/stripe/params/v2/core/accounts/_person_token_create_params.py index 3b1b8fc23..0857f5d2a 100644 --- a/stripe/params/v2/core/accounts/_person_token_create_params.py +++ b/stripe/params/v2/core/accounts/_person_token_create_params.py @@ -237,7 +237,7 @@ class PersonTokenCreateParamsDocuments(TypedDict): class PersonTokenCreateParamsDocumentsCompanyAuthorization(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -248,7 +248,7 @@ class PersonTokenCreateParamsDocumentsCompanyAuthorization(TypedDict): class PersonTokenCreateParamsDocumentsPassport(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -259,7 +259,7 @@ class PersonTokenCreateParamsDocumentsPassport(TypedDict): class PersonTokenCreateParamsDocumentsPrimaryVerification(TypedDict): front_back: "PersonTokenCreateParamsDocumentsPrimaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -270,11 +270,11 @@ class PersonTokenCreateParamsDocumentsPrimaryVerification(TypedDict): class PersonTokenCreateParamsDocumentsPrimaryVerificationFrontBack(TypedDict): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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. """ @@ -283,7 +283,7 @@ class PersonTokenCreateParamsDocumentsSecondaryVerification(TypedDict): "PersonTokenCreateParamsDocumentsSecondaryVerificationFrontBack" ) """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -296,18 +296,18 @@ class PersonTokenCreateParamsDocumentsSecondaryVerificationFrontBack( ): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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 PersonTokenCreateParamsDocumentsVisa(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ diff --git a/stripe/params/v2/core/accounts/_person_update_params.py b/stripe/params/v2/core/accounts/_person_update_params.py index 2318e45f2..b3812e8d9 100644 --- a/stripe/params/v2/core/accounts/_person_update_params.py +++ b/stripe/params/v2/core/accounts/_person_update_params.py @@ -245,7 +245,7 @@ class PersonUpdateParamsDocuments(TypedDict): class PersonUpdateParamsDocumentsCompanyAuthorization(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -256,7 +256,7 @@ class PersonUpdateParamsDocumentsCompanyAuthorization(TypedDict): class PersonUpdateParamsDocumentsPassport(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -267,7 +267,7 @@ class PersonUpdateParamsDocumentsPassport(TypedDict): class PersonUpdateParamsDocumentsPrimaryVerification(TypedDict): front_back: "PersonUpdateParamsDocumentsPrimaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -278,18 +278,18 @@ class PersonUpdateParamsDocumentsPrimaryVerification(TypedDict): class PersonUpdateParamsDocumentsPrimaryVerificationFrontBack(TypedDict): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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 PersonUpdateParamsDocumentsSecondaryVerification(TypedDict): front_back: "PersonUpdateParamsDocumentsSecondaryVerificationFrontBack" """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens referring to each side of the document. + The [file upload](https://docs.stripe.com/api/files/create) tokens referring to each side of the document. """ type: Union[Literal["front_back"], str] """ @@ -300,18 +300,18 @@ class PersonUpdateParamsDocumentsSecondaryVerification(TypedDict): class PersonUpdateParamsDocumentsSecondaryVerificationFrontBack(TypedDict): back: NotRequired[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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 PersonUpdateParamsDocumentsVisa(TypedDict): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ diff --git a/stripe/params/v2/core/vault/__init__.py b/stripe/params/v2/core/vault/__init__.py index cb6115ae9..944208d4a 100644 --- a/stripe/params/v2/core/vault/__init__.py +++ b/stripe/params/v2/core/vault/__init__.py @@ -4,9 +4,6 @@ from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: - from stripe.params.v2.core.vault._gb_bank_account_acknowledge_confirmation_of_payee_params import ( - GbBankAccountAcknowledgeConfirmationOfPayeeParams as GbBankAccountAcknowledgeConfirmationOfPayeeParams, - ) from stripe.params.v2.core.vault._gb_bank_account_archive_params import ( GbBankAccountArchiveParams as GbBankAccountArchiveParams, ) @@ -14,15 +11,15 @@ GbBankAccountCreateParams as GbBankAccountCreateParams, GbBankAccountCreateParamsConfirmationOfPayee as GbBankAccountCreateParamsConfirmationOfPayee, ) - from stripe.params.v2.core.vault._gb_bank_account_initiate_confirmation_of_payee_params import ( - GbBankAccountInitiateConfirmationOfPayeeParams as GbBankAccountInitiateConfirmationOfPayeeParams, - ) from stripe.params.v2.core.vault._gb_bank_account_list_params import ( GbBankAccountListParams as GbBankAccountListParams, ) from stripe.params.v2.core.vault._gb_bank_account_retrieve_params import ( GbBankAccountRetrieveParams as GbBankAccountRetrieveParams, ) + from stripe.params.v2.core.vault._gb_bank_account_unarchive_params import ( + GbBankAccountUnarchiveParams as GbBankAccountUnarchiveParams, + ) from stripe.params.v2.core.vault._us_bank_account_archive_params import ( UsBankAccountArchiveParams as UsBankAccountArchiveParams, ) @@ -41,16 +38,15 @@ from stripe.params.v2.core.vault._us_bank_account_send_microdeposits_params import ( UsBankAccountSendMicrodepositsParams as UsBankAccountSendMicrodepositsParams, ) + from stripe.params.v2.core.vault._us_bank_account_unarchive_params import ( + UsBankAccountUnarchiveParams as UsBankAccountUnarchiveParams, + ) from stripe.params.v2.core.vault._us_bank_account_update_params import ( UsBankAccountUpdateParams as UsBankAccountUpdateParams, ) # name -> (import_target, is_submodule) _import_map = { - "GbBankAccountAcknowledgeConfirmationOfPayeeParams": ( - "stripe.params.v2.core.vault._gb_bank_account_acknowledge_confirmation_of_payee_params", - False, - ), "GbBankAccountArchiveParams": ( "stripe.params.v2.core.vault._gb_bank_account_archive_params", False, @@ -63,10 +59,6 @@ "stripe.params.v2.core.vault._gb_bank_account_create_params", False, ), - "GbBankAccountInitiateConfirmationOfPayeeParams": ( - "stripe.params.v2.core.vault._gb_bank_account_initiate_confirmation_of_payee_params", - False, - ), "GbBankAccountListParams": ( "stripe.params.v2.core.vault._gb_bank_account_list_params", False, @@ -75,6 +67,10 @@ "stripe.params.v2.core.vault._gb_bank_account_retrieve_params", False, ), + "GbBankAccountUnarchiveParams": ( + "stripe.params.v2.core.vault._gb_bank_account_unarchive_params", + False, + ), "UsBankAccountArchiveParams": ( "stripe.params.v2.core.vault._us_bank_account_archive_params", False, @@ -99,6 +95,10 @@ "stripe.params.v2.core.vault._us_bank_account_send_microdeposits_params", False, ), + "UsBankAccountUnarchiveParams": ( + "stripe.params.v2.core.vault._us_bank_account_unarchive_params", + False, + ), "UsBankAccountUpdateParams": ( "stripe.params.v2.core.vault._us_bank_account_update_params", False, diff --git a/stripe/params/v2/core/vault/_gb_bank_account_create_params.py b/stripe/params/v2/core/vault/_gb_bank_account_create_params.py index 943faf0a9..da013f908 100644 --- a/stripe/params/v2/core/vault/_gb_bank_account_create_params.py +++ b/stripe/params/v2/core/vault/_gb_bank_account_create_params.py @@ -8,9 +8,7 @@ class GbBankAccountCreateParams(TypedDict): """ The Account Number of the bank account. """ - bank_account_type: NotRequired[ - Literal["checking", "futsu", "savings", "toza"] - ] + bank_account_type: NotRequired[Literal["checking", "savings"]] """ Closed Enum. The type of the bank account (checking or savings). """ diff --git a/stripe/params/v2/core/vault/_gb_bank_account_initiate_confirmation_of_payee_params.py b/stripe/params/v2/core/vault/_gb_bank_account_initiate_confirmation_of_payee_params.py deleted file mode 100644 index b717e626f..000000000 --- a/stripe/params/v2/core/vault/_gb_bank_account_initiate_confirmation_of_payee_params.py +++ /dev/null @@ -1,14 +0,0 @@ -# -*- coding: utf-8 -*- -# File generated from our OpenAPI spec -from typing_extensions import Literal, NotRequired, TypedDict - - -class GbBankAccountInitiateConfirmationOfPayeeParams(TypedDict): - business_type: NotRequired[Literal["business", "personal"]] - """ - The business type to be checked against. Legal entity information will be used if unspecified. - """ - name: NotRequired[str] - """ - The name of the user to be checked against. Legal entity information will be used if unspecified. - """ diff --git a/stripe/params/v2/core/vault/_gb_bank_account_acknowledge_confirmation_of_payee_params.py b/stripe/params/v2/core/vault/_gb_bank_account_unarchive_params.py similarity index 62% rename from stripe/params/v2/core/vault/_gb_bank_account_acknowledge_confirmation_of_payee_params.py rename to stripe/params/v2/core/vault/_gb_bank_account_unarchive_params.py index 7db9a3f15..983667e88 100644 --- a/stripe/params/v2/core/vault/_gb_bank_account_acknowledge_confirmation_of_payee_params.py +++ b/stripe/params/v2/core/vault/_gb_bank_account_unarchive_params.py @@ -3,5 +3,5 @@ from typing_extensions import TypedDict -class GbBankAccountAcknowledgeConfirmationOfPayeeParams(TypedDict): +class GbBankAccountUnarchiveParams(TypedDict): pass diff --git a/stripe/params/v2/core/vault/_us_bank_account_list_params.py b/stripe/params/v2/core/vault/_us_bank_account_list_params.py index 38a0aa68f..ae6fb2bde 100644 --- a/stripe/params/v2/core/vault/_us_bank_account_list_params.py +++ b/stripe/params/v2/core/vault/_us_bank_account_list_params.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # File generated from our OpenAPI spec -from typing_extensions import NotRequired, TypedDict +from typing_extensions import Literal, NotRequired, TypedDict class UsBankAccountListParams(TypedDict): @@ -8,7 +8,14 @@ class UsBankAccountListParams(TypedDict): """ Optionally set the maximum number of results per page. Defaults to 10. """ - verification_status: NotRequired[str] + verification_status: NotRequired[ + Literal[ + "awaiting_verification", + "unverified", + "verification_failed", + "verified", + ] + ] """ - Optionally filter by verification status. Mutually exclusive with `unverified`, `verified`, `awaiting_verification`, and `verification_failed`. + Closed Enum. Optionally filter by verification status. """ diff --git a/stripe/params/v2/core/vault/_us_bank_account_unarchive_params.py b/stripe/params/v2/core/vault/_us_bank_account_unarchive_params.py new file mode 100644 index 000000000..2ef65c248 --- /dev/null +++ b/stripe/params/v2/core/vault/_us_bank_account_unarchive_params.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import TypedDict + + +class UsBankAccountUnarchiveParams(TypedDict): + pass diff --git a/stripe/params/v2/data/__init__.py b/stripe/params/v2/data/__init__.py index 622c49d3c..173434f20 100644 --- a/stripe/params/v2/data/__init__.py +++ b/stripe/params/v2/data/__init__.py @@ -5,9 +5,81 @@ if TYPE_CHECKING: from stripe.params.v2.data import reporting as reporting + from stripe.params.v2.data._query_run_create_params import ( + QueryRunCreateParams as QueryRunCreateParams, + QueryRunCreateParamsQuery as QueryRunCreateParamsQuery, + QueryRunCreateParamsResultOptions as QueryRunCreateParamsResultOptions, + ) + from stripe.params.v2.data._query_run_retrieve_params import ( + QueryRunRetrieveParams as QueryRunRetrieveParams, + ) + from stripe.params.v2.data._report_list_params import ( + ReportListParams as ReportListParams, + ) + from stripe.params.v2.data._report_retrieve_params import ( + ReportRetrieveParams as ReportRetrieveParams, + ) + from stripe.params.v2.data._report_run_create_params import ( + ReportRunCreateParams as ReportRunCreateParams, + ReportRunCreateParamsReport as ReportRunCreateParamsReport, + ReportRunCreateParamsResultOptions as ReportRunCreateParamsResultOptions, + ) + from stripe.params.v2.data._report_run_retrieve_params import ( + ReportRunRetrieveParams as ReportRunRetrieveParams, + ) + from stripe.params.v2.data._schema_list_params import ( + SchemaListParams as SchemaListParams, + ) + from stripe.params.v2.data._schema_retrieve_params import ( + SchemaRetrieveParams as SchemaRetrieveParams, + ) # name -> (import_target, is_submodule) -_import_map = {"reporting": ("stripe.params.v2.data.reporting", True)} +_import_map = { + "reporting": ("stripe.params.v2.data.reporting", True), + "QueryRunCreateParams": ( + "stripe.params.v2.data._query_run_create_params", + False, + ), + "QueryRunCreateParamsQuery": ( + "stripe.params.v2.data._query_run_create_params", + False, + ), + "QueryRunCreateParamsResultOptions": ( + "stripe.params.v2.data._query_run_create_params", + False, + ), + "QueryRunRetrieveParams": ( + "stripe.params.v2.data._query_run_retrieve_params", + False, + ), + "ReportListParams": ("stripe.params.v2.data._report_list_params", False), + "ReportRetrieveParams": ( + "stripe.params.v2.data._report_retrieve_params", + False, + ), + "ReportRunCreateParams": ( + "stripe.params.v2.data._report_run_create_params", + False, + ), + "ReportRunCreateParamsReport": ( + "stripe.params.v2.data._report_run_create_params", + False, + ), + "ReportRunCreateParamsResultOptions": ( + "stripe.params.v2.data._report_run_create_params", + False, + ), + "ReportRunRetrieveParams": ( + "stripe.params.v2.data._report_run_retrieve_params", + False, + ), + "SchemaListParams": ("stripe.params.v2.data._schema_list_params", False), + "SchemaRetrieveParams": ( + "stripe.params.v2.data._schema_retrieve_params", + False, + ), +} if not TYPE_CHECKING: def __getattr__(name): diff --git a/stripe/params/v2/data/_query_run_create_params.py b/stripe/params/v2/data/_query_run_create_params.py new file mode 100644 index 000000000..ba8e38ab6 --- /dev/null +++ b/stripe/params/v2/data/_query_run_create_params.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import UntypedStripeObject +from typing import Any, Dict, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class QueryRunCreateParams(TypedDict): + dataset: Union[Literal["analytical"], str] + """ + The dataset to query. + """ + format: Union[Literal["csv"], str] + """ + The file format for the result. + """ + parameters: NotRequired["Dict[str, Any]|UntypedStripeObject[Any]"] + """ + Named bind parameters for the query. Keys are parameter names referenced in + the SQL (without any prefix). Omit this field for a non-parameterized query. + Values are strings, integers, or booleans. Fractional numbers, timestamps, + and dates should be passed as strings. + """ + query: "QueryRunCreateParamsQuery" + """ + The query to execute. + """ + result_options: NotRequired["QueryRunCreateParamsResultOptions"] + """ + Optional settings that customize the generated result file. + """ + + +class QueryRunCreateParamsQuery(TypedDict): + sql: NotRequired[str] + """ + Ad-hoc SQL to execute. The maximum length is 100,000 characters. + """ + + +class QueryRunCreateParamsResultOptions(TypedDict): + compression: NotRequired["Literal['none', 'zip']|str"] + """ + The compression applied to the generated result file. Defaults to `none`. This applies + only to downloadable file results. + """ diff --git a/stripe/params/v2/data/_query_run_retrieve_params.py b/stripe/params/v2/data/_query_run_retrieve_params.py new file mode 100644 index 000000000..6fc67e6e3 --- /dev/null +++ b/stripe/params/v2/data/_query_run_retrieve_params.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing import List, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class QueryRunRetrieveParams(TypedDict): + include: NotRequired[List[Union[Literal["result.inline"], str]]] + """ + Any optional includes (see [include-dependent response values](https://docs.stripe.com/api-includable-response-values)). + """ + limit: NotRequired[int] + """ + The maximum number of inline `QueryRun` result rows to return. Defaults to 100. Maximum is 1000. + """ + page: NotRequired[str] + """ + The page token for paginating the inline `QueryRun` result rows. + """ diff --git a/stripe/params/v2/data/_report_list_params.py b/stripe/params/v2/data/_report_list_params.py new file mode 100644 index 000000000..fa82b2a7e --- /dev/null +++ b/stripe/params/v2/data/_report_list_params.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing import List, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class ReportListParams(TypedDict): + include: NotRequired[ + List[Union[Literal["default_sql", "parameters"], str]] + ] + """ + Any optional includes (see [include-dependent response values](https://docs.stripe.com/api-includable-response-values)). + """ + limit: NotRequired[int] + """ + The maximum number of results per page. Defaults to 10. Maximum is 1,000. + """ + name: NotRequired[str] + """ + If supplied, only return reports with this exact, case-sensitive name. + """ diff --git a/stripe/params/v2/data/_report_retrieve_params.py b/stripe/params/v2/data/_report_retrieve_params.py new file mode 100644 index 000000000..3025f6891 --- /dev/null +++ b/stripe/params/v2/data/_report_retrieve_params.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing import List, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class ReportRetrieveParams(TypedDict): + include: NotRequired[ + List[Union[Literal["default_sql", "parameters"], str]] + ] + """ + Any optional includes (see [include-dependent response values](https://docs.stripe.com/api-includable-response-values)). + """ diff --git a/stripe/params/v2/data/_report_run_create_params.py b/stripe/params/v2/data/_report_run_create_params.py new file mode 100644 index 000000000..fc50da825 --- /dev/null +++ b/stripe/params/v2/data/_report_run_create_params.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import UntypedStripeObject +from typing import Any, Dict, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class ReportRunCreateParams(TypedDict): + format: Union[Literal["csv"], str] + """ + The file format for the result. + """ + parameters: "Dict[str, Any]|UntypedStripeObject[Any]" + """ + A map of parameter names to values, specifying how the report should be customized. + The accepted parameters depend on the specific `Report` being run. + """ + report: "ReportRunCreateParamsReport" + """ + A reference to the `Report` to run, by ID or name. + """ + result_options: NotRequired["ReportRunCreateParamsResultOptions"] + """ + Optional settings that customize the generated result file. + """ + + +class ReportRunCreateParamsReport(TypedDict): + id: NotRequired[str] + """ + The unique identifier of the `Report`. + """ + name: NotRequired[str] + """ + The human-readable name of the `Report`. + """ + + +class ReportRunCreateParamsResultOptions(TypedDict): + compression: NotRequired["Literal['none', 'zip']|str"] + """ + The compression applied to the generated result file. Defaults to `none`. This applies + only to downloadable file results. + """ diff --git a/stripe/params/v2/data/_report_run_retrieve_params.py b/stripe/params/v2/data/_report_run_retrieve_params.py new file mode 100644 index 000000000..39bd84db3 --- /dev/null +++ b/stripe/params/v2/data/_report_run_retrieve_params.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing import List, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class ReportRunRetrieveParams(TypedDict): + include: NotRequired[List[Union[Literal["result.inline", "sql"], str]]] + """ + Any optional includes (see https://docs.stripe.com/api-includable-response-values). + """ + limit: NotRequired[int] + """ + The maximum number of inline `ReportRun` result rows to return. Defaults to 100. Maximum is 1000. + """ + page: NotRequired[str] + """ + The page token for paginating the inline `ReportRun` result rows. + """ diff --git a/stripe/params/v2/data/_schema_list_params.py b/stripe/params/v2/data/_schema_list_params.py new file mode 100644 index 000000000..085104423 --- /dev/null +++ b/stripe/params/v2/data/_schema_list_params.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing import List, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class SchemaListParams(TypedDict): + dataset: NotRequired["Literal['analytical']|str"] + """ + If supplied, only return schemas belonging to this dataset. + """ + include: NotRequired[List[Union[Literal["columns"], str]]] + """ + Any optional includes (see https://docs.stripe.com/api-includable-response-values). + """ + limit: NotRequired[int] + """ + The maximum number of results per page. Defaults to 10. Maximum is 1,000. + """ + name: NotRequired[str] + """ + If supplied, only return schemas with this name. + """ diff --git a/stripe/params/v2/data/_schema_retrieve_params.py b/stripe/params/v2/data/_schema_retrieve_params.py new file mode 100644 index 000000000..788a47c13 --- /dev/null +++ b/stripe/params/v2/data/_schema_retrieve_params.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import TypedDict + + +class SchemaRetrieveParams(TypedDict): + pass diff --git a/stripe/params/v2/money_management/__init__.py b/stripe/params/v2/money_management/__init__.py index 214da7023..19daedb2c 100644 --- a/stripe/params/v2/money_management/__init__.py +++ b/stripe/params/v2/money_management/__init__.py @@ -19,7 +19,6 @@ from stripe.params.v2.money_management._financial_account_create_params import ( FinancialAccountCreateParams as FinancialAccountCreateParams, FinancialAccountCreateParamsStorage as FinancialAccountCreateParamsStorage, - FinancialAccountCreateParamsStorageDepositInsuranceEligibility as FinancialAccountCreateParamsStorageDepositInsuranceEligibility, ) from stripe.params.v2.money_management._financial_account_list_params import ( FinancialAccountListParams as FinancialAccountListParams, @@ -61,15 +60,24 @@ OutboundPaymentCreateParamsFrom as OutboundPaymentCreateParamsFrom, OutboundPaymentCreateParamsRecipientNotification as OutboundPaymentCreateParamsRecipientNotification, OutboundPaymentCreateParamsTo as OutboundPaymentCreateParamsTo, + OutboundPaymentCreateParamsToPayoutMethodOptions as OutboundPaymentCreateParamsToPayoutMethodOptions, + OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccount as OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccount, + OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions as OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions, + OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch as OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch, ) from stripe.params.v2.money_management._outbound_payment_list_params import ( OutboundPaymentListParams as OutboundPaymentListParams, + OutboundPaymentListParamsCreated as OutboundPaymentListParamsCreated, ) from stripe.params.v2.money_management._outbound_payment_quote_create_params import ( OutboundPaymentQuoteCreateParams as OutboundPaymentQuoteCreateParams, OutboundPaymentQuoteCreateParamsDeliveryOptions as OutboundPaymentQuoteCreateParamsDeliveryOptions, OutboundPaymentQuoteCreateParamsFrom as OutboundPaymentQuoteCreateParamsFrom, OutboundPaymentQuoteCreateParamsTo as OutboundPaymentQuoteCreateParamsTo, + OutboundPaymentQuoteCreateParamsToPayoutMethodOptions as OutboundPaymentQuoteCreateParamsToPayoutMethodOptions, + OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccount as OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccount, + OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions as OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions, + OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch as OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch, ) from stripe.params.v2.money_management._outbound_payment_quote_retrieve_params import ( OutboundPaymentQuoteRetrieveParams as OutboundPaymentQuoteRetrieveParams, @@ -85,6 +93,7 @@ OutboundSetupIntentCreateParamsPayoutMethodData as OutboundSetupIntentCreateParamsPayoutMethodData, OutboundSetupIntentCreateParamsPayoutMethodDataBankAccount as OutboundSetupIntentCreateParamsPayoutMethodDataBankAccount, OutboundSetupIntentCreateParamsPayoutMethodDataCard as OutboundSetupIntentCreateParamsPayoutMethodDataCard, + OutboundSetupIntentCreateParamsPayoutMethodDataCryptoWallet as OutboundSetupIntentCreateParamsPayoutMethodDataCryptoWallet, ) from stripe.params.v2.money_management._outbound_setup_intent_list_params import ( OutboundSetupIntentListParams as OutboundSetupIntentListParams, @@ -106,6 +115,10 @@ OutboundTransferCreateParamsDeliveryOptions as OutboundTransferCreateParamsDeliveryOptions, OutboundTransferCreateParamsFrom as OutboundTransferCreateParamsFrom, OutboundTransferCreateParamsTo as OutboundTransferCreateParamsTo, + OutboundTransferCreateParamsToPayoutMethodOptions as OutboundTransferCreateParamsToPayoutMethodOptions, + OutboundTransferCreateParamsToPayoutMethodOptionsBankAccount as OutboundTransferCreateParamsToPayoutMethodOptionsBankAccount, + OutboundTransferCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions as OutboundTransferCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions, + OutboundTransferCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch as OutboundTransferCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch, ) from stripe.params.v2.money_management._outbound_transfer_list_params import ( OutboundTransferListParams as OutboundTransferListParams, @@ -113,6 +126,45 @@ from stripe.params.v2.money_management._outbound_transfer_retrieve_params import ( OutboundTransferRetrieveParams as OutboundTransferRetrieveParams, ) + from stripe.params.v2.money_management._payout_intent_cancel_params import ( + PayoutIntentCancelParams as PayoutIntentCancelParams, + ) + from stripe.params.v2.money_management._payout_intent_confirm_params import ( + PayoutIntentConfirmParams as PayoutIntentConfirmParams, + ) + from stripe.params.v2.money_management._payout_intent_create_params import ( + PayoutIntentCreateParams as PayoutIntentCreateParams, + PayoutIntentCreateParamsFrom as PayoutIntentCreateParamsFrom, + PayoutIntentCreateParamsRecipientNotification as PayoutIntentCreateParamsRecipientNotification, + PayoutIntentCreateParamsScheduleOptions as PayoutIntentCreateParamsScheduleOptions, + PayoutIntentCreateParamsTo as PayoutIntentCreateParamsTo, + PayoutIntentCreateParamsToPayoutMethodOptions as PayoutIntentCreateParamsToPayoutMethodOptions, + PayoutIntentCreateParamsToPayoutMethodOptionsBankAccount as PayoutIntentCreateParamsToPayoutMethodOptionsBankAccount, + PayoutIntentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions as PayoutIntentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions, + PayoutIntentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch as PayoutIntentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch, + ) + from stripe.params.v2.money_management._payout_intent_list_params import ( + PayoutIntentListParams as PayoutIntentListParams, + ) + from stripe.params.v2.money_management._payout_intent_refresh_fx_quote_params import ( + PayoutIntentRefreshFxQuoteParams as PayoutIntentRefreshFxQuoteParams, + ) + from stripe.params.v2.money_management._payout_intent_refresh_recipient_verification_params import ( + PayoutIntentRefreshRecipientVerificationParams as PayoutIntentRefreshRecipientVerificationParams, + ) + from stripe.params.v2.money_management._payout_intent_retrieve_params import ( + PayoutIntentRetrieveParams as PayoutIntentRetrieveParams, + ) + from stripe.params.v2.money_management._payout_intent_update_params import ( + PayoutIntentUpdateParams as PayoutIntentUpdateParams, + PayoutIntentUpdateParamsRecipientNotification as PayoutIntentUpdateParamsRecipientNotification, + PayoutIntentUpdateParamsScheduleOptions as PayoutIntentUpdateParamsScheduleOptions, + PayoutIntentUpdateParamsTo as PayoutIntentUpdateParamsTo, + PayoutIntentUpdateParamsToPayoutMethodOptions as PayoutIntentUpdateParamsToPayoutMethodOptions, + PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccount as PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccount, + PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions as PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions, + PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch as PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch, + ) from stripe.params.v2.money_management._payout_method_archive_params import ( PayoutMethodArchiveParams as PayoutMethodArchiveParams, ) @@ -145,6 +197,15 @@ from stripe.params.v2.money_management._received_debit_retrieve_params import ( ReceivedDebitRetrieveParams as ReceivedDebitRetrieveParams, ) + from stripe.params.v2.money_management._recipient_verification_acknowledge_params import ( + RecipientVerificationAcknowledgeParams as RecipientVerificationAcknowledgeParams, + ) + from stripe.params.v2.money_management._recipient_verification_create_params import ( + RecipientVerificationCreateParams as RecipientVerificationCreateParams, + ) + from stripe.params.v2.money_management._recipient_verification_retrieve_params import ( + RecipientVerificationRetrieveParams as RecipientVerificationRetrieveParams, + ) from stripe.params.v2.money_management._transaction_entry_list_params import ( TransactionEntryListParams as TransactionEntryListParams, TransactionEntryListParamsCreated as TransactionEntryListParamsCreated, @@ -156,9 +217,15 @@ TransactionListParams as TransactionListParams, TransactionListParamsCreated as TransactionListParamsCreated, ) + from stripe.params.v2.money_management._transaction_refresh_regulatory_receipt_params import ( + TransactionRefreshRegulatoryReceiptParams as TransactionRefreshRegulatoryReceiptParams, + ) from stripe.params.v2.money_management._transaction_retrieve_params import ( TransactionRetrieveParams as TransactionRetrieveParams, ) + from stripe.params.v2.money_management._transaction_update_params import ( + TransactionUpdateParams as TransactionUpdateParams, + ) # name -> (import_target, is_submodule) _import_map = { @@ -191,10 +258,6 @@ "stripe.params.v2.money_management._financial_account_create_params", False, ), - "FinancialAccountCreateParamsStorageDepositInsuranceEligibility": ( - "stripe.params.v2.money_management._financial_account_create_params", - False, - ), "FinancialAccountListParams": ( "stripe.params.v2.money_management._financial_account_list_params", False, @@ -271,10 +334,30 @@ "stripe.params.v2.money_management._outbound_payment_create_params", False, ), + "OutboundPaymentCreateParamsToPayoutMethodOptions": ( + "stripe.params.v2.money_management._outbound_payment_create_params", + False, + ), + "OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccount": ( + "stripe.params.v2.money_management._outbound_payment_create_params", + False, + ), + "OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions": ( + "stripe.params.v2.money_management._outbound_payment_create_params", + False, + ), + "OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch": ( + "stripe.params.v2.money_management._outbound_payment_create_params", + False, + ), "OutboundPaymentListParams": ( "stripe.params.v2.money_management._outbound_payment_list_params", False, ), + "OutboundPaymentListParamsCreated": ( + "stripe.params.v2.money_management._outbound_payment_list_params", + False, + ), "OutboundPaymentQuoteCreateParams": ( "stripe.params.v2.money_management._outbound_payment_quote_create_params", False, @@ -291,6 +374,22 @@ "stripe.params.v2.money_management._outbound_payment_quote_create_params", False, ), + "OutboundPaymentQuoteCreateParamsToPayoutMethodOptions": ( + "stripe.params.v2.money_management._outbound_payment_quote_create_params", + False, + ), + "OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccount": ( + "stripe.params.v2.money_management._outbound_payment_quote_create_params", + False, + ), + "OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions": ( + "stripe.params.v2.money_management._outbound_payment_quote_create_params", + False, + ), + "OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch": ( + "stripe.params.v2.money_management._outbound_payment_quote_create_params", + False, + ), "OutboundPaymentQuoteRetrieveParams": ( "stripe.params.v2.money_management._outbound_payment_quote_retrieve_params", False, @@ -319,6 +418,10 @@ "stripe.params.v2.money_management._outbound_setup_intent_create_params", False, ), + "OutboundSetupIntentCreateParamsPayoutMethodDataCryptoWallet": ( + "stripe.params.v2.money_management._outbound_setup_intent_create_params", + False, + ), "OutboundSetupIntentListParams": ( "stripe.params.v2.money_management._outbound_setup_intent_list_params", False, @@ -363,6 +466,22 @@ "stripe.params.v2.money_management._outbound_transfer_create_params", False, ), + "OutboundTransferCreateParamsToPayoutMethodOptions": ( + "stripe.params.v2.money_management._outbound_transfer_create_params", + False, + ), + "OutboundTransferCreateParamsToPayoutMethodOptionsBankAccount": ( + "stripe.params.v2.money_management._outbound_transfer_create_params", + False, + ), + "OutboundTransferCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions": ( + "stripe.params.v2.money_management._outbound_transfer_create_params", + False, + ), + "OutboundTransferCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch": ( + "stripe.params.v2.money_management._outbound_transfer_create_params", + False, + ), "OutboundTransferListParams": ( "stripe.params.v2.money_management._outbound_transfer_list_params", False, @@ -371,6 +490,98 @@ "stripe.params.v2.money_management._outbound_transfer_retrieve_params", False, ), + "PayoutIntentCancelParams": ( + "stripe.params.v2.money_management._payout_intent_cancel_params", + False, + ), + "PayoutIntentConfirmParams": ( + "stripe.params.v2.money_management._payout_intent_confirm_params", + False, + ), + "PayoutIntentCreateParams": ( + "stripe.params.v2.money_management._payout_intent_create_params", + False, + ), + "PayoutIntentCreateParamsFrom": ( + "stripe.params.v2.money_management._payout_intent_create_params", + False, + ), + "PayoutIntentCreateParamsRecipientNotification": ( + "stripe.params.v2.money_management._payout_intent_create_params", + False, + ), + "PayoutIntentCreateParamsScheduleOptions": ( + "stripe.params.v2.money_management._payout_intent_create_params", + False, + ), + "PayoutIntentCreateParamsTo": ( + "stripe.params.v2.money_management._payout_intent_create_params", + False, + ), + "PayoutIntentCreateParamsToPayoutMethodOptions": ( + "stripe.params.v2.money_management._payout_intent_create_params", + False, + ), + "PayoutIntentCreateParamsToPayoutMethodOptionsBankAccount": ( + "stripe.params.v2.money_management._payout_intent_create_params", + False, + ), + "PayoutIntentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions": ( + "stripe.params.v2.money_management._payout_intent_create_params", + False, + ), + "PayoutIntentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch": ( + "stripe.params.v2.money_management._payout_intent_create_params", + False, + ), + "PayoutIntentListParams": ( + "stripe.params.v2.money_management._payout_intent_list_params", + False, + ), + "PayoutIntentRefreshFxQuoteParams": ( + "stripe.params.v2.money_management._payout_intent_refresh_fx_quote_params", + False, + ), + "PayoutIntentRefreshRecipientVerificationParams": ( + "stripe.params.v2.money_management._payout_intent_refresh_recipient_verification_params", + False, + ), + "PayoutIntentRetrieveParams": ( + "stripe.params.v2.money_management._payout_intent_retrieve_params", + False, + ), + "PayoutIntentUpdateParams": ( + "stripe.params.v2.money_management._payout_intent_update_params", + False, + ), + "PayoutIntentUpdateParamsRecipientNotification": ( + "stripe.params.v2.money_management._payout_intent_update_params", + False, + ), + "PayoutIntentUpdateParamsScheduleOptions": ( + "stripe.params.v2.money_management._payout_intent_update_params", + False, + ), + "PayoutIntentUpdateParamsTo": ( + "stripe.params.v2.money_management._payout_intent_update_params", + False, + ), + "PayoutIntentUpdateParamsToPayoutMethodOptions": ( + "stripe.params.v2.money_management._payout_intent_update_params", + False, + ), + "PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccount": ( + "stripe.params.v2.money_management._payout_intent_update_params", + False, + ), + "PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions": ( + "stripe.params.v2.money_management._payout_intent_update_params", + False, + ), + "PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch": ( + "stripe.params.v2.money_management._payout_intent_update_params", + False, + ), "PayoutMethodArchiveParams": ( "stripe.params.v2.money_management._payout_method_archive_params", False, @@ -419,6 +630,18 @@ "stripe.params.v2.money_management._received_debit_retrieve_params", False, ), + "RecipientVerificationAcknowledgeParams": ( + "stripe.params.v2.money_management._recipient_verification_acknowledge_params", + False, + ), + "RecipientVerificationCreateParams": ( + "stripe.params.v2.money_management._recipient_verification_create_params", + False, + ), + "RecipientVerificationRetrieveParams": ( + "stripe.params.v2.money_management._recipient_verification_retrieve_params", + False, + ), "TransactionEntryListParams": ( "stripe.params.v2.money_management._transaction_entry_list_params", False, @@ -439,10 +662,18 @@ "stripe.params.v2.money_management._transaction_list_params", False, ), + "TransactionRefreshRegulatoryReceiptParams": ( + "stripe.params.v2.money_management._transaction_refresh_regulatory_receipt_params", + False, + ), "TransactionRetrieveParams": ( "stripe.params.v2.money_management._transaction_retrieve_params", False, ), + "TransactionUpdateParams": ( + "stripe.params.v2.money_management._transaction_update_params", + False, + ), } if not TYPE_CHECKING: diff --git a/stripe/params/v2/money_management/_adjustment_list_params.py b/stripe/params/v2/money_management/_adjustment_list_params.py index 65f32e3f2..306742986 100644 --- a/stripe/params/v2/money_management/_adjustment_list_params.py +++ b/stripe/params/v2/money_management/_adjustment_list_params.py @@ -6,11 +6,12 @@ class AdjustmentListParams(TypedDict): adjusted_flow: NotRequired[str] """ - Filter for Adjustments linked to a Flow. + Filter for Adjustments linked to a specific flow object. This filter only supports filtering by + the flow object's ID, such as `ibt_123` for an InboundTransfer. """ created: NotRequired["AdjustmentListParamsCreated"] """ - Set of filters to query Adjustments within a range of `created` timestamps. + Filter for Adjustments by their creation time using `gt`, `gte`, `lt`, or `lte`. """ limit: NotRequired[int] """ @@ -21,21 +22,21 @@ class AdjustmentListParams(TypedDict): class AdjustmentListParamsCreated(TypedDict): gt: NotRequired[str] """ - Filter for objects created after the specified timestamp. - Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z. + Filter for Adjustments created after the specified timestamp. + The timestamp must be in RFC 3339 format, for example `2022-09-18T13:22:00Z`. """ gte: NotRequired[str] """ - Filter for objects created on or after the specified timestamp. - Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z. + Filter for Adjustments created on or after the specified timestamp. + The timestamp must be in RFC 3339 format, for example `2022-09-18T13:22:00Z`. """ lt: NotRequired[str] """ - Filter for objects created before the specified timestamp. - Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z. + Filter for Adjustments created before the specified timestamp. + The timestamp must be in RFC 3339 format, for example `2022-09-18T13:22:00Z`. """ lte: NotRequired[str] """ - Filter for objects created on or before the specified timestamp. - Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z. + Filter for Adjustments created on or before the specified timestamp. + The timestamp must be in RFC 3339 format, for example `2022-09-18T13:22:00Z`. """ diff --git a/stripe/params/v2/money_management/_financial_account_close_params.py b/stripe/params/v2/money_management/_financial_account_close_params.py index 6f86592eb..cbb602e07 100644 --- a/stripe/params/v2/money_management/_financial_account_close_params.py +++ b/stripe/params/v2/money_management/_financial_account_close_params.py @@ -8,16 +8,18 @@ class FinancialAccountCloseParams(TypedDict): "FinancialAccountCloseParamsForwardingSettings" ] """ - The addresses to forward any incoming transactions to. + Settings that specify where to send positive balances and how to cover negative balances. + You must provide these settings if the FinancialAccount has a non-zero balance. """ class FinancialAccountCloseParamsForwardingSettings(TypedDict): payment_method: NotRequired[str] """ - The address to send forwarded payments to. + ID of the FinancialAccount that supplies funds to cover negative balances + during or after this FinancialAccount's closure. """ payout_method: NotRequired[str] """ - The address to send forwarded payouts to. + ID of the FinancialAccount that receives funds forwarded from this FinancialAccount when it closes. """ diff --git a/stripe/params/v2/money_management/_financial_account_create_params.py b/stripe/params/v2/money_management/_financial_account_create_params.py index f689e55ec..ba1889a2e 100644 --- a/stripe/params/v2/money_management/_financial_account_create_params.py +++ b/stripe/params/v2/money_management/_financial_account_create_params.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import UntypedStripeObject -from typing import Dict, List, Union +from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict @@ -25,30 +25,8 @@ class FinancialAccountCreateParams(TypedDict): class FinancialAccountCreateParamsStorage(TypedDict): - deposit_insurance_eligibility: NotRequired[ - List["FinancialAccountCreateParamsStorageDepositInsuranceEligibility"] - ] - """ - Array of eligibility objects, segmented by bank name and deposit insurance scheme. - """ holds_currencies: List[str] """ - The currencies that this FinancialAccount can hold. - """ - - -class FinancialAccountCreateParamsStorageDepositInsuranceEligibility( - TypedDict -): - bank_name: Union[Literal["fifth_third"], str] - """ - The bank where funds are stored. - """ - currencies: List[str] - """ - Currencies eligible for deposit insurance at this bank under this scheme. - """ - type: Union[Literal["fdic", "fdic_passthrough"], str] - """ - The deposit insurance scheme. + The currencies that the storage FinancialAccount can hold a balance in. Three-letter ISO currency code, in lowercase. + Must be a subset of the currencies requested in `configuration.storer.features.holds_currencies` of the v2/accounts API. """ diff --git a/stripe/params/v2/money_management/_financial_account_list_params.py b/stripe/params/v2/money_management/_financial_account_list_params.py index fa9325643..8d6a12796 100644 --- a/stripe/params/v2/money_management/_financial_account_list_params.py +++ b/stripe/params/v2/money_management/_financial_account_list_params.py @@ -17,5 +17,6 @@ class FinancialAccountListParams(TypedDict): """ statuses: NotRequired[List[Literal["closed", "open", "pending"]]] """ - Filter for FinancialAccount `status`. By default, closed FinancialAccounts are not returned. + Return FinancialAccounts whose `status` matches any of the provided values. + If omitted, closed FinancialAccounts are not returned. """ diff --git a/stripe/params/v2/money_management/_financial_account_update_params.py b/stripe/params/v2/money_management/_financial_account_update_params.py index 1880c7c27..66a07388e 100644 --- a/stripe/params/v2/money_management/_financial_account_update_params.py +++ b/stripe/params/v2/money_management/_financial_account_update_params.py @@ -8,11 +8,12 @@ class FinancialAccountUpdateParams(TypedDict): display_name: NotRequired[str] """ - A descriptive name for the FinancialAccount, up to 50 characters long. This name will be used in the Stripe Dashboard and embedded components. + A descriptive name for the FinancialAccount, up to 50 characters long. This name appears in the Stripe Dashboard and embedded components. """ metadata: NotRequired[ "Dict[str, Optional[str]]|UntypedStripeObject[Optional[str]]" ] """ - Metadata associated with the FinancialAccount. + Set of key-value pairs that you can attach to the FinancialAccount. Individual keys can be unset by posting + null to them. """ diff --git a/stripe/params/v2/money_management/_financial_address_create_params.py b/stripe/params/v2/money_management/_financial_address_create_params.py index 677fca453..138ab0f7a 100644 --- a/stripe/params/v2/money_management/_financial_address_create_params.py +++ b/stripe/params/v2/money_management/_financial_address_create_params.py @@ -13,10 +13,6 @@ class FinancialAddressCreateParams(TypedDict): """ The ID of the FinancialAccount the new FinancialAddress should be associated with. """ - settlement_currency: NotRequired[str] - """ - Open Enum. The currency the FinancialAddress settles into the FinancialAccount. - """ type: Union[Literal["bank_account"], str] """ The type of FinancialAddress to create. Must agree with which branch of financial_address_type_properties is set. @@ -28,7 +24,7 @@ class FinancialAddressCreateParamsBankAccount(TypedDict): """ The country for the bank account. Used to select the appropriate rails (e.g. for SEPA). """ - currency: Union[Literal["gbp", "usd"], str] + currency: Union[Literal["eur", "gbp", "usd"], str] """ - The currency of the bank account to provision. + The currency of the bank account to provision. Available currencies depend on your account's enabled features and rollout access; `eur` requires the Financial Address Global Payouts EU preview. """ diff --git a/stripe/params/v2/money_management/_inbound_transfer_create_params.py b/stripe/params/v2/money_management/_inbound_transfer_create_params.py index db5250ed2..ebbcac1f2 100644 --- a/stripe/params/v2/money_management/_inbound_transfer_create_params.py +++ b/stripe/params/v2/money_management/_inbound_transfer_create_params.py @@ -12,7 +12,7 @@ class InboundTransferCreateParams(_InboundTransferCreateParamsBase): amount: AmountParam """ - The amount, in specified currency, by which the FinancialAccount balance will increase due to the InboundTransfer. + The amount and currency to credit to the FinancialAccount. """ description: NotRequired[str] """ @@ -20,7 +20,7 @@ class InboundTransferCreateParams(_InboundTransferCreateParamsBase): """ to: "InboundTransferCreateParamsTo" """ - Object containing details about where the funds will land. + The FinancialAccount and currency to credit with the transferred funds. """ @@ -32,16 +32,16 @@ class InboundTransferCreateParamsFrom(TypedDict): """ payment_method: str """ - ID of the Payment Method using which IBT will be made. + ID of the verified bank account credential to debit for this InboundTransfer (for example, `usba_`), not a Payments API `pm_` PaymentMethod. """ class InboundTransferCreateParamsTo(TypedDict): currency: str """ - The currency in which funds will land in. + The currency to credit to the FinancialAccount. """ financial_account: str """ - The FinancialAccount that funds will land in. + The FinancialAccount that receives the funds. """ diff --git a/stripe/params/v2/money_management/_outbound_payment_create_params.py b/stripe/params/v2/money_management/_outbound_payment_create_params.py index 018963c5f..675bfc4b2 100644 --- a/stripe/params/v2/money_management/_outbound_payment_create_params.py +++ b/stripe/params/v2/money_management/_outbound_payment_create_params.py @@ -2,7 +2,7 @@ # File generated from our OpenAPI spec from stripe._stripe_object import UntypedStripeObject from stripe.v2._amount import AmountParam -from typing import Dict +from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict _OutboundPaymentCreateParamsBase = TypedDict( @@ -14,7 +14,7 @@ class OutboundPaymentCreateParams(_OutboundPaymentCreateParamsBase): amount: AmountParam """ - The "presentment amount" to be sent to the recipient. + The requested amount and currency for the OutboundPayment. """ delivery_options: NotRequired["OutboundPaymentCreateParamsDeliveryOptions"] """ @@ -42,6 +42,14 @@ class OutboundPaymentCreateParams(_OutboundPaymentCreateParamsBase): """ Details about the notification settings for the OutboundPayment recipient. """ + recipient_verification: NotRequired[str] + """ + The ID of the RecipientVerification for this OutboundPayment. Required where recipient-name verification is mandated before creating an OutboundPayment. + """ + statement_descriptor: NotRequired[str] + """ + The description that appears on the receiving end for an OutboundPayment (for example, on a bank statement). Must be between 3 and 22 characters long for most destinations (500 for FinancialAccount destinations), and not contain profanity. + """ to: "OutboundPaymentCreateParamsTo" """ To which payout method to send the OutboundPayment. @@ -70,7 +78,7 @@ class OutboundPaymentCreateParamsRecipientNotification(TypedDict): setting: Literal["configured", "none"] """ Closed Enum. Configuration option to enable or disable notifications to recipients. - Do not send notifications when setting is NONE. Default to account setting when setting is CONFIGURED or not set. + Do not send notifications when `setting` is `none`. Use the account setting when `setting` is `configured` or omitted. """ @@ -81,15 +89,73 @@ class OutboundPaymentCreateParamsTo(TypedDict): If included, this currency must match a currency supported by the destination. Can be omitted in the following cases: - destination only supports one currency - - destination supports multiple currencies and one of the currencies matches the FA currency - - destination supports multiple currencies and one of the currencies matches the presentment currency - Note - when both FA currency and presentment currency are supported, we pick the FA currency to minimize FX. + - destination supports multiple currencies and one matches `from.currency` + - destination supports multiple currencies and one matches `amount.currency` + When both `from.currency` and `amount.currency` are supported, Stripe selects `from.currency` to minimize currency conversion. """ payout_method: NotRequired[str] """ The payout method which the OutboundPayment uses to send payout. """ + payout_method_options: NotRequired[ + "OutboundPaymentCreateParamsToPayoutMethodOptions" + ] + """ + Payout method options for the OutboundPayment. + """ recipient: str """ To which account the OutboundPayment is sent. """ + + +class OutboundPaymentCreateParamsToPayoutMethodOptions(TypedDict): + bank_account: NotRequired[ + "OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccount" + ] + """ + Options for bank account payout methods. + """ + + +class OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccount(TypedDict): + preferred_network_options: NotRequired[ + "OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions" + ] + """ + Per-network configuration options. + """ + preferred_networks: NotRequired[ + List[ + Union[ + Literal["ach", "fedwire", "fps", "rtp", "sepa", "swift"], str + ] + ] + ] + """ + The preferred networks to use for this OutboundPayment. + """ + + +class OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions( + TypedDict, +): + ach: NotRequired[ + "OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch" + ] + """ + ACH-specific network options. + """ + + +class OutboundPaymentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch( + TypedDict, +): + submission: NotRequired["Literal['next_day', 'same_day']|str"] + """ + Open Enum. ACH submission timing. + """ + transaction_purpose: NotRequired["Literal['payroll']|str"] + """ + The transaction purpose for this ACH payment. + """ diff --git a/stripe/params/v2/money_management/_outbound_payment_list_params.py b/stripe/params/v2/money_management/_outbound_payment_list_params.py index 88e278ef6..d55783452 100644 --- a/stripe/params/v2/money_management/_outbound_payment_list_params.py +++ b/stripe/params/v2/money_management/_outbound_payment_list_params.py @@ -5,42 +5,44 @@ class OutboundPaymentListParams(TypedDict): - created: NotRequired[str] + created: NotRequired["OutboundPaymentListParamsCreated"] """ - Filter for objects created at the specified timestamp. - Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z. + Filter OutboundPayments by their creation time. + """ + limit: NotRequired[int] + """ + The maximum number of results to return. + """ + recipient: NotRequired[str] + """ + Only return OutboundPayments sent to this recipient. + """ + status: NotRequired[ + List[Literal["canceled", "failed", "posted", "processing", "returned"]] + ] """ - created_gt: NotRequired[str] + Closed Enum. Only return OutboundPayments with this status. + """ + + +class OutboundPaymentListParamsCreated(TypedDict): + gt: NotRequired[str] """ Filter for objects created after the specified timestamp. Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z. """ - created_gte: NotRequired[str] + gte: NotRequired[str] """ Filter for objects created on or after the specified timestamp. Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z. """ - created_lt: NotRequired[str] + lt: NotRequired[str] """ Filter for objects created before the specified timestamp. Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z. """ - created_lte: NotRequired[str] + lte: NotRequired[str] """ Filter for objects created on or before the specified timestamp. Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z. """ - limit: NotRequired[int] - """ - The maximum number of results to return. - """ - recipient: NotRequired[str] - """ - Only return OutboundPayments sent to this recipient. - """ - status: NotRequired[ - List[Literal["canceled", "failed", "posted", "processing", "returned"]] - ] - """ - Closed Enum. Only return OutboundPayments with this status. - """ diff --git a/stripe/params/v2/money_management/_outbound_payment_quote_create_params.py b/stripe/params/v2/money_management/_outbound_payment_quote_create_params.py index c23408cd3..fb643b737 100644 --- a/stripe/params/v2/money_management/_outbound_payment_quote_create_params.py +++ b/stripe/params/v2/money_management/_outbound_payment_quote_create_params.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe.v2._amount import AmountParam +from typing import List, Union from typing_extensions import Literal, NotRequired, TypedDict _OutboundPaymentQuoteCreateParamsBase = TypedDict( @@ -59,7 +60,67 @@ class OutboundPaymentQuoteCreateParamsTo(TypedDict): """ The payout method which the OutboundPayment uses to send payout. """ + payout_method_options: NotRequired[ + "OutboundPaymentQuoteCreateParamsToPayoutMethodOptions" + ] + """ + Payout method options for the OutboundPaymentQuote. + """ recipient: str """ To which account the OutboundPayment is sent. """ + + +class OutboundPaymentQuoteCreateParamsToPayoutMethodOptions(TypedDict): + bank_account: NotRequired[ + "OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccount" + ] + """ + Options for bank account payout methods. + """ + + +class OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccount( + TypedDict, +): + preferred_network_options: NotRequired[ + "OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions" + ] + """ + Per-network configuration options. + """ + preferred_networks: NotRequired[ + List[ + Union[ + Literal["ach", "fedwire", "fps", "rtp", "sepa", "swift"], str + ] + ] + ] + """ + The preferred networks to use for this OutboundPayment. + """ + + +class OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions( + TypedDict, +): + ach: NotRequired[ + "OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch" + ] + """ + ACH-specific network options. + """ + + +class OutboundPaymentQuoteCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch( + TypedDict, +): + submission: NotRequired["Literal['next_day', 'same_day']|str"] + """ + Open Enum. ACH submission timing. + """ + transaction_purpose: NotRequired["Literal['payroll']|str"] + """ + The transaction purpose for this ACH payment. + """ diff --git a/stripe/params/v2/money_management/_outbound_setup_intent_create_params.py b/stripe/params/v2/money_management/_outbound_setup_intent_create_params.py index 5fd8efeb6..337b74317 100644 --- a/stripe/params/v2/money_management/_outbound_setup_intent_create_params.py +++ b/stripe/params/v2/money_management/_outbound_setup_intent_create_params.py @@ -35,6 +35,12 @@ class OutboundSetupIntentCreateParamsPayoutMethodData(TypedDict): """ The type specific details of the card payout method. """ + crypto_wallet: NotRequired[ + "OutboundSetupIntentCreateParamsPayoutMethodDataCryptoWallet" + ] + """ + The type specific details of the crypto wallet payout method. + """ type: Union[Literal["bank_account", "card", "crypto_wallet"], str] """ Open Enum. The type of payout method to be created. @@ -91,3 +97,31 @@ class OutboundSetupIntentCreateParamsPayoutMethodDataCard(TypedDict): """ The card number. """ + + +class OutboundSetupIntentCreateParamsPayoutMethodDataCryptoWallet(TypedDict): + address: str + """ + Crypto wallet address. + """ + memo: NotRequired[str] + """ + Optional field, required if network supports memos (only "stellar" currently). + """ + network: Union[ + Literal[ + "arbitrum", + "avalanche_c_chain", + "base", + "ethereum", + "optimism", + "polygon", + "solana", + "stellar", + "tempo", + ], + str, + ] + """ + Which rail we should use to make an Outbound money movement to this wallet. + """ diff --git a/stripe/params/v2/money_management/_outbound_transfer_create_params.py b/stripe/params/v2/money_management/_outbound_transfer_create_params.py index 0d113d107..f88aef8ac 100644 --- a/stripe/params/v2/money_management/_outbound_transfer_create_params.py +++ b/stripe/params/v2/money_management/_outbound_transfer_create_params.py @@ -2,7 +2,7 @@ # File generated from our OpenAPI spec from stripe._stripe_object import UntypedStripeObject from stripe.v2._amount import AmountParam -from typing import Dict +from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict _OutboundTransferCreateParamsBase = TypedDict( @@ -30,6 +30,10 @@ class OutboundTransferCreateParams(_OutboundTransferCreateParamsBase): """ 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. """ + statement_descriptor: NotRequired[str] + """ + The description that appears on the receiving end for an OutboundTransfer (for example, on a bank statement). Must be between 3 and 22 characters long for most destinations (500 for FinancialAccount destinations), and not contain profanity. + """ to: "OutboundTransferCreateParamsTo" """ To which payout method to send the OutboundTransfer. @@ -69,3 +73,50 @@ class OutboundTransferCreateParamsTo(TypedDict): """ The payout method which the OutboundTransfer uses to send payout. """ + payout_method_options: NotRequired[ + "OutboundTransferCreateParamsToPayoutMethodOptions" + ] + """ + Payout method options for the OutboundTransfer. + """ + + +class OutboundTransferCreateParamsToPayoutMethodOptions(TypedDict): + bank_account: NotRequired[ + "OutboundTransferCreateParamsToPayoutMethodOptionsBankAccount" + ] + """ + Options for bank account payout methods. + """ + + +class OutboundTransferCreateParamsToPayoutMethodOptionsBankAccount(TypedDict): + preferred_network_options: NotRequired[ + "OutboundTransferCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions" + ] + """ + Per-network configuration options. + """ + preferred_networks: List[ + Union[Literal["ach", "fedwire", "fps", "sepa", "swift"], str] + ] + """ + The preferred networks to use for this OutboundTransfer. + """ + + +class OutboundTransferCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions( + TypedDict, +): + ach: NotRequired[ + "OutboundTransferCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch" + ] + """ + ACH-specific network options. + """ + + +class OutboundTransferCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch( + TypedDict, +): + pass diff --git a/stripe/params/v2/money_management/_payout_intent_cancel_params.py b/stripe/params/v2/money_management/_payout_intent_cancel_params.py new file mode 100644 index 000000000..88333dcf8 --- /dev/null +++ b/stripe/params/v2/money_management/_payout_intent_cancel_params.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import TypedDict + + +class PayoutIntentCancelParams(TypedDict): + pass diff --git a/stripe/params/v2/money_management/_payout_intent_confirm_params.py b/stripe/params/v2/money_management/_payout_intent_confirm_params.py new file mode 100644 index 000000000..44c0b9e9b --- /dev/null +++ b/stripe/params/v2/money_management/_payout_intent_confirm_params.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import TypedDict + + +class PayoutIntentConfirmParams(TypedDict): + pass diff --git a/stripe/params/v2/money_management/_payout_intent_create_params.py b/stripe/params/v2/money_management/_payout_intent_create_params.py new file mode 100644 index 000000000..007f25764 --- /dev/null +++ b/stripe/params/v2/money_management/_payout_intent_create_params.py @@ -0,0 +1,147 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import UntypedStripeObject +from stripe.v2._amount import AmountParam +from typing import Dict, List, Union +from typing_extensions import Literal, NotRequired, TypedDict + +_PayoutIntentCreateParamsBase = TypedDict( + "PayoutIntentCreateParams", + {"from": "PayoutIntentCreateParamsFrom"}, +) + + +class PayoutIntentCreateParams(_PayoutIntentCreateParamsBase): + amount: AmountParam + """ + The monetary amount to be sent. + """ + confirmation_method: NotRequired["Literal['automatic', 'manual']|str"] + """ + Controls whether the PayoutIntent requires explicit confirmation before transitioning to `pending`. Defaults to `automatic`, but regulatory requirements may still require confirmation. See [Send money with Global Payouts](https://docs.stripe.com/global-payouts/send-money) for details. + """ + description: NotRequired[str] + """ + An arbitrary string attached to the PayoutIntent. Often useful for displaying to users. + """ + metadata: NotRequired["Dict[str, str]|UntypedStripeObject[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. + """ + recipient_notification: NotRequired[ + "PayoutIntentCreateParamsRecipientNotification" + ] + """ + Recipient notification settings for the PayoutIntent. Only applicable when the PayoutIntent creates an OutboundPayment. + """ + schedule_options: NotRequired["PayoutIntentCreateParamsScheduleOptions"] + """ + Scheduling options for the payout. If omitted, the payout is scheduled for immediate execution. + """ + statement_descriptor: NotRequired[str] + """ + The description that appears on the receiving end for the payout (for example, on a bank statement). + """ + to: "PayoutIntentCreateParamsTo" + """ + To which payout method the payout is sent. + """ + + +class PayoutIntentCreateParamsFrom(TypedDict): + currency: str + """ + The currency of the financial account. + """ + financial_account: str + """ + The FinancialAccount that funds are pulled from. + """ + + +class PayoutIntentCreateParamsRecipientNotification(TypedDict): + setting: Literal["configured", "none"] + """ + Closed Enum. Configuration option to enable or disable notifications to recipients. + Do not send notifications when `setting` is `none`. Use the account setting when `setting` is `configured` or omitted. + """ + + +class PayoutIntentCreateParamsScheduleOptions(TypedDict): + execute_on: NotRequired[str] + """ + The date when the payout should be executed, in YYYY-MM-DD format. + """ + + +class PayoutIntentCreateParamsTo(TypedDict): + currency: NotRequired[str] + """ + The currency to send to the recipient. + """ + payout_method: NotRequired[str] + """ + The payout method ID for the PayoutIntent. Optional when the PayoutIntent creates an OutboundPayment and the recipient has a default payout method. Required when the PayoutIntent creates an OutboundTransfer. + """ + payout_method_options: NotRequired[ + "PayoutIntentCreateParamsToPayoutMethodOptions" + ] + """ + Payout method options for the PayoutIntent. + """ + recipient: NotRequired[str] + """ + The recipient ID for the PayoutIntent. + """ + + +class PayoutIntentCreateParamsToPayoutMethodOptions(TypedDict): + bank_account: NotRequired[ + "PayoutIntentCreateParamsToPayoutMethodOptionsBankAccount" + ] + """ + Options for bank account payout methods. + """ + + +class PayoutIntentCreateParamsToPayoutMethodOptionsBankAccount(TypedDict): + preferred_network_options: NotRequired[ + "PayoutIntentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions" + ] + """ + Per-network configuration options. + """ + preferred_networks: NotRequired[ + List[ + Union[ + Literal["ach", "fedwire", "fps", "rtp", "sepa", "swift"], str + ] + ] + ] + """ + The preferred networks to use for this PayoutIntent. + """ + + +class PayoutIntentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions( + TypedDict, +): + ach: NotRequired[ + "PayoutIntentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch" + ] + """ + ACH-specific network options. + """ + + +class PayoutIntentCreateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch( + TypedDict, +): + submission: NotRequired["Literal['next_day', 'same_day']|str"] + """ + Open Enum. ACH submission timing. + """ + transaction_purpose: NotRequired["Literal['payroll']|str"] + """ + The transaction purpose for this ACH payment. + """ diff --git a/stripe/params/v2/money_management/_payout_intent_list_params.py b/stripe/params/v2/money_management/_payout_intent_list_params.py new file mode 100644 index 000000000..a8e04bab6 --- /dev/null +++ b/stripe/params/v2/money_management/_payout_intent_list_params.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import NotRequired, TypedDict + + +class PayoutIntentListParams(TypedDict): + limit: NotRequired[int] + """ + Maximum number of objects to return. Defaults to 10. Maximum is 100. + """ diff --git a/stripe/params/v2/money_management/_payout_intent_refresh_fx_quote_params.py b/stripe/params/v2/money_management/_payout_intent_refresh_fx_quote_params.py new file mode 100644 index 000000000..1a674d352 --- /dev/null +++ b/stripe/params/v2/money_management/_payout_intent_refresh_fx_quote_params.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import TypedDict + + +class PayoutIntentRefreshFxQuoteParams(TypedDict): + pass diff --git a/stripe/params/v2/money_management/_payout_intent_refresh_recipient_verification_params.py b/stripe/params/v2/money_management/_payout_intent_refresh_recipient_verification_params.py new file mode 100644 index 000000000..9751b9c6c --- /dev/null +++ b/stripe/params/v2/money_management/_payout_intent_refresh_recipient_verification_params.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import TypedDict + + +class PayoutIntentRefreshRecipientVerificationParams(TypedDict): + pass diff --git a/stripe/params/v2/money_management/_payout_intent_retrieve_params.py b/stripe/params/v2/money_management/_payout_intent_retrieve_params.py new file mode 100644 index 000000000..5b4656563 --- /dev/null +++ b/stripe/params/v2/money_management/_payout_intent_retrieve_params.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import TypedDict + + +class PayoutIntentRetrieveParams(TypedDict): + pass diff --git a/stripe/params/v2/money_management/_payout_intent_update_params.py b/stripe/params/v2/money_management/_payout_intent_update_params.py new file mode 100644 index 000000000..652d4227e --- /dev/null +++ b/stripe/params/v2/money_management/_payout_intent_update_params.py @@ -0,0 +1,122 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import UntypedStripeObject +from typing import Dict, List, Union +from typing_extensions import Literal, NotRequired, TypedDict + + +class PayoutIntentUpdateParams(TypedDict): + description: NotRequired[str] + """ + An arbitrary string attached to the PayoutIntent. Often useful for displaying to users. + """ + metadata: NotRequired["Dict[str, str]|UntypedStripeObject[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. + """ + recipient_notification: NotRequired[ + "PayoutIntentUpdateParamsRecipientNotification" + ] + """ + Recipient notification settings for the PayoutIntent. Only applicable when the PayoutIntent creates an OutboundPayment. + """ + schedule_options: NotRequired["PayoutIntentUpdateParamsScheduleOptions"] + """ + Scheduling options for the payout. If omitted, the payout is scheduled for immediate execution. + """ + statement_descriptor: NotRequired[str] + """ + The description that appears on the receiving end for the payout (for example, on a bank statement). + """ + to: NotRequired["PayoutIntentUpdateParamsTo"] + """ + To which payout method the payout is sent. + """ + + +class PayoutIntentUpdateParamsRecipientNotification(TypedDict): + setting: Literal["configured", "none"] + """ + Closed Enum. Configuration option to enable or disable notifications to recipients. + Do not send notifications when `setting` is `none`. Use the account setting when `setting` is `configured` or omitted. + """ + + +class PayoutIntentUpdateParamsScheduleOptions(TypedDict): + execute_on: NotRequired[str] + """ + The date when the payout should be executed, in YYYY-MM-DD format. + """ + + +class PayoutIntentUpdateParamsTo(TypedDict): + currency: NotRequired[str] + """ + The currency to send to the recipient. + """ + payout_method: NotRequired[str] + """ + The payout method ID for the PayoutIntent. Optional when the PayoutIntent creates an OutboundPayment and the recipient has a default payout method. Required when the PayoutIntent creates an OutboundTransfer. + """ + payout_method_options: NotRequired[ + "PayoutIntentUpdateParamsToPayoutMethodOptions" + ] + """ + Payout method options for the PayoutIntent. + """ + recipient: NotRequired[str] + """ + The recipient ID for the PayoutIntent. + """ + + +class PayoutIntentUpdateParamsToPayoutMethodOptions(TypedDict): + bank_account: NotRequired[ + "PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccount" + ] + """ + Options for bank account payout methods. + """ + + +class PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccount(TypedDict): + preferred_network_options: NotRequired[ + "PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions" + ] + """ + Per-network configuration options. + """ + preferred_networks: NotRequired[ + List[ + Union[ + Literal["ach", "fedwire", "fps", "rtp", "sepa", "swift"], str + ] + ] + ] + """ + The preferred networks to use for this PayoutIntent. + """ + + +class PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptions( + TypedDict, +): + ach: NotRequired[ + "PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch" + ] + """ + ACH-specific network options. + """ + + +class PayoutIntentUpdateParamsToPayoutMethodOptionsBankAccountPreferredNetworkOptionsAch( + TypedDict, +): + submission: NotRequired["Literal['next_day', 'same_day']|str"] + """ + Open Enum. ACH submission timing. + """ + transaction_purpose: NotRequired["Literal['payroll']|str"] + """ + The transaction purpose for this ACH payment. + """ diff --git a/stripe/params/v2/money_management/_recipient_verification_acknowledge_params.py b/stripe/params/v2/money_management/_recipient_verification_acknowledge_params.py new file mode 100644 index 000000000..1ab6dd220 --- /dev/null +++ b/stripe/params/v2/money_management/_recipient_verification_acknowledge_params.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import TypedDict + + +class RecipientVerificationAcknowledgeParams(TypedDict): + pass diff --git a/stripe/params/v2/money_management/_recipient_verification_create_params.py b/stripe/params/v2/money_management/_recipient_verification_create_params.py new file mode 100644 index 000000000..b08fca1e4 --- /dev/null +++ b/stripe/params/v2/money_management/_recipient_verification_create_params.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import NotRequired, TypedDict + + +class RecipientVerificationCreateParams(TypedDict): + payout_method: str + """ + ID of the payout method. + """ + recipient: NotRequired[str] + """ + ID of the recipient account. Required if the recipient is different from the sender. Omit for payouts to your own account. + """ diff --git a/stripe/params/v2/money_management/_recipient_verification_retrieve_params.py b/stripe/params/v2/money_management/_recipient_verification_retrieve_params.py new file mode 100644 index 000000000..9f4e4cfba --- /dev/null +++ b/stripe/params/v2/money_management/_recipient_verification_retrieve_params.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import TypedDict + + +class RecipientVerificationRetrieveParams(TypedDict): + pass diff --git a/stripe/params/v2/money_management/_transaction_entry_list_params.py b/stripe/params/v2/money_management/_transaction_entry_list_params.py index 1da0085a6..e969ae234 100644 --- a/stripe/params/v2/money_management/_transaction_entry_list_params.py +++ b/stripe/params/v2/money_management/_transaction_entry_list_params.py @@ -6,7 +6,7 @@ class TransactionEntryListParams(TypedDict): created: NotRequired["TransactionEntryListParamsCreated"] """ - Set of filters to query TransactionEntries within a range of `created` timestamps. + Filter for TransactionEntries created within a specified time range. """ limit: NotRequired[int] """ @@ -14,24 +14,25 @@ class TransactionEntryListParams(TypedDict): """ transaction: NotRequired[str] """ - Filter for TransactionEntries belonging to a Transaction. + Filter for TransactionEntries belonging to a specific Transaction. This filter only supports + filtering by a Transaction ID, which appears in each TransactionEntry's `transaction` field. """ class TransactionEntryListParamsCreated(TypedDict): gt: NotRequired[str] """ - Filter for Transactions created after the specified timestamp. + Filter for objects created after the specified timestamp. """ gte: NotRequired[str] """ - Filter for Transactions created at or after the specified timestamp. + Filter for objects created at or after the specified timestamp. """ lt: NotRequired[str] """ - Filter for Transactions created before the specified timestamp. + Filter for objects created before the specified timestamp. """ lte: NotRequired[str] """ - Filter for Transactions created at or before the specified timestamp. + Filter for objects created at or before the specified timestamp. """ diff --git a/stripe/params/v2/money_management/_transaction_list_params.py b/stripe/params/v2/money_management/_transaction_list_params.py index d9a2a2d34..d3f5e9052 100644 --- a/stripe/params/v2/money_management/_transaction_list_params.py +++ b/stripe/params/v2/money_management/_transaction_list_params.py @@ -6,15 +6,17 @@ class TransactionListParams(TypedDict): created: NotRequired["TransactionListParamsCreated"] """ - Set of filters to query Transactions within a range of `created` timestamps. + Filter for Transactions created within a specified time range. """ financial_account: NotRequired[str] """ - Filter for Transactions belonging to a FinancialAccount. + Filter for Transactions belonging to a specific FinancialAccount. This filter only supports filtering by the FinancialAccount's ID. """ flow: NotRequired[str] """ - Filter for Transactions corresponding to a Flow. + Filter for Transactions created by a specific flow object. This filter only supports filtering by + the flow object's ID, such as `ibt_123` for an InboundTransfer. A value that doesn't match a flow ID + returns an empty list. """ limit: NotRequired[int] """ @@ -25,17 +27,17 @@ class TransactionListParams(TypedDict): class TransactionListParamsCreated(TypedDict): gt: NotRequired[str] """ - Filter for Transactions created after the specified timestamp. + Filter for objects created after the specified timestamp. """ gte: NotRequired[str] """ - Filter for Transactions created at or after the specified timestamp. + Filter for objects created at or after the specified timestamp. """ lt: NotRequired[str] """ - Filter for Transactions created before the specified timestamp. + Filter for objects created before the specified timestamp. """ lte: NotRequired[str] """ - Filter for Transactions created at or before the specified timestamp. + Filter for objects created at or before the specified timestamp. """ diff --git a/stripe/params/v2/money_management/_transaction_refresh_regulatory_receipt_params.py b/stripe/params/v2/money_management/_transaction_refresh_regulatory_receipt_params.py new file mode 100644 index 000000000..677744618 --- /dev/null +++ b/stripe/params/v2/money_management/_transaction_refresh_regulatory_receipt_params.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import TypedDict + + +class TransactionRefreshRegulatoryReceiptParams(TypedDict): + pass diff --git a/stripe/params/v2/money_management/_transaction_update_params.py b/stripe/params/v2/money_management/_transaction_update_params.py new file mode 100644 index 000000000..80ab1d9ce --- /dev/null +++ b/stripe/params/v2/money_management/_transaction_update_params.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import UntypedStripeObject +from typing import Dict, Optional +from typing_extensions import NotRequired, TypedDict + + +class TransactionUpdateParams(TypedDict): + description: NotRequired[str] + """ + A description of the Transaction, up to 100 characters. Pass `null` to clear the description, + or omit this parameter to leave it unchanged. + """ + metadata: NotRequired[ + "Dict[str, Optional[str]]|UntypedStripeObject[Optional[str]]" + ] + """ + Set of key-value pairs that you can attach to the Transaction. Individual keys can be unset by posting + null to them. + """ diff --git a/stripe/params/v2/money_management/test_helpers/_financial_address_credit_params.py b/stripe/params/v2/money_management/test_helpers/_financial_address_credit_params.py index 0df91805e..b8cf7be79 100644 --- a/stripe/params/v2/money_management/test_helpers/_financial_address_credit_params.py +++ b/stripe/params/v2/money_management/test_helpers/_financial_address_credit_params.py @@ -10,7 +10,9 @@ class FinancialAddressCreditParams(TypedDict): """ Object containing the amount value and currency to credit. """ - network: Union[Literal["ach", "chaps", "fps", "rtp", "wire"], str] + network: Union[ + Literal["ach", "chaps", "fedwire", "fps", "rtp", "sepa", "wire"], str + ] """ Open Enum. The network to use in simulating the funds flow. This will be the reflected in the resulting ReceivedCredit. """ diff --git a/stripe/params/v2/signals/_account_activity_create_params.py b/stripe/params/v2/signals/_account_activity_create_params.py index 25ad9709f..56eb61e36 100644 --- a/stripe/params/v2/signals/_account_activity_create_params.py +++ b/stripe/params/v2/signals/_account_activity_create_params.py @@ -58,7 +58,7 @@ class AccountActivityCreateParamsAccountDetails(TypedDict): """ customer: NotRequired[str] """ - The v1 customer ID of the account, for users not yet migrated to v2/accounts. + The v1 customer ID of the account, for users not yet migrated to v2 accounts. """ data: NotRequired["AccountActivityCreateParamsAccountDetailsData"] """ @@ -67,6 +67,10 @@ class AccountActivityCreateParamsAccountDetails(TypedDict): class AccountActivityCreateParamsAccountDetailsData(TypedDict): + contact_email: NotRequired[str] + """ + The account's contact email. + """ defaults: NotRequired[ "AccountActivityCreateParamsAccountDetailsDataDefaults" ] diff --git a/stripe/params/v2/signals/_account_evaluation_create_params.py b/stripe/params/v2/signals/_account_evaluation_create_params.py index ba4533f93..085e4e455 100644 --- a/stripe/params/v2/signals/_account_evaluation_create_params.py +++ b/stripe/params/v2/signals/_account_evaluation_create_params.py @@ -70,7 +70,8 @@ class AccountEvaluationCreateParamsAccountActivityDetailsData(TypedDict): str, ] """ - The type of activity. Must be registration_attempt or login_attempt. + The type of activity. Supports registration_attempt, login_attempt, mfa_addition, mfa_removal, + credential_change, account_takeover_report, account_takeover_confirmation, or account_takeover_mitigation. """ @@ -163,7 +164,7 @@ class AccountEvaluationCreateParamsAccountDetails(TypedDict): """ customer: NotRequired[str] """ - The v1 customer ID of the account, for users not yet migrated to v2/accounts. + The v1 customer ID of the account, for users not yet migrated to v2 accounts. """ data: NotRequired["AccountEvaluationCreateParamsAccountDetailsData"] """ @@ -172,6 +173,10 @@ class AccountEvaluationCreateParamsAccountDetails(TypedDict): class AccountEvaluationCreateParamsAccountDetailsData(TypedDict): + contact_email: NotRequired[str] + """ + The account's contact email. + """ defaults: NotRequired[ "AccountEvaluationCreateParamsAccountDetailsDataDefaults" ] diff --git a/stripe/params/v2/test_helpers/__init__.py b/stripe/params/v2/test_helpers/__init__.py new file mode 100644 index 000000000..c998edf88 --- /dev/null +++ b/stripe/params/v2/test_helpers/__init__.py @@ -0,0 +1,32 @@ +# -*- 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.test_helpers._money_management_recipient_verifications_params import ( + MoneyManagementRecipientVerificationsParams as MoneyManagementRecipientVerificationsParams, + ) + +# name -> (import_target, is_submodule) +_import_map = { + "MoneyManagementRecipientVerificationsParams": ( + "stripe.params.v2.test_helpers._money_management_recipient_verifications_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() diff --git a/stripe/params/v2/test_helpers/_money_management_recipient_verifications_params.py b/stripe/params/v2/test_helpers/_money_management_recipient_verifications_params.py new file mode 100644 index 000000000..ad5240781 --- /dev/null +++ b/stripe/params/v2/test_helpers/_money_management_recipient_verifications_params.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing_extensions import Literal, NotRequired, TypedDict + + +class MoneyManagementRecipientVerificationsParams(TypedDict): + match_result: Literal["close_match", "match", "no_match", "unavailable"] + """ + Expected match level of the RecipientVerification to be created: `match`, `close_match`, `no_match`, `unavailable`. + For `close_match`, the simulated response appends "close_match" to the provided name in match_result_details.matched_name. + """ + payout_method: str + """ + ID of the payout method. + """ + recipient: NotRequired[str] + """ + ID of the recipient account. Required if the recipient is different from the sender. Omit for payouts to your own account. + """ diff --git a/stripe/shared_payment/_granted_token.py b/stripe/shared_payment/_granted_token.py index 521194b2f..f101d25cd 100644 --- a/stripe/shared_payment/_granted_token.py +++ b/stripe/shared_payment/_granted_token.py @@ -626,7 +626,7 @@ def create( cls, **params: Unpack["GrantedTokenCreateParams"] ) -> "GrantedToken": """ - Creates a new test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to create SharedPaymentGrantedTokens for testing their integration + Creates a new test SharedPaymentGrantedToken object. This test helper allows sellers to create SharedPaymentGrantedTokens for testing their integration. """ return cast( "GrantedToken", @@ -642,7 +642,7 @@ async def create_async( cls, **params: Unpack["GrantedTokenCreateParams"] ) -> "GrantedToken": """ - Creates a new test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to create SharedPaymentGrantedTokens for testing their integration + Creates a new test SharedPaymentGrantedToken object. This test helper allows sellers to create SharedPaymentGrantedTokens for testing their integration. """ return cast( "GrantedToken", @@ -661,7 +661,7 @@ def _cls_revoke( **params: Unpack["GrantedTokenRevokeParams"], ) -> "GrantedToken": """ - Revokes a test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to revoke SharedPaymentGrantedTokens for testing their integration + Revokes a test SharedPaymentGrantedToken object. This test helper allows sellers to revoke SharedPaymentGrantedTokens for testing their integration. """ return cast( "GrantedToken", @@ -684,7 +684,7 @@ def revoke( **params: Unpack["GrantedTokenRevokeParams"], ) -> "GrantedToken": """ - Revokes a test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to revoke SharedPaymentGrantedTokens for testing their integration + Revokes a test SharedPaymentGrantedToken object. This test helper allows sellers to revoke SharedPaymentGrantedTokens for testing their integration. """ ... @@ -693,7 +693,7 @@ def revoke( self, **params: Unpack["GrantedTokenRevokeParams"] ) -> "GrantedToken": """ - Revokes a test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to revoke SharedPaymentGrantedTokens for testing their integration + Revokes a test SharedPaymentGrantedToken object. This test helper allows sellers to revoke SharedPaymentGrantedTokens for testing their integration. """ ... @@ -702,7 +702,7 @@ def revoke( self, **params: Unpack["GrantedTokenRevokeParams"] ) -> "GrantedToken": """ - Revokes a test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to revoke SharedPaymentGrantedTokens for testing their integration + Revokes a test SharedPaymentGrantedToken object. This test helper allows sellers to revoke SharedPaymentGrantedTokens for testing their integration. """ return cast( "GrantedToken", @@ -725,7 +725,7 @@ async def _cls_revoke_async( **params: Unpack["GrantedTokenRevokeParams"], ) -> "GrantedToken": """ - Revokes a test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to revoke SharedPaymentGrantedTokens for testing their integration + Revokes a test SharedPaymentGrantedToken object. This test helper allows sellers to revoke SharedPaymentGrantedTokens for testing their integration. """ return cast( "GrantedToken", @@ -748,7 +748,7 @@ async def revoke_async( **params: Unpack["GrantedTokenRevokeParams"], ) -> "GrantedToken": """ - Revokes a test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to revoke SharedPaymentGrantedTokens for testing their integration + Revokes a test SharedPaymentGrantedToken object. This test helper allows sellers to revoke SharedPaymentGrantedTokens for testing their integration. """ ... @@ -757,7 +757,7 @@ async def revoke_async( self, **params: Unpack["GrantedTokenRevokeParams"] ) -> "GrantedToken": """ - Revokes a test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to revoke SharedPaymentGrantedTokens for testing their integration + Revokes a test SharedPaymentGrantedToken object. This test helper allows sellers to revoke SharedPaymentGrantedTokens for testing their integration. """ ... @@ -766,7 +766,7 @@ async def revoke_async( self, **params: Unpack["GrantedTokenRevokeParams"] ) -> "GrantedToken": """ - Revokes a test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to revoke SharedPaymentGrantedTokens for testing their integration + Revokes a test SharedPaymentGrantedToken object. This test helper allows sellers to revoke SharedPaymentGrantedTokens for testing their integration. """ return cast( "GrantedToken", diff --git a/stripe/tax/_calculation.py b/stripe/tax/_calculation.py index 3ae2e6d53..78b93c94b 100644 --- a/stripe/tax/_calculation.py +++ b/stripe/tax/_calculation.py @@ -66,7 +66,9 @@ class TaxId(StripeObject): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -80,6 +82,7 @@ class TaxId(StripeObject): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -90,12 +93,14 @@ class TaxId(StripeObject): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -105,8 +110,12 @@ class TaxId(StripeObject): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -116,6 +125,7 @@ class TaxId(StripeObject): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -131,23 +141,28 @@ class TaxId(StripeObject): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -157,12 +172,15 @@ class TaxId(StripeObject): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -181,7 +199,7 @@ class TaxId(StripeObject): str, ] """ - 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `ic_nif`, or `unknown` + 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `au_acn`, `nz_bn`, `pt_nif`, `cz_dic`, `fr_siret`, `fr_siren`, `fr_spi`, `sm_coe`, `tt_vat`, `tt_bir`, `mu_vat`, `mz_nuit`, `au_wpn`, `md_cf`, `is_kt`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, `ic_nif`, `gh_tin`, `bw_vat`, `ci_vat`, or `unknown` """ value: str """ @@ -282,6 +300,7 @@ class TaxRateDetails(StripeObject): "communications_tax", "digital_excise_tax", "entertainment_tax", + "get_fund", "gross_receipts_tax", "gst", "hospitality_tax", @@ -291,6 +310,7 @@ class TaxRateDetails(StripeObject): "lease_tax", "luxury_tax", "mass_transit_parking_tax", + "nhil", "parking_tax", "pst", "qst", @@ -426,6 +446,7 @@ class FlatAmount(StripeObject): "communications_tax", "digital_excise_tax", "entertainment_tax", + "get_fund", "gross_receipts_tax", "gst", "hospitality_tax", @@ -435,6 +456,7 @@ class FlatAmount(StripeObject): "lease_tax", "luxury_tax", "mass_transit_parking_tax", + "nhil", "parking_tax", "pst", "qst", diff --git a/stripe/tax/_calculation_line_item.py b/stripe/tax/_calculation_line_item.py index 6057ba080..86f118107 100644 --- a/stripe/tax/_calculation_line_item.py +++ b/stripe/tax/_calculation_line_item.py @@ -52,6 +52,7 @@ class TaxRateDetails(StripeObject): "communications_tax", "digital_excise_tax", "entertainment_tax", + "get_fund", "gross_receipts_tax", "gst", "hospitality_tax", @@ -61,6 +62,7 @@ class TaxRateDetails(StripeObject): "lease_tax", "luxury_tax", "mass_transit_parking_tax", + "nhil", "parking_tax", "pst", "qst", diff --git a/stripe/tax/_registration.py b/stripe/tax/_registration.py index 51f62a83e..7da5ceebe 100644 --- a/stripe/tax/_registration.py +++ b/stripe/tax/_registration.py @@ -198,6 +198,12 @@ class Bs(StripeObject): Type of registration in `country`. """ + class Bw(StripeObject): + type: Literal["simplified"] + """ + Type of registration in `country`. + """ + class By(StripeObject): type: Literal["simplified"] """ @@ -242,6 +248,12 @@ class Standard(StripeObject): """ _inner_class_types = {"standard": Standard} + class Ci(StripeObject): + type: Literal["simplified"] + """ + Type of registration in `country`. + """ + class Cl(StripeObject): type: Literal["simplified"] """ @@ -466,6 +478,12 @@ class Ge(StripeObject): Type of registration in `country`. """ + class Gh(StripeObject): + type: Literal["simplified"] + """ + Type of registration in `country`. + """ + class Gn(StripeObject): type: Literal["standard"] """ @@ -740,6 +758,12 @@ class Standard(StripeObject): """ _inner_class_types = {"standard": Standard} + class Mu(StripeObject): + type: Literal["simplified"] + """ + Type of registration in `country`. + """ + class Mx(StripeObject): type: Literal["simplified"] """ @@ -1125,6 +1149,12 @@ class TourismTax(StripeObject): A [jurisdiction code](https://docs.stripe.com/tax/registering?type=tourism_tax#registration-types) representing the local jurisdiction. """ + class UtilityUsersTax(StripeObject): + jurisdiction: str + """ + A [jurisdiction code](https://docs.stripe.com/tax/registering?type=utility_users_tax#registration-types) representing the local jurisdiction. + """ + admissions_tax: Optional[AdmissionsTax] attendance_tax: Optional[AttendanceTax] entertainment_tax: Optional[EntertainmentTax] @@ -1146,6 +1176,7 @@ class TourismTax(StripeObject): Literal[ "admissions_tax", "attendance_tax", + "digital_excise_tax", "entertainment_tax", "gross_receipts_tax", "hospitality_tax", @@ -1159,12 +1190,14 @@ class TourismTax(StripeObject): "state_retail_delivery_fee", "state_sales_tax", "tourism_tax", + "utility_users_tax", ], str, ] """ Type of registration in the US. """ + utility_users_tax: Optional[UtilityUsersTax] _inner_class_types = { "admissions_tax": AdmissionsTax, "attendance_tax": AttendanceTax, @@ -1179,6 +1212,7 @@ class TourismTax(StripeObject): "resort_tax": ResortTax, "state_sales_tax": StateSalesTax, "tourism_tax": TourismTax, + "utility_users_tax": UtilityUsersTax, } class Uy(StripeObject): @@ -1234,10 +1268,12 @@ class Zw(StripeObject): bh: Optional[Bh] bj: Optional[Bj] bs: Optional[Bs] + bw: Optional[Bw] by: Optional[By] ca: Optional[Ca] cd: Optional[Cd] ch: Optional[Ch] + ci: Optional[Ci] cl: Optional[Cl] cm: Optional[Cm] co: Optional[Co] @@ -1256,6 +1292,7 @@ class Zw(StripeObject): fr: Optional[Fr] gb: Optional[Gb] ge: Optional[Ge] + gh: Optional[Gh] gn: Optional[Gn] gr: Optional[Gr] hr: Optional[Hr] @@ -1282,6 +1319,7 @@ class Zw(StripeObject): mk: Optional[Mk] mr: Optional[Mr] mt: Optional[Mt] + mu: Optional[Mu] mx: Optional[Mx] my: Optional[My] ng: Optional[Ng] @@ -1336,10 +1374,12 @@ class Zw(StripeObject): "bh": Bh, "bj": Bj, "bs": Bs, + "bw": Bw, "by": By, "ca": Ca, "cd": Cd, "ch": Ch, + "ci": Ci, "cl": Cl, "cm": Cm, "co": Co, @@ -1358,6 +1398,7 @@ class Zw(StripeObject): "fr": Fr, "gb": Gb, "ge": Ge, + "gh": Gh, "gn": Gn, "gr": Gr, "hr": Hr, @@ -1384,6 +1425,7 @@ class Zw(StripeObject): "mk": Mk, "mr": Mr, "mt": Mt, + "mu": Mu, "mx": Mx, "my": My, "ng": Ng, diff --git a/stripe/tax/_transaction.py b/stripe/tax/_transaction.py index 46c0aa69e..5f1642525 100644 --- a/stripe/tax/_transaction.py +++ b/stripe/tax/_transaction.py @@ -69,7 +69,9 @@ class TaxId(StripeObject): "ao_tin", "ar_cuit", "au_abn", + "au_acn", "au_arn", + "au_wpn", "aw_tin", "az_tin", "ba_tin", @@ -83,6 +85,7 @@ class TaxId(StripeObject): "br_cnpj", "br_cpf", "bs_tin", + "bw_vat", "by_tin", "ca_bn", "ca_gst_hst", @@ -93,12 +96,14 @@ class TaxId(StripeObject): "cd_nif", "ch_uid", "ch_vat", + "ci_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", + "cz_dic", "de_stn", "do_rcn", "ec_ruc", @@ -108,8 +113,12 @@ class TaxId(StripeObject): "eu_oss_vat", "eu_vat", "fo_vat", + "fr_siren", + "fr_siret", + "fr_spi", "gb_vat", "ge_vat", + "gh_tin", "gi_tin", "gn_nif", "hk_br", @@ -119,6 +128,7 @@ class TaxId(StripeObject): "id_npwp", "il_vat", "in_gst", + "is_kt", "is_vat", "it_cf", "jp_cn", @@ -134,23 +144,28 @@ class TaxId(StripeObject): "li_vat", "lk_vat", "ma_vat", + "md_cf", "md_vat", "me_pib", "mk_vat", "mr_nif", + "mu_vat", "mx_rfc", "my_frp", "my_itn", "my_sst", + "mz_nuit", "ng_tin", "no_vat", "no_voec", "np_pan", + "nz_bn", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "pl_nip", + "pt_nif", "py_ruc", "ro_tin", "rs_pib", @@ -160,12 +175,15 @@ class TaxId(StripeObject): "sg_gst", "sg_uen", "si_tin", + "sm_coe", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", + "tt_bir", + "tt_vat", "tw_vat", "tz_vat", "ua_vat", @@ -184,7 +202,7 @@ class TaxId(StripeObject): str, ] """ - 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `ic_nif`, or `unknown` + 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`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_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`, `au_acn`, `nz_bn`, `pt_nif`, `cz_dic`, `fr_siret`, `fr_siren`, `fr_spi`, `sm_coe`, `tt_vat`, `tt_bir`, `mu_vat`, `mz_nuit`, `au_wpn`, `md_cf`, `is_kt`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, `ic_nif`, `gh_tin`, `bw_vat`, `ci_vat`, or `unknown` """ value: str """ @@ -291,6 +309,7 @@ class TaxRateDetails(StripeObject): "communications_tax", "digital_excise_tax", "entertainment_tax", + "get_fund", "gross_receipts_tax", "gst", "hospitality_tax", @@ -300,6 +319,7 @@ class TaxRateDetails(StripeObject): "lease_tax", "luxury_tax", "mass_transit_parking_tax", + "nhil", "parking_tax", "pst", "qst", diff --git a/stripe/terminal/_configuration.py b/stripe/terminal/_configuration.py index bbaf39987..9ca2569b6 100644 --- a/stripe/terminal/_configuration.py +++ b/stripe/terminal/_configuration.py @@ -97,6 +97,12 @@ class StripeS710(StripeObject): A File ID representing an image to display on the reader """ + class StripeT600(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]] @@ -568,6 +574,7 @@ class PersonalPsk(StripeObject): reboot_window: Optional[RebootWindow] stripe_s700: Optional[StripeS700] stripe_s710: Optional[StripeS710] + stripe_t600: Optional[StripeT600] tipping: Optional[Tipping] verifone_m425: Optional[VerifoneM425] verifone_p400: Optional[VerifoneP400] @@ -811,6 +818,7 @@ async def retrieve_async( "reboot_window": RebootWindow, "stripe_s700": StripeS700, "stripe_s710": StripeS710, + "stripe_t600": StripeT600, "tipping": Tipping, "verifone_m425": VerifoneM425, "verifone_p400": VerifoneP400, diff --git a/stripe/terminal/_reader.py b/stripe/terminal/_reader.py index 4b5ca69e6..9ea316e6e 100644 --- a/stripe/terminal/_reader.py +++ b/stripe/terminal/_reader.py @@ -276,11 +276,13 @@ class ApiError(StripeObject): "shipping_calculation_failed", "siret_invalid", "sku_inactive", + "smart_disputes_not_available", "state_unsupported", "status_transition_invalid", "storer_capability_missing", "storer_capability_not_active", "stripe_tax_inactive", + "subscription_update_trial_after_billing_cycle_anchor", "tax_id_invalid", "tax_id_prohibited", "taxes_calculation_failed", @@ -293,6 +295,8 @@ class ApiError(StripeObject): "terminal_reader_offline", "terminal_reader_timeout", "testmode_charges_only", + "three_d_secure_authentication_not_supported", + "three_d_secure_authentication_upstream_error", "tls_version_unsupported", "token_already_used", "token_card_network_invalid", @@ -928,6 +932,7 @@ class LineItem(StripeObject): "mobile_phone_reader", "simulated_stripe_s700", "simulated_stripe_s710", + "simulated_stripe_t600", "simulated_verifone_m425", "simulated_verifone_p630", "simulated_verifone_ux700", @@ -936,6 +941,7 @@ class LineItem(StripeObject): "stripe_m2", "stripe_s700", "stripe_s710", + "stripe_t600", "verifone_P400", "verifone_m425", "verifone_p630", diff --git a/stripe/test_helpers/_customer_service.py b/stripe/test_helpers/_customer_service.py index e6b651ff3..2b1c58fcd 100644 --- a/stripe/test_helpers/_customer_service.py +++ b/stripe/test_helpers/_customer_service.py @@ -24,7 +24,7 @@ def fund_cash_balance( options: Optional["RequestOptions"] = None, ) -> "CustomerCashBalanceTransaction": """ - Create an incoming testmode bank transfer + Create a test incoming bank transfer """ return cast( "CustomerCashBalanceTransaction", @@ -47,7 +47,7 @@ async def fund_cash_balance_async( options: Optional["RequestOptions"] = None, ) -> "CustomerCashBalanceTransaction": """ - Create an incoming testmode bank transfer + Create a test incoming bank transfer """ return cast( "CustomerCashBalanceTransaction", diff --git a/stripe/test_helpers/shared_payment/_granted_token_service.py b/stripe/test_helpers/shared_payment/_granted_token_service.py index a02a8bca7..945fb7304 100644 --- a/stripe/test_helpers/shared_payment/_granted_token_service.py +++ b/stripe/test_helpers/shared_payment/_granted_token_service.py @@ -23,7 +23,7 @@ def create( options: Optional["RequestOptions"] = None, ) -> "GrantedToken": """ - Creates a new test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to create SharedPaymentGrantedTokens for testing their integration + Creates a new test SharedPaymentGrantedToken object. This test helper allows sellers to create SharedPaymentGrantedTokens for testing their integration. """ return cast( "GrantedToken", @@ -42,7 +42,7 @@ async def create_async( options: Optional["RequestOptions"] = None, ) -> "GrantedToken": """ - Creates a new test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to create SharedPaymentGrantedTokens for testing their integration + Creates a new test SharedPaymentGrantedToken object. This test helper allows sellers to create SharedPaymentGrantedTokens for testing their integration. """ return cast( "GrantedToken", @@ -63,7 +63,7 @@ def revoke( options: Optional["RequestOptions"] = None, ) -> "GrantedToken": """ - Revokes a test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to revoke SharedPaymentGrantedTokens for testing their integration + Revokes a test SharedPaymentGrantedToken object. This test helper allows sellers to revoke SharedPaymentGrantedTokens for testing their integration. """ return cast( "GrantedToken", @@ -88,7 +88,7 @@ async def revoke_async( options: Optional["RequestOptions"] = None, ) -> "GrantedToken": """ - Revokes a test SharedPaymentGrantedToken object. This endpoint is only available in test mode and allows sellers to revoke SharedPaymentGrantedTokens for testing their integration + Revokes a test SharedPaymentGrantedToken object. This test helper allows sellers to revoke SharedPaymentGrantedTokens for testing their integration. """ return cast( "GrantedToken", diff --git a/stripe/treasury/_credit_reversal.py b/stripe/treasury/_credit_reversal.py index 3fe46f7f1..1fd053e1a 100644 --- a/stripe/treasury/_credit_reversal.py +++ b/stripe/treasury/_credit_reversal.py @@ -26,6 +26,8 @@ class CreditReversal( ListableAPIResource["CreditReversal"], ): """ + Legacy CreditReversals are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Received Credits](https://docs.stripe.com/api/v2/money-management/received-credits?api-version=preview) instead of building a new v1 integration. + You can reverse some [ReceivedCredits](https://docs.stripe.com/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. """ diff --git a/stripe/treasury/_debit_reversal.py b/stripe/treasury/_debit_reversal.py index 379541f5e..3632edeb9 100644 --- a/stripe/treasury/_debit_reversal.py +++ b/stripe/treasury/_debit_reversal.py @@ -26,6 +26,8 @@ class DebitReversal( ListableAPIResource["DebitReversal"], ): """ + Legacy DebitReversals are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). + You can reverse some [ReceivedDebits](https://docs.stripe.com/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. """ diff --git a/stripe/treasury/_financial_account.py b/stripe/treasury/_financial_account.py index 5311aaab0..d52ad5cef 100644 --- a/stripe/treasury/_financial_account.py +++ b/stripe/treasury/_financial_account.py @@ -42,6 +42,8 @@ class FinancialAccount( UpdateableAPIResource["FinancialAccount"], ): """ + Legacy FinancialAccounts are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Financial Accounts](https://docs.stripe.com/api/v2/money-management/financial-accounts) instead of building a new v1 integration. + Stripe Treasury for Platforms 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 for Platform's money movement APIs. """ diff --git a/stripe/treasury/_inbound_transfer.py b/stripe/treasury/_inbound_transfer.py index 40f845dee..b2861a4d6 100644 --- a/stripe/treasury/_inbound_transfer.py +++ b/stripe/treasury/_inbound_transfer.py @@ -41,6 +41,8 @@ class InboundTransfer( ListableAPIResource["InboundTransfer"], ): """ + Legacy InboundTransfers are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Inbound Transfers](https://docs.stripe.com/api/v2/money-management/inbound-transfers) instead of building a new v1 integration. + Use [InboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your [FinancialAccount](https://docs.stripe.com/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) diff --git a/stripe/treasury/_outbound_payment.py b/stripe/treasury/_outbound_payment.py index c4fedcf36..d2ef498b6 100644 --- a/stripe/treasury/_outbound_payment.py +++ b/stripe/treasury/_outbound_payment.py @@ -44,6 +44,8 @@ class OutboundPayment( ListableAPIResource["OutboundPayment"], ): """ + Legacy OutboundPayments are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Outbound Payments](https://docs.stripe.com/api/v2/money-management/outbound-payments) instead of building a new v1 integration. + 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://docs.stripe.com/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://docs.stripe.com/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. diff --git a/stripe/treasury/_outbound_transfer.py b/stripe/treasury/_outbound_transfer.py index f2d5990f2..fc483a065 100644 --- a/stripe/treasury/_outbound_transfer.py +++ b/stripe/treasury/_outbound_transfer.py @@ -44,6 +44,8 @@ class OutboundTransfer( ListableAPIResource["OutboundTransfer"], ): """ + Legacy OutboundTransfers are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Outbound Transfers](https://docs.stripe.com/api/v2/money-management/outbound-transfers?api-version=preview) instead of building a new v1 integration. + Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) to transfer funds from a [FinancialAccount](https://docs.stripe.com/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://docs.stripe.com/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. diff --git a/stripe/treasury/_received_credit.py b/stripe/treasury/_received_credit.py index d6572455c..db92209b1 100644 --- a/stripe/treasury/_received_credit.py +++ b/stripe/treasury/_received_credit.py @@ -27,6 +27,8 @@ class ReceivedCredit(ListableAPIResource["ReceivedCredit"]): """ + Legacy ReceivedCredits are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Received Credits](https://docs.stripe.com/api/v2/money-management/received-credits?api-version=preview) instead of building a new v1 integration. + ReceivedCredits represent funds sent to a [FinancialAccount](https://docs.stripe.com/api#financial_accounts) (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount. """ @@ -131,10 +133,14 @@ class LinkedFlows(StripeObject): class SourceFlowDetails(StripeObject): credit_reversal: Optional["CreditReversal"] """ + Legacy CreditReversals are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Received Credits](https://docs.stripe.com/api/v2/money-management/received-credits?api-version=preview) instead of building a new v1 integration. + You can reverse some [ReceivedCredits](https://docs.stripe.com/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"] """ + Legacy OutboundPayments are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Outbound Payments](https://docs.stripe.com/api/v2/money-management/outbound-payments) instead of building a new v1 integration. + 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://docs.stripe.com/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://docs.stripe.com/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. @@ -143,6 +149,8 @@ class SourceFlowDetails(StripeObject): """ outbound_transfer: Optional["OutboundTransfer"] """ + Legacy OutboundTransfers are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Outbound Transfers](https://docs.stripe.com/api/v2/money-management/outbound-transfers?api-version=preview) instead of building a new v1 integration. + Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) to transfer funds from a [FinancialAccount](https://docs.stripe.com/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://docs.stripe.com/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. diff --git a/stripe/treasury/_received_debit.py b/stripe/treasury/_received_debit.py index 4591dede1..743f02cbf 100644 --- a/stripe/treasury/_received_debit.py +++ b/stripe/treasury/_received_debit.py @@ -23,6 +23,8 @@ class ReceivedDebit(ListableAPIResource["ReceivedDebit"]): """ + Legacy ReceivedDebits are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Received Debits](https://docs.stripe.com/api/v2/money-management/received-debits?api-version=preview) instead of building a new v1 integration. + ReceivedDebits represent funds pulled from a [FinancialAccount](https://docs.stripe.com/api#financial_accounts). These are not initiated from the FinancialAccount. """ diff --git a/stripe/treasury/_transaction.py b/stripe/treasury/_transaction.py index b6e0602f2..b383cb3d0 100644 --- a/stripe/treasury/_transaction.py +++ b/stripe/treasury/_transaction.py @@ -26,6 +26,8 @@ class Transaction(ListableAPIResource["Transaction"]): """ + Legacy Transactions are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Transactions](https://docs.stripe.com/api/v2/money-management/transactions) instead of building a new v1 integration. + Transactions represent changes to a [FinancialAccount's](https://docs.stripe.com/api#financial_accounts) balance. """ @@ -50,14 +52,20 @@ class BalanceImpact(StripeObject): class FlowDetails(StripeObject): credit_reversal: Optional["CreditReversal"] """ + Legacy CreditReversals are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Received Credits](https://docs.stripe.com/api/v2/money-management/received-credits?api-version=preview) instead of building a new v1 integration. + You can reverse some [ReceivedCredits](https://docs.stripe.com/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"] """ + Legacy DebitReversals are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). + You can reverse some [ReceivedDebits](https://docs.stripe.com/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"] """ + Legacy InboundTransfers are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Inbound Transfers](https://docs.stripe.com/api/v2/money-management/inbound-transfers) instead of building a new v1 integration. + Use [InboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your [FinancialAccount](https://docs.stripe.com/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) @@ -72,6 +80,8 @@ class FlowDetails(StripeObject): """ outbound_payment: Optional["OutboundPayment"] """ + Legacy OutboundPayments are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Outbound Payments](https://docs.stripe.com/api/v2/money-management/outbound-payments) instead of building a new v1 integration. + 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://docs.stripe.com/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://docs.stripe.com/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. @@ -80,6 +90,8 @@ class FlowDetails(StripeObject): """ outbound_transfer: Optional["OutboundTransfer"] """ + Legacy OutboundTransfers are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Outbound Transfers](https://docs.stripe.com/api/v2/money-management/outbound-transfers?api-version=preview) instead of building a new v1 integration. + Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) to transfer funds from a [FinancialAccount](https://docs.stripe.com/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://docs.stripe.com/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. @@ -88,10 +100,14 @@ class FlowDetails(StripeObject): """ received_credit: Optional["ReceivedCredit"] """ + Legacy ReceivedCredits are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Received Credits](https://docs.stripe.com/api/v2/money-management/received-credits?api-version=preview) instead of building a new v1 integration. + ReceivedCredits represent funds sent to a [FinancialAccount](https://docs.stripe.com/api#financial_accounts) (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount. """ received_debit: Optional["ReceivedDebit"] """ + Legacy ReceivedDebits are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Received Debits](https://docs.stripe.com/api/v2/money-management/received-debits?api-version=preview) instead of building a new v1 integration. + ReceivedDebits represent funds pulled from a [FinancialAccount](https://docs.stripe.com/api#financial_accounts). These are not initiated from the FinancialAccount. """ type: Union[ diff --git a/stripe/treasury/_transaction_entry.py b/stripe/treasury/_transaction_entry.py index 11bef2a3a..1ac4d9068 100644 --- a/stripe/treasury/_transaction_entry.py +++ b/stripe/treasury/_transaction_entry.py @@ -27,6 +27,8 @@ class TransactionEntry(ListableAPIResource["TransactionEntry"]): """ + Legacy TransactionEntries are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Transaction Entries](https://docs.stripe.com/api/v2/money-management/transaction-entries) instead of building a new v1 integration. + TransactionEntries represent individual units of money movements within a single [Transaction](https://docs.stripe.com/api#transactions). """ @@ -51,14 +53,20 @@ class BalanceImpact(StripeObject): class FlowDetails(StripeObject): credit_reversal: Optional["CreditReversal"] """ + Legacy CreditReversals are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Received Credits](https://docs.stripe.com/api/v2/money-management/received-credits?api-version=preview) instead of building a new v1 integration. + You can reverse some [ReceivedCredits](https://docs.stripe.com/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"] """ + Legacy DebitReversals are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). + You can reverse some [ReceivedDebits](https://docs.stripe.com/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"] """ + Legacy InboundTransfers are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Inbound Transfers](https://docs.stripe.com/api/v2/money-management/inbound-transfers) instead of building a new v1 integration. + Use [InboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your [FinancialAccount](https://docs.stripe.com/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) @@ -73,6 +81,8 @@ class FlowDetails(StripeObject): """ outbound_payment: Optional["OutboundPayment"] """ + Legacy OutboundPayments are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Outbound Payments](https://docs.stripe.com/api/v2/money-management/outbound-payments) instead of building a new v1 integration. + 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://docs.stripe.com/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://docs.stripe.com/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. @@ -81,6 +91,8 @@ class FlowDetails(StripeObject): """ outbound_transfer: Optional["OutboundTransfer"] """ + Legacy OutboundTransfers are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Outbound Transfers](https://docs.stripe.com/api/v2/money-management/outbound-transfers?api-version=preview) instead of building a new v1 integration. + Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) to transfer funds from a [FinancialAccount](https://docs.stripe.com/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://docs.stripe.com/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. @@ -89,10 +101,14 @@ class FlowDetails(StripeObject): """ received_credit: Optional["ReceivedCredit"] """ + Legacy ReceivedCredits are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Received Credits](https://docs.stripe.com/api/v2/money-management/received-credits?api-version=preview) instead of building a new v1 integration. + ReceivedCredits represent funds sent to a [FinancialAccount](https://docs.stripe.com/api#financial_accounts) (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount. """ received_debit: Optional["ReceivedDebit"] """ + Legacy ReceivedDebits are part of the v1 version of Treasury for platforms and do not support many of the features introduced in [Treasury for platforms v2](https://docs.stripe.com/treasury/connect). Use [Received Debits](https://docs.stripe.com/api/v2/money-management/received-debits?api-version=preview) instead of building a new v1 integration. + ReceivedDebits represent funds pulled from a [FinancialAccount](https://docs.stripe.com/api#financial_accounts). These are not initiated from the FinancialAccount. """ type: Union[ diff --git a/stripe/v2/__init__.py b/stripe/v2/__init__.py index 259781122..7dd07a556 100644 --- a/stripe/v2/__init__.py +++ b/stripe/v2/__init__.py @@ -1,5 +1,8 @@ from typing_extensions import TYPE_CHECKING from stripe.v2._list_object import ListObject as ListObject +from stripe.v2._search_result_object import ( + SearchResultObject as SearchResultObject, +) from stripe.v2._amount import Amount as Amount, AmountParam as AmountParam @@ -18,6 +21,7 @@ network as network, orchestrated_commerce as orchestrated_commerce, signals as signals, + test_helpers as test_helpers, ) from stripe.v2._billing_service import BillingService as BillingService from stripe.v2._commerce_service import CommerceService as CommerceService @@ -34,6 +38,9 @@ OrchestratedCommerceService as OrchestratedCommerceService, ) from stripe.v2._signals_service import SignalsService as SignalsService + from stripe.v2._test_helper_service import ( + TestHelperService as TestHelperService, + ) # name -> (import_target, is_submodule) _import_map = { @@ -47,6 +54,7 @@ "network": ("stripe.v2.network", True), "orchestrated_commerce": ("stripe.v2.orchestrated_commerce", True), "signals": ("stripe.v2.signals", True), + "test_helpers": ("stripe.v2.test_helpers", True), "BillingService": ("stripe.v2._billing_service", False), "CommerceService": ("stripe.v2._commerce_service", False), "CoreService": ("stripe.v2._core_service", False), @@ -61,6 +69,7 @@ False, ), "SignalsService": ("stripe.v2._signals_service", False), + "TestHelperService": ("stripe.v2._test_helper_service", False), } if not TYPE_CHECKING: diff --git a/stripe/v2/_data_service.py b/stripe/v2/_data_service.py index 6c6d0d19a..d23a88465 100644 --- a/stripe/v2/_data_service.py +++ b/stripe/v2/_data_service.py @@ -5,15 +5,27 @@ from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: + from stripe.v2.data._query_run_service import QueryRunService + from stripe.v2.data._report_run_service import ReportRunService + from stripe.v2.data._report_service import ReportService from stripe.v2.data._reporting_service import ReportingService + from stripe.v2.data._schema_service import SchemaService _subservices = { + "query_runs": ["stripe.v2.data._query_run_service", "QueryRunService"], + "reports": ["stripe.v2.data._report_service", "ReportService"], + "report_runs": ["stripe.v2.data._report_run_service", "ReportRunService"], "reporting": ["stripe.v2.data._reporting_service", "ReportingService"], + "schemas": ["stripe.v2.data._schema_service", "SchemaService"], } class DataService(StripeService): + query_runs: "QueryRunService" + reports: "ReportService" + report_runs: "ReportRunService" reporting: "ReportingService" + schemas: "SchemaService" def __init__(self, requestor): super().__init__(requestor) diff --git a/stripe/v2/_money_management_service.py b/stripe/v2/_money_management_service.py index f82c44dd5..1aeba0ce4 100644 --- a/stripe/v2/_money_management_service.py +++ b/stripe/v2/_money_management_service.py @@ -29,6 +29,9 @@ from stripe.v2.money_management._outbound_transfer_service import ( OutboundTransferService, ) + from stripe.v2.money_management._payout_intent_service import ( + PayoutIntentService, + ) from stripe.v2.money_management._payout_method_service import ( PayoutMethodService, ) @@ -41,6 +44,9 @@ from stripe.v2.money_management._received_debit_service import ( ReceivedDebitService, ) + from stripe.v2.money_management._recipient_verification_service import ( + RecipientVerificationService, + ) from stripe.v2.money_management._test_helpers_service import ( TestHelpersService, ) @@ -84,6 +90,10 @@ "stripe.v2.money_management._outbound_transfer_service", "OutboundTransferService", ], + "payout_intents": [ + "stripe.v2.money_management._payout_intent_service", + "PayoutIntentService", + ], "payout_methods": [ "stripe.v2.money_management._payout_method_service", "PayoutMethodService", @@ -100,6 +110,10 @@ "stripe.v2.money_management._received_debit_service", "ReceivedDebitService", ], + "recipient_verifications": [ + "stripe.v2.money_management._recipient_verification_service", + "RecipientVerificationService", + ], "test_helpers": [ "stripe.v2.money_management._test_helpers_service", "TestHelpersService", @@ -124,10 +138,12 @@ class MoneyManagementService(StripeService): outbound_payment_quotes: "OutboundPaymentQuoteService" outbound_setup_intents: "OutboundSetupIntentService" outbound_transfers: "OutboundTransferService" + payout_intents: "PayoutIntentService" payout_methods: "PayoutMethodService" payout_methods_bank_account_spec: "PayoutMethodsBankAccountSpecService" received_credits: "ReceivedCreditService" received_debits: "ReceivedDebitService" + recipient_verifications: "RecipientVerificationService" test_helpers: "TestHelpersService" transactions: "TransactionService" transaction_entries: "TransactionEntryService" diff --git a/stripe/v2/_search_result_object.py b/stripe/v2/_search_result_object.py new file mode 100644 index 000000000..972aa382a --- /dev/null +++ b/stripe/v2/_search_result_object.py @@ -0,0 +1,80 @@ +from copy import deepcopy +from typing import ( + AsyncIterator, + Generic, + Iterator, + List, + Mapping, + Any, + Optional, + TypeVar, +) + +from stripe._any_iterator import AnyIterator +from stripe._stripe_object import StripeObject + + +T = TypeVar("T", bound=StripeObject) + + +class SearchResultObject(StripeObject, Generic[T]): + """A page of API v2 search results with POST-based auto-pagination.""" + + OBJECT_NAME = "v2.search_result" + data: List[T] + next_page_url: Optional[str] + previous_page_url: Optional[str] + total_count: int + + def __iter__(self) -> Iterator[T]: + return getattr(self, "data", []).__iter__() + + def __len__(self) -> int: + return getattr(self, "data", []).__len__() + + def auto_paging_iter(self) -> AnyIterator[T]: + return AnyIterator( + self._auto_paging_iter(), self._auto_paging_iter_async() + ) + + def _original_params(self) -> Mapping[str, Any]: + return deepcopy(self._retrieve_params) + + def _body_params(self, params: Mapping[str, Any]) -> Mapping[str, Any]: + body_params = dict(params) + body_params.pop("limit", None) + return body_params + + def _auto_paging_iter(self) -> Iterator[T]: + page: SearchResultObject[T] = self + params = self._original_params() + while True: + for item in page.data: + yield item + if page.next_page_url is None: + break + result = self._request( + "post", + page.next_page_url, + params=self._body_params(params), + base_address="api", + ) + assert isinstance(result, SearchResultObject) + page = result + + async def _auto_paging_iter_async(self) -> AsyncIterator[T]: + page: SearchResultObject[T] = self + params = self._original_params() + while True: + for item in page.data: + yield item + if page.next_page_url is None: + break + result = await self._request_async( + "post", + page.next_page_url, + params=self._body_params(params), + base_address="api", + ) + assert isinstance(result, SearchResultObject) + page = result diff --git a/stripe/v2/_test_helper_service.py b/stripe/v2/_test_helper_service.py new file mode 100644 index 000000000..f2868cf08 --- /dev/null +++ b/stripe/v2/_test_helper_service.py @@ -0,0 +1,40 @@ +# -*- 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.test_helpers._money_management_service import ( + MoneyManagementService, + ) + +_subservices = { + "money_management": [ + "stripe.v2.test_helpers._money_management_service", + "MoneyManagementService", + ], +} + + +class TestHelperService(StripeService): + money_management: "MoneyManagementService" + + 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() diff --git a/stripe/v2/core/_account.py b/stripe/v2/core/_account.py index 43acbfd67..f716e376a 100644 --- a/stripe/v2/core/_account.py +++ b/stripe/v2/core/_account.py @@ -252,11 +252,11 @@ class BacsDebitPayments(StripeObject): class Branding(StripeObject): icon: Optional[str] """ - ID of a [file upload](https://docs.stripe.com/api/persons/update#create_file): An icon for the merchant. Must be square and at least 128px x 128px. + ID of a [file upload](https://docs.stripe.com/api/files/create): An icon for the merchant. Must be square and at least 128px x 128px. """ logo: Optional[str] """ - ID of a [file upload](https://docs.stripe.com/api/persons/update#create_file): A logo for the merchant that will be used in Checkout instead of the icon and without the merchant's name next to it if provided. Must be at least 128px x 128px. + ID of a [file upload](https://docs.stripe.com/api/files/create): A logo for the merchant that will be used in Checkout instead of the icon and without the merchant's name next to it if provided. Must be at least 128px x 128px. """ primary_color: Optional[str] """ @@ -3993,6 +3993,147 @@ class StatusDetail(StripeObject): class Recipient(StripeObject): class Capabilities(StripeObject): class BankAccounts(StripeObject): + class Ach(StripeObject): + class StatusDetail(StripeObject): + code: Literal[ + "determining_status", + "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", + "restricted_other", + "unsupported_business", + "unsupported_country", + "unsupported_entity_type", + ] + """ + Machine-readable code explaining the reason for the Capability to be in its current status. + """ + resolution: Literal[ + "contact_stripe", + "no_resolution", + "provide_info", + ] + """ + Machine-readable code explaining how to make the Capability active. + """ + + status: Literal[ + "active", + "pending", + "rejected", + "restricted", + "unsupported", + ] + """ + The status of the Capability. + """ + status_details: List[StatusDetail] + """ + Additional details about the capability's status. This value is empty when `status` is `active`. + """ + _inner_class_types = {"status_details": StatusDetail} + + class Fedwire(StripeObject): + class StatusDetail(StripeObject): + code: Literal[ + "determining_status", + "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", + "restricted_other", + "unsupported_business", + "unsupported_country", + "unsupported_entity_type", + ] + """ + Machine-readable code explaining the reason for the Capability to be in its current status. + """ + resolution: Literal[ + "contact_stripe", + "no_resolution", + "provide_info", + ] + """ + Machine-readable code explaining how to make the Capability active. + """ + + status: Literal[ + "active", + "pending", + "rejected", + "restricted", + "unsupported", + ] + """ + The status of the Capability. + """ + status_details: List[StatusDetail] + """ + Additional details about the capability's status. This value is empty when `status` is `active`. + """ + _inner_class_types = {"status_details": StatusDetail} + + class Fps(StripeObject): + class StatusDetail(StripeObject): + code: Literal[ + "determining_status", + "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", + "restricted_other", + "unsupported_business", + "unsupported_country", + "unsupported_entity_type", + ] + """ + Machine-readable code explaining the reason for the Capability to be in its current status. + """ + resolution: Literal[ + "contact_stripe", + "no_resolution", + "provide_info", + ] + """ + Machine-readable code explaining how to make the Capability active. + """ + + status: Literal[ + "active", + "pending", + "rejected", + "restricted", + "unsupported", + ] + """ + The status of the Capability. + """ + status_details: List[StatusDetail] + """ + Additional details about the capability's status. This value is empty when `status` is `active`. + """ + _inner_class_types = {"status_details": StatusDetail} + class Local(StripeObject): class StatusDetail(StripeObject): code: Literal[ @@ -4040,7 +4181,101 @@ class StatusDetail(StripeObject): """ _inner_class_types = {"status_details": StatusDetail} - class Wire(StripeObject): + class Rtp(StripeObject): + class StatusDetail(StripeObject): + code: Literal[ + "determining_status", + "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", + "restricted_other", + "unsupported_business", + "unsupported_country", + "unsupported_entity_type", + ] + """ + Machine-readable code explaining the reason for the Capability to be in its current status. + """ + resolution: Literal[ + "contact_stripe", + "no_resolution", + "provide_info", + ] + """ + Machine-readable code explaining how to make the Capability active. + """ + + status: Literal[ + "active", + "pending", + "rejected", + "restricted", + "unsupported", + ] + """ + The status of the Capability. + """ + status_details: List[StatusDetail] + """ + Additional details about the capability's status. This value is empty when `status` is `active`. + """ + _inner_class_types = {"status_details": StatusDetail} + + class Sepa(StripeObject): + class StatusDetail(StripeObject): + code: Literal[ + "determining_status", + "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", + "restricted_other", + "unsupported_business", + "unsupported_country", + "unsupported_entity_type", + ] + """ + Machine-readable code explaining the reason for the Capability to be in its current status. + """ + resolution: Literal[ + "contact_stripe", + "no_resolution", + "provide_info", + ] + """ + Machine-readable code explaining how to make the Capability active. + """ + + status: Literal[ + "active", + "pending", + "rejected", + "restricted", + "unsupported", + ] + """ + The status of the Capability. + """ + status_details: List[StatusDetail] + """ + Additional details about the capability's status. This value is empty when `status` is `active`. + """ + _inner_class_types = {"status_details": StatusDetail} + + class Swift(StripeObject): class StatusDetail(StripeObject): code: Literal[ "determining_status", @@ -4087,15 +4322,43 @@ class StatusDetail(StripeObject): """ _inner_class_types = {"status_details": StatusDetail} + ach: Optional[Ach] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over ACH rails. + """ + fedwire: Optional[Fedwire] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over Fedwire or CHIPS. + """ + fps: Optional[Fps] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over FPS rails. + """ local: Optional[Local] """ Enables this Account to receive OutboundPayments to linked bank accounts over local networks. """ - wire: Optional[Wire] + rtp: Optional[Rtp] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over RTP rails. + """ + sepa: Optional[Sepa] + """ + Enables this Account to receive OutboundPayments to linked bank accounts over SEPA rails. + """ + swift: Optional[Swift] """ - Enables this Account to receive OutboundPayments to linked bank accounts over wire. + Enables this Account to receive OutboundPayments to linked bank accounts over SWIFT. """ - _inner_class_types = {"local": Local, "wire": Wire} + _inner_class_types = { + "ach": Ach, + "fedwire": Fedwire, + "fps": Fps, + "local": Local, + "rtp": Rtp, + "sepa": Sepa, + "swift": Swift, + } class Cards(StripeObject): class StatusDetail(StripeObject): @@ -4142,6 +4405,51 @@ class StatusDetail(StripeObject): """ _inner_class_types = {"status_details": StatusDetail} + class CryptoWallets(StripeObject): + class StatusDetail(StripeObject): + code: Literal[ + "determining_status", + "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", + "restricted_other", + "unsupported_business", + "unsupported_country", + "unsupported_entity_type", + ] + """ + Machine-readable code explaining the reason for the Capability to be in its current status. + """ + resolution: Literal[ + "contact_stripe", "no_resolution", "provide_info" + ] + """ + Machine-readable code explaining how to make the Capability active. + """ + + status: Literal[ + "active", + "pending", + "rejected", + "restricted", + "unsupported", + ] + """ + The status of the Capability. + """ + status_details: List[StatusDetail] + """ + Additional details about the capability's status. This value is empty when `status` is `active`. + """ + _inner_class_types = {"status_details": StatusDetail} + class StripeBalance(StripeObject): class Payouts(StripeObject): class StatusDetail(StripeObject): @@ -4258,6 +4566,10 @@ class StatusDetail(StripeObject): """ Enables this Account to receive OutboundPayments to a linked debit card. """ + crypto_wallets: Optional[CryptoWallets] + """ + Enables this Account to receive OutboundPayments to a linked crypto wallet. + """ stripe_balance: Optional[StripeBalance] """ Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). @@ -4265,146 +4577,10 @@ class StatusDetail(StripeObject): _inner_class_types = { "bank_accounts": BankAccounts, "cards": Cards, + "crypto_wallets": CryptoWallets, "stripe_balance": StripeBalance, } - class DefaultOutboundDestination(StripeObject): - id: str - """ - The payout method ID of the default outbound destination. - """ - type: Literal[ - "ae_bank_account", - "ag_bank_account", - "al_bank_account", - "am_bank_account", - "ao_bank_account", - "ar_bank_account", - "at_bank_account", - "au_bank_account", - "az_bank_account", - "ba_bank_account", - "bd_bank_account", - "be_bank_account", - "bg_bank_account", - "bh_bank_account", - "bj_bank_account", - "bn_bank_account", - "bo_bank_account", - "br_bank_account", - "bs_bank_account", - "bt_bank_account", - "bw_bank_account", - "card", - "ca_bank_account", - "ch_bank_account", - "ci_bank_account", - "cl_bank_account", - "cn_bank_account", - "co_bank_account", - "crypto_wallet", - "cr_bank_account", - "cy_bank_account", - "cz_bank_account", - "de_bank_account", - "dk_bank_account", - "do_bank_account", - "dz_bank_account", - "ec_bank_account", - "ee_bank_account", - "eg_bank_account", - "es_bank_account", - "et_bank_account", - "fi_bank_account", - "fr_bank_account", - "ga_bank_account", - "gb_bank_account", - "gh_bank_account", - "gi_bank_account", - "gm_bank_account", - "gr_bank_account", - "gt_bank_account", - "gy_bank_account", - "hk_bank_account", - "hn_bank_account", - "hr_bank_account", - "hu_bank_account", - "id_bank_account", - "ie_bank_account", - "il_bank_account", - "in_bank_account", - "is_bank_account", - "it_bank_account", - "jm_bank_account", - "jo_bank_account", - "jp_bank_account", - "ke_bank_account", - "kh_bank_account", - "kr_bank_account", - "kw_bank_account", - "kz_bank_account", - "la_bank_account", - "lc_bank_account", - "li_bank_account", - "lk_bank_account", - "lt_bank_account", - "lu_bank_account", - "lv_bank_account", - "ma_bank_account", - "mc_bank_account", - "md_bank_account", - "mg_bank_account", - "mk_bank_account", - "mn_bank_account", - "mo_bank_account", - "mt_bank_account", - "mu_bank_account", - "mx_bank_account", - "my_bank_account", - "mz_bank_account", - "na_bank_account", - "ne_bank_account", - "ng_bank_account", - "ni_bank_account", - "nl_bank_account", - "no_bank_account", - "nz_bank_account", - "om_bank_account", - "pa_bank_account", - "pe_bank_account", - "ph_bank_account", - "pk_bank_account", - "pl_bank_account", - "pt_bank_account", - "py_bank_account", - "qa_bank_account", - "ro_bank_account", - "rs_bank_account", - "rw_bank_account", - "sa_bank_account", - "se_bank_account", - "sg_bank_account", - "si_bank_account", - "sk_bank_account", - "sm_bank_account", - "sn_bank_account", - "sv_bank_account", - "th_bank_account", - "tn_bank_account", - "tr_bank_account", - "tt_bank_account", - "tw_bank_account", - "tz_bank_account", - "us_bank_account", - "uy_bank_account", - "uz_bank_account", - "vn_bank_account", - "za_bank_account", - ] - """ - Closed Enum. The payout method type of the default outbound destination. - """ - applied: bool """ Indicates whether the recipient configuration is active. You can deactivate or reactivate the recipient configuration by updating this property. Deactivating the configuration by setting this value to false unrequest all capabilities within the configuration. It will not delete any of the configuration's other properties. @@ -4413,14 +4589,7 @@ class DefaultOutboundDestination(StripeObject): """ Capabilities that have been requested on the Recipient Configuration. """ - default_outbound_destination: Optional[DefaultOutboundDestination] - """ - The payout method to be used as a default outbound destination. This will allow the PayoutMethod to be omitted on OutboundPayments made through the dashboard or APIs. - """ - _inner_class_types = { - "capabilities": Capabilities, - "default_outbound_destination": DefaultOutboundDestination, - } + _inner_class_types = {"capabilities": Capabilities} customer: Optional[Customer] """ @@ -4603,6 +4772,206 @@ class Responsibilities(StripeObject): } class FutureRequirements(StripeObject): + class Alternative(StripeObject): + class Option(StripeObject): + class Entry(StripeObject): + class Error(StripeObject): + code: Union[ + Literal[ + "invalid_address_city_state_postal_code", + "invalid_address_cmra_address", + "invalid_address_highway_contract_box", + "invalid_address_private_mailbox", + "invalid_address_registered_agent_address", + "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_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_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_url_web_presence_detected", + "invalid_value_other", + "unresolvable_ip_address", + "unresolvable_postal_code", + "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_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_missing_directors", + "verification_missing_executives", + "verification_missing_owners", + "verification_requires_additional_memorandum_of_associations", + "verification_requires_additional_proof_of_registration", + "verification_selfie_document_missing_photo", + "verification_selfie_face_mismatch", + "verification_selfie_manipulated", + "verification_selfie_unverified_other", + "verification_supportability", + "verification_token_stale", + ], + str, + ] + """ + Machine-readable code describing the error. + """ + description: str + """ + Human-readable description of the error. + """ + + class Reference(StripeObject): + inquiry: Optional[str] + """ + If `inquiry` is the type, the inquiry token. + """ + resource: Optional[str] + """ + If `resource` is the type, the resource token. + """ + type: Union[ + Literal["inquiry", "payment_method", "person"], str + ] + """ + The type of the reference. If the type is "inquiry", the inquiry token can be found in the "inquiry" field. + Otherwise the type is an API resource, the token for which can be found in the "resource" field. + """ + + awaiting_action_from: Literal["stripe", "user"] + """ + Indicates whether the user or Stripe is currently responsible for taking action on the requirement. Value can be `user` or `stripe`. + """ + description: str + """ + Machine-readable string describing the requirement. + """ + errors: List[Error] + """ + Descriptions of why the requirement must be collected, or why the collected information isn't satisfactory to Stripe. + """ + reference: Optional[Reference] + """ + A reference to the location of the requirement. + """ + _inner_class_types = { + "errors": Error, + "reference": Reference, + } + + entries: List[Entry] + """ + The requirements that must all be provided to satisfy this option. + """ + _inner_class_types = {"entries": Entry} + + class OriginalEntry(StripeObject): + class Reference(StripeObject): + inquiry: Optional[str] + """ + If `inquiry` is the type, the inquiry token. + """ + resource: Optional[str] + """ + If `resource` is the type, the resource token. + """ + type: Union[ + Literal["inquiry", "payment_method", "person"], str + ] + """ + The type of the reference. If the type is "inquiry", the inquiry token can be found in the "inquiry" field. + Otherwise the type is an API resource, the token for which can be found in the "resource" field. + """ + + description: str + """ + Machine-readable string describing the requirement. + """ + reference: Optional[Reference] + """ + A reference to the location of the requirement. + """ + _inner_class_types = {"reference": Reference} + + options: List[Option] + """ + The alternative sets of requirements that can be provided. Providing every entry in any one of these options resolves all of the requirements in `original_entries`. + """ + original_entries: List[OriginalEntry] + """ + The requirements that can be satisfied either directly, or by providing every entry in any one of `options`. + """ + _inner_class_types = { + "options": Option, + "original_entries": OriginalEntry, + } + class Entry(StripeObject): class Error(StripeObject): code: Union[ @@ -4738,7 +5107,13 @@ class Deadline(StripeObject): "au_becs_debit_payments", "bacs_debit_payments", "bancontact_payments", + "bank_accounts.ach", + "bank_accounts.fedwire", + "bank_accounts.fps", "bank_accounts.local", + "bank_accounts.rtp", + "bank_accounts.sepa", + "bank_accounts.swift", "bank_accounts.wire", "blik_payments", "blik_recurring_payments", @@ -4753,6 +5128,7 @@ class Deadline(StripeObject): "card_payments", "cartes_bancaires_payments", "cashapp_payments", + "crypto_wallets", "eps_payments", "financial_addresses.bank_accounts", "fpx_payments", @@ -4862,7 +5238,7 @@ class RequestedReason(StripeObject): awaiting_action_from: Literal["stripe", "user"] """ - Indicates whether the platform or Stripe is currently responsible for taking action on the requirement. Value can be `user` or `stripe`. + Indicates whether the user or Stripe is currently responsible for taking action on the requirement. Value can be `user` or `stripe`. """ description: str """ @@ -4913,6 +5289,10 @@ class MinimumDeadline(StripeObject): """ _inner_class_types = {"minimum_deadline": MinimumDeadline} + alternatives: Optional[List[Alternative]] + """ + A list of alternative sets of requirements that can be provided in lieu of requirements in `entries`. + """ entries: Optional[List[Entry]] """ A list of requirements for the Account. @@ -4925,7 +5305,11 @@ class MinimumDeadline(StripeObject): """ An object containing an overview of requirements for the Account. """ - _inner_class_types = {"entries": Entry, "summary": Summary} + _inner_class_types = { + "alternatives": Alternative, + "entries": Entry, + "summary": Summary, + } class Identity(StripeObject): class Attestations(StripeObject): @@ -5025,7 +5409,7 @@ class MoneyManager(StripeObject): account: Optional[Account] """ - Details on the Account's acceptance of the [Stripe Services Agreement](https://docs.stripe.com/connect/updating-accounts#tos-acceptance). + Details on the Account's acceptance of the Stripe Services Agreement. """ money_manager: Optional[MoneyManager] """ @@ -5087,7 +5471,7 @@ class AdditionalAddress(StripeObject): ZIP or postal code. """ purpose: Literal[ - "administrative", "principal_place_of_business" + "administrative", "physical", "principal_place_of_business" ] """ Purpose of additional address. @@ -5145,7 +5529,7 @@ class Documents(StripeObject): class BankAccountOwnershipVerification(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -5155,7 +5539,7 @@ class BankAccountOwnershipVerification(StripeObject): class CompanyLicense(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -5165,7 +5549,7 @@ class CompanyLicense(StripeObject): class CompanyMemorandumOfAssociation(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -5175,7 +5559,7 @@ class CompanyMemorandumOfAssociation(StripeObject): class CompanyMinisterialDecree(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -5185,7 +5569,7 @@ class CompanyMinisterialDecree(StripeObject): class CompanyRegistrationVerification(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -5195,7 +5579,7 @@ class CompanyRegistrationVerification(StripeObject): class CompanyTaxIdVerification(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -5206,16 +5590,16 @@ class PrimaryVerification(StripeObject): class FrontBack(StripeObject): back: Optional[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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: str """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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_back: FrontBack """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. + The [file upload](https://docs.stripe.com/api/files/create) tokens for the front and back of the verification document. """ type: Union[Literal["front_back"], str] """ @@ -5226,7 +5610,17 @@ class FrontBack(StripeObject): class ProofOfAddress(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. + """ + type: Union[Literal["files"], str] + """ + The format of the document. Currently supports `files` only. + """ + + class ProofOfBusinessPresence(StripeObject): + files: List[str] + """ + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -5242,7 +5636,7 @@ class Signer(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ signer: Optional[Signer] """ @@ -5263,7 +5657,7 @@ class Signer(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ signer: Optional[Signer] """ @@ -5313,6 +5707,10 @@ class Signer(StripeObject): """ One or more documents that demonstrate proof of address. """ + proof_of_business_presence: Optional[ProofOfBusinessPresence] + """ + One or more documents that demonstrate proof of business presence. + """ proof_of_registration: Optional[ProofOfRegistration] """ One or more documents showing the company's proof of registration with the national business registry. @@ -5332,6 +5730,7 @@ class Signer(StripeObject): "company_tax_id_verification": CompanyTaxIdVerification, "primary_verification": PrimaryVerification, "proof_of_address": ProofOfAddress, + "proof_of_business_presence": ProofOfBusinessPresence, "proof_of_registration": ProofOfRegistration, "proof_of_ultimate_beneficial_ownership": ProofOfUltimateBeneficialOwnership, } @@ -5798,7 +6197,7 @@ class Documents(StripeObject): class CompanyAuthorization(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -5808,7 +6207,7 @@ class CompanyAuthorization(StripeObject): class Passport(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -5819,16 +6218,16 @@ class PrimaryVerification(StripeObject): class FrontBack(StripeObject): back: Optional[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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: str """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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_back: FrontBack """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. + The [file upload](https://docs.stripe.com/api/files/create) tokens for the front and back of the verification document. """ type: Union[Literal["front_back"], str] """ @@ -5840,16 +6239,16 @@ class SecondaryVerification(StripeObject): class FrontBack(StripeObject): back: Optional[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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: str """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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_back: FrontBack """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. + The [file upload](https://docs.stripe.com/api/files/create) tokens for the front and back of the verification document. """ type: Union[Literal["front_back"], str] """ @@ -5860,7 +6259,7 @@ class FrontBack(StripeObject): class Visa(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -6260,6 +6659,206 @@ class Kanji(StripeObject): } class Requirements(StripeObject): + class Alternative(StripeObject): + class Option(StripeObject): + class Entry(StripeObject): + class Error(StripeObject): + code: Union[ + Literal[ + "invalid_address_city_state_postal_code", + "invalid_address_cmra_address", + "invalid_address_highway_contract_box", + "invalid_address_private_mailbox", + "invalid_address_registered_agent_address", + "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_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_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_url_web_presence_detected", + "invalid_value_other", + "unresolvable_ip_address", + "unresolvable_postal_code", + "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_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_missing_directors", + "verification_missing_executives", + "verification_missing_owners", + "verification_requires_additional_memorandum_of_associations", + "verification_requires_additional_proof_of_registration", + "verification_selfie_document_missing_photo", + "verification_selfie_face_mismatch", + "verification_selfie_manipulated", + "verification_selfie_unverified_other", + "verification_supportability", + "verification_token_stale", + ], + str, + ] + """ + Machine-readable code describing the error. + """ + description: str + """ + Human-readable description of the error. + """ + + class Reference(StripeObject): + inquiry: Optional[str] + """ + If `inquiry` is the type, the inquiry token. + """ + resource: Optional[str] + """ + If `resource` is the type, the resource token. + """ + type: Union[ + Literal["inquiry", "payment_method", "person"], str + ] + """ + The type of the reference. If the type is "inquiry", the inquiry token can be found in the "inquiry" field. + Otherwise the type is an API resource, the token for which can be found in the "resource" field. + """ + + awaiting_action_from: Literal["stripe", "user"] + """ + Indicates whether the user or Stripe is currently responsible for taking action on the requirement. Value can be `user` or `stripe`. + """ + description: str + """ + Machine-readable string describing the requirement. + """ + errors: List[Error] + """ + Descriptions of why the requirement must be collected, or why the collected information isn't satisfactory to Stripe. + """ + reference: Optional[Reference] + """ + A reference to the location of the requirement. + """ + _inner_class_types = { + "errors": Error, + "reference": Reference, + } + + entries: List[Entry] + """ + The requirements that must all be provided to satisfy this option. + """ + _inner_class_types = {"entries": Entry} + + class OriginalEntry(StripeObject): + class Reference(StripeObject): + inquiry: Optional[str] + """ + If `inquiry` is the type, the inquiry token. + """ + resource: Optional[str] + """ + If `resource` is the type, the resource token. + """ + type: Union[ + Literal["inquiry", "payment_method", "person"], str + ] + """ + The type of the reference. If the type is "inquiry", the inquiry token can be found in the "inquiry" field. + Otherwise the type is an API resource, the token for which can be found in the "resource" field. + """ + + description: str + """ + Machine-readable string describing the requirement. + """ + reference: Optional[Reference] + """ + A reference to the location of the requirement. + """ + _inner_class_types = {"reference": Reference} + + options: List[Option] + """ + The alternative sets of requirements that can be provided. Providing every entry in any one of these options resolves all of the requirements in `original_entries`. + """ + original_entries: List[OriginalEntry] + """ + The requirements that can be satisfied either directly, or by providing every entry in any one of `options`. + """ + _inner_class_types = { + "options": Option, + "original_entries": OriginalEntry, + } + class Entry(StripeObject): class Error(StripeObject): code: Union[ @@ -6395,7 +6994,13 @@ class Deadline(StripeObject): "au_becs_debit_payments", "bacs_debit_payments", "bancontact_payments", + "bank_accounts.ach", + "bank_accounts.fedwire", + "bank_accounts.fps", "bank_accounts.local", + "bank_accounts.rtp", + "bank_accounts.sepa", + "bank_accounts.swift", "bank_accounts.wire", "blik_payments", "blik_recurring_payments", @@ -6410,6 +7015,7 @@ class Deadline(StripeObject): "card_payments", "cartes_bancaires_payments", "cashapp_payments", + "crypto_wallets", "eps_payments", "financial_addresses.bank_accounts", "fpx_payments", @@ -6519,7 +7125,7 @@ class RequestedReason(StripeObject): awaiting_action_from: Literal["stripe", "user"] """ - Indicates whether the platform or Stripe is currently responsible for taking action on the requirement. Value can be `user` or `stripe`. + Indicates whether the user or Stripe is currently responsible for taking action on the requirement. Value can be `user` or `stripe`. """ description: str """ @@ -6570,6 +7176,10 @@ class MinimumDeadline(StripeObject): """ _inner_class_types = {"minimum_deadline": MinimumDeadline} + alternatives: Optional[List[Alternative]] + """ + A list of alternative sets of requirements that can be provided in lieu of requirements in `entries`. + """ entries: Optional[List[Entry]] """ A list of requirements for the Account. @@ -6578,7 +7188,11 @@ class MinimumDeadline(StripeObject): """ An object containing an overview of requirements for the Account. """ - _inner_class_types = {"entries": Entry, "summary": Summary} + _inner_class_types = { + "alternatives": Alternative, + "entries": Entry, + "summary": Summary, + } applied_configurations: List[ Literal["customer", "merchant", "recipient", "money_manager"] diff --git a/stripe/v2/core/_account_person.py b/stripe/v2/core/_account_person.py index e1c4a1608..7f4bada74 100644 --- a/stripe/v2/core/_account_person.py +++ b/stripe/v2/core/_account_person.py @@ -136,7 +136,7 @@ class Documents(StripeObject): class CompanyAuthorization(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -146,7 +146,7 @@ class CompanyAuthorization(StripeObject): class Passport(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ @@ -157,16 +157,16 @@ class PrimaryVerification(StripeObject): class FrontBack(StripeObject): back: Optional[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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: str """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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_back: FrontBack """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. + The [file upload](https://docs.stripe.com/api/files/create) tokens for the front and back of the verification document. """ type: Union[Literal["front_back"], str] """ @@ -178,16 +178,16 @@ class SecondaryVerification(StripeObject): class FrontBack(StripeObject): back: Optional[str] """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the back of the verification document. The purpose of the uploaded file should be '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: str """ - A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be '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. + A [file upload](https://docs.stripe.com/api/files/create) token representing the front of the verification document. The purpose of the uploaded file should be '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_back: FrontBack """ - The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. + The [file upload](https://docs.stripe.com/api/files/create) tokens for the front and back of the verification document. """ type: Union[Literal["front_back"], str] """ @@ -198,7 +198,7 @@ class FrontBack(StripeObject): class Visa(StripeObject): files: List[str] """ - One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + One or more document IDs returned by a [file upload](https://docs.stripe.com/api/files/create) with a purpose value of `account_requirement`. """ type: Union[Literal["files"], str] """ diff --git a/stripe/v2/core/_batch_job.py b/stripe/v2/core/_batch_job.py index 135950dcd..9590427f4 100644 --- a/stripe/v2/core/_batch_job.py +++ b/stripe/v2/core/_batch_job.py @@ -14,10 +14,41 @@ class BatchJob(StripeObject): class StatusDetails(StripeObject): class BatchFailed(StripeObject): + class PartialOutputFile(StripeObject): + class DownloadUrl(StripeObject): + expires_at: Optional[str] + """ + The time that the URL expires. + """ + url: str + """ + The URL that can be used for accessing the file. + """ + + content_type: str + """ + The content type of the file. + """ + download_url: DownloadUrl + """ + A pre-signed URL that allows secure, time-limited access to download the file. + """ + size: int + """ + The total size of the file in bytes. + """ + _inner_class_types = {"download_url": DownloadUrl} + _field_encodings = {"size": "int64_string"} + error: str """ Details about the `batch_job` failure. """ + partial_output_file: Optional[PartialOutputFile] + """ + The partial output file details, containing everything processed before the `batch_job` failed. Absent for jobs that failed before producing any output. + """ + _inner_class_types = {"partial_output_file": PartialOutputFile} class Canceled(StripeObject): class OutputFile(StripeObject): diff --git a/stripe/v2/core/_event.py b/stripe/v2/core/_event.py index 442188370..8b722783d 100644 --- a/stripe/v2/core/_event.py +++ b/stripe/v2/core/_event.py @@ -78,7 +78,7 @@ class Request(StripeObject): """ snapshot_event: Optional[str] """ - For interop events, this is the snapshot event ID. + For thin events with a corresponding snapshot event, this is the snapshot event ID. """ type: str """ @@ -190,7 +190,7 @@ def __init__( if parsed_body.get("reason"): self.reason = Reason(parsed_body["reason"]) - self._client = client + self._client = client.with_stripe_context(self.context) @staticmethod def from_json( diff --git a/stripe/v2/core/_event_destination.py b/stripe/v2/core/_event_destination.py index 7066be9e8..1ad0377b9 100644 --- a/stripe/v2/core/_event_destination.py +++ b/stripe/v2/core/_event_destination.py @@ -138,7 +138,7 @@ class WebhookEndpoint(StripeObject): """ snapshot_api_version: Optional[str] """ - For snapshot events only, the Stripe API version used to render event objects. Thin events are not pinned to an API version. + For snapshot events only, the Stripe API version used to render event objects. You can't change this value after you create the event destination. Thin events are not pinned to an API version. """ status: Literal["disabled", "enabled"] """ diff --git a/stripe/v2/core/vault/_gb_bank_account.py b/stripe/v2/core/vault/_gb_bank_account.py index f8d275041..773edbdec 100644 --- a/stripe/v2/core/vault/_gb_bank_account.py +++ b/stripe/v2/core/vault/_gb_bank_account.py @@ -91,7 +91,7 @@ class Provided(StripeObject): the /archive API, and they will not be automatically archived by Stripe. Archived bank account objects cannot be used as outbound destinations and will not appear in the outbound destination list. """ - bank_account_type: Literal["checking", "futsu", "savings", "toza"] + bank_account_type: Literal["checking", "savings"] """ Closed Enum. The type of the bank account (checking or savings). """ @@ -108,6 +108,11 @@ class Provided(StripeObject): """ Creation time. """ + fingerprint: Optional[str] + """ + Uniquely identifies this particular bank account. You can use this attribute to check whether two + recipients who've signed up with you are using the same bank account, for example. + """ id: str """ The ID of the GBBankAccount object. diff --git a/stripe/v2/core/vault/_gb_bank_account_service.py b/stripe/v2/core/vault/_gb_bank_account_service.py index 134e52ed5..a352feaa9 100644 --- a/stripe/v2/core/vault/_gb_bank_account_service.py +++ b/stripe/v2/core/vault/_gb_bank_account_service.py @@ -7,24 +7,21 @@ if TYPE_CHECKING: from stripe._request_options import RequestOptions - from stripe.params.v2.core.vault._gb_bank_account_acknowledge_confirmation_of_payee_params import ( - GbBankAccountAcknowledgeConfirmationOfPayeeParams, - ) from stripe.params.v2.core.vault._gb_bank_account_archive_params import ( GbBankAccountArchiveParams, ) from stripe.params.v2.core.vault._gb_bank_account_create_params import ( GbBankAccountCreateParams, ) - from stripe.params.v2.core.vault._gb_bank_account_initiate_confirmation_of_payee_params import ( - GbBankAccountInitiateConfirmationOfPayeeParams, - ) from stripe.params.v2.core.vault._gb_bank_account_list_params import ( GbBankAccountListParams, ) from stripe.params.v2.core.vault._gb_bank_account_retrieve_params import ( GbBankAccountRetrieveParams, ) + from stripe.params.v2.core.vault._gb_bank_account_unarchive_params import ( + GbBankAccountUnarchiveParams, + ) from stripe.v2._list_object import ListObject from stripe.v2.core.vault._gb_bank_account import GbBankAccount @@ -152,62 +149,6 @@ async def retrieve_async( ), ) - def acknowledge_confirmation_of_payee( - self, - id: str, - /, - params: Optional[ - "GbBankAccountAcknowledgeConfirmationOfPayeeParams" - ] = None, - options: Optional["RequestOptions"] = None, - ) -> "GbBankAccount": - """ - Confirm that you have received the result of the Confirmation of Payee request, and that you are okay with - proceeding to pay out to this bank account despite the account not matching, partially matching, or the service - being unavailable. Once you confirm this, you will be able to send OutboundPayments, but this may lead to - funds being sent to the wrong account, which we might not be able to recover. - """ - return cast( - "GbBankAccount", - self._request( - "post", - "/v2/core/vault/gb_bank_accounts/{id}/acknowledge_confirmation_of_payee".format( - id=sanitize_id(id), - ), - base_address="api", - params=params, - options=options, - ), - ) - - async def acknowledge_confirmation_of_payee_async( - self, - id: str, - /, - params: Optional[ - "GbBankAccountAcknowledgeConfirmationOfPayeeParams" - ] = None, - options: Optional["RequestOptions"] = None, - ) -> "GbBankAccount": - """ - Confirm that you have received the result of the Confirmation of Payee request, and that you are okay with - proceeding to pay out to this bank account despite the account not matching, partially matching, or the service - being unavailable. Once you confirm this, you will be able to send OutboundPayments, but this may lead to - funds being sent to the wrong account, which we might not be able to recover. - """ - return cast( - "GbBankAccount", - await self._request_async( - "post", - "/v2/core/vault/gb_bank_accounts/{id}/acknowledge_confirmation_of_payee".format( - id=sanitize_id(id), - ), - base_address="api", - params=params, - options=options, - ), - ) - def archive( self, id: str, @@ -256,26 +197,21 @@ async def archive_async( ), ) - def initiate_confirmation_of_payee( + def unarchive( self, id: str, /, - params: Optional[ - "GbBankAccountInitiateConfirmationOfPayeeParams" - ] = None, + params: Optional["GbBankAccountUnarchiveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "GbBankAccount": """ - Initiate Confirmation of Payee (CoP) in order to verify that the owner of a UK bank account matches - who you expect. This must be done on all UK bank accounts before sending domestic OutboundPayments. If - the result is a partial match or a non match, explicit acknowledgement using AcknowledgeConfirmationOfPayee - is required before sending funds. + Unarchive a GBBankAccount object. """ return cast( "GbBankAccount", self._request( "post", - "/v2/core/vault/gb_bank_accounts/{id}/initiate_confirmation_of_payee".format( + "/v2/core/vault/gb_bank_accounts/{id}/unarchive".format( id=sanitize_id(id), ), base_address="api", @@ -284,26 +220,21 @@ def initiate_confirmation_of_payee( ), ) - async def initiate_confirmation_of_payee_async( + async def unarchive_async( self, id: str, /, - params: Optional[ - "GbBankAccountInitiateConfirmationOfPayeeParams" - ] = None, + params: Optional["GbBankAccountUnarchiveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "GbBankAccount": """ - Initiate Confirmation of Payee (CoP) in order to verify that the owner of a UK bank account matches - who you expect. This must be done on all UK bank accounts before sending domestic OutboundPayments. If - the result is a partial match or a non match, explicit acknowledgement using AcknowledgeConfirmationOfPayee - is required before sending funds. + Unarchive a GBBankAccount object. """ return cast( "GbBankAccount", await self._request_async( "post", - "/v2/core/vault/gb_bank_accounts/{id}/initiate_confirmation_of_payee".format( + "/v2/core/vault/gb_bank_accounts/{id}/unarchive".format( id=sanitize_id(id), ), base_address="api", diff --git a/stripe/v2/core/vault/_us_bank_account.py b/stripe/v2/core/vault/_us_bank_account.py index b76f8317d..d846ad62e 100644 --- a/stripe/v2/core/vault/_us_bank_account.py +++ b/stripe/v2/core/vault/_us_bank_account.py @@ -78,6 +78,10 @@ class MicrodepositVerificationDetails(StripeObject): """ Creation time of the object. """ + fedwire_fingerprint: Optional[str] + """ + Same as `fingerprint`, but uniquely identifies the bank account using its `fedwire_routing_number` instead of its `routing_number`. + """ fedwire_routing_number: Optional[str] """ The fedwire routing number of the bank account. @@ -86,6 +90,11 @@ class MicrodepositVerificationDetails(StripeObject): """ The ID of the Financial Connections Account used to create the bank account. """ + fingerprint: Optional[str] + """ + Uniquely identifies this particular bank account. You can use this attribute to check whether two + recipients who've signed up with you are using the same bank account, for example. + """ id: str """ The ID of the USBankAccount object. diff --git a/stripe/v2/core/vault/_us_bank_account_service.py b/stripe/v2/core/vault/_us_bank_account_service.py index d770bc3b7..d54967d27 100644 --- a/stripe/v2/core/vault/_us_bank_account_service.py +++ b/stripe/v2/core/vault/_us_bank_account_service.py @@ -25,6 +25,9 @@ from stripe.params.v2.core.vault._us_bank_account_send_microdeposits_params import ( UsBankAccountSendMicrodepositsParams, ) + from stripe.params.v2.core.vault._us_bank_account_unarchive_params import ( + UsBankAccountUnarchiveParams, + ) from stripe.params.v2.core.vault._us_bank_account_update_params import ( UsBankAccountUpdateParams, ) @@ -342,3 +345,49 @@ async def send_microdeposits_async( options=options, ), ) + + def unarchive( + self, + id: str, + /, + params: Optional["UsBankAccountUnarchiveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "UsBankAccount": + """ + Unarchive a USBankAccount object. + """ + return cast( + "UsBankAccount", + self._request( + "post", + "/v2/core/vault/us_bank_accounts/{id}/unarchive".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def unarchive_async( + self, + id: str, + /, + params: Optional["UsBankAccountUnarchiveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "UsBankAccount": + """ + Unarchive a USBankAccount object. + """ + return cast( + "UsBankAccount", + await self._request_async( + "post", + "/v2/core/vault/us_bank_accounts/{id}/unarchive".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) diff --git a/stripe/v2/data/__init__.py b/stripe/v2/data/__init__.py index 6adc76009..60b806e6d 100644 --- a/stripe/v2/data/__init__.py +++ b/stripe/v2/data/__init__.py @@ -5,14 +5,34 @@ if TYPE_CHECKING: from stripe.v2.data import reporting as reporting + from stripe.v2.data._query_run import QueryRun as QueryRun + from stripe.v2.data._query_run_service import ( + QueryRunService as QueryRunService, + ) + from stripe.v2.data._report import Report as Report + from stripe.v2.data._report_run import ReportRun as ReportRun + from stripe.v2.data._report_run_service import ( + ReportRunService as ReportRunService, + ) + from stripe.v2.data._report_service import ReportService as ReportService from stripe.v2.data._reporting_service import ( ReportingService as ReportingService, ) + from stripe.v2.data._schema import Schema as Schema + from stripe.v2.data._schema_service import SchemaService as SchemaService # name -> (import_target, is_submodule) _import_map = { "reporting": ("stripe.v2.data.reporting", True), + "QueryRun": ("stripe.v2.data._query_run", False), + "QueryRunService": ("stripe.v2.data._query_run_service", False), + "Report": ("stripe.v2.data._report", False), + "ReportRun": ("stripe.v2.data._report_run", False), + "ReportRunService": ("stripe.v2.data._report_run_service", False), + "ReportService": ("stripe.v2.data._report_service", False), "ReportingService": ("stripe.v2.data._reporting_service", False), + "Schema": ("stripe.v2.data._schema", False), + "SchemaService": ("stripe.v2.data._schema_service", False), } if not TYPE_CHECKING: diff --git a/stripe/v2/data/_query_run.py b/stripe/v2/data/_query_run.py new file mode 100644 index 000000000..f8facec24 --- /dev/null +++ b/stripe/v2/data/_query_run.py @@ -0,0 +1,253 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import StripeObject, UntypedStripeObject +from typing import Any, ClassVar, List, Optional, Union +from typing_extensions import Literal + + +class QueryRun(StripeObject): + """ + The `QueryRun` resource represents an execution of ad-hoc SQL against a dataset. Once + created, Stripe processes the query. When the query has finished running, the object + provides a reference to the results. A `QueryRun` and its results are retained for 90 days + after the run completes. After that, Stripe deletes them and retrieving the `QueryRun` + returns a `404` error. + """ + + OBJECT_NAME: ClassVar[Literal["v2.data.query_run"]] = "v2.data.query_run" + + class Query(StripeObject): + sql: Optional[str] + """ + Ad-hoc SQL to execute. The maximum length is 100,000 characters. + """ + + class Result(StripeObject): + class File(StripeObject): + class Column(StripeObject): + name: str + """ + The name of the column. + """ + type: Union[ + Literal[ + "bigint", + "boolean", + "date", + "datetime", + "decimal", + "double", + "integer", + "timestamp", + "varchar", + ], + str, + ] + """ + The data type of the column. + """ + + class DownloadUrl(StripeObject): + expires_at: Optional[str] + """ + The time that the URL expires. + """ + url: str + """ + The URL that can be used for accessing the file. + """ + + columns: List[Column] + """ + The schema of the result data. + """ + content_type: Union[Literal["csv"], str] + """ + The content type of the file. + """ + download_url: DownloadUrl + """ + A pre-signed URL that allows secure, time-limited access to download the file. + """ + size: int + """ + The total size of the file in bytes. + """ + _inner_class_types = { + "columns": Column, + "download_url": DownloadUrl, + } + _field_encodings = {"size": "int64_string"} + + class Inline(StripeObject): + class Column(StripeObject): + name: str + """ + The name of the column. + """ + type: Union[ + Literal[ + "bigint", + "boolean", + "date", + "datetime", + "decimal", + "double", + "integer", + "timestamp", + "varchar", + ], + str, + ] + """ + The data type of the column. + """ + + class Row(StripeObject): + data: UntypedStripeObject[Any] + """ + The column data in this row, keyed by column name. + """ + + columns: List[Column] + """ + The schema of the result data. + """ + next_page_url: Optional[str] + """ + Token for the next page of rows. + """ + previous_page_url: Optional[str] + """ + Token for the previous page of rows. + """ + rows: List[Row] + """ + The result rows, each represented as a map of column name to value. + """ + _inner_class_types = {"columns": Column, "rows": Row} + + col_count: Optional[int] + """ + The total number of columns in the result. + """ + file: Optional[File] + """ + File result with a download URL. This is the default result type. + """ + inline: Optional[Inline] + """ + Inline result with data returned directly. Only present when requested via + `include[0]=result.inline`. + """ + row_count: Optional[int] + """ + The total number of data rows in the result, excluding any header row. + """ + _inner_class_types = {"file": File, "inline": Inline} + _field_encodings = { + "col_count": "int64_string", + "row_count": "int64_string", + } + + class ResultOptions(StripeObject): + compression: Optional[Union[Literal["none", "zip"], str]] + """ + The compression applied to the generated result file. Defaults to `none`. This applies + only to downloadable file results. + """ + + class StatusDetails(StripeObject): + class QueryError(StripeObject): + message: str + """ + A human-readable description of the error. + """ + type: str + """ + A short identifier categorizing the type of error. + """ + + canceled_at: Optional[str] + """ + Time at which the run was canceled. Populated when the run is in the `canceled` state. + """ + code: Optional[ + Union[ + Literal[ + "execution_failed", + "file_size_above_limit", + "internal_error", + "query_run_invalid_sql", + "resource_limit_exceeded", + ], + str, + ] + ] + """ + Error code categorizing the reason the run failed. + """ + message: Optional[str] + """ + Error message with additional details about the failure. + """ + query_errors: List[QueryError] + """ + Errors found in the submitted SQL. Populated when the failure was caused by invalid SQL. + """ + _inner_class_types = {"query_errors": QueryError} + + created: str + """ + Time at which the `QueryRun` was created. + """ + dataset: Union[Literal["analytical"], str] + """ + The dataset that was queried. + """ + format: Union[Literal["csv"], str] + """ + The file format of the result. Only applicable when the result is a file. + """ + id: str + """ + The unique identifier of the `QueryRun`. + """ + livemode: bool + """ + Whether the `QueryRun` was executed in live mode. + """ + object: Literal["v2.data.query_run"] + """ + String representing the object's type. Objects of the same type share the same value of the object field. + """ + query: Query + """ + The query that was submitted for execution. + """ + refreshed_at: Optional[str] + """ + Time at which the data used by this query was last refreshed. + """ + result: Optional[Result] + """ + The result of the `QueryRun`, populated when it has completed. + """ + result_options: Optional[ResultOptions] + """ + Settings applied to the generated result file. + """ + status: Union[Literal["canceled", "failed", "running", "succeeded"], str] + """ + The current status of the `QueryRun`. + """ + status_details: Optional[StatusDetails] + """ + Additional details about the current state of the `QueryRun`. + """ + _inner_class_types = { + "query": Query, + "result": Result, + "result_options": ResultOptions, + "status_details": StatusDetails, + } diff --git a/stripe/v2/data/_query_run_service.py b/stripe/v2/data/_query_run_service.py new file mode 100644 index 000000000..780c850c3 --- /dev/null +++ b/stripe/v2/data/_query_run_service.py @@ -0,0 +1,102 @@ +# -*- 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.data._query_run_create_params import ( + QueryRunCreateParams, + ) + from stripe.params.v2.data._query_run_retrieve_params import ( + QueryRunRetrieveParams, + ) + from stripe.v2.data._query_run import QueryRun + + +class QueryRunService(StripeService): + def create( + self, + params: "QueryRunCreateParams", + options: Optional["RequestOptions"] = None, + ) -> "QueryRun": + """ + Submits a SQL query for execution against a dataset and returns a `QueryRun` object + to track progress and retrieve results. + """ + return cast( + "QueryRun", + self._request( + "post", + "/v2/data/query_runs", + base_address="api", + params=params, + options=options, + ), + ) + + async def create_async( + self, + params: "QueryRunCreateParams", + options: Optional["RequestOptions"] = None, + ) -> "QueryRun": + """ + Submits a SQL query for execution against a dataset and returns a `QueryRun` object + to track progress and retrieve results. + """ + return cast( + "QueryRun", + await self._request_async( + "post", + "/v2/data/query_runs", + base_address="api", + params=params, + options=options, + ), + ) + + def retrieve( + self, + id: str, + /, + params: Optional["QueryRunRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "QueryRun": + """ + Retrieves the status and results of a previously created `QueryRun`. Returns a `404` error + if the `QueryRun` doesn't exist or its retention period has ended. + """ + return cast( + "QueryRun", + self._request( + "get", + "/v2/data/query_runs/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) + + async def retrieve_async( + self, + id: str, + /, + params: Optional["QueryRunRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "QueryRun": + """ + Retrieves the status and results of a previously created `QueryRun`. Returns a `404` error + if the `QueryRun` doesn't exist or its retention period has ended. + """ + return cast( + "QueryRun", + await self._request_async( + "get", + "/v2/data/query_runs/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) diff --git a/stripe/v2/data/_report.py b/stripe/v2/data/_report.py new file mode 100644 index 000000000..d1dccd71f --- /dev/null +++ b/stripe/v2/data/_report.py @@ -0,0 +1,102 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import StripeObject, UntypedStripeObject +from typing import ClassVar, List, Optional, Union +from typing_extensions import Literal + + +class Report(StripeObject): + """ + The `Report` resource represents a Stripe-defined, parameterized report that provides + insights into various aspects of your Stripe integration. + """ + + OBJECT_NAME: ClassVar[Literal["v2.data.report"]] = "v2.data.report" + + class Parameters(StripeObject): + class ArrayDetails(StripeObject): + class EnumDetails(StripeObject): + allowed_values: List[str] + """ + Allowed values of the enum. + """ + + element_type: Union[ + Literal["array", "enum", "string", "timestamp"], str + ] + """ + The data type of the elements in the array. + """ + enum_details: Optional[EnumDetails] + """ + Details about enum elements in the array. + """ + _inner_class_types = {"enum_details": EnumDetails} + + class EnumDetails(StripeObject): + allowed_values: List[str] + """ + Allowed values of the enum. + """ + + array_details: Optional[ArrayDetails] + """ + For array parameters, provides details about the array elements. + """ + description: str + """ + Explains the purpose and usage of the parameter. + """ + enum_details: Optional[EnumDetails] + """ + For enum parameters, provides the list of allowed values. + """ + required: bool + """ + Indicates whether the parameter must be provided. + """ + type: Union[Literal["array", "enum", "string", "timestamp"], str] + """ + The data type of the parameter. + """ + _inner_class_types = { + "array_details": ArrayDetails, + "enum_details": EnumDetails, + } + + default_sql: Optional[str] + """ + Representative SQL generated using common parameter values, or an explanatory message when + the report's SQL cannot be exposed. Only present when requested via `include[0]=default_sql`. + """ + description: str + """ + A human-readable description of what this report contains. + """ + id: str + """ + The unique identifier of the `Report`. + """ + livemode: bool + """ + Whether this `Report` is available in live mode. + """ + name: str + """ + The human-readable name of the `Report`. + """ + object: Literal["v2.data.report"] + """ + String representing the object's type. Objects of the same type share the same value of the object field. + """ + parameters: Optional[UntypedStripeObject[Parameters]] + """ + Specification of the parameters that the `Report` accepts, keyed by parameter name. + """ + refreshed_at: Optional[str] + """ + The most recent time through which data is available for this report, not the time the + report definition was updated. Unset if the report has no data-availability policy, or if no + freshness watermark is available yet. + """ + _inner_class_types = {"parameters": Parameters} diff --git a/stripe/v2/data/_report_run.py b/stripe/v2/data/_report_run.py new file mode 100644 index 000000000..3ec581b5c --- /dev/null +++ b/stripe/v2/data/_report_run.py @@ -0,0 +1,255 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import StripeObject, UntypedStripeObject +from typing import Any, ClassVar, List, Optional, Union +from typing_extensions import Literal + + +class ReportRun(StripeObject): + """ + The `ReportRun` resource represents an instance of a `Report` generated with specific + parameter values. Once the object is created, Stripe begins processing the report. When + the report has finished running, it provides a reference to the results. A `ReportRun` and + its results are retained for 90 days after the run completes. After that, Stripe deletes + them and retrieving the `ReportRun` returns a `404` error. + """ + + OBJECT_NAME: ClassVar[Literal["v2.data.report_run"]] = "v2.data.report_run" + + class Result(StripeObject): + class File(StripeObject): + class Column(StripeObject): + name: str + """ + The name of the column. + """ + type: Union[ + Literal[ + "bigint", + "boolean", + "date", + "datetime", + "decimal", + "double", + "integer", + "timestamp", + "varchar", + ], + str, + ] + """ + The data type of the column. + """ + + class DownloadUrl(StripeObject): + expires_at: Optional[str] + """ + The time that the URL expires. + """ + url: str + """ + The URL that can be used for accessing the file. + """ + + columns: List[Column] + """ + The schema of the result data. + """ + content_type: Union[Literal["csv"], str] + """ + The content type of the file. + """ + download_url: DownloadUrl + """ + A pre-signed URL that allows secure, time-limited access to download the file. + """ + size: int + """ + The total size of the file in bytes. + """ + _inner_class_types = { + "columns": Column, + "download_url": DownloadUrl, + } + _field_encodings = {"size": "int64_string"} + + class Inline(StripeObject): + class Column(StripeObject): + name: str + """ + The name of the column. + """ + type: Union[ + Literal[ + "bigint", + "boolean", + "date", + "datetime", + "decimal", + "double", + "integer", + "timestamp", + "varchar", + ], + str, + ] + """ + The data type of the column. + """ + + class Row(StripeObject): + data: UntypedStripeObject[Any] + """ + The column data in this row, keyed by column name. + """ + + columns: List[Column] + """ + The schema of the result data. + """ + next_page_url: Optional[str] + """ + Token for the next page of rows. + """ + previous_page_url: Optional[str] + """ + Token for the previous page of rows. + """ + rows: List[Row] + """ + The result rows, each represented as a map of column name to value. + """ + _inner_class_types = {"columns": Column, "rows": Row} + + col_count: Optional[int] + """ + The total number of columns in the result. + """ + file: Optional[File] + """ + File result with a download URL. This is the default result type. + """ + inline: Optional[Inline] + """ + Inline result with data returned directly. Only present when requested via + `include[0]=result.inline`. + """ + row_count: Optional[int] + """ + The total number of data rows in the result, excluding any header row. + """ + _inner_class_types = {"file": File, "inline": Inline} + _field_encodings = { + "col_count": "int64_string", + "row_count": "int64_string", + } + + class ResultOptions(StripeObject): + compression: Optional[Union[Literal["none", "zip"], str]] + """ + The compression applied to the generated result file. Defaults to `none`. This applies + only to downloadable file results. + """ + + class StatusDetails(StripeObject): + class QueryError(StripeObject): + message: str + """ + A human-readable description of the error. + """ + type: str + """ + A short identifier categorizing the type of error. + """ + + canceled_at: Optional[str] + """ + Time at which the run was canceled. Populated when the run is in the `canceled` state. + """ + code: Optional[ + Union[ + Literal[ + "execution_failed", + "file_size_above_limit", + "internal_error", + "query_run_invalid_sql", + "resource_limit_exceeded", + ], + str, + ] + ] + """ + Error code categorizing the reason the run failed. + """ + message: Optional[str] + """ + Error message with additional details about the failure. + """ + query_errors: List[QueryError] + """ + Errors found in the submitted SQL. Populated when the failure was caused by invalid SQL. + """ + _inner_class_types = {"query_errors": QueryError} + + created: str + """ + Time at which the `ReportRun` was created. + """ + format: Union[Literal["csv"], str] + """ + The file format of the result. + """ + id: str + """ + The unique identifier of the `ReportRun`. + """ + livemode: bool + """ + Whether the `ReportRun` was executed in live mode. + """ + name: str + """ + The human-readable name of the `Report` which was run. + """ + object: Literal["v2.data.report_run"] + """ + String representing the object's type. Objects of the same type share the same value of the object field. + """ + parameters: UntypedStripeObject[Any] + """ + The parameters used to customize the generation of the report. + """ + refreshed_at: Optional[str] + """ + Time at which the data used by this report was last refreshed. + """ + report: str + """ + The unique identifier of the `Report` which was run. + """ + result: Optional[Result] + """ + The result of the `ReportRun`, populated when it has completed. + """ + result_options: Optional[ResultOptions] + """ + Settings applied to the generated result file. + """ + sql: Optional[str] + """ + The fully-resolved SQL that was executed, or an explanatory message when the SQL cannot be + exposed. Only present when requested via `include[0]=sql`. + """ + status: Union[Literal["canceled", "failed", "running", "succeeded"], str] + """ + The current status of the `ReportRun`. + """ + status_details: Optional[StatusDetails] + """ + Additional details about the current state of the `ReportRun`. + """ + _inner_class_types = { + "result": Result, + "result_options": ResultOptions, + "status_details": StatusDetails, + } diff --git a/stripe/v2/data/_report_run_service.py b/stripe/v2/data/_report_run_service.py new file mode 100644 index 000000000..f60683312 --- /dev/null +++ b/stripe/v2/data/_report_run_service.py @@ -0,0 +1,106 @@ +# -*- 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.data._report_run_create_params import ( + ReportRunCreateParams, + ) + from stripe.params.v2.data._report_run_retrieve_params import ( + ReportRunRetrieveParams, + ) + from stripe.v2.data._report_run import ReportRun + + +class ReportRunService(StripeService): + def create( + self, + params: "ReportRunCreateParams", + options: Optional["RequestOptions"] = None, + ) -> "ReportRun": + """ + Initiates the generation of a `ReportRun` based on the specified `Report` and + caller-provided parameters. Returns a `ReportRun` object which can be used to track + the progress and retrieve the results of the report. + """ + return cast( + "ReportRun", + self._request( + "post", + "/v2/data/report_runs", + base_address="api", + params=params, + options=options, + ), + ) + + async def create_async( + self, + params: "ReportRunCreateParams", + options: Optional["RequestOptions"] = None, + ) -> "ReportRun": + """ + Initiates the generation of a `ReportRun` based on the specified `Report` and + caller-provided parameters. Returns a `ReportRun` object which can be used to track + the progress and retrieve the results of the report. + """ + return cast( + "ReportRun", + await self._request_async( + "post", + "/v2/data/report_runs", + base_address="api", + params=params, + options=options, + ), + ) + + def retrieve( + self, + id: str, + /, + params: Optional["ReportRunRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "ReportRun": + """ + Fetches the current state and details of a previously created `ReportRun`. If the + `ReportRun` has succeeded, the endpoint provides details for how to retrieve the results. + Returns a `404` error if the `ReportRun` doesn't exist or its retention period has ended. + """ + return cast( + "ReportRun", + self._request( + "get", + "/v2/data/report_runs/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) + + async def retrieve_async( + self, + id: str, + /, + params: Optional["ReportRunRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "ReportRun": + """ + Fetches the current state and details of a previously created `ReportRun`. If the + `ReportRun` has succeeded, the endpoint provides details for how to retrieve the results. + Returns a `404` error if the `ReportRun` doesn't exist or its retention period has ended. + """ + return cast( + "ReportRun", + await self._request_async( + "get", + "/v2/data/report_runs/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) diff --git a/stripe/v2/data/_report_service.py b/stripe/v2/data/_report_service.py new file mode 100644 index 000000000..d1d7ce221 --- /dev/null +++ b/stripe/v2/data/_report_service.py @@ -0,0 +1,101 @@ +# -*- 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.data._report_list_params import ReportListParams + from stripe.params.v2.data._report_retrieve_params import ( + ReportRetrieveParams, + ) + from stripe.v2._list_object import ListObject + from stripe.v2.data._report import Report + + +class ReportService(StripeService): + def list( + self, + params: Optional["ReportListParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "ListObject[Report]": + """ + Returns a list of Stripe-defined reports that the caller can create a `ReportRun` for. + """ + return cast( + "ListObject[Report]", + self._request( + "get", + "/v2/data/reports", + base_address="api", + params=params, + options=options, + ), + ) + + async def list_async( + self, + params: Optional["ReportListParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "ListObject[Report]": + """ + Returns a list of Stripe-defined reports that the caller can create a `ReportRun` for. + """ + return cast( + "ListObject[Report]", + await self._request_async( + "get", + "/v2/data/reports", + base_address="api", + params=params, + options=options, + ), + ) + + def retrieve( + self, + id: str, + /, + params: Optional["ReportRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "Report": + """ + Retrieves metadata about a specific `Report`, including its name, description, and + the parameters it accepts. It's useful for understanding the capabilities and + requirements of a particular `Report` before requesting a `ReportRun`. + """ + return cast( + "Report", + self._request( + "get", + "/v2/data/reports/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) + + async def retrieve_async( + self, + id: str, + /, + params: Optional["ReportRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "Report": + """ + Retrieves metadata about a specific `Report`, including its name, description, and + the parameters it accepts. It's useful for understanding the capabilities and + requirements of a particular `Report` before requesting a `ReportRun`. + """ + return cast( + "Report", + await self._request_async( + "get", + "/v2/data/reports/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) diff --git a/stripe/v2/data/_schema.py b/stripe/v2/data/_schema.py new file mode 100644 index 000000000..91199367b --- /dev/null +++ b/stripe/v2/data/_schema.py @@ -0,0 +1,144 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import StripeObject +from typing import ClassVar, List, Optional, Union +from typing_extensions import Literal + + +class Schema(StripeObject): + """ + The `Schema` resource describes the columns, types, and relationships of a table that + can be queried. + """ + + OBJECT_NAME: ClassVar[Literal["v2.data.schema"]] = "v2.data.schema" + + class Column(StripeObject): + class ForeignKeysFrom(StripeObject): + column: str + """ + The name of the referenced column. + """ + schema: str + """ + The identifier of the referenced schema. + """ + schema_name: str + """ + The name of the referenced schema. + """ + + class ForeignKeysTo(StripeObject): + column: str + """ + The name of the referenced column. + """ + schema: str + """ + The identifier of the referenced schema. + """ + schema_name: str + """ + The name of the referenced schema. + """ + + description: str + """ + A description of what the column represents. + """ + foreign_keys_from: List[ForeignKeysFrom] + """ + Columns in other schemas that reference this column as a foreign key. + """ + foreign_keys_to: List[ForeignKeysTo] + """ + Columns in other schemas that this column references as a foreign key. + """ + is_primary_key: bool + """ + Whether the column forms part of the table's primary key. + """ + name: str + """ + The name of the column. + """ + type: Union[ + Literal[ + "bigint", + "boolean", + "date", + "datetime", + "decimal", + "double", + "integer", + "timestamp", + "varchar", + ], + str, + ] + """ + The data type of the column. + """ + _inner_class_types = { + "foreign_keys_from": ForeignKeysFrom, + "foreign_keys_to": ForeignKeysTo, + } + + class RelevantReport(StripeObject): + description: str + """ + A description of the `Report`. + """ + id: str + """ + The unique identifier of the `Report`. + """ + name: str + """ + The human-readable name of the `Report`. + """ + + columns: List[Column] + """ + The columns of the table. + """ + dataset: Union[Literal["analytical"], str] + """ + The dataset the table belongs to. + """ + description: str + """ + A description of the table. + """ + extended_description: Optional[str] + """ + An extended, LLM-friendly description of the table, useful for query generation. + """ + id: str + """ + The unique identifier of the `Schema`. + """ + livemode: bool + """ + Whether this `Schema` describes live mode data. + """ + name: str + """ + The human-readable name of the table. + """ + object: Literal["v2.data.schema"] + """ + String representing the object's type. Objects of the same type share the same value of the object field. + """ + refreshed_at: str + """ + Time at which the table's schema was last refreshed. + """ + relevant_reports: List[RelevantReport] + """ + Reports relevant to this table. + """ + _inner_class_types = { + "columns": Column, + "relevant_reports": RelevantReport, + } diff --git a/stripe/v2/data/_schema_service.py b/stripe/v2/data/_schema_service.py new file mode 100644 index 000000000..cea32bdbd --- /dev/null +++ b/stripe/v2/data/_schema_service.py @@ -0,0 +1,97 @@ +# -*- 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.data._schema_list_params import SchemaListParams + from stripe.params.v2.data._schema_retrieve_params import ( + SchemaRetrieveParams, + ) + from stripe.v2._list_object import ListObject + from stripe.v2.data._schema import Schema + + +class SchemaService(StripeService): + def list( + self, + params: Optional["SchemaListParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "ListObject[Schema]": + """ + Returns a list of schemas describing the tables available to query. + """ + return cast( + "ListObject[Schema]", + self._request( + "get", + "/v2/data/schemas", + base_address="api", + params=params, + options=options, + ), + ) + + async def list_async( + self, + params: Optional["SchemaListParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "ListObject[Schema]": + """ + Returns a list of schemas describing the tables available to query. + """ + return cast( + "ListObject[Schema]", + await self._request_async( + "get", + "/v2/data/schemas", + base_address="api", + params=params, + options=options, + ), + ) + + def retrieve( + self, + id: str, + /, + params: Optional["SchemaRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "Schema": + """ + Retrieves the schema for a particular table. + """ + return cast( + "Schema", + self._request( + "get", + "/v2/data/schemas/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) + + async def retrieve_async( + self, + id: str, + /, + params: Optional["SchemaRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "Schema": + """ + Retrieves the schema for a particular table. + """ + return cast( + "Schema", + await self._request_async( + "get", + "/v2/data/schemas/{id}".format(id=sanitize_id(id)), + base_address="api", + params=params, + options=options, + ), + ) diff --git a/stripe/v2/money_management/__init__.py b/stripe/v2/money_management/__init__.py index 9c3e6a8ee..ca5c6e1db 100644 --- a/stripe/v2/money_management/__init__.py +++ b/stripe/v2/money_management/__init__.py @@ -57,6 +57,12 @@ from stripe.v2.money_management._outbound_transfer_service import ( OutboundTransferService as OutboundTransferService, ) + from stripe.v2.money_management._payout_intent import ( + PayoutIntent as PayoutIntent, + ) + from stripe.v2.money_management._payout_intent_service import ( + PayoutIntentService as PayoutIntentService, + ) from stripe.v2.money_management._payout_method import ( PayoutMethod as PayoutMethod, ) @@ -81,6 +87,12 @@ from stripe.v2.money_management._received_debit_service import ( ReceivedDebitService as ReceivedDebitService, ) + from stripe.v2.money_management._recipient_verification import ( + RecipientVerification as RecipientVerification, + ) + from stripe.v2.money_management._recipient_verification_service import ( + RecipientVerificationService as RecipientVerificationService, + ) from stripe.v2.money_management._test_helpers_service import ( TestHelpersService as TestHelpersService, ) @@ -163,6 +175,11 @@ "stripe.v2.money_management._outbound_transfer_service", False, ), + "PayoutIntent": ("stripe.v2.money_management._payout_intent", False), + "PayoutIntentService": ( + "stripe.v2.money_management._payout_intent_service", + False, + ), "PayoutMethod": ("stripe.v2.money_management._payout_method", False), "PayoutMethodService": ( "stripe.v2.money_management._payout_method_service", @@ -186,6 +203,14 @@ "stripe.v2.money_management._received_debit_service", False, ), + "RecipientVerification": ( + "stripe.v2.money_management._recipient_verification", + False, + ), + "RecipientVerificationService": ( + "stripe.v2.money_management._recipient_verification_service", + False, + ), "TestHelpersService": ( "stripe.v2.money_management._test_helpers_service", False, diff --git a/stripe/v2/money_management/_adjustment.py b/stripe/v2/money_management/_adjustment.py index b534d00a4..48f4a25bd 100644 --- a/stripe/v2/money_management/_adjustment.py +++ b/stripe/v2/money_management/_adjustment.py @@ -8,7 +8,8 @@ class Adjustment(StripeObject): """ - Adjustments represent Stripe-initiated credits or debits to a user balance. They might be used to amend balances due to technical or operational error. + An Adjustment records a credit or debit that Stripe makes to your Financial Account balance, + for example to correct technical or operational errors. """ OBJECT_NAME: ClassVar[Literal["v2.money_management.adjustment"]] = ( @@ -18,7 +19,7 @@ class Adjustment(StripeObject): class AdjustedFlow(StripeObject): adjustment: Optional[str] """ - If applicable, the ID of the Adjustment linked to this Adjustment. + If applicable, the ID of the original Adjustment linked to this Adjustment. """ inbound_transfer: Optional[str] """ @@ -43,8 +44,6 @@ class AdjustedFlow(StripeObject): type: Union[ Literal[ "adjustment", - "balance_exchange", - "inbound_payment", "inbound_transfer", "outbound_payment", "outbound_transfer", @@ -59,7 +58,10 @@ class AdjustedFlow(StripeObject): adjusted_flow: Optional[AdjustedFlow] """ - If applicable, contains information about the original flow linked to this Adjustment. + Details about the original flow object linked to this Adjustment, if applicable. + `adjusted_flow.type` identifies the kind of object. The corresponding field contains its ID: + for an InboundTransfer, `adjusted_flow.inbound_transfer` contains the InboundTransfer's ID. + Pass that ID to the `adjusted_flow` parameter on List Adjustments. """ amount: Amount """ @@ -67,15 +69,16 @@ class AdjustedFlow(StripeObject): """ created: str """ - Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + Time at which the object was created. Represented as an RFC 3339 timestamp in UTC with millisecond precision, + for example `2022-09-18T13:22:18.123Z`. """ description: Optional[str] """ - Description of the Adjustment and what it was used for. + A description of the Adjustment and its purpose. """ financial_account: str """ - The FinancialAccount that this adjustment is for. + The ID of the FinancialAccount whose balance this Adjustment affects. """ id: str """ @@ -91,6 +94,8 @@ class AdjustedFlow(StripeObject): """ receipt_url: Optional[str] """ - A link to the Stripe-hosted receipt that is provided when money movement is considered regulated under Stripe's money transmission licenses. The receipt link remains active for 60 days from the Adjustment creation date. After this period, the link will expire and the receipt url value will be null. + A link to the Stripe-hosted receipt provided when money movement is regulated under Stripe's money transmission licenses. + You can use this link to view the receipt for 60 days after the Adjustment is created. + After that, the link expires and `receipt_url` is `null`. """ _inner_class_types = {"adjusted_flow": AdjustedFlow} diff --git a/stripe/v2/money_management/_financial_account.py b/stripe/v2/money_management/_financial_account.py index 33527e4de..01396a217 100644 --- a/stripe/v2/money_management/_financial_account.py +++ b/stripe/v2/money_management/_financial_account.py @@ -8,7 +8,7 @@ class FinancialAccount(StripeObject): """ - A FinancialAccount represents a balance and can be used as the source or destination for the money management (`/v2/money_management`) APIs. + A FinancialAccount represents a balance and can be the source or destination of money movement. """ OBJECT_NAME: ClassVar[Literal["v2.money_management.financial_account"]] = ( @@ -18,21 +18,22 @@ class FinancialAccount(StripeObject): class Balance(StripeObject): available: UntypedStripeObject[Amount] """ - Balance that can be used for money movement. + Balance available for money movement. """ inbound_pending: UntypedStripeObject[Amount] """ - Balance of inbound funds that will later transition to the `available` balance. + Balance of inbound funds that aren't yet available for money movement and will later move to the `available` balance. """ outbound_pending: UntypedStripeObject[Amount] """ - Balance of funds that are being used for a pending outbound money movement. + Balance of funds being used for pending outbound money movements. """ class Other(StripeObject): type: str """ - The type of the FinancialAccount, represented as a string. Upgrade your API version to see the type reflected in `financial_account.type`. + The FinancialAccount's actual type, represented as a string. + Upgrade your API version to see this value in `financial_account.type`. """ class StatusDetails(StripeObject): @@ -40,26 +41,27 @@ class Closed(StripeObject): class ForwardingSettings(StripeObject): payment_method: Optional[str] """ - The address to send forwarded payments to. + ID of the FinancialAccount that supplies funds to cover negative balances + during or after this FinancialAccount's closure. """ payout_method: Optional[str] """ - The address to send forwarded payouts to. + ID of the FinancialAccount that receives funds forwarded from this FinancialAccount when it closes. """ forwarding_settings: Optional[ForwardingSettings] """ - The forwarding settings for the closed FinancialAccount. + When configured, the forwarding settings for the closed FinancialAccount. """ reason: Literal["account_closed", "closed_by_platform", "other"] """ - The reason the FinancialAccount was closed. + Closed Enum. The reason the FinancialAccount was closed. """ _inner_class_types = {"forwarding_settings": ForwardingSettings} closed: Optional[Closed] """ - Details related to the closed state of the FinancialAccount. + Details about the FinancialAccount's closure. Only populated when `status` is `closed`. """ _inner_class_types = {"closed": Closed} @@ -94,19 +96,20 @@ class DepositInsuranceEligibility(StripeObject): balance: Balance """ - Multi-currency balance of this FinancialAccount, split by availability state. Each balance is represented as a hash where the key is the three-letter ISO currency code, in lowercase, and the value is the amount for that currency. + The FinancialAccount's balance, split into `available`, `inbound_pending`, and `outbound_pending` balances. + Each balance is a hash keyed by lowercase currency codes, with an amount for each currency. """ country: str """ - Open Enum. Two-letter country code that represents the country where the LegalEntity associated with the FinancialAccount is based in. + Open Enum. The country where the LegalEntity associated with the FinancialAccount is based, represented as a two-letter country code. """ created: str """ - Time at which the object was created. + Time at which the object was created. Represented as an RFC 3339 timestamp in UTC with millisecond precision, for example `2022-09-18T13:22:18.123Z`. """ display_name: Optional[str] """ - A descriptive name for the FinancialAccount, up to 50 characters long. This name will be used in the Stripe Dashboard and embedded components. + A descriptive name for the FinancialAccount, up to 50 characters long. This name appears in the Stripe Dashboard and embedded components. """ id: str """ @@ -118,7 +121,8 @@ class DepositInsuranceEligibility(StripeObject): """ metadata: Optional[UntypedStripeObject[str]] """ - Metadata associated with the FinancialAccount. + 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. """ object: Literal["v2.money_management.financial_account"] """ @@ -126,7 +130,8 @@ class DepositInsuranceEligibility(StripeObject): """ other: Optional[Other] """ - If this is a `other` FinancialAccount, this hash indicates what the actual type is. Upgrade your API version to see it reflected in `type`. + If the FinancialAccount's `type` is `other`, this hash identifies its actual type. + Upgrade your API version to see that type in `type`. """ status: Literal["closed", "open", "pending"] """ @@ -138,12 +143,12 @@ class DepositInsuranceEligibility(StripeObject): """ storage: Optional[Storage] """ - If this is a `storage` FinancialAccount, this hash includes details specific to `storage` FinancialAccounts. + If the FinancialAccount's `type` is `storage`, this hash contains details specific to that type. """ type: Literal["other", "storage"] """ - Type of the FinancialAccount. An additional hash is included on the FinancialAccount with a name matching this value. - It contains additional information specific to the FinancialAccount type. + Closed Enum. The type of the FinancialAccount. Details specific to the type appear in the matching hash. + For example, a `storage` FinancialAccount includes a `storage` hash. """ _inner_class_types = { "balance": Balance, diff --git a/stripe/v2/money_management/_financial_account_service.py b/stripe/v2/money_management/_financial_account_service.py index ae0ea735c..b9300f2c0 100644 --- a/stripe/v2/money_management/_financial_account_service.py +++ b/stripe/v2/money_management/_financial_account_service.py @@ -33,7 +33,7 @@ def list( options: Optional["RequestOptions"] = None, ) -> "ListObject[FinancialAccount]": """ - Lists FinancialAccounts in this compartment. + Returns a list of FinancialAccounts in your account that match the provided filters. """ return cast( "ListObject[FinancialAccount]", @@ -52,7 +52,7 @@ async def list_async( options: Optional["RequestOptions"] = None, ) -> "ListObject[FinancialAccount]": """ - Lists FinancialAccounts in this compartment. + Returns a list of FinancialAccounts in your account that match the provided filters. """ return cast( "ListObject[FinancialAccount]", @@ -157,7 +157,7 @@ def update( options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ - Updates an existing FinancialAccount. + Updates an existing FinancialAccount using the provided parameters. """ return cast( "FinancialAccount", @@ -180,7 +180,7 @@ async def update_async( options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ - Updates an existing FinancialAccount. + Updates an existing FinancialAccount using the provided parameters. """ return cast( "FinancialAccount", @@ -203,7 +203,7 @@ def close( options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ - Closes a FinancialAccount with or without forwarding settings. + Closes a FinancialAccount. You must provide forwarding settings if it has a non-zero balance. """ return cast( "FinancialAccount", @@ -226,7 +226,7 @@ async def close_async( options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ - Closes a FinancialAccount with or without forwarding settings. + Closes a FinancialAccount. You must provide forwarding settings if it has a non-zero balance. """ return cast( "FinancialAccount", diff --git a/stripe/v2/money_management/_financial_address.py b/stripe/v2/money_management/_financial_address.py index 80537aaed..e1f847a36 100644 --- a/stripe/v2/money_management/_financial_address.py +++ b/stripe/v2/money_management/_financial_address.py @@ -16,7 +16,7 @@ class FinancialAddress(StripeObject): class BankAccount(StripeObject): class Aba(StripeObject): - class AccountHolderAddress(StripeObject): + class Address(StripeObject): city: str """ City. @@ -46,33 +46,27 @@ class AccountHolderAddress(StripeObject): Town or suburb. """ - account_holder_address: Optional[AccountHolderAddress] - """ - The address of the account holder. - """ account_holder_name: Optional[str] """ The name of the account holder. """ - account_number: Optional[str] + account_number: str """ - The full account number. + The full account number. Empty while the bank account is pending allocation. """ - bank_name: Optional[str] + address: Optional[Address] """ - The name of the bank. + The address of the account holder. """ - last4: str + bank_name: Optional[str] """ - The last four digits of the account number. + The name of the bank. """ routing_number: str """ The ABA routing number. """ - _inner_class_types = { - "account_holder_address": AccountHolderAddress, - } + _inner_class_types = {"address": Address} class Iban(StripeObject): account_holder_name: str @@ -83,17 +77,9 @@ class Iban(StripeObject): """ The name of the bank. """ - country: str + iban: str """ - The country of the bank account. - """ - iban: Optional[str] - """ - The full IBAN. - """ - last4: str - """ - The last four digits of the IBAN. + The full IBAN. Empty while the bank account is pending allocation. """ class SortCode(StripeObject): @@ -101,13 +87,9 @@ class SortCode(StripeObject): """ The name of the account holder. """ - account_number: Optional[str] + account_number: str """ - The full account number. - """ - last4: str - """ - The last four digits of the account number. + The full account number. Empty while the bank account is pending allocation. """ sort_code: str """ @@ -120,7 +102,8 @@ class SortCode(StripeObject): """ country: Optional[str] """ - The country of the bank account. + The country of the bank account. Always included in the response, but null while the bank + account is pending and its country is not yet known. """ currency: str """ @@ -164,10 +147,7 @@ class SortCode(StripeObject): """ String representing the object's type. Objects of the same type share the same value of the object field. """ - settlement_currency: Optional[str] - """ - Open Enum. The currency the FinancialAddress settles into the FinancialAccount. - """ + settlement_currency: str status: Literal["active", "archived", "failed", "pending"] """ Closed Enum. The status of the FinancialAddress. diff --git a/stripe/v2/money_management/_inbound_transfer.py b/stripe/v2/money_management/_inbound_transfer.py index 79506db24..ec494171a 100644 --- a/stripe/v2/money_management/_inbound_transfer.py +++ b/stripe/v2/money_management/_inbound_transfer.py @@ -20,7 +20,7 @@ class From(StripeObject): class PaymentMethod(StripeObject): type: str """ - The type of object this destination represents. For a us bank account, we expect us_bank_account. + The type of PaymentMethod used to create the InboundTransfer. Clients should tolerate future values. """ us_bank_account: Optional[str] """ @@ -33,7 +33,7 @@ class PaymentMethod(StripeObject): """ payment_method: PaymentMethod """ - The Payment Method object used to create the InboundTransfer. + The bank account credential used to fund the InboundTransfer (for example, a US bank account), not a Payments API `pm_` PaymentMethod. """ _inner_class_types = {"payment_method": PaymentMethod} diff --git a/stripe/v2/money_management/_inbound_transfer_service.py b/stripe/v2/money_management/_inbound_transfer_service.py index 8f0f7b720..55f3a6bbe 100644 --- a/stripe/v2/money_management/_inbound_transfer_service.py +++ b/stripe/v2/money_management/_inbound_transfer_service.py @@ -65,7 +65,7 @@ def create( options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ - InboundTransfers APIs are used to create, retrieve or list InboundTransfers. + Creates an InboundTransfer to pull funds from a bank account into a financial account. Per-transfer and rolling weekly limits vary by account and payment rail. See [transfer limits](https://docs.stripe.com/treasury/add-funds#transfer-limits). """ return cast( "InboundTransfer", @@ -84,7 +84,7 @@ async def create_async( options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ - InboundTransfers APIs are used to create, retrieve or list InboundTransfers. + Creates an InboundTransfer to pull funds from a bank account into a financial account. Per-transfer and rolling weekly limits vary by account and payment rail. See [transfer limits](https://docs.stripe.com/treasury/add-funds#transfer-limits). """ return cast( "InboundTransfer", diff --git a/stripe/v2/money_management/_outbound_payment.py b/stripe/v2/money_management/_outbound_payment.py index 0f7d9b7c9..fcfc1f47a 100644 --- a/stripe/v2/money_management/_outbound_payment.py +++ b/stripe/v2/money_management/_outbound_payment.py @@ -2,7 +2,7 @@ # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject, UntypedStripeObject from stripe.v2._amount import Amount -from typing import ClassVar, Optional, Union +from typing import ClassVar, List, Optional, Union from typing_extensions import Literal @@ -37,7 +37,7 @@ class RecipientNotification(StripeObject): setting: Literal["configured", "none"] """ Closed Enum. Configuration option to enable or disable notifications to recipients. - Do not send notifications when setting is NONE. Default to account setting when setting is CONFIGURED or not set. + Do not send notifications when `setting` is `none`. Use the account setting when `setting` is `configured` or omitted. """ class StatusDetails(StripeObject): @@ -128,25 +128,80 @@ class StatusTransitions(StripeObject): """ class To(StripeObject): + class PayoutMethodOptions(StripeObject): + class BankAccount(StripeObject): + class PreferredNetworkOptions(StripeObject): + class Ach(StripeObject): + submission: Optional[ + Union[Literal["next_day", "same_day"], str] + ] + """ + Open Enum. ACH submission timing. + """ + transaction_purpose: Optional[ + Union[Literal["payroll"], str] + ] + """ + The transaction purpose for this ACH payment. + """ + + ach: Optional[Ach] + """ + ACH-specific network options. + """ + _inner_class_types = {"ach": Ach} + + preferred_network_options: Optional[PreferredNetworkOptions] + """ + Per-network configuration options. + """ + preferred_networks: Optional[ + List[ + Union[ + Literal[ + "ach", "fedwire", "fps", "rtp", "sepa", "swift" + ], + str, + ] + ] + ] + """ + The preferred networks to use for this OutboundPayment. + """ + _inner_class_types = { + "preferred_network_options": PreferredNetworkOptions, + } + + bank_account: Optional[BankAccount] + """ + Options for bank account payout methods. + """ + _inner_class_types = {"bank_account": BankAccount} + credited: Amount """ The monetary amount being credited to the destination. """ - payout_method: str + payout_method: Optional[str] """ The payout method which the OutboundPayment uses to send payout. """ + payout_method_options: Optional[PayoutMethodOptions] + """ + Payout method options for the OutboundPayment. + """ recipient: str """ To which account the OutboundPayment is sent. """ + _inner_class_types = {"payout_method_options": PayoutMethodOptions} class TraceId(StripeObject): status: Union[Literal["pending", "supported", "unsupported"], str] """ Possible values are `pending`, `supported`, and `unsupported`. Initially set to `pending`, it changes to `supported` when the recipient bank provides a trace ID, or `unsupported` if the recipient bank doesn't support it. - Note that this status may not align with the OutboundPayment or OutboundTransfer status and can remain `pending` + This status may not align with the OutboundPayment or OutboundTransfer status and can remain `pending` even after the payment or transfer is posted. """ value: Optional[str] @@ -154,9 +209,54 @@ class TraceId(StripeObject): The trace ID value if `trace_id.status` is `supported`, otherwise empty. """ + class TrackingDetails(StripeObject): + class BankAccount(StripeObject): + trace_id: Optional[str] + """ + A unique identifier that can be used to track this OutboundPayment with the recipient bank. Banks might call this a “reference number” or something similar. + """ + + class Card(StripeObject): + retrieval_reference: Optional[str] + """ + A unique identifier that can be used to track this OutboundPayment with the recipient card. + """ + + class CryptoWallet(StripeObject): + blockchain_transaction: Optional[str] + """ + A unique identifier that can be used to track this OutboundPayment with the recipient crypto wallet. + """ + + bank_account: Optional[BankAccount] + """ + Bank account tracking details. + """ + card: Optional[Card] + """ + Card tracking details. + """ + crypto_wallet: Optional[CryptoWallet] + """ + Crypto wallet tracking details. + """ + status: Union[Literal["pending", "supported", "unsupported"], str] + """ + The status of the tracking details for this OutboundPayment. + """ + type: Union[Literal["bank_account", "card", "crypto_wallet"], str] + """ + The type of tracking details for this OutboundPayment. + """ + _inner_class_types = { + "bank_account": BankAccount, + "card": Card, + "crypto_wallet": CryptoWallet, + } + amount: Amount """ - The "presentment amount" for the OutboundPayment. + The amount and currency requested for this OutboundPayment. """ cancelable: bool """ @@ -204,6 +304,10 @@ class TraceId(StripeObject): """ The quote for this OutboundPayment. Only required for countries with regulatory mandates to display fee estimates before OutboundPayment creation. """ + payout_intent: Optional[str] + """ + The PayoutIntent ID that triggered this OutboundPayment. + """ purpose: Optional[Union[Literal["payroll"], str]] """ The purpose of the OutboundPayment. @@ -216,16 +320,19 @@ class TraceId(StripeObject): """ Details about the OutboundPayment notification settings for recipient. """ + recipient_verification: Optional[str] + """ + The ID of the RecipientVerification for this OutboundPayment. Required where recipient-name verification is mandated before creating an OutboundPayment. + """ statement_descriptor: str """ - The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer). It will default to `STRIPE` if not set on the account settings. + The description that appears on the receiving end of an OutboundPayment (for example, on a bank statement). Defaults to `STRIPE` if not configured in the account settings. """ status: Literal["canceled", "failed", "posted", "processing", "returned"] """ - Closed Enum. Current status of the OutboundPayment: `processing`, `failed`, `posted`, `returned`, `canceled`. - An OutboundPayment is `processing` if it has been created and is processing. - 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 payout method, its status will change to `returned`. + Current status of the OutboundPayment. + An OutboundPayment is `processing` after creation. It becomes `posted` when funds leave the account, + `failed` if it cannot be sent, `canceled` if canceled before posting, or `returned` if the funds are returned. """ status_details: Optional[StatusDetails] """ @@ -243,6 +350,10 @@ class TraceId(StripeObject): """ A unique identifier that can be used to track this OutboundPayment with recipient bank. Banks might call this a "reference number" or something similar. """ + tracking_details: Optional[TrackingDetails] + """ + Information to track this OutboundPayment with the recipient bank. + """ _inner_class_types = { "delivery_options": DeliveryOptions, "from": From, @@ -251,5 +362,6 @@ class TraceId(StripeObject): "status_transitions": StatusTransitions, "to": To, "trace_id": TraceId, + "tracking_details": TrackingDetails, } _field_remappings = {"from_": "from"} diff --git a/stripe/v2/money_management/_outbound_payment_quote.py b/stripe/v2/money_management/_outbound_payment_quote.py index 64da0b56a..c53bbdfe8 100644 --- a/stripe/v2/money_management/_outbound_payment_quote.py +++ b/stripe/v2/money_management/_outbound_payment_quote.py @@ -42,17 +42,7 @@ class Ach(StripeObject): network: Union[ Literal[ - "ach", - "becs", - "eft", - "fedwire", - "fps", - "local", - "npp", - "rtp", - "sepa", - "sepa_instant", - "swift", + "ach", "fedwire", "fps", "local", "rtp", "sepa", "swift" ], str, ] @@ -65,6 +55,16 @@ class Ach(StripeObject): """ _inner_class_types = {"network_options": NetworkOptions} + class TaxAmount(StripeObject): + currency: str + """ + Currency code. + """ + value_decimal: str + """ + Tax amount value represented as a decimal string in major units. + """ + amount: Amount """ The fee amount for corresponding fee type. @@ -73,12 +73,17 @@ class Ach(StripeObject): """ Details about the network and options associated with this fee. Present when type is network_fee. """ + tax_amount: Optional[TaxAmount] + """ + Tax charged for this fee, if applicable. Value expressed as a decimal string in major units. + """ type: Union[ Literal[ "cross_border_payout_fee", "foreign_exchange_fee", "instant_payout_fee", "network_fee", + "next_day_payout_fee", "standard_payout_fee", "wire_payout_fee", ], @@ -87,7 +92,10 @@ class Ach(StripeObject): """ The fee type. """ - _inner_class_types = {"network_fee_details": NetworkFeeDetails} + _inner_class_types = { + "network_fee_details": NetworkFeeDetails, + "tax_amount": TaxAmount, + } class From(StripeObject): debited: Amount @@ -130,6 +138,56 @@ class Rates(StripeObject): _inner_class_dicts = ["rates"] class To(StripeObject): + class PayoutMethodOptions(StripeObject): + class BankAccount(StripeObject): + class PreferredNetworkOptions(StripeObject): + class Ach(StripeObject): + submission: Optional[ + Union[Literal["next_day", "same_day"], str] + ] + """ + Open Enum. ACH submission timing. + """ + transaction_purpose: Optional[ + Union[Literal["payroll"], str] + ] + """ + The transaction purpose for this ACH payment. + """ + + ach: Optional[Ach] + """ + ACH-specific network options. + """ + _inner_class_types = {"ach": Ach} + + preferred_network_options: Optional[PreferredNetworkOptions] + """ + Per-network configuration options. + """ + preferred_networks: Optional[ + List[ + Union[ + Literal[ + "ach", "fedwire", "fps", "rtp", "sepa", "swift" + ], + str, + ] + ] + ] + """ + The preferred networks to use for this OutboundPayment. + """ + _inner_class_types = { + "preferred_network_options": PreferredNetworkOptions, + } + + bank_account: Optional[BankAccount] + """ + Options for bank account payout methods. + """ + _inner_class_types = {"bank_account": BankAccount} + credited: Amount """ The monetary amount being credited to the destination. @@ -138,10 +196,15 @@ class To(StripeObject): """ The payout method which the OutboundPayment uses to send payout. """ + payout_method_options: Optional[PayoutMethodOptions] + """ + Payout method options for the OutboundPaymentQuote. + """ recipient: str """ To which account the OutboundPayment is sent. """ + _inner_class_types = {"payout_method_options": PayoutMethodOptions} amount: Amount """ diff --git a/stripe/v2/money_management/_outbound_setup_intent.py b/stripe/v2/money_management/_outbound_setup_intent.py index eb661a3f6..2b1b9d39c 100644 --- a/stripe/v2/money_management/_outbound_setup_intent.py +++ b/stripe/v2/money_management/_outbound_setup_intent.py @@ -60,7 +60,7 @@ class ConfirmationOfPayee(StripeObject): """ String representing the object's type. Objects of the same type share the same value of the object field. """ - payout_method: "PayoutMethod" + payout_method: Optional["PayoutMethod"] """ Use the PayoutMethods API to list and interact with PayoutMethod objects. """ diff --git a/stripe/v2/money_management/_outbound_transfer.py b/stripe/v2/money_management/_outbound_transfer.py index 81c7f34b7..6050a3560 100644 --- a/stripe/v2/money_management/_outbound_transfer.py +++ b/stripe/v2/money_management/_outbound_transfer.py @@ -2,7 +2,7 @@ # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject, UntypedStripeObject from stripe.v2._amount import Amount -from typing import ClassVar, Optional, Union +from typing import ClassVar, List, Optional, Union from typing_extensions import Literal @@ -121,6 +121,40 @@ class StatusTransitions(StripeObject): """ class To(StripeObject): + class PayoutMethodOptions(StripeObject): + class BankAccount(StripeObject): + class PreferredNetworkOptions(StripeObject): + class Ach(StripeObject): + pass + + ach: Optional[Ach] + """ + ACH-specific network options. + """ + _inner_class_types = {"ach": Ach} + + preferred_network_options: Optional[PreferredNetworkOptions] + """ + Per-network configuration options. + """ + preferred_networks: List[ + Union[ + Literal["ach", "fedwire", "fps", "sepa", "swift"], str + ] + ] + """ + The preferred networks to use for this OutboundTransfer. + """ + _inner_class_types = { + "preferred_network_options": PreferredNetworkOptions, + } + + bank_account: Optional[BankAccount] + """ + Options for bank account payout methods. + """ + _inner_class_types = {"bank_account": BankAccount} + credited: Amount """ The monetary amount being credited to the destination. @@ -129,13 +163,18 @@ class To(StripeObject): """ The payout method which the OutboundTransfer uses to send payout. """ + payout_method_options: Optional[PayoutMethodOptions] + """ + Payout method options for the OutboundTransfer. + """ + _inner_class_types = {"payout_method_options": PayoutMethodOptions} class TraceId(StripeObject): status: Union[Literal["pending", "supported", "unsupported"], str] """ Possible values are `pending`, `supported`, and `unsupported`. Initially set to `pending`, it changes to `supported` when the recipient bank provides a trace ID, or `unsupported` if the recipient bank doesn't support it. - Note that this status may not align with the OutboundPayment or OutboundTransfer status and can remain `pending` + This status may not align with the OutboundPayment or OutboundTransfer status and can remain `pending` even after the payment or transfer is posted. """ value: Optional[str] diff --git a/stripe/v2/money_management/_payout_intent.py b/stripe/v2/money_management/_payout_intent.py new file mode 100644 index 000000000..a20ad293c --- /dev/null +++ b/stripe/v2/money_management/_payout_intent.py @@ -0,0 +1,473 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import StripeObject, UntypedStripeObject +from stripe.v2._amount import Amount +from typing import ClassVar, List, Optional, Union +from typing_extensions import Literal + + +class PayoutIntent(StripeObject): + """ + PayoutIntent represents an intent to send funds from a Financial Account to a payout method. + """ + + OBJECT_NAME: ClassVar[Literal["v2.money_management.payout_intent"]] = ( + "v2.money_management.payout_intent" + ) + + class EstimatedFee(StripeObject): + class NetworkFeeDetails(StripeObject): + class NetworkOptions(StripeObject): + class Ach(StripeObject): + submission: Optional[ + Union[Literal["next_day", "same_day"], str] + ] + """ + Open Enum. ACH submission timing. + """ + + ach: Optional[Ach] + """ + ACH-specific network fee options. + """ + _inner_class_types = {"ach": Ach} + + network: Union[ + Literal[ + "ach", "fedwire", "fps", "local", "rtp", "sepa", "swift" + ], + str, + ] + """ + The network associated with the fee. + """ + network_options: NetworkOptions + """ + Per-network options that affect the fee. + """ + _inner_class_types = {"network_options": NetworkOptions} + + class TaxAmount(StripeObject): + currency: str + """ + Currency code. + """ + value_decimal: str + """ + Tax amount value represented as a decimal string in major units. + """ + + amount: Amount + """ + The fee amount. + """ + network_fee_details: Optional[NetworkFeeDetails] + """ + Details about the network and options associated with this fee. Present when `type` is `network_fee`. + """ + tax_amount: Optional[TaxAmount] + """ + Tax charged for this fee, if applicable. Value expressed as a decimal string in major units. + """ + type: Union[ + Literal[ + "cross_border_fee", + "foreign_exchange_fee", + "instant_card_payout_fee", + "network_fee", + "next_day_payout_fee", + "real_time_payout_fee", + "stablecoin_payout_fee", + "stablecoin_routing_fee", + "standard_payout_fee", + "wire_payout_fee", + ], + str, + ] + """ + Open Enum. The type of fee. + """ + _inner_class_types = { + "network_fee_details": NetworkFeeDetails, + "tax_amount": TaxAmount, + } + + class From(StripeObject): + currency: str + """ + The currency of the financial account. + """ + debited: Optional[Amount] + """ + Estimated amount to be debited from the financial account. + """ + financial_account: str + """ + The FinancialAccount that funds are pulled from. + """ + + class FxQuote(StripeObject): + class Rates(StripeObject): + exchange_rate: str + """ + The exchange rate from the source currency to `to_currency`, represented as a decimal string + (for example, `1.1520`) to preserve the full precision of the rate. + """ + + lock_duration: Union[Literal["five_minutes", "none"], str] + """ + Open Enum. Duration of the FX rate lock. + """ + lock_expires_at: Optional[str] + """ + Timestamp when the rate lock expires. Null when rate locking is not supported. + """ + lock_status: Union[Literal["active", "expired", "none"], str] + """ + Open Enum. Lock status of the FX rate. + """ + rates: UntypedStripeObject[Rates] + """ + Maps each source currency to its exchange rate into `to_currency`. + """ + to_currency: str + """ + The destination currency. + """ + _inner_class_types = {"rates": Rates} + _inner_class_dicts = ["rates"] + + class LatestPayout(StripeObject): + outbound_payment: Optional[str] + """ + The ID of the OutboundPayment, if applicable. + """ + outbound_transfer: Optional[str] + """ + The ID of the OutboundTransfer, if applicable. + """ + type: Union[Literal["outbound_payment", "outbound_transfer"], str] + """ + The type of payout. + """ + + class NextAction(StripeObject): + class Confirm(StripeObject): + fields_to_review: Optional[ + List[ + Union[ + Literal[ + "estimated_fees", + "fx_quote", + "recipient_verification", + ], + str, + ] + ] + ] + """ + The PayoutIntent fields that must be reviewed before confirmation. + """ + reason: Union[ + Literal["automatically_required", "manually_requested"], str + ] + """ + Open Enum. The reason the PayoutIntent requires confirmation. + """ + + class HandleFailure(StripeObject): + failure_reason: Union[ + Literal[ + "account_not_configured_as_recipient", + "currency_not_supported_for_financial_account_balance", + "feature_not_active_for_recipient", + "fx_rate_drift_exceeded_after_review", + "insufficient_funds", + "payout_method_account_type_incorrect", + "payout_method_amount_limit_exceeded", + "payout_method_canceled_by_customer", + "payout_method_closed", + "payout_method_currency_unsupported", + "payout_method_declined", + "payout_method_does_not_exist", + "payout_method_expired", + "payout_method_holder_address_incorrect", + "payout_method_holder_details_incorrect", + "payout_method_holder_name_incorrect", + "payout_method_invalid", + "payout_method_invalid_account_number", + "payout_method_restricted", + "payout_method_unsupported", + "payout_method_usage_frequency_limit_exceeded", + "recalled", + "recipient_capability_not_active", + "review_rejected", + "to_destination_invalid", + "unknown_failure", + ], + str, + ] + """ + Open Enum. The reason for the failure. + """ + + confirm: Optional[Confirm] + """ + Details about a confirmation required. Populated when `type` is `confirm`. + """ + handle_failure: Optional[HandleFailure] + """ + Details about a failure that requires user action. Populated when `type` is `handle_failure`. + """ + type: Union[Literal["confirm", "handle_failure"], str] + """ + Open Enum. The type of next action required. + """ + _inner_class_types = { + "confirm": Confirm, + "handle_failure": HandleFailure, + } + + class RecipientNotification(StripeObject): + setting: Literal["configured", "none"] + """ + Closed Enum. Configuration option to enable or disable notifications to recipients. + Do not send notifications when `setting` is `none`. Use the account setting when `setting` is `configured` or omitted. + """ + + class RecipientVerification(StripeObject): + class MatchResultDetails(StripeObject): + matched_business_type: Optional[Literal["business", "personal"]] + """ + The business type returned by the recipient-verification provider. + """ + matched_name: Optional[str] + """ + The account name returned by the recipient-verification provider. + """ + message: str + """ + A message describing the match result. + """ + provided_business_type: Optional[Literal["business", "personal"]] + """ + The business type provided for recipient verification. + """ + provided_name: str + """ + The name associated with the provided recipient. + """ + + match_result: Literal[ + "close_match", "match", "no_match", "unavailable" + ] + """ + Closed Enum. The recipient-verification provider's match result. + """ + match_result_details: MatchResultDetails + """ + Details associated with the match result. + """ + _inner_class_types = {"match_result_details": MatchResultDetails} + + class ScheduleOptions(StripeObject): + execute_on: Optional[str] + """ + The date when the payout should be executed, in YYYY-MM-DD format. + """ + + class StatusTransitions(StripeObject): + canceled_at: Optional[str] + """ + Timestamp describing when a PayoutIntent changed status to `canceled`. + Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + """ + posted_at: Optional[str] + """ + Timestamp describing when a PayoutIntent changed status to `posted`. + Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + """ + processing_at: Optional[str] + """ + Timestamp describing when a PayoutIntent changed status to `processing`. + Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + """ + requires_action_at: Optional[str] + """ + Timestamp describing when a PayoutIntent changed status to `requires_action`. + Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + """ + + class To(StripeObject): + class PayoutMethodOptions(StripeObject): + class BankAccount(StripeObject): + class PreferredNetworkOptions(StripeObject): + class Ach(StripeObject): + submission: Optional[ + Union[Literal["next_day", "same_day"], str] + ] + """ + Open Enum. ACH submission timing. + """ + transaction_purpose: Optional[ + Union[Literal["payroll"], str] + ] + """ + The transaction purpose for this ACH payment. + """ + + ach: Optional[Ach] + """ + ACH-specific network options. + """ + _inner_class_types = {"ach": Ach} + + preferred_network_options: Optional[PreferredNetworkOptions] + """ + Per-network configuration options. + """ + preferred_networks: Optional[ + List[ + Union[ + Literal[ + "ach", "fedwire", "fps", "rtp", "sepa", "swift" + ], + str, + ] + ] + ] + """ + The preferred networks to use for this PayoutIntent. + """ + _inner_class_types = { + "preferred_network_options": PreferredNetworkOptions, + } + + bank_account: Optional[BankAccount] + """ + Options for bank account payout methods. + """ + _inner_class_types = {"bank_account": BankAccount} + + credited: Optional[Amount] + """ + Estimated amount to be credited to the recipient in the destination currency. + """ + currency: Optional[str] + """ + The currency to send to the recipient. + """ + payout_method: Optional[str] + """ + The payout method ID for the PayoutIntent. Optional when the PayoutIntent creates an OutboundPayment and the recipient has a default payout method. Required when the PayoutIntent creates an OutboundTransfer. + """ + payout_method_options: Optional[PayoutMethodOptions] + """ + Payout method options for the PayoutIntent. + """ + recipient: Optional[str] + """ + The recipient ID for the PayoutIntent. + """ + _inner_class_types = {"payout_method_options": PayoutMethodOptions} + + amount: Amount + """ + The monetary amount to be sent. + """ + confirmation_method: Union[Literal["automatic", "manual"], str] + """ + Controls whether the PayoutIntent requires explicit confirmation before transitioning to `pending`. + Even when `automatic`, regulatory requirements may require confirmation. See [Send money with Global Payouts](https://docs.stripe.com/global-payouts/send-money) for details. + """ + created: str + """ + Time at which the PayoutIntent was created. + Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + """ + description: Optional[str] + """ + An arbitrary string attached to the PayoutIntent. Often useful for displaying to users. + """ + estimated_fees: Optional[List[EstimatedFee]] + """ + Estimated fees and taxes. + """ + from_: From + """ + The FinancialAccount that funds are pulled from. + """ + fx_quote: Optional[FxQuote] + """ + FX rate information for fee transparency. + """ + id: str + """ + Unique identifier for the PayoutIntent. + """ + latest_payout: Optional[LatestPayout] + """ + Details about the latest payout associated with this PayoutIntent. + """ + 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[UntypedStripeObject[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. + """ + next_action: Optional[NextAction] + """ + Next action required for a PayoutIntent in the `requires_action` state. Populated when `status` is `requires_action`. + """ + object: Literal["v2.money_management.payout_intent"] + """ + String representing the object's type. Objects of the same type share the same value of the object field. + """ + recipient_notification: Optional[RecipientNotification] + """ + Recipient notification settings for the PayoutIntent. Only applicable when the PayoutIntent creates an OutboundPayment. + """ + recipient_verification: Optional[RecipientVerification] + """ + Recipient verification details for this PayoutIntent. + """ + schedule_options: Optional[ScheduleOptions] + """ + Scheduling options for the payout. If omitted, the payout is scheduled for immediate execution. + """ + statement_descriptor: Optional[str] + """ + The description that appears on the receiving end for the payout (for example, on a bank statement). + """ + status: Union[ + Literal[ + "canceled", "pending", "posted", "processing", "requires_action" + ], + str, + ] + """ + Current status of the PayoutIntent. + """ + status_transitions: Optional[StatusTransitions] + """ + Hash containing timestamps of when transitioned to a particular status. + """ + to: To + """ + To which payout method the payout is sent. + """ + _inner_class_types = { + "estimated_fees": EstimatedFee, + "from": From, + "fx_quote": FxQuote, + "latest_payout": LatestPayout, + "next_action": NextAction, + "recipient_notification": RecipientNotification, + "recipient_verification": RecipientVerification, + "schedule_options": ScheduleOptions, + "status_transitions": StatusTransitions, + "to": To, + } + _field_remappings = {"from_": "from"} diff --git a/stripe/v2/money_management/_payout_intent_service.py b/stripe/v2/money_management/_payout_intent_service.py new file mode 100644 index 000000000..236142715 --- /dev/null +++ b/stripe/v2/money_management/_payout_intent_service.py @@ -0,0 +1,393 @@ +# -*- 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.money_management._payout_intent_cancel_params import ( + PayoutIntentCancelParams, + ) + from stripe.params.v2.money_management._payout_intent_confirm_params import ( + PayoutIntentConfirmParams, + ) + from stripe.params.v2.money_management._payout_intent_create_params import ( + PayoutIntentCreateParams, + ) + from stripe.params.v2.money_management._payout_intent_list_params import ( + PayoutIntentListParams, + ) + from stripe.params.v2.money_management._payout_intent_refresh_fx_quote_params import ( + PayoutIntentRefreshFxQuoteParams, + ) + from stripe.params.v2.money_management._payout_intent_refresh_recipient_verification_params import ( + PayoutIntentRefreshRecipientVerificationParams, + ) + from stripe.params.v2.money_management._payout_intent_retrieve_params import ( + PayoutIntentRetrieveParams, + ) + from stripe.params.v2.money_management._payout_intent_update_params import ( + PayoutIntentUpdateParams, + ) + from stripe.v2._list_object import ListObject + from stripe.v2.money_management._payout_intent import PayoutIntent + + +class PayoutIntentService(StripeService): + def list( + self, + params: Optional["PayoutIntentListParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "ListObject[PayoutIntent]": + """ + Returns a list of PayoutIntents. + """ + return cast( + "ListObject[PayoutIntent]", + self._request( + "get", + "/v2/money_management/payout_intents", + base_address="api", + params=params, + options=options, + ), + ) + + async def list_async( + self, + params: Optional["PayoutIntentListParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "ListObject[PayoutIntent]": + """ + Returns a list of PayoutIntents. + """ + return cast( + "ListObject[PayoutIntent]", + await self._request_async( + "get", + "/v2/money_management/payout_intents", + base_address="api", + params=params, + options=options, + ), + ) + + def create( + self, + params: "PayoutIntentCreateParams", + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Creates a PayoutIntent. + """ + return cast( + "PayoutIntent", + self._request( + "post", + "/v2/money_management/payout_intents", + base_address="api", + params=params, + options=options, + ), + ) + + async def create_async( + self, + params: "PayoutIntentCreateParams", + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Creates a PayoutIntent. + """ + return cast( + "PayoutIntent", + await self._request_async( + "post", + "/v2/money_management/payout_intents", + base_address="api", + params=params, + options=options, + ), + ) + + def retrieve( + self, + id: str, + /, + params: Optional["PayoutIntentRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Retrieves the details of an existing PayoutIntent by passing the unique PayoutIntent ID. + """ + return cast( + "PayoutIntent", + self._request( + "get", + "/v2/money_management/payout_intents/{id}".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def retrieve_async( + self, + id: str, + /, + params: Optional["PayoutIntentRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Retrieves the details of an existing PayoutIntent by passing the unique PayoutIntent ID. + """ + return cast( + "PayoutIntent", + await self._request_async( + "get", + "/v2/money_management/payout_intents/{id}".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + def update( + self, + id: str, + /, + params: Optional["PayoutIntentUpdateParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Updates an editable PayoutIntent in the `pending` or `requires_action` state. + """ + return cast( + "PayoutIntent", + self._request( + "post", + "/v2/money_management/payout_intents/{id}".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def update_async( + self, + id: str, + /, + params: Optional["PayoutIntentUpdateParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Updates an editable PayoutIntent in the `pending` or `requires_action` state. + """ + return cast( + "PayoutIntent", + await self._request_async( + "post", + "/v2/money_management/payout_intents/{id}".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + def cancel( + self, + id: str, + /, + params: Optional["PayoutIntentCancelParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Cancels a PayoutIntent in the `pending` or `requires_action` state, or a `processing` PayoutIntent with a cancelable OutboundPayment. + """ + return cast( + "PayoutIntent", + self._request( + "post", + "/v2/money_management/payout_intents/{id}/cancel".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def cancel_async( + self, + id: str, + /, + params: Optional["PayoutIntentCancelParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Cancels a PayoutIntent in the `pending` or `requires_action` state, or a `processing` PayoutIntent with a cancelable OutboundPayment. + """ + return cast( + "PayoutIntent", + await self._request_async( + "post", + "/v2/money_management/payout_intents/{id}/cancel".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + def confirm( + self, + id: str, + /, + params: Optional["PayoutIntentConfirmParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Confirms a PayoutIntent in the `requires_action` state, transitioning it to `pending`. + """ + return cast( + "PayoutIntent", + self._request( + "post", + "/v2/money_management/payout_intents/{id}/confirm".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def confirm_async( + self, + id: str, + /, + params: Optional["PayoutIntentConfirmParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Confirms a PayoutIntent in the `requires_action` state, transitioning it to `pending`. + """ + return cast( + "PayoutIntent", + await self._request_async( + "post", + "/v2/money_management/payout_intents/{id}/confirm".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + def refresh_fx_quote( + self, + id: str, + /, + params: Optional["PayoutIntentRefreshFxQuoteParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Refreshes the FX quote for a PayoutIntent. + """ + return cast( + "PayoutIntent", + self._request( + "post", + "/v2/money_management/payout_intents/{id}/refresh_fx_quote".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def refresh_fx_quote_async( + self, + id: str, + /, + params: Optional["PayoutIntentRefreshFxQuoteParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Refreshes the FX quote for a PayoutIntent. + """ + return cast( + "PayoutIntent", + await self._request_async( + "post", + "/v2/money_management/payout_intents/{id}/refresh_fx_quote".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + def refresh_recipient_verification( + self, + id: str, + /, + params: Optional[ + "PayoutIntentRefreshRecipientVerificationParams" + ] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Refreshes the recipient verification for a PayoutIntent. + """ + return cast( + "PayoutIntent", + self._request( + "post", + "/v2/money_management/payout_intents/{id}/refresh_recipient_verification".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def refresh_recipient_verification_async( + self, + id: str, + /, + params: Optional[ + "PayoutIntentRefreshRecipientVerificationParams" + ] = None, + options: Optional["RequestOptions"] = None, + ) -> "PayoutIntent": + """ + Refreshes the recipient verification for a PayoutIntent. + """ + return cast( + "PayoutIntent", + await self._request_async( + "post", + "/v2/money_management/payout_intents/{id}/refresh_recipient_verification".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) diff --git a/stripe/v2/money_management/_payout_method.py b/stripe/v2/money_management/_payout_method.py index 8a5b9fe76..5ee3deb80 100644 --- a/stripe/v2/money_management/_payout_method.py +++ b/stripe/v2/money_management/_payout_method.py @@ -49,6 +49,11 @@ class BankAccount(StripeObject): """ The ID of the Financial Connections Account used to create the bank account. """ + fingerprint: Optional[str] + """ + Uniquely identifies this particular bank account. You can use this attribute to check whether two + recipients who've signed up with you are using the same bank account, for example. + """ last4: str """ The last 4 digits of the account number. @@ -89,6 +94,33 @@ class Card(StripeObject): The list of currencies supported by this bank account. """ + class CryptoWallet(StripeObject): + address: str + """ + Destination wallet address. + """ + memo: Optional[str] + """ + Optional field, required if network supports memos (only "stellar" currently). + """ + network: Union[ + Literal[ + "arbitrum", + "avalanche_c_chain", + "base", + "ethereum", + "optimism", + "polygon", + "solana", + "stellar", + "tempo", + ], + str, + ] + """ + Which rail is being used to make an outbound money movement to this wallet. + """ + class UsageStatus(StripeObject): payments: Literal[ "disabled", "eligible", "ineligible", "invalid", "requires_action" @@ -131,6 +163,10 @@ class UsageStatus(StripeObject): """ Created timestamp. """ + crypto_wallet: Optional[CryptoWallet] + """ + The PayoutMethodCryptoWallet object details. + """ id: str """ ID of the PayoutMethod object. @@ -164,5 +200,6 @@ class UsageStatus(StripeObject): "alternative_reference": AlternativeReference, "bank_account": BankAccount, "card": Card, + "crypto_wallet": CryptoWallet, "usage_status": UsageStatus, } diff --git a/stripe/v2/money_management/_payout_method_service.py b/stripe/v2/money_management/_payout_method_service.py index 9fc31b429..6c6fa3e2f 100644 --- a/stripe/v2/money_management/_payout_method_service.py +++ b/stripe/v2/money_management/_payout_method_service.py @@ -119,8 +119,9 @@ def archive( options: Optional["RequestOptions"] = None, ) -> "PayoutMethod": """ - Archive a PayoutMethod object. Archived objects cannot be used as payout methods - and will not appear in the payout method list. + Archive a `PayoutMethod`. Archiving prevents the Payout Method from being used for outbound payments + or transfers and omits it from normal list results. To restore list visibility, use the + [unarchive endpoint](https://docs.stripe.com/api/v2/money-management/payout-methods/unarchive). """ return cast( "PayoutMethod", @@ -143,8 +144,9 @@ async def archive_async( options: Optional["RequestOptions"] = None, ) -> "PayoutMethod": """ - Archive a PayoutMethod object. Archived objects cannot be used as payout methods - and will not appear in the payout method list. + Archive a `PayoutMethod`. Archiving prevents the Payout Method from being used for outbound payments + or transfers and omits it from normal list results. To restore list visibility, use the + [unarchive endpoint](https://docs.stripe.com/api/v2/money-management/payout-methods/unarchive). """ return cast( "PayoutMethod", @@ -167,9 +169,9 @@ def disable( options: Optional["RequestOptions"] = None, ) -> "PayoutMethod": """ - Disable a PayoutMethod object. The payout method will not be available for use in outbound money movement. - To re-enable the payout method, create an OutboundSetupIntent - using [`POST /v2/money_management/outbound_setup_intents`](https://docs.stripe.com/api/v2/money-management/outbound-setup-intents/create). + Disable a `PayoutMethod`. Disabling temporarily prevents the Payout Method from being used for outbound + payments or transfers while keeping it in normal list results. To re-enable it, complete setup again by + [creating an Outbound Setup Intent](https://docs.stripe.com/api/v2/money-management/outbound-setup-intents/create). """ return cast( "PayoutMethod", @@ -192,9 +194,9 @@ async def disable_async( options: Optional["RequestOptions"] = None, ) -> "PayoutMethod": """ - Disable a PayoutMethod object. The payout method will not be available for use in outbound money movement. - To re-enable the payout method, create an OutboundSetupIntent - using [`POST /v2/money_management/outbound_setup_intents`](https://docs.stripe.com/api/v2/money-management/outbound-setup-intents/create). + Disable a `PayoutMethod`. Disabling temporarily prevents the Payout Method from being used for outbound + payments or transfers while keeping it in normal list results. To re-enable it, complete setup again by + [creating an Outbound Setup Intent](https://docs.stripe.com/api/v2/money-management/outbound-setup-intents/create). """ return cast( "PayoutMethod", @@ -217,7 +219,8 @@ def unarchive( options: Optional["RequestOptions"] = None, ) -> "PayoutMethod": """ - Unarchive an PayoutMethod object. + Unarchive a `PayoutMethod`. Unarchiving restores the Payout Method to normal list results and clears + only its archived state. It doesn't guarantee that the Payout Method can be used. """ return cast( "PayoutMethod", @@ -240,7 +243,8 @@ async def unarchive_async( options: Optional["RequestOptions"] = None, ) -> "PayoutMethod": """ - Unarchive an PayoutMethod object. + Unarchive a `PayoutMethod`. Unarchiving restores the Payout Method to normal list results and clears + only its archived state. It doesn't guarantee that the Payout Method can be used. """ return cast( "PayoutMethod", diff --git a/stripe/v2/money_management/_received_credit.py b/stripe/v2/money_management/_received_credit.py index 0da97862d..3d2ecc327 100644 --- a/stripe/v2/money_management/_received_credit.py +++ b/stripe/v2/money_management/_received_credit.py @@ -51,28 +51,6 @@ class BalanceTransfer(StripeObject): """ class BankTransfer(StripeObject): - class GbBankAccount(StripeObject): - account_holder_name: Optional[str] - """ - The bank name the transfer was received from. - """ - bank_name: Optional[str] - """ - The bank name the transfer was received from. - """ - last4: Optional[str] - """ - The last 4 digits of the account number that originated the transfer. - """ - network: Union[Literal["chaps", "fps"], str] - """ - Open Enum. The money transmission network used to send funds for this ReceivedCredit. - """ - sort_code: Optional[str] - """ - The sort code of the account that originated the transfer. - """ - class OriginatingBankAccount(StripeObject): class Aba(StripeObject): account_holder_name: Optional[str] @@ -87,10 +65,6 @@ class Aba(StripeObject): """ The last 4 digits of the account number that originated the transfer. """ - network: Union[Literal["ach", "rtp", "us_domestic_wire"], str] - """ - Open Enum. The money transmission network used to send funds for this ReceivedCredit. - """ routing_number: Optional[str] """ The routing number of the account that originated the transfer. @@ -117,10 +91,6 @@ class Iban(StripeObject): """ The IBAN that originated the transfer. """ - network: Union[Literal["sepa_credit_transfer"], str] - """ - Open Enum. The money transmission network used to send funds for this ReceivedCredit. - """ class SortCode(StripeObject): account_holder_name: Optional[str] @@ -135,10 +105,6 @@ class SortCode(StripeObject): """ The last 4 digits of the account number that originated the transfer. """ - network: Union[Literal["chaps", "fps"], str] - """ - Open Enum. The money transmission network used to send funds for this ReceivedCredit. - """ sort_code: Optional[str] """ The sort code of the account that originated the transfer. @@ -166,83 +132,29 @@ class SortCode(StripeObject): "sort_code": SortCode, } - class SepaBankAccount(StripeObject): - account_holder_name: Optional[str] - """ - The account holder name of the bank account the transfer was received from. - """ - bank_name: Optional[str] - """ - The bank name the transfer was received from. - """ - bic: Optional[str] - """ - The BIC of the SEPA account. - """ - country: Optional[str] - """ - The origination country of the bank transfer. - """ - iban: Optional[str] - """ - The IBAN that originated the transfer. - """ - network: Union[Literal["sepa_credit_transfer"], str] - """ - The money transmission network used to send funds for this ReceivedCredit. - """ - - class UsBankAccount(StripeObject): - account_holder_name: Optional[str] - """ - The name of the account holder that sent the payment. - """ - bank_name: Optional[str] - """ - The bank name the transfer was received from. - """ - last4: Optional[str] - """ - The last 4 digits of the account number that originated the transfer. - """ - network: Union[Literal["ach", "rtp", "us_domestic_wire"], str] - """ - Open Enum. The money transmission network used to send funds for this ReceivedCredit. - """ - routing_number: Optional[str] - """ - The routing number of the account that originated the transfer. - """ - financial_address: str """ Financial Address on which funds for ReceivedCredit were received. """ - gb_bank_account: Optional[GbBankAccount] + network: Union[ + Literal[ + "ach", "chaps", "fedwire", "fps", "rtp", "sepa", "sepa_instant" + ], + str, + ] """ - Deprecated. Use `originating_bank_account.sort_code` instead. + The money transmission network used to send funds for this ReceivedCredit. """ originating_bank_account: OriginatingBankAccount """ Hash containing the originating bank account details and type for this bank transfer. """ - sepa_bank_account: Optional[SepaBankAccount] - """ - Deprecated. Use `originating_bank_account.iban` instead. - """ statement_descriptor: Optional[str] """ Freeform string set by originator of the external ReceivedCredit. """ - us_bank_account: Optional[UsBankAccount] - """ - Deprecated. Use `originating_bank_account.aba` instead. - """ _inner_class_types = { - "gb_bank_account": GbBankAccount, "originating_bank_account": OriginatingBankAccount, - "sepa_bank_account": SepaBankAccount, - "us_bank_account": UsBankAccount, } class StatusDetails(StripeObject): @@ -295,11 +207,11 @@ class StatusTransitions(StripeObject): amount: Amount """ - The amount and currency of the ReceivedCredit. + The amount and currency credited to the FinancialAccount. """ amount_received: Amount """ - The amount and currency of the ReceivedCredit that was received. + The amount and currency Stripe received from the external source, before any conversion or fees. """ balance_transfer: Optional[BalanceTransfer] """ diff --git a/stripe/v2/money_management/_received_debit.py b/stripe/v2/money_management/_received_debit.py index e875eb3e8..c108c5d8e 100644 --- a/stripe/v2/money_management/_received_debit.py +++ b/stripe/v2/money_management/_received_debit.py @@ -8,7 +8,7 @@ class ReceivedDebit(StripeObject): """ - ReceivedDebit resource + Use ReceivedDebits API to retrieve information on when, where, and how funds are debited from your FinancialAccount. """ OBJECT_NAME: ClassVar[Literal["v2.money_management.received_debit"]] = ( diff --git a/stripe/v2/money_management/_recipient_verification.py b/stripe/v2/money_management/_recipient_verification.py new file mode 100644 index 000000000..c4f33beaa --- /dev/null +++ b/stripe/v2/money_management/_recipient_verification.py @@ -0,0 +1,131 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import StripeObject +from typing import ClassVar, Optional, Union +from typing_extensions import Literal + + +class RecipientVerification(StripeObject): + """ + RecipientVerification represents a verification of recipient you intend to send funds to. + """ + + OBJECT_NAME: ClassVar[ + Literal["v2.money_management.recipient_verification"] + ] = "v2.money_management.recipient_verification" + + class ConsumedBy(StripeObject): + outbound_payment: Optional[str] + """ + The ID of the OutboundPayment that consumed the RecipientVerification. + """ + outbound_transfer: Optional[str] + """ + The ID of the OutboundTransfer that consumed the RecipientVerification. + """ + type: Union[Literal["outbound_payment", "outbound_transfer"], str] + """ + The type of resource that consumed the RecipientVerification. + """ + + class MatchResultDetails(StripeObject): + matched_business_type: Optional[Literal["business", "personal"]] + """ + The business type matched by the provider. Only present for Confirmation of Payee (CoP) verifications. + """ + matched_name: Optional[str] + """ + The account name associated with the bank account as provided by the VoP provider, only present if there is a match or close match. + """ + message: str + """ + A message describing the match result. + """ + provided_business_type: Optional[Literal["business", "personal"]] + """ + The business type provided by the user. Only present for Confirmation of Payee (CoP) verifications. + """ + provided_name: str + """ + The name associated with the provided recipient. + """ + + class StatusTransitions(StripeObject): + acknowledged_at: Optional[str] + """ + Timestamp describing when a RecipientVerification changed status to `acknowledged`. + Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + """ + consumed_at: Optional[str] + """ + Timestamp describing when a RecipientVerification changed status to `consumed`. + Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + """ + + consumed_by: Optional[ConsumedBy] + """ + The resource that consumed this verification. + """ + created: str + """ + Time at which the RecipientVerification was created. + Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + """ + expires_at: Optional[str] + """ + Time at which the RecipientVerification expires, 5 minutes after the creation. Only applicable for Verification of Payee (VoP) verifications. + Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + """ + id: str + """ + The ID of the RecipientVerification. + """ + livemode: bool + """ + Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + """ + match_result: Literal["close_match", "match", "no_match", "unavailable"] + """ + Closed Enum. Match level of the RecipientVerification: `match`, `close_match`, `no_match`, `unavailable`. + """ + match_result_details: MatchResultDetails + """ + Details for the match result. + """ + object: Literal["v2.money_management.recipient_verification"] + """ + String representing the object's type. Objects of the same type share the same value of the object field. + """ + payout_method: str + """ + ID of the payout method that was verified. + """ + recipient: Optional[str] + """ + ID of the recipient account. Omitted for same-entity payouts. + """ + status: Literal[ + "acknowledged", + "awaiting_acknowledgement", + "consumed", + "expired", + "verified", + ] + """ + Current status of the recipient verification. + """ + status_transitions: Optional[StatusTransitions] + """ + Hash containing timestamps of when the object transitioned to a particular status. + """ + verification_type: Union[ + Literal["confirmation_of_payee", "verification_of_payee"], str + ] + """ + Open Enum. The type of verification performed: `verification_of_payee`, `confirmation_of_payee`. + """ + _inner_class_types = { + "consumed_by": ConsumedBy, + "match_result_details": MatchResultDetails, + "status_transitions": StatusTransitions, + } diff --git a/stripe/v2/money_management/_recipient_verification_service.py b/stripe/v2/money_management/_recipient_verification_service.py new file mode 100644 index 000000000..b8ddc0119 --- /dev/null +++ b/stripe/v2/money_management/_recipient_verification_service.py @@ -0,0 +1,153 @@ +# -*- 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.money_management._recipient_verification_acknowledge_params import ( + RecipientVerificationAcknowledgeParams, + ) + from stripe.params.v2.money_management._recipient_verification_create_params import ( + RecipientVerificationCreateParams, + ) + from stripe.params.v2.money_management._recipient_verification_retrieve_params import ( + RecipientVerificationRetrieveParams, + ) + from stripe.v2.money_management._recipient_verification import ( + RecipientVerification, + ) + + +class RecipientVerificationService(StripeService): + def create( + self, + params: "RecipientVerificationCreateParams", + options: Optional["RequestOptions"] = None, + ) -> "RecipientVerification": + """ + Creates a RecipientVerification to verify the recipient you intend to send funds to. + """ + return cast( + "RecipientVerification", + self._request( + "post", + "/v2/money_management/recipient_verifications", + base_address="api", + params=params, + options=options, + ), + ) + + async def create_async( + self, + params: "RecipientVerificationCreateParams", + options: Optional["RequestOptions"] = None, + ) -> "RecipientVerification": + """ + Creates a RecipientVerification to verify the recipient you intend to send funds to. + """ + return cast( + "RecipientVerification", + await self._request_async( + "post", + "/v2/money_management/recipient_verifications", + base_address="api", + params=params, + options=options, + ), + ) + + def retrieve( + self, + id: str, + /, + params: Optional["RecipientVerificationRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "RecipientVerification": + """ + Retrieves the details of an existing RecipientVerification by passing the unique RecipientVerification ID. + """ + return cast( + "RecipientVerification", + self._request( + "get", + "/v2/money_management/recipient_verifications/{id}".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def retrieve_async( + self, + id: str, + /, + params: Optional["RecipientVerificationRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "RecipientVerification": + """ + Retrieves the details of an existing RecipientVerification by passing the unique RecipientVerification ID. + """ + return cast( + "RecipientVerification", + await self._request_async( + "get", + "/v2/money_management/recipient_verifications/{id}".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + def acknowledge( + self, + id: str, + /, + params: Optional["RecipientVerificationAcknowledgeParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "RecipientVerification": + """ + Acknowledges an existing RecipientVerification in the `awaiting_acknowledgement` state. + """ + return cast( + "RecipientVerification", + self._request( + "post", + "/v2/money_management/recipient_verifications/{id}/acknowledge".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def acknowledge_async( + self, + id: str, + /, + params: Optional["RecipientVerificationAcknowledgeParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "RecipientVerification": + """ + Acknowledges an existing RecipientVerification in the `awaiting_acknowledgement` state. + """ + return cast( + "RecipientVerification", + await self._request_async( + "post", + "/v2/money_management/recipient_verifications/{id}/acknowledge".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) diff --git a/stripe/v2/money_management/_transaction.py b/stripe/v2/money_management/_transaction.py index b8ee5bd3b..80e9cbe57 100644 --- a/stripe/v2/money_management/_transaction.py +++ b/stripe/v2/money_management/_transaction.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # File generated from our OpenAPI spec -from stripe._stripe_object import StripeObject +from stripe._stripe_object import StripeObject, UntypedStripeObject from stripe.v2._amount import Amount from typing import ClassVar, Optional, Union from typing_extensions import Literal @@ -8,7 +8,8 @@ class Transaction(StripeObject): """ - Use Transactions to view changes to your FinancialAccount balance over time. Every flow that moves money, such as OutboundPayments or ReceivedCredits, will have one or more Transactions that describes how the flow impacted your balance. Note that while the FinancialAccount balance will always be up to date, be aware that Transactions and TransactionEntries are created shortly after to reflect changes. + A Transaction records how a money movement flow affects your FinancialAccount balance. + A flow can create one or more Transactions. """ OBJECT_NAME: ClassVar[Literal["v2.money_management.transaction"]] = ( @@ -18,15 +19,15 @@ class Transaction(StripeObject): class BalanceImpact(StripeObject): available: Amount """ - Impact to the available balance. + The change to the available balance. """ inbound_pending: Amount """ - Impact to the inbound_pending balance. + The change to the `inbound_pending` balance. """ outbound_pending: Amount """ - Impact to the outbound_pending balance. + The change to the `outbound_pending` balance. """ class Counterparty(StripeObject): @@ -42,11 +43,11 @@ class Flow(StripeObject): """ currency_conversion: Optional[str] """ - In the future, this will be the ID of the currency conversion that created this Transaction. For now, this field is always null. + When available, the ID of the CurrencyConversion that created this Transaction. """ - fee_transaction: Optional[str] + fee_batch: Optional[str] """ - If applicable, the ID of the FeeTransaction that created this Transaction. + If applicable, the ID of the FeeBatch that created this Transaction. """ inbound_transfer: Optional[str] """ @@ -72,7 +73,7 @@ class Flow(StripeObject): Literal[ "adjustment", "currency_conversion", - "fee_transaction", + "fee_batch", "inbound_transfer", "outbound_payment", "outbound_transfer", @@ -82,17 +83,33 @@ class Flow(StripeObject): str, ] """ - Open Enum. Type of the flow that created the Transaction. The field matching this value will contain the ID of the flow. + Open Enum. The type of flow that created the Transaction. When available, the flow's ID is provided in the corresponding field. + """ + + class RegulatoryReceipt(StripeObject): + status: Literal[ + "available", "not_applicable", "pending", "url_expired" + ] + """ + Current availability of the regulatory receipt. + """ + url: Optional[str] + """ + Hosted URL for the receipt. + """ + url_expires_at: Optional[str] + """ + Time until which `url` is valid. """ class StatusTransitions(StripeObject): posted_at: Optional[str] """ - The time at which the Transaction became posted. Only present if status == posted. + The time at which the Transaction became `posted`. Only present when `status` is `posted`. """ void_at: Optional[str] """ - The time at which the Transaction became void. Only present if status == void. + The time at which the Transaction became `void`. Only present when `status` is `void`. """ amount: Amount @@ -101,8 +118,8 @@ class StatusTransitions(StripeObject): """ balance_impact: BalanceImpact """ - The delta to the FinancialAccount's balance. The balance_impact for the Transaction is equal to sum of its - TransactionEntries that have `effective_at`s in the past. + The change to the FinancialAccount's balance. This is the sum of the balance impacts of this Transaction's + TransactionEntries with `effective_at` timestamps in the past. """ category: Union[ Literal[ @@ -124,28 +141,31 @@ class StatusTransitions(StripeObject): str, ] """ - Open Enum. A descriptive category used to classify the Transaction. + Open Enum. A category used to classify the Transaction. """ counterparty: Optional[Counterparty] """ - Counterparty to this Transaction. + Details about the counterparty to this Transaction. """ created: str """ - Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + Time at which the object was created. Represented as an RFC 3339 timestamp in UTC with millisecond precision, for example `2022-09-18T13:22:18.123Z`. """ description: Optional[str] """ - Description of this Transaction. When applicable, the description is copied from the Flow object at the time - of transaction creation. + A description of the Transaction. When applicable, the description is copied from the flow object when + the Transaction is created. You can update it using the Update Transaction endpoint. """ financial_account: str """ - Indicates the FinancialAccount affected by this Transaction. + The ID of the FinancialAccount affected by this Transaction. """ flow: Optional[Flow] """ - Details about the Flow object that created the Transaction. + Details about the flow object that created the Transaction, such as an InboundTransfer or OutboundPayment. + `flow.type` identifies the kind of object. The corresponding field contains its ID, when available: + for an InboundTransfer, `flow.inbound_transfer` contains the InboundTransfer's ID. Pass that ID to + the `flow` parameter on List Transactions. """ id: str """ @@ -155,25 +175,35 @@ class StatusTransitions(StripeObject): """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ + metadata: Optional[UntypedStripeObject[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. + """ object: Literal["v2.money_management.transaction"] """ String representing the object's type. Objects of the same type share the same value of the object field. """ + regulatory_receipt: RegulatoryReceipt + """ + Hosted transaction receipt that is provided when money movement is considered regulated under Stripe's money transmission licenses. If not applicable, `regulatory_receipt.status` will be `not_applicable` and no URL will be provided unless you opt in by calling `/refresh_regulatory_receipt`. + """ status: Literal["pending", "posted", "void"] """ - Closed Enum. Current status of the Transaction. + Closed Enum. The current status of the Transaction. A Transaction is `pending` if either `balance_impact.inbound_pending` or `balance_impact.outbound_pending` is non-zero. A Transaction is `posted` if only `balance_impact.available` is non-zero. A Transaction is `void` if there is no balance impact. - `posted` and `void` are terminal states, and no additional entries will be added to the Transaction. + `posted` and `void` are terminal states, and no additional TransactionEntries will be added to the Transaction. """ status_transitions: StatusTransitions """ - Timestamps for when the Transaction transitioned to a particular status. + Timestamps for when the Transaction transitioned to each status. """ _inner_class_types = { "balance_impact": BalanceImpact, "counterparty": Counterparty, "flow": Flow, + "regulatory_receipt": RegulatoryReceipt, "status_transitions": StatusTransitions, } diff --git a/stripe/v2/money_management/_transaction_entry.py b/stripe/v2/money_management/_transaction_entry.py index f1a588dfd..e5b50dd37 100644 --- a/stripe/v2/money_management/_transaction_entry.py +++ b/stripe/v2/money_management/_transaction_entry.py @@ -8,7 +8,7 @@ class TransactionEntry(StripeObject): """ - TransactionEntries represent individual money movements across different states within a Transaction. + TransactionEntries model funds moving between availability states for a given Transaction. """ OBJECT_NAME: ClassVar[Literal["v2.money_management.transaction_entry"]] = ( @@ -18,15 +18,15 @@ class TransactionEntry(StripeObject): class BalanceImpact(StripeObject): available: Amount """ - Impact to the available balance. + The change to the available balance. """ inbound_pending: Amount """ - Impact to the inbound_pending balance. + The change to the `inbound_pending` balance. """ outbound_pending: Amount """ - Impact to the outbound_pending balance. + The change to the `outbound_pending` balance. """ class TransactionDetails(StripeObject): @@ -37,11 +37,11 @@ class Flow(StripeObject): """ currency_conversion: Optional[str] """ - In the future, this will be the ID of the currency conversion that created this Transaction. For now, this field is always null. + When available, the ID of the CurrencyConversion that created this Transaction. """ - fee_transaction: Optional[str] + fee_batch: Optional[str] """ - If applicable, the ID of the FeeTransaction that created this Transaction. + If applicable, the ID of the FeeBatch that created this Transaction. """ inbound_transfer: Optional[str] """ @@ -67,7 +67,7 @@ class Flow(StripeObject): Literal[ "adjustment", "currency_conversion", - "fee_transaction", + "fee_batch", "inbound_transfer", "outbound_payment", "outbound_transfer", @@ -77,7 +77,7 @@ class Flow(StripeObject): str, ] """ - Open Enum. Type of the flow that created the Transaction. The field matching this value will contain the ID of the flow. + Open Enum. The type of flow that created the Transaction. When available, the flow's ID is provided in the corresponding field. """ category: Union[ @@ -100,29 +100,34 @@ class Flow(StripeObject): str, ] """ - Closed Enum for now, and will be turned into an Open Enum soon. A descriptive category used to classify the Transaction. + Open Enum. The category of this TransactionEntry's parent Transaction. """ financial_account: str """ - Indicates the FinancialAccount affected by this Transaction. + The ID of the FinancialAccount affected by this Transaction. """ flow: Optional[Flow] """ - Details about the Flow object that created the Transaction. + Details about the flow object that created the Transaction this entry belongs to, such as an + InboundTransfer or OutboundPayment. `transaction_details.flow.type` identifies the kind of object. + The corresponding field contains its ID, when available: for an InboundTransfer, + `transaction_details.flow.inbound_transfer` contains the InboundTransfer's ID. To list entries for + the parent Transaction, pass the TransactionEntry's `transaction` ID to the `transaction` parameter + on List Transaction Entries. """ _inner_class_types = {"flow": Flow} balance_impact: BalanceImpact """ - The delta to the FinancialAccount's balance. + The change to the FinancialAccount's balance that takes effect at this TransactionEntry's `effective_at` timestamp. """ created: str """ - Time at which the object was created. + Time at which the object was created. Represented as an RFC 3339 timestamp in UTC with millisecond precision, for example `2022-09-18T13:22:18.123Z`. """ effective_at: str """ - Time at which the entry impacted (or will impact if it's in the future) the FinancialAccount balance. + Time at which the TransactionEntry affects the FinancialAccount balance. This can be in the past or future. """ id: str """ @@ -138,11 +143,11 @@ class Flow(StripeObject): """ transaction: str """ - The Transaction that this TransactionEntry belongs to. + The ID of the Transaction that this TransactionEntry belongs to. """ transaction_details: TransactionDetails """ - Details copied from the transaction that this TransactionEntry belongs to. + Details copied from the Transaction that this TransactionEntry belongs to. """ _inner_class_types = { "balance_impact": BalanceImpact, diff --git a/stripe/v2/money_management/_transaction_service.py b/stripe/v2/money_management/_transaction_service.py index 08b1bb2b6..678e9a3da 100644 --- a/stripe/v2/money_management/_transaction_service.py +++ b/stripe/v2/money_management/_transaction_service.py @@ -10,9 +10,15 @@ from stripe.params.v2.money_management._transaction_list_params import ( TransactionListParams, ) + from stripe.params.v2.money_management._transaction_refresh_regulatory_receipt_params import ( + TransactionRefreshRegulatoryReceiptParams, + ) from stripe.params.v2.money_management._transaction_retrieve_params import ( TransactionRetrieveParams, ) + from stripe.params.v2.money_management._transaction_update_params import ( + TransactionUpdateParams, + ) from stripe.v2._list_object import ListObject from stripe.v2.money_management._transaction import Transaction @@ -101,3 +107,95 @@ async def retrieve_async( options=options, ), ) + + def update( + self, + id: str, + /, + params: Optional["TransactionUpdateParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "Transaction": + """ + Updates an existing Transaction. You can update its description and metadata. + """ + return cast( + "Transaction", + self._request( + "post", + "/v2/money_management/transactions/{id}".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def update_async( + self, + id: str, + /, + params: Optional["TransactionUpdateParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "Transaction": + """ + Updates an existing Transaction. You can update its description and metadata. + """ + return cast( + "Transaction", + await self._request_async( + "post", + "/v2/money_management/transactions/{id}".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + def refresh_regulatory_receipt( + self, + id: str, + /, + params: Optional["TransactionRefreshRegulatoryReceiptParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "Transaction": + """ + Creates a fresh hosted URL for a Transaction's regulatory receipt. + """ + return cast( + "Transaction", + self._request( + "post", + "/v2/money_management/transactions/{id}/refresh_regulatory_receipt".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def refresh_regulatory_receipt_async( + self, + id: str, + /, + params: Optional["TransactionRefreshRegulatoryReceiptParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "Transaction": + """ + Creates a fresh hosted URL for a Transaction's regulatory receipt. + """ + return cast( + "Transaction", + await self._request_async( + "post", + "/v2/money_management/transactions/{id}/refresh_regulatory_receipt".format( + id=sanitize_id(id), + ), + base_address="api", + params=params, + options=options, + ), + ) diff --git a/stripe/v2/signals/_account_activity.py b/stripe/v2/signals/_account_activity.py index 98c04b942..09fe64664 100644 --- a/stripe/v2/signals/_account_activity.py +++ b/stripe/v2/signals/_account_activity.py @@ -50,6 +50,10 @@ class BusinessDetails(StripeObject): """ _inner_class_types = {"business_details": BusinessDetails} + contact_email: Optional[str] + """ + The account's contact email. + """ defaults: Optional[Defaults] """ Default account settings. @@ -66,7 +70,7 @@ class BusinessDetails(StripeObject): """ customer: Optional[str] """ - The v1 customer ID of the account, for users not yet migrated to v2/accounts. + The v1 customer ID of the account, for users not yet migrated to v2 accounts. """ data: Optional[Data] """ diff --git a/stripe/v2/signals/_account_evaluation.py b/stripe/v2/signals/_account_evaluation.py index 6ba2fd734..f2479c252 100644 --- a/stripe/v2/signals/_account_evaluation.py +++ b/stripe/v2/signals/_account_evaluation.py @@ -57,6 +57,10 @@ class BusinessDetails(StripeObject): """ _inner_class_types = {"business_details": BusinessDetails} + contact_email: Optional[str] + """ + The account's contact email. + """ defaults: Optional[Defaults] """ Default account settings. @@ -73,7 +77,7 @@ class BusinessDetails(StripeObject): """ customer: Optional[str] """ - The v1 customer ID of the account, for users not yet migrated to v2/accounts. + The v1 customer ID of the account, for users not yet migrated to v2 accounts. """ data: Optional[Data] """ diff --git a/stripe/v2/signals/_account_evaluation_service.py b/stripe/v2/signals/_account_evaluation_service.py index 83ad3a5c8..a461b2ec2 100644 --- a/stripe/v2/signals/_account_evaluation_service.py +++ b/stripe/v2/signals/_account_evaluation_service.py @@ -63,7 +63,7 @@ def retrieve( options: Optional["RequestOptions"] = None, ) -> "AccountEvaluation": """ - Retrieves an AccountEvaluation by its ID. + Retrieves an AccountEvaluation by its ID when its created timestamp is no more than 90 days old. """ return cast( "AccountEvaluation", @@ -86,7 +86,7 @@ async def retrieve_async( options: Optional["RequestOptions"] = None, ) -> "AccountEvaluation": """ - Retrieves an AccountEvaluation by its ID. + Retrieves an AccountEvaluation by its ID when its created timestamp is no more than 90 days old. """ return cast( "AccountEvaluation", diff --git a/stripe/v2/signals/_account_signal_service.py b/stripe/v2/signals/_account_signal_service.py index 3a4bc2a8b..5e19a5766 100644 --- a/stripe/v2/signals/_account_signal_service.py +++ b/stripe/v2/signals/_account_signal_service.py @@ -24,7 +24,7 @@ def list( options: Optional["RequestOptions"] = None, ) -> "ListObject[AccountSignal]": """ - Lists the latest AccountSignals for a given account or customer, filtered by signal type. Note that this endpoint returns only the latest signal for each requested signal type. + Lists AccountSignals whose created timestamps are no more than 90 days old for a given account or customer. Returns only the latest AccountSignal for each requested signal type. """ return cast( "ListObject[AccountSignal]", @@ -43,7 +43,7 @@ async def list_async( options: Optional["RequestOptions"] = None, ) -> "ListObject[AccountSignal]": """ - Lists the latest AccountSignals for a given account or customer, filtered by signal type. Note that this endpoint returns only the latest signal for each requested signal type. + Lists AccountSignals whose created timestamps are no more than 90 days old for a given account or customer. Returns only the latest AccountSignal for each requested signal type. """ return cast( "ListObject[AccountSignal]", @@ -64,7 +64,7 @@ def retrieve( options: Optional["RequestOptions"] = None, ) -> "AccountSignal": """ - Retrieves an AccountSignal by its ID. + Retrieves an AccountSignal by its ID when its created timestamp is no more than 90 days old. """ return cast( "AccountSignal", @@ -85,7 +85,7 @@ async def retrieve_async( options: Optional["RequestOptions"] = None, ) -> "AccountSignal": """ - Retrieves an AccountSignal by its ID. + Retrieves an AccountSignal by its ID when its created timestamp is no more than 90 days old. """ return cast( "AccountSignal", diff --git a/stripe/v2/test_helpers/__init__.py b/stripe/v2/test_helpers/__init__.py new file mode 100644 index 000000000..7c3d0ecad --- /dev/null +++ b/stripe/v2/test_helpers/__init__.py @@ -0,0 +1,32 @@ +# -*- 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.test_helpers._money_management_service import ( + MoneyManagementService as MoneyManagementService, + ) + +# name -> (import_target, is_submodule) +_import_map = { + "MoneyManagementService": ( + "stripe.v2.test_helpers._money_management_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() diff --git a/stripe/v2/test_helpers/_money_management_service.py b/stripe/v2/test_helpers/_money_management_service.py new file mode 100644 index 000000000..a9788072d --- /dev/null +++ b/stripe/v2/test_helpers/_money_management_service.py @@ -0,0 +1,54 @@ +# -*- 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.test_helpers._money_management_recipient_verifications_params import ( + MoneyManagementRecipientVerificationsParams, + ) + from stripe.v2.money_management._recipient_verification import ( + RecipientVerification, + ) + + +class MoneyManagementService(StripeService): + def recipient_verifications( + self, + params: "MoneyManagementRecipientVerificationsParams", + options: Optional["RequestOptions"] = None, + ) -> "RecipientVerification": + """ + Creates a RecipientVerification with a specified match result for testing purposes in a Sandbox environment. + """ + return cast( + "RecipientVerification", + self._request( + "post", + "/v2/test_helpers/money_management/recipient_verifications", + base_address="api", + params=params, + options=options, + ), + ) + + async def recipient_verifications_async( + self, + params: "MoneyManagementRecipientVerificationsParams", + options: Optional["RequestOptions"] = None, + ) -> "RecipientVerification": + """ + Creates a RecipientVerification with a specified match result for testing purposes in a Sandbox environment. + """ + return cast( + "RecipientVerification", + await self._request_async( + "post", + "/v2/test_helpers/money_management/recipient_verifications", + base_address="api", + params=params, + options=options, + ), + ) diff --git a/tests/test_error.py b/tests/test_error.py index 73de812ac..f7d386eb9 100644 --- a/tests/test_error.py +++ b/tests/test_error.py @@ -2,8 +2,37 @@ import json - -from stripe._error import StripeError, CardError, APIConnectionError +import pickle + +import pytest + +from stripe._error import ( + APIConnectionError, + APIError, + AuthenticationError, + CardError, + IdempotencyError, + InvalidRequestError, + PermissionError, + RateLimitError, + SignatureVerificationError, + StripeError, + StripeErrorWithParamCode, + TemporarySessionExpiredError, +) + + +def assert_error_round_trips(err): + json_args = json.loads(json.dumps(err.args)) + round_tripped_errors = ( + pickle.loads(pickle.dumps(err)), + type(err)(*json_args), + ) + + for round_tripped in round_tripped_errors: + assert type(round_tripped) is type(err) + assert round_tripped.args == err.args + assert vars(round_tripped) == vars(err) class TestStripeError(object): @@ -114,3 +143,66 @@ def test_default_no_retry(self): err = APIConnectionError("msg", should_retry=True) assert err.should_retry + + +@pytest.mark.parametrize( + "error_class", + [ + StripeError, + APIError, + AuthenticationError, + IdempotencyError, + PermissionError, + RateLimitError, + StripeErrorWithParamCode, + TemporarySessionExpiredError, + ], +) +def test_stripe_error_round_trips(error_class): + err = error_class( + message="message", + http_body=b"body", + http_status=400, + json_body={"error": {"code": "error_code"}}, + headers={"request-id": "req_123"}, + code="error_code", + ) + + assert_error_round_trips(err) + + +@pytest.mark.parametrize( + "err", + [ + APIConnectionError( + "message", + b"body", + 400, + {"error": {"code": "error_code"}}, + {"request-id": "req_123"}, + "error_code", + True, + ), + CardError( + "message", + "param", + "error_code", + b"body", + 402, + {"error": {"code": "error_code"}}, + {"request-id": "req_123"}, + ), + InvalidRequestError( + message="message", + param="param", + code="error_code", + http_body=b"body", + http_status=400, + json_body={"error": {"code": "error_code"}}, + headers={"request-id": "req_123"}, + ), + SignatureVerificationError("message", "signature", b"body"), + ], +) +def test_stripe_error_with_custom_constructor_round_trips(err): + assert_error_round_trips(err) diff --git a/tests/test_generated_examples.py b/tests/test_generated_examples.py index 6666a7264..57175af54 100644 --- a/tests/test_generated_examples.py +++ b/tests/test_generated_examples.py @@ -45103,30 +45103,6 @@ def test_v2_core_vault_gb_bank_account_get_2_service( def test_v2_core_vault_gb_bank_account_post_2_service( self, http_client_mock: HTTPClientMock - ) -> None: - http_client_mock.stub_request( - "post", - "/v2/core/vault/gb_bank_accounts/id_123/acknowledge_confirmation_of_payee", - ) - client = StripeClient( - "sk_test_123", - http_client=http_client_mock.get_mock_http_client(), - ) - - client.v2.core.vault.gb_bank_accounts.acknowledge_confirmation_of_payee( - "id_123", - ) - http_client_mock.assert_requested( - "post", - path="/v2/core/vault/gb_bank_accounts/id_123/acknowledge_confirmation_of_payee", - query_string="", - api_base="https://api.stripe.com", - post_data="{}", - is_json=True, - ) - - def test_v2_core_vault_gb_bank_account_post_3_service( - self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", @@ -45147,24 +45123,22 @@ def test_v2_core_vault_gb_bank_account_post_3_service( is_json=True, ) - def test_v2_core_vault_gb_bank_account_post_4_service( + def test_v2_core_vault_gb_bank_account_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", - "/v2/core/vault/gb_bank_accounts/id_123/initiate_confirmation_of_payee", + "/v2/core/vault/gb_bank_accounts/id_123/unarchive", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) - client.v2.core.vault.gb_bank_accounts.initiate_confirmation_of_payee( - "id_123", - ) + client.v2.core.vault.gb_bank_accounts.unarchive("id_123") http_client_mock.assert_requested( "post", - path="/v2/core/vault/gb_bank_accounts/id_123/initiate_confirmation_of_payee", + path="/v2/core/vault/gb_bank_accounts/id_123/unarchive", query_string="", api_base="https://api.stripe.com", post_data="{}", @@ -45326,6 +45300,174 @@ def test_v2_core_vault_us_bank_account_post_5_service( is_json=True, ) + def test_v2_core_vault_us_bank_account_post_6_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/core/vault/us_bank_accounts/id_123/unarchive", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.core.vault.us_bank_accounts.unarchive("id_123") + http_client_mock.assert_requested( + "post", + path="/v2/core/vault/us_bank_accounts/id_123/unarchive", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + + def test_v2_data_query_run_post_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/data/query_runs", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.data.query_runs.create( + { + "dataset": "analytical", + "format": "csv", + "query": {"sql": "sql"}, + } + ) + http_client_mock.assert_requested( + "post", + path="/v2/data/query_runs", + query_string="", + api_base="https://api.stripe.com", + post_data='{"dataset":"analytical","format":"csv","query":{"sql":"sql"}}', + is_json=True, + ) + + def test_v2_data_query_run_get_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "get", + "/v2/data/query_runs/id_123", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.data.query_runs.retrieve("id_123") + http_client_mock.assert_requested( + "get", + path="/v2/data/query_runs/id_123", + query_string="", + api_base="https://api.stripe.com", + ) + + def test_v2_data_report_get_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "get", + "/v2/data/reports", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.data.reports.list() + http_client_mock.assert_requested( + "get", + path="/v2/data/reports", + query_string="", + api_base="https://api.stripe.com", + ) + + def test_v2_data_report_get_2_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "get", + "/v2/data/reports/id_123", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.data.reports.retrieve("id_123") + http_client_mock.assert_requested( + "get", + path="/v2/data/reports/id_123", + query_string="", + api_base="https://api.stripe.com", + ) + + def test_v2_data_report_run_post_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/data/report_runs", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.data.report_runs.create( + { + "format": "csv", + "parameters": { + "int_key": 123, + "string_key": "value", + "boolean_key": True, + "object_key": { + "object_int_key": 123, + "object_string_key": "value", + "object_boolean_key": True, + }, + "array_key": [1, 2, 3], + }, + "report": {"id": "obj_123", "name": "name"}, + } + ) + http_client_mock.assert_requested( + "post", + path="/v2/data/report_runs", + query_string="", + api_base="https://api.stripe.com", + post_data='{"format":"csv","parameters":{"int_key":123,"string_key":"value","boolean_key":true,"object_key":{"object_int_key":123,"object_string_key":"value","object_boolean_key":true},"array_key":[1,2,3]},"report":{"id":"obj_123","name":"name"}}', + is_json=True, + ) + + def test_v2_data_report_run_get_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "get", + "/v2/data/report_runs/id_123", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.data.report_runs.retrieve("id_123") + http_client_mock.assert_requested( + "get", + path="/v2/data/report_runs/id_123", + query_string="", + api_base="https://api.stripe.com", + ) + def test_v2_data_reporting_query_run_post_service( self, http_client_mock: HTTPClientMock ) -> None: @@ -45368,6 +45510,46 @@ def test_v2_data_reporting_query_run_get_service( api_base="https://api.stripe.com", ) + def test_v2_data_schema_get_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "get", + "/v2/data/schemas", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.data.schemas.list() + http_client_mock.assert_requested( + "get", + path="/v2/data/schemas", + query_string="", + api_base="https://api.stripe.com", + ) + + def test_v2_data_schema_get_2_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "get", + "/v2/data/schemas/id_123", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.data.schemas.retrieve("id_123") + http_client_mock.assert_requested( + "get", + path="/v2/data/schemas/id_123", + query_string="", + api_base="https://api.stripe.com", + ) + def test_v2_extend_workflow_get_service( self, http_client_mock: HTTPClientMock ) -> None: @@ -45858,6 +46040,17 @@ def test_v2_money_management_outbound_payment_post_service( "to": { "currency": "usd", "payout_method": "payout_method", + "payout_method_options": { + "bank_account": { + "preferred_network_options": { + "ach": { + "submission": "next_day", + "transaction_purpose": "payroll", + }, + }, + "preferred_networks": ["rtp"], + }, + }, "recipient": "recipient", }, } @@ -45867,7 +46060,7 @@ def test_v2_money_management_outbound_payment_post_service( path="/v2/money_management/outbound_payments", query_string="", api_base="https://api.stripe.com", - post_data='{"amount":{"currency":"USD","value":96},"from":{"currency":"usd","financial_account":"financial_account"},"to":{"currency":"usd","payout_method":"payout_method","recipient":"recipient"}}', + post_data='{"amount":{"currency":"USD","value":96},"from":{"currency":"usd","financial_account":"financial_account"},"to":{"currency":"usd","payout_method":"payout_method","payout_method_options":{"bank_account":{"preferred_network_options":{"ach":{"submission":"next_day","transaction_purpose":"payroll"}},"preferred_networks":["rtp"]}},"recipient":"recipient"}}', is_json=True, ) @@ -45935,6 +46128,17 @@ def test_v2_money_management_outbound_payment_quote_post_service( "to": { "currency": "usd", "payout_method": "payout_method", + "payout_method_options": { + "bank_account": { + "preferred_network_options": { + "ach": { + "submission": "next_day", + "transaction_purpose": "payroll", + }, + }, + "preferred_networks": ["rtp"], + }, + }, "recipient": "recipient", }, } @@ -45944,7 +46148,7 @@ def test_v2_money_management_outbound_payment_quote_post_service( path="/v2/money_management/outbound_payment_quotes", query_string="", api_base="https://api.stripe.com", - post_data='{"amount":{"currency":"USD","value":96},"from":{"currency":"usd","financial_account":"financial_account"},"to":{"currency":"usd","payout_method":"payout_method","recipient":"recipient"}}', + post_data='{"amount":{"currency":"USD","value":96},"from":{"currency":"usd","financial_account":"financial_account"},"to":{"currency":"usd","payout_method":"payout_method","payout_method_options":{"bank_account":{"preferred_network_options":{"ach":{"submission":"next_day","transaction_purpose":"payroll"}},"preferred_networks":["rtp"]}},"recipient":"recipient"}}', is_json=True, ) @@ -46113,7 +46317,16 @@ def test_v2_money_management_outbound_transfer_post_service( "currency": "usd", "financial_account": "financial_account", }, - "to": {"currency": "usd", "payout_method": "payout_method"}, + "to": { + "currency": "usd", + "payout_method": "payout_method", + "payout_method_options": { + "bank_account": { + "preferred_network_options": {"ach": {}}, + "preferred_networks": ["fps"], + }, + }, + }, } ) http_client_mock.assert_requested( @@ -46121,7 +46334,7 @@ def test_v2_money_management_outbound_transfer_post_service( path="/v2/money_management/outbound_transfers", query_string="", api_base="https://api.stripe.com", - post_data='{"amount":{"currency":"USD","value":96},"from":{"currency":"usd","financial_account":"financial_account"},"to":{"currency":"usd","payout_method":"payout_method"}}', + post_data='{"amount":{"currency":"USD","value":96},"from":{"currency":"usd","financial_account":"financial_account"},"to":{"currency":"usd","payout_method":"payout_method","payout_method_options":{"bank_account":{"preferred_network_options":{"ach":{}},"preferred_networks":["fps"]}}}}', is_json=True, ) @@ -46167,128 +46380,326 @@ def test_v2_money_management_outbound_transfer_post_2_service( is_json=True, ) - def test_v2_money_management_payout_method_get_service( + def test_v2_money_management_payout_intent_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", - "/v2/money_management/payout_methods", + "/v2/money_management/payout_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) - client.v2.money_management.payout_methods.list() + client.v2.money_management.payout_intents.list() http_client_mock.assert_requested( "get", - path="/v2/money_management/payout_methods", + path="/v2/money_management/payout_intents", query_string="", api_base="https://api.stripe.com", ) - def test_v2_money_management_payout_method_get_2_service( + def test_v2_money_management_payout_intent_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( - "get", - "/v2/money_management/payout_methods/id_123", + "post", + "/v2/money_management/payout_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) - client.v2.money_management.payout_methods.retrieve("id_123") + client.v2.money_management.payout_intents.create( + { + "amount": {"currency": "USD", "value": 96}, + "from": { + "currency": "usd", + "financial_account": "financial_account", + }, + "to": { + "currency": "usd", + "payout_method": "payout_method", + "payout_method_options": { + "bank_account": { + "preferred_network_options": { + "ach": { + "submission": "next_day", + "transaction_purpose": "payroll", + }, + }, + "preferred_networks": ["rtp"], + }, + }, + "recipient": "recipient", + }, + } + ) http_client_mock.assert_requested( - "get", - path="/v2/money_management/payout_methods/id_123", + "post", + path="/v2/money_management/payout_intents", query_string="", api_base="https://api.stripe.com", + post_data='{"amount":{"currency":"USD","value":96},"from":{"currency":"usd","financial_account":"financial_account"},"to":{"currency":"usd","payout_method":"payout_method","payout_method_options":{"bank_account":{"preferred_network_options":{"ach":{"submission":"next_day","transaction_purpose":"payroll"}},"preferred_networks":["rtp"]}},"recipient":"recipient"}}', + is_json=True, ) - def test_v2_money_management_payout_method_post_service( + def test_v2_money_management_payout_intent_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( - "post", - "/v2/money_management/payout_methods/id_123/archive", + "get", + "/v2/money_management/payout_intents/id_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) - client.v2.money_management.payout_methods.archive("id_123") + client.v2.money_management.payout_intents.retrieve("id_123") http_client_mock.assert_requested( - "post", - path="/v2/money_management/payout_methods/id_123/archive", + "get", + path="/v2/money_management/payout_intents/id_123", query_string="", api_base="https://api.stripe.com", - post_data="{}", - is_json=True, ) - def test_v2_money_management_payout_method_post_2_service( + def test_v2_money_management_payout_intent_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", - "/v2/money_management/payout_methods/id_123/disable", + "/v2/money_management/payout_intents/id_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) - client.v2.money_management.payout_methods.disable("id_123") + client.v2.money_management.payout_intents.update("id_123") http_client_mock.assert_requested( "post", - path="/v2/money_management/payout_methods/id_123/disable", + path="/v2/money_management/payout_intents/id_123", query_string="", api_base="https://api.stripe.com", post_data="{}", is_json=True, ) - def test_v2_money_management_payout_method_post_3_service( + def test_v2_money_management_payout_intent_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", - "/v2/money_management/payout_methods/id_123/unarchive", + "/v2/money_management/payout_intents/id_123/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) - client.v2.money_management.payout_methods.unarchive("id_123") + client.v2.money_management.payout_intents.cancel("id_123") http_client_mock.assert_requested( "post", - path="/v2/money_management/payout_methods/id_123/unarchive", + path="/v2/money_management/payout_intents/id_123/cancel", query_string="", api_base="https://api.stripe.com", post_data="{}", is_json=True, ) - def test_v2_money_management_payout_methods_bank_account_spec_get_service( + def test_v2_money_management_payout_intent_post_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( - "get", - "/v2/money_management/payout_methods_bank_account_spec", + "post", + "/v2/money_management/payout_intents/id_123/confirm", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) - client.v2.money_management.payout_methods_bank_account_spec.retrieve() + client.v2.money_management.payout_intents.confirm("id_123") http_client_mock.assert_requested( - "get", - path="/v2/money_management/payout_methods_bank_account_spec", + "post", + path="/v2/money_management/payout_intents/id_123/confirm", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + + def test_v2_money_management_payout_intent_post_5_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/payout_intents/id_123/refresh_fx_quote", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.payout_intents.refresh_fx_quote("id_123") + http_client_mock.assert_requested( + "post", + path="/v2/money_management/payout_intents/id_123/refresh_fx_quote", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + + def test_v2_money_management_payout_intent_post_6_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/payout_intents/id_123/refresh_recipient_verification", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.payout_intents.refresh_recipient_verification( + "id_123" + ) + http_client_mock.assert_requested( + "post", + path="/v2/money_management/payout_intents/id_123/refresh_recipient_verification", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + + def test_v2_money_management_payout_method_get_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "get", + "/v2/money_management/payout_methods", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.payout_methods.list() + http_client_mock.assert_requested( + "get", + path="/v2/money_management/payout_methods", + query_string="", + api_base="https://api.stripe.com", + ) + + def test_v2_money_management_payout_method_get_2_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "get", + "/v2/money_management/payout_methods/id_123", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.payout_methods.retrieve("id_123") + http_client_mock.assert_requested( + "get", + path="/v2/money_management/payout_methods/id_123", + query_string="", + api_base="https://api.stripe.com", + ) + + def test_v2_money_management_payout_method_post_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/payout_methods/id_123/archive", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.payout_methods.archive("id_123") + http_client_mock.assert_requested( + "post", + path="/v2/money_management/payout_methods/id_123/archive", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + + def test_v2_money_management_payout_method_post_2_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/payout_methods/id_123/disable", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.payout_methods.disable("id_123") + http_client_mock.assert_requested( + "post", + path="/v2/money_management/payout_methods/id_123/disable", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + + def test_v2_money_management_payout_method_post_3_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/payout_methods/id_123/unarchive", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.payout_methods.unarchive("id_123") + http_client_mock.assert_requested( + "post", + path="/v2/money_management/payout_methods/id_123/unarchive", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + + def test_v2_money_management_payout_methods_bank_account_spec_get_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "get", + "/v2/money_management/payout_methods_bank_account_spec", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.payout_methods_bank_account_spec.retrieve() + http_client_mock.assert_requested( + "get", + path="/v2/money_management/payout_methods_bank_account_spec", query_string="", api_base="https://api.stripe.com", ) @@ -46373,6 +46784,76 @@ def test_v2_money_management_received_debit_get_2_service( api_base="https://api.stripe.com", ) + def test_v2_money_management_recipient_verification_post_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/recipient_verifications", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.recipient_verifications.create( + { + "payout_method": "payout_method", + } + ) + http_client_mock.assert_requested( + "post", + path="/v2/money_management/recipient_verifications", + query_string="", + api_base="https://api.stripe.com", + post_data='{"payout_method":"payout_method"}', + is_json=True, + ) + + def test_v2_money_management_recipient_verification_get_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "get", + "/v2/money_management/recipient_verifications/id_123", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.recipient_verifications.retrieve("id_123") + http_client_mock.assert_requested( + "get", + path="/v2/money_management/recipient_verifications/id_123", + query_string="", + api_base="https://api.stripe.com", + ) + + def test_v2_money_management_recipient_verification_post_2_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/recipient_verifications/id_123/acknowledge", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.recipient_verifications.acknowledge( + "id_123" + ) + http_client_mock.assert_requested( + "post", + path="/v2/money_management/recipient_verifications/id_123/acknowledge", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + def test_v2_money_management_test_helpers_financial_address_post_service( self, http_client_mock: HTTPClientMock ) -> None: @@ -46387,14 +46868,14 @@ def test_v2_money_management_test_helpers_financial_address_post_service( client.v2.money_management.test_helpers.financial_addresses.credit( "id_123", - {"amount": {"currency": "USD", "value": 96}, "network": "ach"}, + {"amount": {"currency": "USD", "value": 96}, "network": "wire"}, ) http_client_mock.assert_requested( "post", path="/v2/money_management/test_helpers/financial_addresses/id_123/credit", query_string="", api_base="https://api.stripe.com", - post_data='{"amount":{"currency":"USD","value":96},"network":"ach"}', + post_data='{"amount":{"currency":"USD","value":96},"network":"wire"}', is_json=True, ) @@ -46462,6 +46943,52 @@ def test_v2_money_management_transaction_get_2_service( api_base="https://api.stripe.com", ) + def test_v2_money_management_transaction_post_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/transactions/id_123", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.transactions.update("id_123") + http_client_mock.assert_requested( + "post", + path="/v2/money_management/transactions/id_123", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + + def test_v2_money_management_transaction_post_2_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/transactions/id_123/refresh_regulatory_receipt", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.money_management.transactions.refresh_regulatory_receipt( + "id_123", + ) + http_client_mock.assert_requested( + "post", + path="/v2/money_management/transactions/id_123/refresh_regulatory_receipt", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + def test_v2_money_management_transaction_entry_get_service( self, http_client_mock: HTTPClientMock ) -> None: @@ -46736,6 +47263,7 @@ def test_v2_signals_account_evaluation_post_service( "account": "account", "customer": "customer", "data": { + "contact_email": "contact_email", "defaults": { "profile": { "business_url": "business_url", @@ -46758,7 +47286,7 @@ def test_v2_signals_account_evaluation_post_service( path="/v2/signals/account_evaluations", query_string="", api_base="https://api.stripe.com", - post_data='{"account_details":{"account":"account","customer":"customer","data":{"defaults":{"profile":{"business_url":"business_url","doing_business_as":"doing_business_as","product_description":"product_description"}},"identity":{"business_details":{"registered_name":"registered_name"}}}},"requested_signals":["user_multi_accounting"]}', + post_data='{"account_details":{"account":"account","customer":"customer","data":{"contact_email":"contact_email","defaults":{"profile":{"business_url":"business_url","doing_business_as":"doing_business_as","product_description":"product_description"}},"identity":{"business_details":{"registered_name":"registered_name"}}}},"requested_signals":["user_multi_accounting"]}', is_json=True, ) @@ -46827,6 +47355,33 @@ def test_v2_signals_account_signal_get_2_service( api_base="https://api.stripe.com", ) + def test_v2_test_helpers_money_management_post_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/test_helpers/money_management/recipient_verifications", + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + client.v2.test_helpers.money_management.recipient_verifications( + { + "match_result": "unavailable", + "payout_method": "payout_method", + } + ) + http_client_mock.assert_requested( + "post", + path="/v2/test_helpers/money_management/recipient_verifications", + query_string="", + api_base="https://api.stripe.com", + post_data='{"match_result":"unavailable","payout_method":"payout_method"}', + is_json=True, + ) + def test_already_canceled_error_service( self, http_client_mock: HTTPClientMock ) -> None: @@ -46939,6 +47494,42 @@ def test_cannot_proceed_error_service( is_json=True, ) + def test_capability_not_enabled_error_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/outbound_payments", + rbody='{"error":{"type":"capability_not_enabled","code":"outbound_flow_from_closed_financial_account_not_supported"}}', + rcode=400, + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + try: + client.v2.money_management.outbound_payments.create( + { + "amount": {"currency": "USD", "value": 96}, + "from": { + "currency": "usd", + "financial_account": "financial_account", + }, + "to": {"recipient": "recipient"}, + } + ) + except _error.CapabilityNotEnabledError: + pass + http_client_mock.assert_requested( + "post", + path="/v2/money_management/outbound_payments", + query_string="", + api_base="https://api.stripe.com", + post_data='{"amount":{"currency":"USD","value":96},"from":{"currency":"usd","financial_account":"financial_account"},"to":{"recipient":"recipient"}}', + is_json=True, + ) + def test_controlled_by_alternate_resource_error_service( self, http_client_mock: HTTPClientMock ) -> None: @@ -46972,7 +47563,7 @@ def test_feature_not_enabled_error_service( http_client_mock.stub_request( "post", "/v2/money_management/financial_accounts", - rbody='{"error":{"type":"feature_not_enabled","code":"outbound_flow_from_closed_financial_account_unsupported"}}', + rbody='{"error":{"type":"feature_not_enabled","code":"recipient_feature_not_active"}}', rcode=400, ) client = StripeClient( @@ -47029,6 +47620,33 @@ def test_financial_account_not_open_error_service( is_json=True, ) + def test_fx_quote_needs_refresh_error_service( + self, http_client_mock: HTTPClientMock + ) -> None: + http_client_mock.stub_request( + "post", + "/v2/money_management/payout_intents/id_123/confirm", + rbody='{"error":{"type":"fx_quote_needs_refresh","code":"payout_intent_fx_quote_expired"}}', + rcode=400, + ) + client = StripeClient( + "sk_test_123", + http_client=http_client_mock.get_mock_http_client(), + ) + + try: + client.v2.money_management.payout_intents.confirm("id_123") + except _error.FxQuoteNeedsRefreshError: + pass + http_client_mock.assert_requested( + "post", + path="/v2/money_management/payout_intents/id_123/confirm", + query_string="", + api_base="https://api.stripe.com", + post_data="{}", + is_json=True, + ) + def test_insufficient_funds_error_service( self, http_client_mock: HTTPClientMock ) -> None: @@ -47211,7 +47829,7 @@ def test_quota_exceeded_error_service( http_client_mock.stub_request( "post", "/v2/core/vault/gb_bank_accounts", - rbody='{"error":{"type":"quota_exceeded","code":"archived_payout_method_card"}}', + rbody='{"error":{"type":"quota_exceeded","code":"limit_gb_bank_account"}}', rcode=400, ) client = StripeClient( diff --git a/tests/test_oauth_error.py b/tests/test_oauth_error.py index 5eee7b66e..a8bf1e68d 100644 --- a/tests/test_oauth_error.py +++ b/tests/test_oauth_error.py @@ -1,6 +1,11 @@ # -*- coding: utf-8 -*- +import json +import pickle + +import pytest + from stripe import oauth_error @@ -11,3 +16,35 @@ def test_error_object(self): ) assert err.error is not None assert err.error.error == "some_oauth_error" + + +@pytest.mark.parametrize( + "error_class", + [ + oauth_error.OAuthError, + oauth_error.InvalidClientError, + oauth_error.InvalidGrantError, + oauth_error.InvalidRequestError, + oauth_error.InvalidScopeError, + oauth_error.UnsupportedGrantTypeError, + oauth_error.UnsupportedResponseTypeError, + ], +) +def test_oauth_error_round_trips(error_class): + err = error_class( + code="oauth_code", + description="description", + http_body=b"body", + http_status=400, + json_body={"error": "oauth_code"}, + headers={"request-id": "req_123"}, + ) + json_args = json.loads(json.dumps(err.args)) + + for round_tripped in ( + pickle.loads(pickle.dumps(err)), + error_class(*json_args), + ): + assert type(round_tripped) is error_class + assert round_tripped.args == err.args + assert vars(round_tripped) == vars(err) diff --git a/tests/test_v2_event.py b/tests/test_v2_event.py index 5a16cee35..4fc0dc682 100644 --- a/tests/test_v2_event.py +++ b/tests/test_v2_event.py @@ -16,6 +16,9 @@ V1BillingMeterErrorReportTriggeredEventNotification, V1BillingMeterErrorReportTriggeredEvent, ) +from stripe.events._v1_product_updated_event import ( + V1ProductUpdatedEventNotification, +) from stripe.v2.core._event import ( EventNotification, RelatedSingletonObject, @@ -23,7 +26,10 @@ ) from stripe.events._event_classes import ALL_EVENT_NOTIFICATIONS from stripe._webhook import WebhookPayload, WebhookSignature -from tests.test_webhook import DUMMY_WEBHOOK_SECRET +from tests.test_webhook import ( + ASCII_WHITESPACE_WEBHOOK_SECRETS, + DUMMY_WEBHOOK_SECRET, +) EventParser = Callable[[str], ALL_EVENT_NOTIFICATIONS] @@ -254,7 +260,28 @@ def test_rejects_missing_secret( stripe_client.parse_event_notification( v2_payload_no_data, WebhookSignature.generate_signature_header( - v2_payload_no_data, DUMMY_WEBHOOK_SECRET + v2_payload_no_data, + DUMMY_WEBHOOK_SECRET, + ), + secret, + ) + + @pytest.mark.parametrize("secret", ASCII_WHITESPACE_WEBHOOK_SECRETS) + def test_rejects_ascii_whitespace_secret( + self, + stripe_client: StripeClient, + v2_payload_no_data: str, + secret: str, + ): + with pytest.raises( + SignatureVerificationError, + match="No webhook secret value was provided", + ): + stripe_client.parse_event_notification( + v2_payload_no_data, + WebhookSignature.generate_signature_header( + v2_payload_no_data, + secret, ), secret, ) @@ -376,3 +403,117 @@ def test_v2_events_integration( assert isinstance(meter, Meter) assert meter.event_name == "cool event" + + def test_related_object_retains_event_context( + self, http_client_mock: HTTPClientMock + ): + payload = json.dumps( + { + "id": "evt_123", + "object": "v2.core.event", + "type": "v1.product.updated", + "created": "2022-02-15T00:27:45.330Z", + "livemode": False, + "context": "acct_child", + "related_object": { + "id": "prod_shared", + "type": "product", + "url": "/v1/products/prod_shared", + }, + } + ) + path = "/v1/products/prod_shared" + http_client_mock.stub_request( + "get", + path=path, + rbody=json.dumps({"id": "prod_shared", "object": "product"}), + ) + http_client_mock.stub_request( + "delete", + path=path, + rbody=json.dumps( + {"id": "prod_shared", "object": "product", "deleted": True} + ), + ) + client = StripeClient( + api_key="sk_test_1234", + stripe_context="acct_platform", + http_client=http_client_mock.get_mock_http_client(), + ) + + notification = client.parse_event_notification( + payload, + WebhookSignature.generate_signature_header( + payload, DUMMY_WEBHOOK_SECRET + ), + DUMMY_WEBHOOK_SECRET, + ) + assert isinstance(notification, V1ProductUpdatedEventNotification) + + product = notification.fetch_related_object() + product.delete() + + http_client_mock.assert_requested( + "get", path=path, stripe_context="acct_child" + ) + http_client_mock.assert_requested( + "delete", path=path, stripe_context="acct_child" + ) + + @pytest.mark.anyio + async def test_related_object_retains_event_context_async( + self, http_client_mock: HTTPClientMock + ): + payload = json.dumps( + { + "id": "evt_123", + "object": "v2.core.event", + "type": "v1.product.updated", + "created": "2022-02-15T00:27:45.330Z", + "livemode": False, + "context": "acct_child", + "related_object": { + "id": "prod_shared", + "type": "product", + "url": "/v1/products/prod_shared", + }, + } + ) + path = "/v1/products/prod_shared" + http_client_mock.stub_request( + "get", + path=path, + query_string="usage[0]=fetch_related_object", + rbody=json.dumps({"id": "prod_shared", "object": "product"}), + ) + http_client_mock.stub_request( + "delete", + path=path, + rbody=json.dumps( + {"id": "prod_shared", "object": "product", "deleted": True} + ), + ) + client = StripeClient( + api_key="sk_test_1234", + stripe_context="acct_platform", + http_client=http_client_mock.get_mock_http_client(), + ) + + notification = client.parse_event_notification( + payload, + WebhookSignature.generate_signature_header( + payload, DUMMY_WEBHOOK_SECRET + ), + DUMMY_WEBHOOK_SECRET, + ) + assert isinstance(notification, V1ProductUpdatedEventNotification) + + product = await notification.fetch_related_object_async() + await product.delete_async() + + http_client_mock.assert_requested( + "get", path=path, stripe_context="acct_child" + ) + http_client_mock.assert_requested( + "delete", path=path, stripe_context="acct_child" + ) diff --git a/tests/test_v2_search_result_object.py b/tests/test_v2_search_result_object.py new file mode 100644 index 000000000..002b606d8 --- /dev/null +++ b/tests/test_v2_search_result_object.py @@ -0,0 +1,88 @@ +import pytest + +from stripe.v2._search_result_object import SearchResultObject + + +class TestSearchResult(SearchResultObject): + requests = [] + pages = [] + + def _request(self, method, url, params=None, **kwargs): + self.requests.append((method, url, params, kwargs)) + return self.pages.pop(0) + + async def _request_async(self, method, url, params=None, **kwargs): + return self._request(method, url, params=params, **kwargs) + + +def make_result(data, next_page_url): + result = TestSearchResult._construct_from( + values={ + "object": "v2.search_result", + "data": data, + "next_page_url": next_page_url, + "previous_page_url": None, + "total_count": 2, + }, + last_response=None, + requestor=None, + api_mode="V2", + ) + return result + + +def test_auto_paging_replays_original_post_body(): + params = { + "query": 'status:"active"', + "sort": ["name", "-created"], + "limit": 2, + "future_field": {"enabled": True}, + } + first = make_result(["one"], "/v2/widgets/search?page=2&limit=2") + first._retrieve_params = params + TestSearchResult.requests = [] + TestSearchResult.pages = [ + make_result([], "/v2/widgets/search?page=3&limit=2"), + make_result(["two"], None), + ] + + assert list(first.auto_paging_iter()) == ["one", "two"] + assert [ + (method, url, body) + for method, url, body, _ in TestSearchResult.requests + ] == [ + ( + "post", + "/v2/widgets/search?page=2&limit=2", + { + "query": 'status:"active"', + "sort": ["name", "-created"], + "future_field": {"enabled": True}, + }, + ), + ( + "post", + "/v2/widgets/search?page=3&limit=2", + { + "query": 'status:"active"', + "sort": ["name", "-created"], + "future_field": {"enabled": True}, + }, + ), + ] + + +@pytest.mark.anyio +async def test_async_auto_paging_replays_original_post_body(): + first = make_result(["one"], "/v2/widgets/search?page=2") + first._retrieve_params = {"query": "widgets"} + TestSearchResult.requests = [] + TestSearchResult.pages = [make_result(["two"], None)] + + results = [item async for item in first.auto_paging_iter()] + assert results == ["one", "two"] + assert TestSearchResult.requests[0][:3] == ( + "post", + "/v2/widgets/search?page=2", + {"query": "widgets"}, + ) diff --git a/tests/test_webhook.py b/tests/test_webhook.py index 08c9e20b7..2a884ef0a 100644 --- a/tests/test_webhook.py +++ b/tests/test_webhook.py @@ -23,6 +23,16 @@ DUMMY_WEBHOOK_SECRET = "whsec_test_secret" +ASCII_WHITESPACE_WEBHOOK_SECRETS = [ + pytest.param(" ", id="space"), + pytest.param("\t", id="tab"), + pytest.param("\r", id="carriage-return"), + pytest.param("\n", id="line-feed"), + pytest.param("\f", id="form-feed"), + pytest.param("\v", id="vertical-tab"), + pytest.param(" \t\r\n\f\v", id="mixed"), +] + def generate_header( payload=DUMMY_WEBHOOK_PAYLOAD, secret=DUMMY_WEBHOOK_SECRET, timestamp=None @@ -101,12 +111,24 @@ def test_construct_event_from_bytes(self): @pytest.mark.parametrize("secret", [None, ""]) def test_raise_on_missing_secret(self, secret): + header = generate_header() with pytest.raises( SignatureVerificationError, match="No webhook secret value was provided", ): stripe.Webhook.construct_event( - DUMMY_WEBHOOK_PAYLOAD, generate_header(), secret + DUMMY_WEBHOOK_PAYLOAD, header, secret + ) + + @pytest.mark.parametrize("secret", ASCII_WHITESPACE_WEBHOOK_SECRETS) + def test_raise_on_ascii_whitespace_secret(self, secret): + header = generate_header(secret=secret) + with pytest.raises( + SignatureVerificationError, + match="No webhook secret value was provided", + ): + stripe.Webhook.construct_event( + DUMMY_WEBHOOK_PAYLOAD, header, secret ) def test_raise_on_v2_payload(self): @@ -131,12 +153,24 @@ def test_raise_on_missing_header(self, header): @pytest.mark.parametrize("secret", [None, ""]) def test_raise_on_missing_secret(self, secret): + header = generate_header() + with pytest.raises( + SignatureVerificationError, + match="No webhook secret value was provided", + ): + stripe.WebhookSignature.verify_header( + DUMMY_WEBHOOK_PAYLOAD, header, secret + ) + + @pytest.mark.parametrize("secret", ASCII_WHITESPACE_WEBHOOK_SECRETS) + def test_raise_on_ascii_whitespace_secret(self, secret): + header = generate_header(secret=secret) with pytest.raises( SignatureVerificationError, match="No webhook secret value was provided", ): stripe.WebhookSignature.verify_header( - DUMMY_WEBHOOK_PAYLOAD, generate_header(), secret + DUMMY_WEBHOOK_PAYLOAD, header, secret ) @pytest.mark.parametrize( @@ -199,6 +233,17 @@ def test_valid_header_and_signature(self): DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET, tolerance=10 ) + @pytest.mark.parametrize( + "secret", + [" \twhsec_test_secret\r\n", "\u00a0"], + ids=["surrounding-whitespace", "non-ascii-whitespace"], + ) + def test_preserves_nonblank_secret(self, secret): + header = generate_header(secret=secret) + assert stripe.WebhookSignature.verify_header( + DUMMY_WEBHOOK_PAYLOAD, header, secret + ) + def test_header_contains_valid_signature(self): header = generate_header() + ",v1=bad_signature" assert stripe.WebhookSignature.verify_header( @@ -276,12 +321,26 @@ def test_raise_on_v2_payload(self, stripe_mock_stripe_client): @pytest.mark.parametrize("secret", [None, ""]) def test_raise_on_missing_secret(self, stripe_mock_stripe_client, secret): + header = generate_header() + with pytest.raises( + SignatureVerificationError, + match="No webhook secret value was provided", + ): + stripe_mock_stripe_client.construct_event( + DUMMY_WEBHOOK_PAYLOAD, header, secret + ) + + @pytest.mark.parametrize("secret", ASCII_WHITESPACE_WEBHOOK_SECRETS) + def test_raise_on_ascii_whitespace_secret( + self, stripe_mock_stripe_client, secret + ): + header = generate_header(secret=secret) with pytest.raises( SignatureVerificationError, match="No webhook secret value was provided", ): stripe_mock_stripe_client.construct_event( - DUMMY_WEBHOOK_PAYLOAD, generate_header(), secret + DUMMY_WEBHOOK_PAYLOAD, header, secret ) def test_construct_event_inherits_requestor(self, http_client_mock):