// Generated by ts-to-zod import { z } from 'zod'; import { type account, type legal_entity_company, type bank_account, type card, type person, type account_settings, type account_branding_settings, type file, type account_invoices_settings, type tax_id, type api_errors, type payment_intent, type payment_method, type setup_intent, type application_fee, type balance_transaction, type charge, type fee_refund, type automatic_tax, type connect_account_reference, type connect_collection_transfer, type customer_cash_balance_transaction, type dispute, type issuing_authorization, type issuing_dispute, type issuing_transaction, type payout, type refund, type topup, type transfer, type transfer_reversal, type customer, type bank_connections_resource_accountholder, type capability, type invoice, type payment_method_details, type review, type charge_transfer_data, type checkout_session, type payment_pages_checkout_session_automatic_tax, type payment_pages_checkout_session_invoice_creation, type item, type payment_link, type subscription, type payment_pages_checkout_session_total_details, type confirmation_token, type confirmation_tokens_resource_payment_method_preview, type payment_method_card, type payment_method_sepa_debit, type credit_note, type customer_balance_transaction, type discounts_resource_discount_amount, type credit_note_line_item, type discount, type invoice_setting_customer_setting, type customer_balance_resource_cash_balance_transaction_resource_adjusted_for_overdraft, type customer_balance_resource_cash_balance_transaction_resource_applied_to_payment_transaction, type customer_balance_resource_cash_balance_transaction_resource_refunded_from_payment_transaction, type customer_balance_resource_cash_balance_transaction_resource_transferred_to_balance, type customer_balance_resource_cash_balance_transaction_resource_unapplied_from_payment_transaction, type customer_session, type deleted_discount, type promotion_code, type discounts_resource_stackable_discount, type dispute_evidence, type error, type external_account, type file_link, type financial_connections_account, type financial_connections_session, type inbound_transfers, type inbound_transfers_payment_method_details_us_bank_account, type mandate, type invoices_resource_from_invoice, type line_item, type quote, type invoice_transfer_data, type invoice_setting_quote_setting, type invoice_setting_subscription_schedule_phase_setting, type invoice_setting_subscription_schedule_setting, type invoiceitem, type price, type issuing_card, type issuing_cardholder, type issuing_token, type issuing_personalization_design, type issuing_cardholder_individual, type issuing_cardholder_id_document, type issuing_cardholder_verification, type issuing_dispute_evidence, type issuing_dispute_canceled_evidence, type issuing_dispute_duplicate_evidence, type issuing_dispute_fraudulent_evidence, type issuing_dispute_merchandise_not_as_described_evidence, type issuing_dispute_no_valid_authorization_evidence, type issuing_dispute_not_received_evidence, type issuing_dispute_other_evidence, type issuing_dispute_service_not_as_described_evidence, type line_items_discount_amount, type legal_entity_company_verification, type legal_entity_company_verification_document, type legal_entity_person_verification, type legal_entity_person_verification_document, type subscription_item, type outbound_payments_payment_method_details, type outbound_payments_payment_method_details_us_bank_account, type outbound_transfers_payment_method_details, type outbound_transfers_payment_method_details_us_bank_account, type transfer_data, type payment_links_resource_automatic_tax, type payment_links_resource_invoice_creation, type payment_links_resource_subscription_data, type payment_links_resource_transfer_data, type payment_links_resource_invoice_settings, type payment_links_resource_subscription_data_invoice_settings, type payment_method_card_generated_card, type setup_attempt, type payment_method_details_bancontact, type payment_method_details_ideal, type payment_method_details_sofort, type payment_method_details_us_bank_account, type sepa_debit_generated_from, type payment_pages_checkout_session_invoice_settings, type payment_pages_checkout_session_total_details_resource_breakdown, type payment_source, type plan, type product, type quotes_resource_automatic_tax, type quotes_resource_computed, type quotes_resource_from_quote, type subscription_schedule, type quotes_resource_total_details, type quotes_resource_transfer_data, type quotes_resource_recurring, type quotes_resource_upfront, type quotes_resource_total_details_resource_breakdown, type radar_early_fraud_warning, type reporting_report_run, type scheduled_query_run, type schedules_phase_automatic_tax, type setup_attempt_payment_method_details, type setup_attempt_payment_method_details_bancontact, type setup_attempt_payment_method_details_card_present, type setup_attempt_payment_method_details_ideal, type setup_attempt_payment_method_details_sofort, type subscription_automatic_tax, type subscriptions_resource_subscription_invoice_settings, type subscriptions_resource_pending_update, type subscription_transfer_data, type subscription_schedules_resource_default_settings, type subscription_schedule_phase_configuration, type subscription_schedule_add_invoice_item, type subscription_schedule_configuration_item, type subscription_schedules_resource_default_settings_automatic_tax, type tax_i_ds_owner, type terminal_configuration, type terminal_configuration_configuration_resource_device_type_specific_config, type terminal_reader, type terminal_reader_reader_resource_reader_action, type terminal_reader_reader_resource_process_payment_intent_action, type terminal_reader_reader_resource_process_setup_intent_action, type terminal_reader_reader_resource_refund_payment_action, type token, type treasury_credit_reversal, type treasury_transaction, type treasury_debit_reversal, type treasury_inbound_transfer, type treasury_outbound_payment, type treasury_outbound_payments_resource_returned_status, type treasury_outbound_transfer, type treasury_outbound_transfers_resource_returned_details, type treasury_received_credit, type treasury_received_credits_resource_linked_flows, type treasury_received_credits_resource_source_flows_details, type treasury_received_debit, type treasury_transaction_entry, type treasury_transactions_resource_flow_details, type GetAccountResponse, type GetAccountError, type PostAccountLinksError, type PostAccountSessionsError, type GetAccountsResponse, type GetAccountsError, type PostAccountsResponse, type PostAccountsError, type DeleteAccountsAccountError, type GetAccountsAccountResponse, type GetAccountsAccountError, type PostAccountsAccountResponse, type PostAccountsAccountError, type PostAccountsAccountBankAccountsResponse, type PostAccountsAccountBankAccountsError, type DeleteAccountsAccountBankAccountsIdError, type GetAccountsAccountBankAccountsIdResponse, type GetAccountsAccountBankAccountsIdError, type PostAccountsAccountBankAccountsIdResponse, type PostAccountsAccountBankAccountsIdError, type GetAccountsAccountCapabilitiesResponse, type GetAccountsAccountCapabilitiesError, type GetAccountsAccountCapabilitiesCapabilityResponse, type GetAccountsAccountCapabilitiesCapabilityError, type PostAccountsAccountCapabilitiesCapabilityResponse, type PostAccountsAccountCapabilitiesCapabilityError, type GetAccountsAccountExternalAccountsResponse, type GetAccountsAccountExternalAccountsError, type PostAccountsAccountExternalAccountsResponse, type PostAccountsAccountExternalAccountsError, type DeleteAccountsAccountExternalAccountsIdError, type GetAccountsAccountExternalAccountsIdResponse, type GetAccountsAccountExternalAccountsIdError, type PostAccountsAccountExternalAccountsIdResponse, type PostAccountsAccountExternalAccountsIdError, type PostAccountsAccountLoginLinksError, type GetAccountsAccountPeopleResponse, type GetAccountsAccountPeopleError, type PostAccountsAccountPeopleResponse, type PostAccountsAccountPeopleError, type DeleteAccountsAccountPeoplePersonError, type GetAccountsAccountPeoplePersonResponse, type GetAccountsAccountPeoplePersonError, type PostAccountsAccountPeoplePersonResponse, type PostAccountsAccountPeoplePersonError, type GetAccountsAccountPersonsResponse, type GetAccountsAccountPersonsError, type PostAccountsAccountPersonsResponse, type PostAccountsAccountPersonsError, type DeleteAccountsAccountPersonsPersonError, type GetAccountsAccountPersonsPersonResponse, type GetAccountsAccountPersonsPersonError, type PostAccountsAccountPersonsPersonResponse, type PostAccountsAccountPersonsPersonError, type PostAccountsAccountRejectResponse, type PostAccountsAccountRejectError, type GetApplePayDomainsError, type PostApplePayDomainsError, type DeleteApplePayDomainsDomainError, type GetApplePayDomainsDomainError, type GetApplicationFeesResponse, type GetApplicationFeesError, type GetApplicationFeesFeeRefundsIdResponse, type GetApplicationFeesFeeRefundsIdError, type PostApplicationFeesFeeRefundsIdResponse, type PostApplicationFeesFeeRefundsIdError, type GetApplicationFeesIdResponse, type GetApplicationFeesIdError, type PostApplicationFeesIdRefundResponse, type PostApplicationFeesIdRefundError, type GetApplicationFeesIdRefundsResponse, type GetApplicationFeesIdRefundsError, type PostApplicationFeesIdRefundsResponse, type PostApplicationFeesIdRefundsError, type GetAppsSecretsError, type PostAppsSecretsError, type PostAppsSecretsDeleteError, type GetAppsSecretsFindError, type GetBalanceError, type GetBalanceHistoryResponse, type GetBalanceHistoryError, type GetBalanceHistoryIdResponse, type GetBalanceHistoryIdError, type GetBalanceTransactionsResponse, type GetBalanceTransactionsError, type GetBalanceTransactionsIdResponse, type GetBalanceTransactionsIdError, type PostBillingMeterEventAdjustmentsError, type PostBillingMeterEventsError, type GetBillingMetersError, type PostBillingMetersError, type GetBillingMetersIdError, type PostBillingMetersIdError, type PostBillingMetersIdDeactivateError, type GetBillingMetersIdEventSummariesError, type PostBillingMetersIdReactivateError, type GetBillingPortalConfigurationsError, type PostBillingPortalConfigurationsError, type GetBillingPortalConfigurationsConfigurationError, type PostBillingPortalConfigurationsConfigurationError, type PostBillingPortalSessionsError, type GetChargesResponse, type GetChargesError, type PostChargesResponse, type PostChargesError, type GetChargesSearchResponse, type GetChargesSearchError, type GetChargesChargeResponse, type GetChargesChargeError, type PostChargesChargeResponse, type PostChargesChargeError, type PostChargesChargeCaptureResponse, type PostChargesChargeCaptureError, type GetChargesChargeDisputeResponse, type GetChargesChargeDisputeError, type PostChargesChargeDisputeResponse, type PostChargesChargeDisputeError, type PostChargesChargeDisputeCloseResponse, type PostChargesChargeDisputeCloseError, type PostChargesChargeRefundResponse, type PostChargesChargeRefundError, type GetChargesChargeRefundsResponse, type GetChargesChargeRefundsError, type PostChargesChargeRefundsResponse, type PostChargesChargeRefundsError, type GetChargesChargeRefundsRefundResponse, type GetChargesChargeRefundsRefundError, type PostChargesChargeRefundsRefundResponse, type PostChargesChargeRefundsRefundError, type GetCheckoutSessionsResponse, type GetCheckoutSessionsError, type PostCheckoutSessionsResponse, type PostCheckoutSessionsError, type GetCheckoutSessionsSessionResponse, type GetCheckoutSessionsSessionError, type PostCheckoutSessionsSessionExpireResponse, type PostCheckoutSessionsSessionExpireError, type GetCheckoutSessionsSessionLineItemsResponse, type GetCheckoutSessionsSessionLineItemsError, type GetClimateOrdersError, type PostClimateOrdersError, type GetClimateOrdersOrderError, type PostClimateOrdersOrderError, type PostClimateOrdersOrderCancelError, type GetClimateProductsError, type GetClimateProductsProductError, type GetClimateSuppliersError, type GetClimateSuppliersSupplierError, type GetConfirmationTokensConfirmationTokenResponse, type GetConfirmationTokensConfirmationTokenError, type GetCountrySpecsError, type GetCountrySpecsCountryError, type GetCouponsError, type PostCouponsError, type DeleteCouponsCouponError, type GetCouponsCouponError, type PostCouponsCouponError, type GetCreditNotesResponse, type GetCreditNotesError, type PostCreditNotesResponse, type PostCreditNotesError, type GetCreditNotesPreviewResponse, type GetCreditNotesPreviewError, type GetCreditNotesPreviewLinesResponse, type GetCreditNotesPreviewLinesError, type GetCreditNotesCreditNoteLinesResponse, type GetCreditNotesCreditNoteLinesError, type GetCreditNotesIdResponse, type GetCreditNotesIdError, type PostCreditNotesIdResponse, type PostCreditNotesIdError, type PostCreditNotesIdVoidResponse, type PostCreditNotesIdVoidError, type PostCustomerSessionsResponse, type PostCustomerSessionsError, type GetCustomersResponse, type GetCustomersError, type PostCustomersResponse, type PostCustomersError, type GetCustomersSearchResponse, type GetCustomersSearchError, type DeleteCustomersCustomerError, type GetCustomersCustomerResponse, type GetCustomersCustomerError, type PostCustomersCustomerResponse, type PostCustomersCustomerError, type GetCustomersCustomerBalanceTransactionsResponse, type GetCustomersCustomerBalanceTransactionsError, type PostCustomersCustomerBalanceTransactionsResponse, type PostCustomersCustomerBalanceTransactionsError, type GetCustomersCustomerBalanceTransactionsTransactionResponse, type GetCustomersCustomerBalanceTransactionsTransactionError, type PostCustomersCustomerBalanceTransactionsTransactionResponse, type PostCustomersCustomerBalanceTransactionsTransactionError, type GetCustomersCustomerBankAccountsResponse, type GetCustomersCustomerBankAccountsError, type PostCustomersCustomerBankAccountsResponse, type PostCustomersCustomerBankAccountsError, type DeleteCustomersCustomerBankAccountsIdResponse, type DeleteCustomersCustomerBankAccountsIdError, type GetCustomersCustomerBankAccountsIdResponse, type GetCustomersCustomerBankAccountsIdError, type PostCustomersCustomerBankAccountsIdResponse, type PostCustomersCustomerBankAccountsIdError, type PostCustomersCustomerBankAccountsIdVerifyResponse, type PostCustomersCustomerBankAccountsIdVerifyError, type GetCustomersCustomerCardsResponse, type GetCustomersCustomerCardsError, type PostCustomersCustomerCardsResponse, type PostCustomersCustomerCardsError, type DeleteCustomersCustomerCardsIdResponse, type DeleteCustomersCustomerCardsIdError, type GetCustomersCustomerCardsIdResponse, type GetCustomersCustomerCardsIdError, type PostCustomersCustomerCardsIdResponse, type PostCustomersCustomerCardsIdError, type GetCustomersCustomerCashBalanceError, type PostCustomersCustomerCashBalanceError, type GetCustomersCustomerCashBalanceTransactionsResponse, type GetCustomersCustomerCashBalanceTransactionsError, type GetCustomersCustomerCashBalanceTransactionsTransactionResponse, type GetCustomersCustomerCashBalanceTransactionsTransactionError, type DeleteCustomersCustomerDiscountResponse, type DeleteCustomersCustomerDiscountError, type GetCustomersCustomerDiscountResponse, type GetCustomersCustomerDiscountError, type PostCustomersCustomerFundingInstructionsError, type GetCustomersCustomerPaymentMethodsResponse, type GetCustomersCustomerPaymentMethodsError, type GetCustomersCustomerPaymentMethodsPaymentMethodResponse, type GetCustomersCustomerPaymentMethodsPaymentMethodError, type GetCustomersCustomerSourcesResponse, type GetCustomersCustomerSourcesError, type PostCustomersCustomerSourcesResponse, type PostCustomersCustomerSourcesError, type DeleteCustomersCustomerSourcesIdResponse, type DeleteCustomersCustomerSourcesIdError, type GetCustomersCustomerSourcesIdResponse, type GetCustomersCustomerSourcesIdError, type PostCustomersCustomerSourcesIdResponse, type PostCustomersCustomerSourcesIdError, type PostCustomersCustomerSourcesIdVerifyResponse, type PostCustomersCustomerSourcesIdVerifyError, type GetCustomersCustomerSubscriptionsResponse, type GetCustomersCustomerSubscriptionsError, type PostCustomersCustomerSubscriptionsResponse, type PostCustomersCustomerSubscriptionsError, type DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdResponse, type DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdError, type GetCustomersCustomerSubscriptionsSubscriptionExposedIdResponse, type GetCustomersCustomerSubscriptionsSubscriptionExposedIdError, type PostCustomersCustomerSubscriptionsSubscriptionExposedIdResponse, type PostCustomersCustomerSubscriptionsSubscriptionExposedIdError, type DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountResponse, type DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountError, type GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountResponse, type GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountError, type GetCustomersCustomerTaxIdsResponse, type GetCustomersCustomerTaxIdsError, type PostCustomersCustomerTaxIdsResponse, type PostCustomersCustomerTaxIdsError, type DeleteCustomersCustomerTaxIdsIdError, type GetCustomersCustomerTaxIdsIdResponse, type GetCustomersCustomerTaxIdsIdError, type GetDisputesResponse, type GetDisputesError, type GetDisputesDisputeResponse, type GetDisputesDisputeError, type PostDisputesDisputeResponse, type PostDisputesDisputeError, type PostDisputesDisputeCloseResponse, type PostDisputesDisputeCloseError, type GetEntitlementsActiveEntitlementsError, type GetEntitlementsActiveEntitlementsIdError, type GetEntitlementsFeaturesError, type PostEntitlementsFeaturesError, type GetEntitlementsFeaturesIdError, type PostEntitlementsFeaturesIdError, type PostEphemeralKeysError, type DeleteEphemeralKeysKeyError, type GetEventsError, type GetEventsIdError, type GetExchangeRatesError, type GetExchangeRatesRateIdError, type GetFileLinksResponse, type GetFileLinksError, type PostFileLinksResponse, type PostFileLinksError, type GetFileLinksLinkResponse, type GetFileLinksLinkError, type PostFileLinksLinkResponse, type PostFileLinksLinkError, type GetFilesResponse, type GetFilesError, type PostFilesResponse, type PostFilesError, type GetFilesFileResponse, type GetFilesFileError, type GetFinancialConnectionsAccountsResponse, type GetFinancialConnectionsAccountsError, type GetFinancialConnectionsAccountsAccountResponse, type GetFinancialConnectionsAccountsAccountError, type PostFinancialConnectionsAccountsAccountDisconnectResponse, type PostFinancialConnectionsAccountsAccountDisconnectError, type GetFinancialConnectionsAccountsAccountOwnersError, type PostFinancialConnectionsAccountsAccountRefreshResponse, type PostFinancialConnectionsAccountsAccountRefreshError, type PostFinancialConnectionsAccountsAccountSubscribeResponse, type PostFinancialConnectionsAccountsAccountSubscribeError, type PostFinancialConnectionsAccountsAccountUnsubscribeResponse, type PostFinancialConnectionsAccountsAccountUnsubscribeError, type PostFinancialConnectionsSessionsResponse, type PostFinancialConnectionsSessionsError, type GetFinancialConnectionsSessionsSessionResponse, type GetFinancialConnectionsSessionsSessionError, type GetFinancialConnectionsTransactionsError, type GetFinancialConnectionsTransactionsTransactionError, type GetForwardingRequestsError, type PostForwardingRequestsError, type GetForwardingRequestsIdError, type GetIdentityVerificationReportsError, type GetIdentityVerificationReportsReportError, type GetIdentityVerificationSessionsError, type PostIdentityVerificationSessionsError, type GetIdentityVerificationSessionsSessionError, type PostIdentityVerificationSessionsSessionError, type PostIdentityVerificationSessionsSessionCancelError, type PostIdentityVerificationSessionsSessionRedactError, type GetInvoiceitemsResponse, type GetInvoiceitemsError, type PostInvoiceitemsResponse, type PostInvoiceitemsError, type DeleteInvoiceitemsInvoiceitemError, type GetInvoiceitemsInvoiceitemResponse, type GetInvoiceitemsInvoiceitemError, type PostInvoiceitemsInvoiceitemResponse, type PostInvoiceitemsInvoiceitemError, type GetInvoicesResponse, type GetInvoicesError, type PostInvoicesResponse, type PostInvoicesError, type PostInvoicesCreatePreviewResponse, type PostInvoicesCreatePreviewError, type GetInvoicesSearchResponse, type GetInvoicesSearchError, type GetInvoicesUpcomingResponse, type GetInvoicesUpcomingError, type GetInvoicesUpcomingLinesResponse, type GetInvoicesUpcomingLinesError, type DeleteInvoicesInvoiceError, type GetInvoicesInvoiceResponse, type GetInvoicesInvoiceError, type PostInvoicesInvoiceResponse, type PostInvoicesInvoiceError, type PostInvoicesInvoiceFinalizeResponse, type PostInvoicesInvoiceFinalizeError, type GetInvoicesInvoiceLinesResponse, type GetInvoicesInvoiceLinesError, type PostInvoicesInvoiceLinesLineItemIdResponse, type PostInvoicesInvoiceLinesLineItemIdError, type PostInvoicesInvoiceMarkUncollectibleResponse, type PostInvoicesInvoiceMarkUncollectibleError, type PostInvoicesInvoicePayResponse, type PostInvoicesInvoicePayError, type PostInvoicesInvoiceSendResponse, type PostInvoicesInvoiceSendError, type PostInvoicesInvoiceVoidResponse, type PostInvoicesInvoiceVoidError, type GetIssuingAuthorizationsResponse, type GetIssuingAuthorizationsError, type GetIssuingAuthorizationsAuthorizationResponse, type GetIssuingAuthorizationsAuthorizationError, type PostIssuingAuthorizationsAuthorizationResponse, type PostIssuingAuthorizationsAuthorizationError, type PostIssuingAuthorizationsAuthorizationApproveResponse, type PostIssuingAuthorizationsAuthorizationApproveError, type PostIssuingAuthorizationsAuthorizationDeclineResponse, type PostIssuingAuthorizationsAuthorizationDeclineError, type GetIssuingCardholdersResponse, type GetIssuingCardholdersError, type PostIssuingCardholdersResponse, type PostIssuingCardholdersError, type GetIssuingCardholdersCardholderResponse, type GetIssuingCardholdersCardholderError, type PostIssuingCardholdersCardholderResponse, type PostIssuingCardholdersCardholderError, type GetIssuingCardsResponse, type GetIssuingCardsError, type PostIssuingCardsResponse, type PostIssuingCardsError, type GetIssuingCardsCardResponse, type GetIssuingCardsCardError, type PostIssuingCardsCardResponse, type PostIssuingCardsCardError, type GetIssuingDisputesResponse, type GetIssuingDisputesError, type PostIssuingDisputesResponse, type PostIssuingDisputesError, type GetIssuingDisputesDisputeResponse, type GetIssuingDisputesDisputeError, type PostIssuingDisputesDisputeResponse, type PostIssuingDisputesDisputeError, type PostIssuingDisputesDisputeSubmitResponse, type PostIssuingDisputesDisputeSubmitError, type GetIssuingPersonalizationDesignsResponse, type GetIssuingPersonalizationDesignsError, type PostIssuingPersonalizationDesignsResponse, type PostIssuingPersonalizationDesignsError, type GetIssuingPersonalizationDesignsPersonalizationDesignResponse, type GetIssuingPersonalizationDesignsPersonalizationDesignError, type PostIssuingPersonalizationDesignsPersonalizationDesignResponse, type PostIssuingPersonalizationDesignsPersonalizationDesignError, type GetIssuingPhysicalBundlesError, type GetIssuingPhysicalBundlesPhysicalBundleError, type GetIssuingSettlementsSettlementError, type PostIssuingSettlementsSettlementError, type GetIssuingTokensResponse, type GetIssuingTokensError, type GetIssuingTokensTokenResponse, type GetIssuingTokensTokenError, type PostIssuingTokensTokenResponse, type PostIssuingTokensTokenError, type GetIssuingTransactionsResponse, type GetIssuingTransactionsError, type GetIssuingTransactionsTransactionResponse, type GetIssuingTransactionsTransactionError, type PostIssuingTransactionsTransactionResponse, type PostIssuingTransactionsTransactionError, type PostLinkAccountSessionsResponse, type PostLinkAccountSessionsError, type GetLinkAccountSessionsSessionResponse, type GetLinkAccountSessionsSessionError, type GetLinkedAccountsResponse, type GetLinkedAccountsError, type GetLinkedAccountsAccountResponse, type GetLinkedAccountsAccountError, type PostLinkedAccountsAccountDisconnectResponse, type PostLinkedAccountsAccountDisconnectError, type GetLinkedAccountsAccountOwnersError, type PostLinkedAccountsAccountRefreshResponse, type PostLinkedAccountsAccountRefreshError, type GetMandatesMandateResponse, type GetMandatesMandateError, type GetPaymentIntentsResponse, type GetPaymentIntentsError, type PostPaymentIntentsResponse, type PostPaymentIntentsError, type GetPaymentIntentsSearchResponse, type GetPaymentIntentsSearchError, type GetPaymentIntentsIntentResponse, type GetPaymentIntentsIntentError, type PostPaymentIntentsIntentResponse, type PostPaymentIntentsIntentError, type PostPaymentIntentsIntentApplyCustomerBalanceResponse, type PostPaymentIntentsIntentApplyCustomerBalanceError, type PostPaymentIntentsIntentCancelResponse, type PostPaymentIntentsIntentCancelError, type PostPaymentIntentsIntentCaptureResponse, type PostPaymentIntentsIntentCaptureError, type PostPaymentIntentsIntentConfirmResponse, type PostPaymentIntentsIntentConfirmError, type PostPaymentIntentsIntentIncrementAuthorizationResponse, type PostPaymentIntentsIntentIncrementAuthorizationError, type PostPaymentIntentsIntentVerifyMicrodepositsResponse, type PostPaymentIntentsIntentVerifyMicrodepositsError, type GetPaymentLinksResponse, type GetPaymentLinksError, type PostPaymentLinksResponse, type PostPaymentLinksError, type GetPaymentLinksPaymentLinkResponse, type GetPaymentLinksPaymentLinkError, type PostPaymentLinksPaymentLinkResponse, type PostPaymentLinksPaymentLinkError, type GetPaymentLinksPaymentLinkLineItemsResponse, type GetPaymentLinksPaymentLinkLineItemsError, type GetPaymentMethodConfigurationsError, type PostPaymentMethodConfigurationsError, type GetPaymentMethodConfigurationsConfigurationError, type PostPaymentMethodConfigurationsConfigurationError, type GetPaymentMethodDomainsError, type PostPaymentMethodDomainsError, type GetPaymentMethodDomainsPaymentMethodDomainError, type PostPaymentMethodDomainsPaymentMethodDomainError, type PostPaymentMethodDomainsPaymentMethodDomainValidateError, type GetPaymentMethodsResponse, type GetPaymentMethodsError, type PostPaymentMethodsResponse, type PostPaymentMethodsError, type GetPaymentMethodsPaymentMethodResponse, type GetPaymentMethodsPaymentMethodError, type PostPaymentMethodsPaymentMethodResponse, type PostPaymentMethodsPaymentMethodError, type PostPaymentMethodsPaymentMethodAttachResponse, type PostPaymentMethodsPaymentMethodAttachError, type PostPaymentMethodsPaymentMethodDetachResponse, type PostPaymentMethodsPaymentMethodDetachError, type GetPayoutsResponse, type GetPayoutsError, type PostPayoutsResponse, type PostPayoutsError, type GetPayoutsPayoutResponse, type GetPayoutsPayoutError, type PostPayoutsPayoutResponse, type PostPayoutsPayoutError, type PostPayoutsPayoutCancelResponse, type PostPayoutsPayoutCancelError, type PostPayoutsPayoutReverseResponse, type PostPayoutsPayoutReverseError, type GetPlansResponse, type GetPlansError, type PostPlansResponse, type PostPlansError, type DeletePlansPlanError, type GetPlansPlanResponse, type GetPlansPlanError, type PostPlansPlanResponse, type PostPlansPlanError, type GetPricesResponse, type GetPricesError, type PostPricesResponse, type PostPricesError, type GetPricesSearchResponse, type GetPricesSearchError, type GetPricesPriceResponse, type GetPricesPriceError, type PostPricesPriceResponse, type PostPricesPriceError, type GetProductsResponse, type GetProductsError, type PostProductsResponse, type PostProductsError, type GetProductsSearchResponse, type GetProductsSearchError, type DeleteProductsIdError, type GetProductsIdResponse, type GetProductsIdError, type PostProductsIdResponse, type PostProductsIdError, type GetProductsProductFeaturesError, type PostProductsProductFeaturesError, type DeleteProductsProductFeaturesIdError, type GetProductsProductFeaturesIdError, type GetPromotionCodesResponse, type GetPromotionCodesError, type PostPromotionCodesResponse, type PostPromotionCodesError, type GetPromotionCodesPromotionCodeResponse, type GetPromotionCodesPromotionCodeError, type PostPromotionCodesPromotionCodeResponse, type PostPromotionCodesPromotionCodeError, type GetQuotesResponse, type GetQuotesError, type PostQuotesResponse, type PostQuotesError, type GetQuotesQuoteResponse, type GetQuotesQuoteError, type PostQuotesQuoteResponse, type PostQuotesQuoteError, type PostQuotesQuoteAcceptResponse, type PostQuotesQuoteAcceptError, type PostQuotesQuoteCancelResponse, type PostQuotesQuoteCancelError, type GetQuotesQuoteComputedUpfrontLineItemsResponse, type GetQuotesQuoteComputedUpfrontLineItemsError, type PostQuotesQuoteFinalizeResponse, type PostQuotesQuoteFinalizeError, type GetQuotesQuoteLineItemsResponse, type GetQuotesQuoteLineItemsError, type GetQuotesQuotePdfError, type GetRadarEarlyFraudWarningsResponse, type GetRadarEarlyFraudWarningsError, type GetRadarEarlyFraudWarningsEarlyFraudWarningResponse, type GetRadarEarlyFraudWarningsEarlyFraudWarningError, type GetRadarValueListItemsError, type PostRadarValueListItemsError, type DeleteRadarValueListItemsItemError, type GetRadarValueListItemsItemError, type GetRadarValueListsError, type PostRadarValueListsError, type DeleteRadarValueListsValueListError, type GetRadarValueListsValueListError, type PostRadarValueListsValueListError, type GetRefundsResponse, type GetRefundsError, type PostRefundsResponse, type PostRefundsError, type GetRefundsRefundResponse, type GetRefundsRefundError, type PostRefundsRefundResponse, type PostRefundsRefundError, type PostRefundsRefundCancelResponse, type PostRefundsRefundCancelError, type GetReportingReportRunsResponse, type GetReportingReportRunsError, type PostReportingReportRunsResponse, type PostReportingReportRunsError, type GetReportingReportRunsReportRunResponse, type GetReportingReportRunsReportRunError, type GetReportingReportTypesError, type GetReportingReportTypesReportTypeError, type GetReviewsResponse, type GetReviewsError, type GetReviewsReviewResponse, type GetReviewsReviewError, type PostReviewsReviewApproveResponse, type PostReviewsReviewApproveError, type GetSetupAttemptsResponse, type GetSetupAttemptsError, type GetSetupIntentsResponse, type GetSetupIntentsError, type PostSetupIntentsResponse, type PostSetupIntentsError, type GetSetupIntentsIntentResponse, type GetSetupIntentsIntentError, type PostSetupIntentsIntentResponse, type PostSetupIntentsIntentError, type PostSetupIntentsIntentCancelResponse, type PostSetupIntentsIntentCancelError, type PostSetupIntentsIntentConfirmResponse, type PostSetupIntentsIntentConfirmError, type PostSetupIntentsIntentVerifyMicrodepositsResponse, type PostSetupIntentsIntentVerifyMicrodepositsError, type GetShippingRatesError, type PostShippingRatesError, type GetShippingRatesShippingRateTokenError, type PostShippingRatesShippingRateTokenError, type GetSigmaScheduledQueryRunsResponse, type GetSigmaScheduledQueryRunsError, type GetSigmaScheduledQueryRunsScheduledQueryRunResponse, type GetSigmaScheduledQueryRunsScheduledQueryRunError, type PostSourcesError, type GetSourcesSourceError, type PostSourcesSourceError, type GetSourcesSourceMandateNotificationsMandateNotificationError, type GetSourcesSourceSourceTransactionsError, type GetSourcesSourceSourceTransactionsSourceTransactionError, type PostSourcesSourceVerifyError, type GetSubscriptionItemsResponse, type GetSubscriptionItemsError, type PostSubscriptionItemsResponse, type PostSubscriptionItemsError, type DeleteSubscriptionItemsItemError, type GetSubscriptionItemsItemResponse, type GetSubscriptionItemsItemError, type PostSubscriptionItemsItemResponse, type PostSubscriptionItemsItemError, type GetSubscriptionItemsSubscriptionItemUsageRecordSummariesError, type PostSubscriptionItemsSubscriptionItemUsageRecordsError, type GetSubscriptionSchedulesResponse, type GetSubscriptionSchedulesError, type PostSubscriptionSchedulesResponse, type PostSubscriptionSchedulesError, type GetSubscriptionSchedulesScheduleResponse, type GetSubscriptionSchedulesScheduleError, type PostSubscriptionSchedulesScheduleResponse, type PostSubscriptionSchedulesScheduleError, type PostSubscriptionSchedulesScheduleCancelResponse, type PostSubscriptionSchedulesScheduleCancelError, type PostSubscriptionSchedulesScheduleReleaseResponse, type PostSubscriptionSchedulesScheduleReleaseError, type GetSubscriptionsResponse, type GetSubscriptionsError, type PostSubscriptionsResponse, type PostSubscriptionsError, type GetSubscriptionsSearchResponse, type GetSubscriptionsSearchError, type DeleteSubscriptionsSubscriptionExposedIdResponse, type DeleteSubscriptionsSubscriptionExposedIdError, type GetSubscriptionsSubscriptionExposedIdResponse, type GetSubscriptionsSubscriptionExposedIdError, type PostSubscriptionsSubscriptionExposedIdResponse, type PostSubscriptionsSubscriptionExposedIdError, type DeleteSubscriptionsSubscriptionExposedIdDiscountResponse, type DeleteSubscriptionsSubscriptionExposedIdDiscountError, type PostSubscriptionsSubscriptionResumeResponse, type PostSubscriptionsSubscriptionResumeError, type PostTaxCalculationsError, type GetTaxCalculationsCalculationLineItemsError, type GetTaxRegistrationsError, type PostTaxRegistrationsError, type GetTaxRegistrationsIdError, type PostTaxRegistrationsIdError, type GetTaxSettingsError, type PostTaxSettingsError, type PostTaxTransactionsCreateFromCalculationError, type PostTaxTransactionsCreateReversalError, type GetTaxTransactionsTransactionError, type GetTaxTransactionsTransactionLineItemsError, type GetTaxCodesError, type GetTaxCodesIdError, type GetTaxIdsResponse, type GetTaxIdsError, type PostTaxIdsResponse, type PostTaxIdsError, type DeleteTaxIdsIdError, type GetTaxIdsIdResponse, type GetTaxIdsIdError, type GetTaxRatesError, type PostTaxRatesError, type GetTaxRatesTaxRateError, type PostTaxRatesTaxRateError, type GetTerminalConfigurationsResponse, type GetTerminalConfigurationsError, type PostTerminalConfigurationsResponse, type PostTerminalConfigurationsError, type DeleteTerminalConfigurationsConfigurationError, type GetTerminalConfigurationsConfigurationResponse, type GetTerminalConfigurationsConfigurationError, type PostTerminalConfigurationsConfigurationResponse, type PostTerminalConfigurationsConfigurationError, type PostTerminalConnectionTokensError, type GetTerminalLocationsError, type PostTerminalLocationsError, type DeleteTerminalLocationsLocationError, type GetTerminalLocationsLocationError, type PostTerminalLocationsLocationError, type GetTerminalReadersResponse, type GetTerminalReadersError, type PostTerminalReadersResponse, type PostTerminalReadersError, type DeleteTerminalReadersReaderError, type GetTerminalReadersReaderResponse, type GetTerminalReadersReaderError, type PostTerminalReadersReaderResponse, type PostTerminalReadersReaderError, type PostTerminalReadersReaderCancelActionResponse, type PostTerminalReadersReaderCancelActionError, type PostTerminalReadersReaderProcessPaymentIntentResponse, type PostTerminalReadersReaderProcessPaymentIntentError, type PostTerminalReadersReaderProcessSetupIntentResponse, type PostTerminalReadersReaderProcessSetupIntentError, type PostTerminalReadersReaderRefundPaymentResponse, type PostTerminalReadersReaderRefundPaymentError, type PostTerminalReadersReaderSetReaderDisplayResponse, type PostTerminalReadersReaderSetReaderDisplayError, type PostTestHelpersConfirmationTokensResponse, type PostTestHelpersConfirmationTokensError, type PostTestHelpersCustomersCustomerFundCashBalanceResponse, type PostTestHelpersCustomersCustomerFundCashBalanceError, type PostTestHelpersIssuingAuthorizationsResponse, type PostTestHelpersIssuingAuthorizationsError, type PostTestHelpersIssuingAuthorizationsAuthorizationCaptureResponse, type PostTestHelpersIssuingAuthorizationsAuthorizationCaptureError, type PostTestHelpersIssuingAuthorizationsAuthorizationExpireResponse, type PostTestHelpersIssuingAuthorizationsAuthorizationExpireError, type PostTestHelpersIssuingAuthorizationsAuthorizationIncrementResponse, type PostTestHelpersIssuingAuthorizationsAuthorizationIncrementError, type PostTestHelpersIssuingAuthorizationsAuthorizationReverseResponse, type PostTestHelpersIssuingAuthorizationsAuthorizationReverseError, type PostTestHelpersIssuingCardsCardShippingDeliverResponse, type PostTestHelpersIssuingCardsCardShippingDeliverError, type PostTestHelpersIssuingCardsCardShippingFailResponse, type PostTestHelpersIssuingCardsCardShippingFailError, type PostTestHelpersIssuingCardsCardShippingReturnResponse, type PostTestHelpersIssuingCardsCardShippingReturnError, type PostTestHelpersIssuingCardsCardShippingShipResponse, type PostTestHelpersIssuingCardsCardShippingShipError, type PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignActivateResponse, type PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignActivateError, type PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignDeactivateResponse, type PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignDeactivateError, type PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignRejectResponse, type PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignRejectError, type PostTestHelpersIssuingTransactionsCreateForceCaptureResponse, type PostTestHelpersIssuingTransactionsCreateForceCaptureError, type PostTestHelpersIssuingTransactionsCreateUnlinkedRefundResponse, type PostTestHelpersIssuingTransactionsCreateUnlinkedRefundError, type PostTestHelpersIssuingTransactionsTransactionRefundResponse, type PostTestHelpersIssuingTransactionsTransactionRefundError, type PostTestHelpersRefundsRefundExpireResponse, type PostTestHelpersRefundsRefundExpireError, type PostTestHelpersTerminalReadersReaderPresentPaymentMethodResponse, type PostTestHelpersTerminalReadersReaderPresentPaymentMethodError, type GetTestHelpersTestClocksError, type PostTestHelpersTestClocksError, type DeleteTestHelpersTestClocksTestClockError, type GetTestHelpersTestClocksTestClockError, type PostTestHelpersTestClocksTestClockAdvanceError, type PostTestHelpersTreasuryInboundTransfersIdFailResponse, type PostTestHelpersTreasuryInboundTransfersIdFailError, type PostTestHelpersTreasuryInboundTransfersIdReturnResponse, type PostTestHelpersTreasuryInboundTransfersIdReturnError, type PostTestHelpersTreasuryInboundTransfersIdSucceedResponse, type PostTestHelpersTreasuryInboundTransfersIdSucceedError, type PostTestHelpersTreasuryOutboundPaymentsIdResponse, type PostTestHelpersTreasuryOutboundPaymentsIdError, type PostTestHelpersTreasuryOutboundPaymentsIdFailResponse, type PostTestHelpersTreasuryOutboundPaymentsIdFailError, type PostTestHelpersTreasuryOutboundPaymentsIdPostResponse, type PostTestHelpersTreasuryOutboundPaymentsIdPostError, type PostTestHelpersTreasuryOutboundPaymentsIdReturnResponse, type PostTestHelpersTreasuryOutboundPaymentsIdReturnError, type PostTestHelpersTreasuryOutboundTransfersOutboundTransferResponse, type PostTestHelpersTreasuryOutboundTransfersOutboundTransferError, type PostTestHelpersTreasuryOutboundTransfersOutboundTransferFailResponse, type PostTestHelpersTreasuryOutboundTransfersOutboundTransferFailError, type PostTestHelpersTreasuryOutboundTransfersOutboundTransferPostResponse, type PostTestHelpersTreasuryOutboundTransfersOutboundTransferPostError, type PostTestHelpersTreasuryOutboundTransfersOutboundTransferReturnResponse, type PostTestHelpersTreasuryOutboundTransfersOutboundTransferReturnError, type PostTestHelpersTreasuryReceivedCreditsResponse, type PostTestHelpersTreasuryReceivedCreditsError, type PostTestHelpersTreasuryReceivedDebitsResponse, type PostTestHelpersTreasuryReceivedDebitsError, type PostTokensResponse, type PostTokensError, type GetTokensTokenResponse, type GetTokensTokenError, type GetTopupsResponse, type GetTopupsError, type PostTopupsResponse, type PostTopupsError, type GetTopupsTopupResponse, type GetTopupsTopupError, type PostTopupsTopupResponse, type PostTopupsTopupError, type PostTopupsTopupCancelResponse, type PostTopupsTopupCancelError, type GetTransfersResponse, type GetTransfersError, type PostTransfersResponse, type PostTransfersError, type GetTransfersIdReversalsResponse, type GetTransfersIdReversalsError, type PostTransfersIdReversalsResponse, type PostTransfersIdReversalsError, type GetTransfersTransferResponse, type GetTransfersTransferError, type PostTransfersTransferResponse, type PostTransfersTransferError, type GetTransfersTransferReversalsIdResponse, type GetTransfersTransferReversalsIdError, type PostTransfersTransferReversalsIdResponse, type PostTransfersTransferReversalsIdError, type GetTreasuryCreditReversalsResponse, type GetTreasuryCreditReversalsError, type PostTreasuryCreditReversalsResponse, type PostTreasuryCreditReversalsError, type GetTreasuryCreditReversalsCreditReversalResponse, type GetTreasuryCreditReversalsCreditReversalError, type GetTreasuryDebitReversalsResponse, type GetTreasuryDebitReversalsError, type PostTreasuryDebitReversalsResponse, type PostTreasuryDebitReversalsError, type GetTreasuryDebitReversalsDebitReversalResponse, type GetTreasuryDebitReversalsDebitReversalError, type GetTreasuryFinancialAccountsError, type PostTreasuryFinancialAccountsError, type GetTreasuryFinancialAccountsFinancialAccountError, type PostTreasuryFinancialAccountsFinancialAccountError, type GetTreasuryFinancialAccountsFinancialAccountFeaturesError, type PostTreasuryFinancialAccountsFinancialAccountFeaturesError, type GetTreasuryInboundTransfersResponse, type GetTreasuryInboundTransfersError, type PostTreasuryInboundTransfersResponse, type PostTreasuryInboundTransfersError, type GetTreasuryInboundTransfersIdResponse, type GetTreasuryInboundTransfersIdError, type PostTreasuryInboundTransfersInboundTransferCancelResponse, type PostTreasuryInboundTransfersInboundTransferCancelError, type GetTreasuryOutboundPaymentsResponse, type GetTreasuryOutboundPaymentsError, type PostTreasuryOutboundPaymentsResponse, type PostTreasuryOutboundPaymentsError, type GetTreasuryOutboundPaymentsIdResponse, type GetTreasuryOutboundPaymentsIdError, type PostTreasuryOutboundPaymentsIdCancelResponse, type PostTreasuryOutboundPaymentsIdCancelError, type GetTreasuryOutboundTransfersResponse, type GetTreasuryOutboundTransfersError, type PostTreasuryOutboundTransfersResponse, type PostTreasuryOutboundTransfersError, type GetTreasuryOutboundTransfersOutboundTransferResponse, type GetTreasuryOutboundTransfersOutboundTransferError, type PostTreasuryOutboundTransfersOutboundTransferCancelResponse, type PostTreasuryOutboundTransfersOutboundTransferCancelError, type GetTreasuryReceivedCreditsResponse, type GetTreasuryReceivedCreditsError, type GetTreasuryReceivedCreditsIdResponse, type GetTreasuryReceivedCreditsIdError, type GetTreasuryReceivedDebitsResponse, type GetTreasuryReceivedDebitsError, type GetTreasuryReceivedDebitsIdResponse, type GetTreasuryReceivedDebitsIdError, type GetTreasuryTransactionEntriesResponse, type GetTreasuryTransactionEntriesError, type GetTreasuryTransactionEntriesIdResponse, type GetTreasuryTransactionEntriesIdError, type GetTreasuryTransactionsResponse, type GetTreasuryTransactionsError, type GetTreasuryTransactionsIdResponse, type GetTreasuryTransactionsIdError, type GetWebhookEndpointsError, type PostWebhookEndpointsError, type DeleteWebhookEndpointsWebhookEndpointError, type GetWebhookEndpointsWebhookEndpointError, type PostWebhookEndpointsWebhookEndpointError, } from './types.gen'; export const accountCapabilitiesSchema = z.object({ acss_debit_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), affirm_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), afterpay_clearpay_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), amazon_pay_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), au_becs_debit_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), bacs_debit_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), bancontact_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), bank_transfer_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), blik_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), boleto_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), card_issuing: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), card_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), cartes_bancaires_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), cashapp_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), eps_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), fpx_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), gb_bank_transfer_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), giropay_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), grabpay_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), ideal_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), india_international_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), jcb_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), jp_bank_transfer_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), klarna_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), konbini_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), legacy_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), link_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), mobilepay_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), multibanco_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), mx_bank_transfer_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), oxxo_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), p24_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), paynow_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), promptpay_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), revolut_pay_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), sepa_bank_transfer_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), sepa_debit_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), sofort_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), swish_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), tax_reporting_us_1099_k: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), tax_reporting_us_1099_misc: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), transfers: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), treasury: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), twint_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), us_bank_account_ach_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), us_bank_transfer_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), zip_payments: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]).optional(), }); export const accountTosAcceptanceSchema = z.object({ date: z.number().optional().nullable(), ip: z.string().optional().nullable(), service_agreement: z.string().optional(), user_agent: z.string().optional().nullable(), }); export const businessTypeSchema = z.union([ z.literal('company'), z.literal('government_entity'), z.literal('individual'), z.literal('non_profit'), ]); export const stripeObjectSchema = z.literal('list'); export const typeSchema = z.union([ z.literal('custom'), z.literal('express'), z.literal('none'), z.literal('standard'), ]); export const accountAnnualRevenueSchema = z.object({ amount: z.number().optional().nullable(), currency: z.string().optional().nullable(), fiscal_year_end: z.string().optional().nullable(), }); export const accountBacsDebitPaymentsSettingsSchema = z.object({ display_name: z.string().optional().nullable(), service_user_number: z.string().optional().nullable(), }); export const accountMonthlyEstimatedRevenueSchema = z.object({ amount: z.number(), currency: z.string(), }); export const addressSchema = z.object({ city: z.string().optional().nullable(), country: z.string().optional().nullable(), line1: z.string().optional().nullable(), line2: z.string().optional().nullable(), postal_code: z.string().optional().nullable(), state: z.string().optional().nullable(), }); export const acssDebitPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const affirmPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const afterpayClearpayPaymentsSchema = z.union([ z.literal('active'), z.literal('inactive'), z.literal('pending'), ]); export const amazonPayPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const auBecsDebitPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const bacsDebitPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const bancontactPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const bankTransferPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const blikPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const boletoPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const cardIssuingSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const cardPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const cartesBancairesPaymentsSchema = z.union([ z.literal('active'), z.literal('inactive'), z.literal('pending'), ]); export const cashappPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const epsPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const fpxPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const gbBankTransferPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const giropayPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const grabpayPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const idealPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const indiaInternationalPaymentsSchema = z.union([ z.literal('active'), z.literal('inactive'), z.literal('pending'), ]); export const jcbPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const jpBankTransferPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const klarnaPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const konbiniPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const legacyPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const linkPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const mobilepayPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const multibancoPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const mxBankTransferPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const oxxoPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const p24PaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const paynowPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const promptpayPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const revolutPayPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const sepaBankTransferPaymentsSchema = z.union([ z.literal('active'), z.literal('inactive'), z.literal('pending'), ]); export const sepaDebitPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const sofortPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const swishPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const taxReportingUs1099KSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const taxReportingUs1099MiscSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const transfersSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const treasurySchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const twintPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const usBankAccountAchPaymentsSchema = z.union([ z.literal('active'), z.literal('inactive'), z.literal('pending'), ]); export const usBankTransferPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const zipPaymentsSchema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const accountRequirementsAlternativeSchema = z.object({ alternative_fields_due: z.array(z.string()), original_fields_due: z.array(z.string()), }); export const accountRequirementsErrorSchema = z.object({ code: z.union([ z.literal('invalid_address_city_state_postal_code'), z.literal('invalid_address_highway_contract_box'), z.literal('invalid_address_private_mailbox'), z.literal('invalid_business_profile_name'), z.literal('invalid_business_profile_name_denylisted'), z.literal('invalid_company_name_denylisted'), z.literal('invalid_dob_age_over_maximum'), z.literal('invalid_dob_age_under_18'), z.literal('invalid_dob_age_under_minimum'), z.literal('invalid_product_description_length'), z.literal('invalid_product_description_url_match'), z.literal('invalid_representative_country'), z.literal('invalid_statement_descriptor_business_mismatch'), z.literal('invalid_statement_descriptor_denylisted'), z.literal('invalid_statement_descriptor_length'), z.literal('invalid_statement_descriptor_prefix_denylisted'), z.literal('invalid_statement_descriptor_prefix_mismatch'), z.literal('invalid_street_address'), z.literal('invalid_tax_id'), z.literal('invalid_tax_id_format'), z.literal('invalid_tos_acceptance'), z.literal('invalid_url_denylisted'), z.literal('invalid_url_format'), z.literal('invalid_url_web_presence_detected'), z.literal('invalid_url_website_business_information_mismatch'), z.literal('invalid_url_website_empty'), z.literal('invalid_url_website_inaccessible'), z.literal('invalid_url_website_inaccessible_geoblocked'), z.literal('invalid_url_website_inaccessible_password_protected'), z.literal('invalid_url_website_incomplete'), z.literal('invalid_url_website_incomplete_cancellation_policy'), z.literal('invalid_url_website_incomplete_customer_service_details'), z.literal('invalid_url_website_incomplete_legal_restrictions'), z.literal('invalid_url_website_incomplete_refund_policy'), z.literal('invalid_url_website_incomplete_return_policy'), z.literal('invalid_url_website_incomplete_terms_and_conditions'), z.literal('invalid_url_website_incomplete_under_construction'), z.literal('invalid_url_website_other'), z.literal('invalid_value_other'), z.literal('verification_directors_mismatch'), z.literal('verification_document_address_mismatch'), z.literal('verification_document_address_missing'), z.literal('verification_document_corrupt'), z.literal('verification_document_country_not_supported'), z.literal('verification_document_directors_mismatch'), z.literal('verification_document_dob_mismatch'), z.literal('verification_document_duplicate_type'), z.literal('verification_document_expired'), z.literal('verification_document_failed_copy'), z.literal('verification_document_failed_greyscale'), z.literal('verification_document_failed_other'), z.literal('verification_document_failed_test_mode'), z.literal('verification_document_fraudulent'), z.literal('verification_document_id_number_mismatch'), z.literal('verification_document_id_number_missing'), z.literal('verification_document_incomplete'), z.literal('verification_document_invalid'), z.literal('verification_document_issue_or_expiry_date_missing'), z.literal('verification_document_manipulated'), z.literal('verification_document_missing_back'), z.literal('verification_document_missing_front'), z.literal('verification_document_name_mismatch'), z.literal('verification_document_name_missing'), z.literal('verification_document_nationality_mismatch'), z.literal('verification_document_not_readable'), z.literal('verification_document_not_signed'), z.literal('verification_document_not_uploaded'), z.literal('verification_document_photo_mismatch'), z.literal('verification_document_too_large'), z.literal('verification_document_type_not_supported'), z.literal('verification_extraneous_directors'), z.literal('verification_failed_address_match'), z.literal('verification_failed_business_iec_number'), z.literal('verification_failed_document_match'), z.literal('verification_failed_id_number_match'), z.literal('verification_failed_keyed_identity'), z.literal('verification_failed_keyed_match'), z.literal('verification_failed_name_match'), z.literal('verification_failed_other'), z.literal('verification_failed_representative_authority'), z.literal('verification_failed_residential_address'), z.literal('verification_failed_tax_id_match'), z.literal('verification_failed_tax_id_not_issued'), z.literal('verification_missing_directors'), z.literal('verification_missing_executives'), z.literal('verification_missing_owners'), z.literal('verification_requires_additional_memorandum_of_associations'), z.literal('verification_requires_additional_proof_of_registration'), ]), reason: z.string(), requirement: z.string(), }); export const accountCapabilityRequirementsSchema = z.object({ alternatives: z.array(accountRequirementsAlternativeSchema).optional().nullable(), current_deadline: z.number().optional().nullable(), currently_due: z.array(z.string()), disabled_reason: z.string().optional().nullable(), errors: z.array(accountRequirementsErrorSchema), eventually_due: z.array(z.string()), past_due: z.array(z.string()), pending_verification: z.array(z.string()), }); export const cardIssuingAccountTermsOfServiceSchema = z.object({ date: z.number().optional().nullable(), ip: z.string().optional().nullable(), user_agent: z.string().optional(), }); export const accountDeclineChargeOnSchema = z.object({ avs_failure: z.boolean(), cvc_failure: z.boolean(), }); export const accountDashboardSettingsSchema = z.object({ display_name: z.string().optional().nullable(), timezone: z.string().optional().nullable(), }); export const accountFutureRequirementsSchema = z.object({ alternatives: z.array(accountRequirementsAlternativeSchema).optional().nullable(), current_deadline: z.number().optional().nullable(), currently_due: z.array(z.string()).optional().nullable(), disabled_reason: z.string().optional().nullable(), errors: z.array(accountRequirementsErrorSchema).optional().nullable(), eventually_due: z.array(z.string()).optional().nullable(), past_due: z.array(z.string()).optional().nullable(), pending_verification: z.array(z.string()).optional().nullable(), }); export const accountLinkSchema = z.object({ created: z.number(), expires_at: z.number(), object: z.literal('account_link'), url: z.string(), }); export const object2Schema = z.literal('account_link'); export const accountPaymentsSettingsSchema = z.object({ statement_descriptor: z.string().optional().nullable(), statement_descriptor_kana: z.string().optional().nullable(), statement_descriptor_kanji: z.string().optional().nullable(), statement_descriptor_prefix_kana: z.string().optional().nullable(), statement_descriptor_prefix_kanji: z.string().optional().nullable(), }); export const transferScheduleSchema = z.object({ delay_days: z.number(), interval: z.string(), monthly_anchor: z.number().optional(), weekly_anchor: z.string().optional(), }); export const accountRequirementsSchema = z.object({ alternatives: z.array(accountRequirementsAlternativeSchema).optional().nullable(), current_deadline: z.number().optional().nullable(), currently_due: z.array(z.string()).optional().nullable(), disabled_reason: z.string().optional().nullable(), errors: z.array(accountRequirementsErrorSchema).optional().nullable(), eventually_due: z.array(z.string()).optional().nullable(), past_due: z.array(z.string()).optional().nullable(), pending_verification: z.array(z.string()).optional().nullable(), }); export const codeSchema = z.union([ z.literal('invalid_address_city_state_postal_code'), z.literal('invalid_address_highway_contract_box'), z.literal('invalid_address_private_mailbox'), z.literal('invalid_business_profile_name'), z.literal('invalid_business_profile_name_denylisted'), z.literal('invalid_company_name_denylisted'), z.literal('invalid_dob_age_over_maximum'), z.literal('invalid_dob_age_under_18'), z.literal('invalid_dob_age_under_minimum'), z.literal('invalid_product_description_length'), z.literal('invalid_product_description_url_match'), z.literal('invalid_representative_country'), z.literal('invalid_statement_descriptor_business_mismatch'), z.literal('invalid_statement_descriptor_denylisted'), z.literal('invalid_statement_descriptor_length'), z.literal('invalid_statement_descriptor_prefix_denylisted'), z.literal('invalid_statement_descriptor_prefix_mismatch'), z.literal('invalid_street_address'), z.literal('invalid_tax_id'), z.literal('invalid_tax_id_format'), z.literal('invalid_tos_acceptance'), z.literal('invalid_url_denylisted'), z.literal('invalid_url_format'), z.literal('invalid_url_web_presence_detected'), z.literal('invalid_url_website_business_information_mismatch'), z.literal('invalid_url_website_empty'), z.literal('invalid_url_website_inaccessible'), z.literal('invalid_url_website_inaccessible_geoblocked'), z.literal('invalid_url_website_inaccessible_password_protected'), z.literal('invalid_url_website_incomplete'), z.literal('invalid_url_website_incomplete_cancellation_policy'), z.literal('invalid_url_website_incomplete_customer_service_details'), z.literal('invalid_url_website_incomplete_legal_restrictions'), z.literal('invalid_url_website_incomplete_refund_policy'), z.literal('invalid_url_website_incomplete_return_policy'), z.literal('invalid_url_website_incomplete_terms_and_conditions'), z.literal('invalid_url_website_incomplete_under_construction'), z.literal('invalid_url_website_other'), z.literal('invalid_value_other'), z.literal('verification_directors_mismatch'), z.literal('verification_document_address_mismatch'), z.literal('verification_document_address_missing'), z.literal('verification_document_corrupt'), z.literal('verification_document_country_not_supported'), z.literal('verification_document_directors_mismatch'), z.literal('verification_document_dob_mismatch'), z.literal('verification_document_duplicate_type'), z.literal('verification_document_expired'), z.literal('verification_document_failed_copy'), z.literal('verification_document_failed_greyscale'), z.literal('verification_document_failed_other'), z.literal('verification_document_failed_test_mode'), z.literal('verification_document_fraudulent'), z.literal('verification_document_id_number_mismatch'), z.literal('verification_document_id_number_missing'), z.literal('verification_document_incomplete'), z.literal('verification_document_invalid'), z.literal('verification_document_issue_or_expiry_date_missing'), z.literal('verification_document_manipulated'), z.literal('verification_document_missing_back'), z.literal('verification_document_missing_front'), z.literal('verification_document_name_mismatch'), z.literal('verification_document_name_missing'), z.literal('verification_document_nationality_mismatch'), z.literal('verification_document_not_readable'), z.literal('verification_document_not_signed'), z.literal('verification_document_not_uploaded'), z.literal('verification_document_photo_mismatch'), z.literal('verification_document_too_large'), z.literal('verification_document_type_not_supported'), z.literal('verification_extraneous_directors'), z.literal('verification_failed_address_match'), z.literal('verification_failed_business_iec_number'), z.literal('verification_failed_document_match'), z.literal('verification_failed_id_number_match'), z.literal('verification_failed_keyed_identity'), z.literal('verification_failed_keyed_match'), z.literal('verification_failed_name_match'), z.literal('verification_failed_other'), z.literal('verification_failed_representative_authority'), z.literal('verification_failed_residential_address'), z.literal('verification_failed_tax_id_match'), z.literal('verification_failed_tax_id_not_issued'), z.literal('verification_missing_directors'), z.literal('verification_missing_executives'), z.literal('verification_missing_owners'), z.literal('verification_requires_additional_memorandum_of_associations'), z.literal('verification_requires_additional_proof_of_registration'), ]); export const accountSepaDebitPaymentsSettingsSchema = z.object({ creditor_id: z.string().optional(), }); export const object3Schema = z.literal('account_session'); export const accountCardIssuingSettingsSchema = z.object({ tos_acceptance: cardIssuingAccountTermsOfServiceSchema.optional(), }); export const accountCardPaymentsSettingsSchema = z.object({ decline_on: accountDeclineChargeOnSchema.optional(), statement_descriptor_prefix: z.string().optional().nullable(), statement_descriptor_prefix_kana: z.string().optional().nullable(), statement_descriptor_prefix_kanji: z.string().optional().nullable(), }); export const accountPayoutSettingsSchema = z.object({ debit_negative_balances: z.boolean(), schedule: transferScheduleSchema, statement_descriptor: z.string().optional().nullable(), }); export const accountTermsOfServiceSchema = z.object({ date: z.number().optional().nullable(), ip: z.string().optional().nullable(), user_agent: z.string().optional(), }); export const accountTreasurySettingsSchema = z.object({ tos_acceptance: accountTermsOfServiceSchema.optional(), }); export const accountUnificationAccountControllerFeesSchema = z.object({ payer: z.union([ z.literal('account'), z.literal('application'), z.literal('application_custom'), z.literal('application_express'), ]), }); export const accountUnificationAccountControllerLossesSchema = z.object({ payments: z.union([z.literal('application'), z.literal('stripe')]), }); export const accountUnificationAccountControllerStripeDashboardSchema = z.object({ type: z.union([z.literal('express'), z.literal('full'), z.literal('none')]), }); export const requirementCollectionSchema = z.union([z.literal('application'), z.literal('stripe')]); export const type2Schema = z.union([z.literal('account'), z.literal('application')]); export const payerSchema = z.union([ z.literal('account'), z.literal('application'), z.literal('application_custom'), z.literal('application_express'), ]); export const paymentsSchema = z.union([z.literal('application'), z.literal('stripe')]); export const type3Schema = z.union([z.literal('express'), z.literal('full'), z.literal('none')]); export const sourceSchema = z.union([ z.literal('billing_address'), z.literal('ip_address'), z.literal('payment_method'), z.literal('shipping_destination'), ]); export const type4Schema = z.union([ z.literal('api_error'), z.literal('card_error'), z.literal('idempotency_error'), z.literal('invalid_request_error'), ]); export const applePayDomainSchema = z.object({ created: z.number(), domain_name: z.string(), id: z.string(), livemode: z.boolean(), object: z.literal('apple_pay_domain'), }); export const object4Schema = z.literal('apple_pay_domain'); export const applicationSchema = z.object({ id: z.string(), name: z.string().optional().nullable(), object: z.literal('application'), }); export const object5Schema = z.literal('application'); export const platformEarningFeeSourceSchema = z.object({ charge: z.string().optional(), payout: z.string().optional(), type: z.union([z.literal('charge'), z.literal('payout')]), }); export const object6Schema = z.literal('application_fee'); export const secretServiceResourceScopeSchema = z.object({ type: z.union([z.literal('account'), z.literal('user')]), user: z.string().optional(), }); export const object7Schema = z.literal('apps.secret'); export const statusSchema = z.union([ z.literal('complete'), z.literal('failed'), z.literal('requires_location_inputs'), ]); export const object8Schema = z.literal('balance'); export const balanceAmountBySourceTypeSchema = z.object({ bank_account: z.number().optional(), card: z.number().optional(), fpx: z.number().optional(), }); export const balanceNetAvailableSchema = z.object({ amount: z.number(), destination: z.string(), source_types: balanceAmountBySourceTypeSchema.optional(), }); export const balanceAmountSchema = z.object({ amount: z.number(), currency: z.string(), source_types: balanceAmountBySourceTypeSchema.optional(), }); export const feeSchema = z.object({ amount: z.number(), application: z.string().optional().nullable(), currency: z.string(), description: z.string().optional().nullable(), type: z.string(), }); export const reserveTransactionSchema = z.object({ amount: z.number(), currency: z.string(), description: z.string().optional().nullable(), id: z.string(), object: z.literal('reserve_transaction'), }); export const taxDeductedAtSourceSchema = z.object({ id: z.string(), object: z.literal('tax_deducted_at_source'), period_end: z.number(), period_start: z.number(), tax_deduction_account_number: z.string(), }); export const object9Schema = z.literal('balance_transaction'); export const type5Schema = z.union([ z.literal('adjustment'), z.literal('advance'), z.literal('advance_funding'), z.literal('anticipation_repayment'), z.literal('application_fee'), z.literal('application_fee_refund'), z.literal('charge'), z.literal('climate_order_purchase'), z.literal('climate_order_refund'), z.literal('connect_collection_transfer'), z.literal('contribution'), z.literal('issuing_authorization_hold'), z.literal('issuing_authorization_release'), z.literal('issuing_dispute'), z.literal('issuing_transaction'), z.literal('obligation_outbound'), z.literal('obligation_reversal_inbound'), z.literal('payment'), z.literal('payment_failure_refund'), z.literal('payment_network_reserve_hold'), z.literal('payment_network_reserve_release'), z.literal('payment_refund'), z.literal('payment_reversal'), z.literal('payment_unreconciled'), z.literal('payout'), z.literal('payout_cancel'), z.literal('payout_failure'), z.literal('refund'), z.literal('refund_failure'), z.literal('reserve_transaction'), z.literal('reserved_funds'), z.literal('stripe_fee'), z.literal('stripe_fx_fee'), z.literal('tax_fee'), z.literal('topup'), z.literal('topup_reversal'), z.literal('transfer'), z.literal('transfer_cancel'), z.literal('transfer_failure'), z.literal('transfer_refund'), ]); export const deletedCustomerSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('customer'), }); export const externalAccountRequirementsSchema = z.object({ currently_due: z.array(z.string()).optional().nullable(), errors: z.array(accountRequirementsErrorSchema).optional().nullable(), past_due: z.array(z.string()).optional().nullable(), pending_verification: z.array(z.string()).optional().nullable(), }); export const object10Schema = z.literal('bank_account'); export const type6Schema = z.union([z.literal('account'), z.literal('customer')]); export const bankConnectionsResourceBalanceApiResourceCashBalanceSchema = z.object({ available: z.record(z.number()).optional().nullable(), }); export const bankConnectionsResourceBalanceApiResourceCreditBalanceSchema = z.object({ used: z.record(z.number()).optional().nullable(), }); export const type7Schema = z.union([z.literal('cash'), z.literal('credit')]); export const bankConnectionsResourceBalanceRefreshSchema = z.object({ last_attempted_at: z.number(), next_refresh_available_at: z.number().optional().nullable(), status: z.union([z.literal('failed'), z.literal('pending'), z.literal('succeeded')]), }); export const status2Schema = z.union([z.literal('failed'), z.literal('pending'), z.literal('succeeded')]); export const bankConnectionsResourceLinkAccountSessionFiltersSchema = z.object({ countries: z.array(z.string()).optional().nullable(), }); export const bankConnectionsResourceOwnershipRefreshSchema = z.object({ last_attempted_at: z.number(), next_refresh_available_at: z.number().optional().nullable(), status: z.union([z.literal('failed'), z.literal('pending'), z.literal('succeeded')]), }); export const bankConnectionsResourceTransactionRefreshSchema = z.object({ id: z.string(), last_attempted_at: z.number(), next_refresh_available_at: z.number().optional().nullable(), status: z.union([z.literal('failed'), z.literal('pending'), z.literal('succeeded')]), }); export const bankConnectionsResourceTransactionResourceStatusTransitionsSchema = z.object({ posted_at: z.number().optional().nullable(), void_at: z.number().optional().nullable(), }); export const billingDetailsSchema = z.object({ address: addressSchema.optional().nullable(), email: z.string().optional().nullable(), name: z.string().optional().nullable(), phone: z.string().optional().nullable(), }); export const billingMeterResourceCustomerMappingSettingsSchema = z.object({ event_payload_key: z.string(), type: z.literal('by_id'), }); export const billingMeterResourceAggregationSettingsSchema = z.object({ formula: z.union([z.literal('count'), z.literal('sum')]), }); export const billingMeterResourceBillingMeterStatusTransitionsSchema = z.object({ deactivated_at: z.number().optional().nullable(), }); export const billingMeterResourceBillingMeterValueSchema = z.object({ event_payload_key: z.string(), }); export const eventTimeWindowSchema = z.union([z.literal('day'), z.literal('hour')]); export const object11Schema = z.literal('billing.meter'); export const status3Schema = z.union([z.literal('active'), z.literal('inactive')]); export const billingMeterEventSchema = z.object({ created: z.number(), event_name: z.string(), identifier: z.string(), livemode: z.boolean(), object: z.literal('billing.meter_event'), payload: z.record(z.string()), timestamp: z.number(), }); export const object12Schema = z.literal('billing.meter_event'); export const billingMeterResourceBillingMeterEventAdjustmentCancelSchema = z.object({ identifier: z.string().optional().nullable(), }); export const object13Schema = z.literal('billing.meter_event_adjustment'); export const status4Schema = z.union([z.literal('complete'), z.literal('pending')]); export const type8Schema = z.literal('cancel'); export const billingMeterEventSummarySchema = z.object({ aggregated_value: z.number(), end_time: z.number(), id: z.string(), livemode: z.boolean(), meter: z.string(), object: z.literal('billing.meter_event_summary'), start_time: z.number(), }); export const object14Schema = z.literal('billing.meter_event_summary'); export const formulaSchema = z.union([z.literal('count'), z.literal('sum')]); export const type9Schema = z.literal('by_id'); export const deletedApplicationSchema = z.object({ deleted: z.boolean(), id: z.string(), name: z.string().optional().nullable(), object: z.literal('application'), }); export const portalBusinessProfileSchema = z.object({ headline: z.string().optional().nullable(), privacy_policy_url: z.string().optional().nullable(), terms_of_service_url: z.string().optional().nullable(), }); export const portalLoginPageSchema = z.object({ enabled: z.boolean(), url: z.string().optional().nullable(), }); export const object15Schema = z.literal('billing_portal.configuration'); export const localeSchema = z.union([ z.literal('auto'), z.literal('bg'), z.literal('cs'), z.literal('da'), z.literal('de'), z.literal('el'), z.literal('en'), z.literal('en-AU'), z.literal('en-CA'), z.literal('en-GB'), z.literal('en-IE'), z.literal('en-IN'), z.literal('en-NZ'), z.literal('en-SG'), z.literal('es'), z.literal('es-419'), z.literal('et'), z.literal('fi'), z.literal('fil'), z.literal('fr'), z.literal('fr-CA'), z.literal('hr'), z.literal('hu'), z.literal('id'), z.literal('it'), z.literal('ja'), z.literal('ko'), z.literal('lt'), z.literal('lv'), z.literal('ms'), z.literal('mt'), z.literal('nb'), z.literal('nl'), z.literal('pl'), z.literal('pt'), z.literal('pt-BR'), z.literal('ro'), z.literal('ru'), z.literal('sk'), z.literal('sl'), z.literal('sv'), z.literal('th'), z.literal('tr'), z.literal('vi'), z.literal('zh'), z.literal('zh-HK'), z.literal('zh-TW'), ]); export const object16Schema = z.literal('billing_portal.session'); export const cancellationDetailsSchema = z.object({ comment: z.string().optional().nullable(), feedback: z .union([ z.literal('customer_service'), z.literal('low_quality'), z.literal('missing_features'), z.literal('other'), z.literal('switched_service'), z.literal('too_complex'), z.literal('too_expensive'), z.literal('unused'), ]) .optional() .nullable(), reason: z .union([z.literal('cancellation_requested'), z.literal('payment_disputed'), z.literal('payment_failed')]) .optional() .nullable(), }); export const feedbackSchema = z.union([ z.literal('customer_service'), z.literal('low_quality'), z.literal('missing_features'), z.literal('other'), z.literal('switched_service'), z.literal('too_complex'), z.literal('too_expensive'), z.literal('unused'), ]); export const reasonSchema = z.union([ z.literal('cancellation_requested'), z.literal('payment_disputed'), z.literal('payment_failed'), ]); export const accountCapabilityFutureRequirementsSchema = z.object({ alternatives: z.array(accountRequirementsAlternativeSchema).optional().nullable(), current_deadline: z.number().optional().nullable(), currently_due: z.array(z.string()), disabled_reason: z.string().optional().nullable(), errors: z.array(accountRequirementsErrorSchema), eventually_due: z.array(z.string()), past_due: z.array(z.string()), pending_verification: z.array(z.string()), }); export const object17Schema = z.literal('capability'); export const status5Schema = z.union([ z.literal('active'), z.literal('disabled'), z.literal('inactive'), z.literal('pending'), z.literal('unrequested'), ]); export const tokenCardNetworksSchema = z.object({ preferred: z.string().optional().nullable(), }); export const object18Schema = z.literal('card'); export const cardMandatePaymentMethodDetailsSchema = z.record(z.unknown()); export const customerBalanceCustomerBalanceSettingsSchema = z.object({ reconciliation_mode: z.union([z.literal('automatic'), z.literal('manual')]), using_merchant_default: z.boolean(), }); export const object19Schema = z.literal('cash_balance'); export const chargeFraudDetailsSchema = z.object({ stripe_report: z.string().optional(), user_report: z.string().optional(), }); export const radarRadarOptionsSchema = z.object({ session: z.string().optional(), }); export const shippingSchema = z.object({ address: addressSchema.optional(), carrier: z.string().optional().nullable(), name: z.string().optional(), phone: z.string().optional().nullable(), tracking_number: z.string().optional().nullable(), }); export const object20Schema = z.literal('charge'); export const ruleSchema = z.object({ action: z.string(), id: z.string(), predicate: z.string(), }); export const checkoutAcssDebitMandateOptionsSchema = z.object({ custom_mandate_url: z.string().optional(), default_for: z.array(z.union([z.literal('invoice'), z.literal('subscription')])).optional(), interval_description: z.string().optional().nullable(), payment_schedule: z .union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]) .optional() .nullable(), transaction_type: z .union([z.literal('business'), z.literal('personal')]) .optional() .nullable(), }); export const paymentScheduleSchema = z.union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]); export const transactionTypeSchema = z.union([z.literal('business'), z.literal('personal')]); export const checkoutAcssDebitPaymentMethodOptionsSchema = z.object({ currency: z.union([z.literal('cad'), z.literal('usd')]).optional(), mandate_options: checkoutAcssDebitMandateOptionsSchema.optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), verification_method: z.union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]).optional(), }); export const currencySchema = z.union([z.literal('cad'), z.literal('usd')]); export const setupFutureUsageSchema = z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]); export const verificationMethodSchema = z.union([ z.literal('automatic'), z.literal('instant'), z.literal('microdeposits'), ]); export const checkoutAffirmPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const setupFutureUsage2Schema = z.literal('none'); export const checkoutAfterpayClearpayPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutAlipayPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutAmazonPayPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const setupFutureUsage3Schema = z.union([z.literal('none'), z.literal('off_session')]); export const checkoutAuBecsDebitPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutBacsDebitPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), }); export const checkoutBancontactPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutBoletoPaymentMethodOptionsSchema = z.object({ expires_after_days: z.number(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), }); export const checkoutCardInstallmentsOptionsSchema = z.object({ enabled: z.boolean().optional(), }); export const checkoutCardPaymentMethodOptionsSchema = z.object({ installments: checkoutCardInstallmentsOptionsSchema.optional(), request_three_d_secure: z.union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), statement_descriptor_suffix_kana: z.string().optional(), statement_descriptor_suffix_kanji: z.string().optional(), }); export const requestThreeDSecureSchema = z.union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]); export const checkoutCashappPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsCustomerBalanceEuBankAccountSchema = z.object({ country: z.union([ z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('FR'), z.literal('IE'), z.literal('NL'), ]), }); export const type10Schema = z.union([ z.literal('eu_bank_transfer'), z.literal('gb_bank_transfer'), z.literal('jp_bank_transfer'), z.literal('mx_bank_transfer'), z.literal('us_bank_transfer'), ]); export const checkoutCustomerBalanceBankTransferPaymentMethodOptionsSchema = z.object({ eu_bank_transfer: paymentMethodOptionsCustomerBalanceEuBankAccountSchema.optional(), requested_address_types: z .array( z.union([ z.literal('aba'), z.literal('iban'), z.literal('sepa'), z.literal('sort_code'), z.literal('spei'), z.literal('swift'), z.literal('zengin'), ]), ) .optional(), type: z .union([ z.literal('eu_bank_transfer'), z.literal('gb_bank_transfer'), z.literal('jp_bank_transfer'), z.literal('mx_bank_transfer'), z.literal('us_bank_transfer'), ]) .optional() .nullable(), }); export const fundingTypeSchema = z.literal('bank_transfer'); export const checkoutEpsPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutFpxPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutGiropayPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutGrabPayPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutIdealPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutKlarnaPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), }); export const checkoutKonbiniPaymentMethodOptionsSchema = z.object({ expires_after_days: z.number().optional().nullable(), setup_future_usage: z.literal('none').optional(), }); export const checkoutLinkPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const checkoutMobilepayPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutMultibancoPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutOxxoPaymentMethodOptionsSchema = z.object({ expires_after_days: z.number(), setup_future_usage: z.literal('none').optional(), }); export const checkoutP24PaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutPaynowPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutPaypalPaymentMethodOptionsSchema = z.object({ capture_method: z.literal('manual').optional(), preferred_locale: z.string().optional().nullable(), reference: z.string().optional().nullable(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const captureMethodSchema = z.literal('manual'); export const checkoutPixPaymentMethodOptionsSchema = z.object({ expires_after_seconds: z.number().optional().nullable(), }); export const checkoutRevolutPayPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const checkoutSepaDebitPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), }); export const paymentPagesCheckoutSessionConsentSchema = z.object({ promotions: z .union([z.literal('opt_in'), z.literal('opt_out')]) .optional() .nullable(), terms_of_service: z.literal('accepted').optional().nullable(), }); export const paymentPagesCheckoutSessionCurrencyConversionSchema = z.object({ amount_subtotal: z.number(), amount_total: z.number(), fx_rate: z.string(), source_currency: z.string(), }); export const paymentMethodConfigBizPaymentMethodConfigurationDetailsSchema = z.object({ id: z.string(), parent: z.string().optional().nullable(), }); export const paymentPagesCheckoutSessionPhoneNumberCollectionSchema = z.object({ enabled: z.boolean(), }); export const paymentPagesCheckoutSessionSavedPaymentMethodOptionsSchema = z.object({ allow_redisplay_filters: z .array(z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')])) .optional() .nullable(), payment_method_remove: z .union([z.literal('disabled'), z.literal('enabled')]) .optional() .nullable(), payment_method_save: z .union([z.literal('disabled'), z.literal('enabled')]) .optional() .nullable(), }); export const paymentPagesCheckoutSessionShippingAddressCollectionSchema = z.object({ allowed_countries: z.array( z.union([ z.literal('AC'), z.literal('AD'), z.literal('AE'), z.literal('AF'), z.literal('AG'), z.literal('AI'), z.literal('AL'), z.literal('AM'), z.literal('AO'), z.literal('AQ'), z.literal('AR'), z.literal('AT'), z.literal('AU'), z.literal('AW'), z.literal('AX'), z.literal('AZ'), z.literal('BA'), z.literal('BB'), z.literal('BD'), z.literal('BE'), z.literal('BF'), z.literal('BG'), z.literal('BH'), z.literal('BI'), z.literal('BJ'), z.literal('BL'), z.literal('BM'), z.literal('BN'), z.literal('BO'), z.literal('BQ'), z.literal('BR'), z.literal('BS'), z.literal('BT'), z.literal('BV'), z.literal('BW'), z.literal('BY'), z.literal('BZ'), z.literal('CA'), z.literal('CD'), z.literal('CF'), z.literal('CG'), z.literal('CH'), z.literal('CI'), z.literal('CK'), z.literal('CL'), z.literal('CM'), z.literal('CN'), z.literal('CO'), z.literal('CR'), z.literal('CV'), z.literal('CW'), z.literal('CY'), z.literal('CZ'), z.literal('DE'), z.literal('DJ'), z.literal('DK'), z.literal('DM'), z.literal('DO'), z.literal('DZ'), z.literal('EC'), z.literal('EE'), z.literal('EG'), z.literal('EH'), z.literal('ER'), z.literal('ES'), z.literal('ET'), z.literal('FI'), z.literal('FJ'), z.literal('FK'), z.literal('FO'), z.literal('FR'), z.literal('GA'), z.literal('GB'), z.literal('GD'), z.literal('GE'), z.literal('GF'), z.literal('GG'), z.literal('GH'), z.literal('GI'), z.literal('GL'), z.literal('GM'), z.literal('GN'), z.literal('GP'), z.literal('GQ'), z.literal('GR'), z.literal('GS'), z.literal('GT'), z.literal('GU'), z.literal('GW'), z.literal('GY'), z.literal('HK'), z.literal('HN'), z.literal('HR'), z.literal('HT'), z.literal('HU'), z.literal('ID'), z.literal('IE'), z.literal('IL'), z.literal('IM'), z.literal('IN'), z.literal('IO'), z.literal('IQ'), z.literal('IS'), z.literal('IT'), z.literal('JE'), z.literal('JM'), z.literal('JO'), z.literal('JP'), z.literal('KE'), z.literal('KG'), z.literal('KH'), z.literal('KI'), z.literal('KM'), z.literal('KN'), z.literal('KR'), z.literal('KW'), z.literal('KY'), z.literal('KZ'), z.literal('LA'), z.literal('LB'), z.literal('LC'), z.literal('LI'), z.literal('LK'), z.literal('LR'), z.literal('LS'), z.literal('LT'), z.literal('LU'), z.literal('LV'), z.literal('LY'), z.literal('MA'), z.literal('MC'), z.literal('MD'), z.literal('ME'), z.literal('MF'), z.literal('MG'), z.literal('MK'), z.literal('ML'), z.literal('MM'), z.literal('MN'), z.literal('MO'), z.literal('MQ'), z.literal('MR'), z.literal('MS'), z.literal('MT'), z.literal('MU'), z.literal('MV'), z.literal('MW'), z.literal('MX'), z.literal('MY'), z.literal('MZ'), z.literal('NA'), z.literal('NC'), z.literal('NE'), z.literal('NG'), z.literal('NI'), z.literal('NL'), z.literal('NO'), z.literal('NP'), z.literal('NR'), z.literal('NU'), z.literal('NZ'), z.literal('OM'), z.literal('PA'), z.literal('PE'), z.literal('PF'), z.literal('PG'), z.literal('PH'), z.literal('PK'), z.literal('PL'), z.literal('PM'), z.literal('PN'), z.literal('PR'), z.literal('PS'), z.literal('PT'), z.literal('PY'), z.literal('QA'), z.literal('RE'), z.literal('RO'), z.literal('RS'), z.literal('RU'), z.literal('RW'), z.literal('SA'), z.literal('SB'), z.literal('SC'), z.literal('SE'), z.literal('SG'), z.literal('SH'), z.literal('SI'), z.literal('SJ'), z.literal('SK'), z.literal('SL'), z.literal('SM'), z.literal('SN'), z.literal('SO'), z.literal('SR'), z.literal('SS'), z.literal('ST'), z.literal('SV'), z.literal('SX'), z.literal('SZ'), z.literal('TA'), z.literal('TC'), z.literal('TD'), z.literal('TF'), z.literal('TG'), z.literal('TH'), z.literal('TJ'), z.literal('TK'), z.literal('TL'), z.literal('TM'), z.literal('TN'), z.literal('TO'), z.literal('TR'), z.literal('TT'), z.literal('TV'), z.literal('TW'), z.literal('TZ'), z.literal('UA'), z.literal('UG'), z.literal('US'), z.literal('UY'), z.literal('UZ'), z.literal('VA'), z.literal('VC'), z.literal('VE'), z.literal('VG'), z.literal('VN'), z.literal('VU'), z.literal('WF'), z.literal('WS'), z.literal('XK'), z.literal('YE'), z.literal('YT'), z.literal('ZA'), z.literal('ZM'), z.literal('ZW'), z.literal('ZZ'), ]), ), }); export const paymentPagesCheckoutSessionTaxIdCollectionSchema = z.object({ enabled: z.boolean(), }); export const billingAddressCollectionSchema = z.union([z.literal('auto'), z.literal('required')]); export const customerCreationSchema = z.union([z.literal('always'), z.literal('if_required')]); export const locale2Schema = z.union([ z.literal('auto'), z.literal('bg'), z.literal('cs'), z.literal('da'), z.literal('de'), z.literal('el'), z.literal('en'), z.literal('en-GB'), z.literal('es'), z.literal('es-419'), z.literal('et'), z.literal('fi'), z.literal('fil'), z.literal('fr'), z.literal('fr-CA'), z.literal('hr'), z.literal('hu'), z.literal('id'), z.literal('it'), z.literal('ja'), z.literal('ko'), z.literal('lt'), z.literal('lv'), z.literal('ms'), z.literal('mt'), z.literal('nb'), z.literal('nl'), z.literal('pl'), z.literal('pt'), z.literal('pt-BR'), z.literal('ro'), z.literal('ru'), z.literal('sk'), z.literal('sl'), z.literal('sv'), z.literal('th'), z.literal('tr'), z.literal('vi'), z.literal('zh'), z.literal('zh-HK'), z.literal('zh-TW'), ]); export const modeSchema = z.union([z.literal('payment'), z.literal('setup'), z.literal('subscription')]); export const paymentMethodCollectionSchema = z.union([z.literal('always'), z.literal('if_required')]); export const paymentStatusSchema = z.union([z.literal('no_payment_required'), z.literal('paid'), z.literal('unpaid')]); export const redirectOnCompletionSchema = z.union([z.literal('always'), z.literal('if_required'), z.literal('never')]); export const status6Schema = z.union([z.literal('complete'), z.literal('expired'), z.literal('open')]); export const submitTypeSchema = z.union([z.literal('auto'), z.literal('book'), z.literal('donate'), z.literal('pay')]); export const uiModeSchema = z.union([z.literal('embedded'), z.literal('hosted')]); export const checkoutCustomerBalancePaymentMethodOptionsSchema = z.object({ bank_transfer: checkoutCustomerBalanceBankTransferPaymentMethodOptionsSchema.optional(), funding_type: z.literal('bank_transfer').optional().nullable(), setup_future_usage: z.literal('none').optional(), }); export const checkoutSofortPaymentMethodOptionsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const checkoutSwishPaymentMethodOptionsSchema = z.object({ reference: z.string().optional().nullable(), }); export const linkedAccountOptionsUsBankAccountSchema = z.object({ permissions: z .array( z.union([z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions')]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional() .nullable(), return_url: z.string().optional(), }); export const verificationMethod2Schema = z.union([z.literal('automatic'), z.literal('instant')]); export const climateRemovalsBeneficiarySchema = z.object({ public_name: z.string(), }); export const cancellationReasonSchema = z.union([ z.literal('expired'), z.literal('product_unavailable'), z.literal('requested'), ]); export const object21Schema = z.literal('climate.order'); export const status7Schema = z.union([ z.literal('awaiting_funds'), z.literal('canceled'), z.literal('confirmed'), z.literal('delivered'), z.literal('open'), ]); export const object22Schema = z.literal('climate.product'); export const climateRemovalsLocationSchema = z.object({ city: z.string().optional().nullable(), country: z.string(), latitude: z.number().optional().nullable(), longitude: z.number().optional().nullable(), region: z.string().optional().nullable(), }); export const climateSupplierSchema = z.object({ id: z.string(), info_url: z.string(), livemode: z.boolean(), locations: z.array(climateRemovalsLocationSchema), name: z.string(), object: z.literal('climate.supplier'), removal_pathway: z.union([ z.literal('biomass_carbon_removal_and_storage'), z.literal('direct_air_capture'), z.literal('enhanced_weathering'), ]), }); export const climateRemovalsProductsPriceSchema = z.object({ amount_fees: z.number(), amount_subtotal: z.number(), amount_total: z.number(), }); export const object23Schema = z.literal('climate.supplier'); export const removalPathwaySchema = z.union([ z.literal('biomass_carbon_removal_and_storage'), z.literal('direct_air_capture'), z.literal('enhanced_weathering'), ]); export const confirmationTokensResourceShippingSchema = z.object({ address: addressSchema, name: z.string(), phone: z.string().optional().nullable(), }); export const object24Schema = z.literal('confirmation_token'); export const setupFutureUsage4Schema = z.union([z.literal('off_session'), z.literal('on_session')]); export const confirmationTokensResourceMandateDataResourceCustomerAcceptanceResourceOnlineSchema = z.object({ ip_address: z.string().optional().nullable(), user_agent: z.string().optional().nullable(), }); export const paymentMethodAcssDebitSchema = z.object({ bank_name: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), institution_number: z.string().optional().nullable(), last4: z.string().optional().nullable(), transit_number: z.string().optional().nullable(), }); export const paymentMethodAffirmSchema = z.record(z.unknown()); export const paymentMethodAfterpayClearpaySchema = z.record(z.unknown()); export const paymentFlowsPrivatePaymentMethodsAlipaySchema = z.record(z.unknown()); export const paymentMethodAmazonPaySchema = z.record(z.unknown()); export const paymentMethodAuBecsDebitSchema = z.object({ bsb_number: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), }); export const paymentMethodBacsDebitSchema = z.object({ fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), sort_code: z.string().optional().nullable(), }); export const paymentMethodBancontactSchema = z.record(z.unknown()); export const paymentMethodBlikSchema = z.record(z.unknown()); export const paymentMethodBoletoSchema = z.object({ tax_id: z.string(), }); export const paymentMethodCashappSchema = z.object({ buyer_id: z.string().optional().nullable(), cashtag: z.string().optional().nullable(), }); export const paymentMethodCustomerBalanceSchema = z.record(z.unknown()); export const paymentMethodEpsSchema = z.object({ bank: z .union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]) .optional() .nullable(), }); export const paymentMethodFpxSchema = z.object({ bank: z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]), }); export const paymentMethodGiropaySchema = z.record(z.unknown()); export const paymentMethodGrabpaySchema = z.record(z.unknown()); export const paymentMethodIdealSchema = z.object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional() .nullable(), bic: z .union([ z.literal('ABNANL2A'), z.literal('ASNBNL21'), z.literal('BITSNL2A'), z.literal('BUNQNL2A'), z.literal('FVLBNL22'), z.literal('HANDNL2A'), z.literal('INGBNL2A'), z.literal('KNABNL2H'), z.literal('MOYONL21'), z.literal('NNBANL2G'), z.literal('NTSBDEB1'), z.literal('RABONL2U'), z.literal('RBRBNL21'), z.literal('REVOIE23'), z.literal('REVOLT21'), z.literal('SNSBNL2A'), z.literal('TRIONL2U'), ]) .optional() .nullable(), }); export const paymentMethodKonbiniSchema = z.record(z.unknown()); export const paymentMethodLinkSchema = z.object({ email: z.string().optional().nullable(), }); export const paymentMethodMobilepaySchema = z.record(z.unknown()); export const paymentMethodMultibancoSchema = z.record(z.unknown()); export const paymentMethodOxxoSchema = z.record(z.unknown()); export const paymentMethodP24Schema = z.object({ bank: z .union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]) .optional() .nullable(), }); export const paymentMethodPaynowSchema = z.record(z.unknown()); export const paymentMethodPaypalSchema = z.object({ payer_email: z.string().optional().nullable(), payer_id: z.string().optional().nullable(), }); export const paymentMethodPixSchema = z.record(z.unknown()); export const paymentMethodPromptpaySchema = z.record(z.unknown()); export const paymentMethodRevolutPaySchema = z.record(z.unknown()); export const paymentMethodSofortSchema = z.object({ country: z.string().optional().nullable(), }); export const paymentMethodSwishSchema = z.record(z.unknown()); export const paymentMethodTwintSchema = z.record(z.unknown()); export const paymentMethodWechatPaySchema = z.record(z.unknown()); export const paymentMethodZipSchema = z.record(z.unknown()); export const allowRedisplaySchema = z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]); export const type11Schema = z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('card'), z.literal('card_present'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('interac_present'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]); export const type12Schema = z.union([z.literal('account'), z.literal('self')]); export const object25Schema = z.literal('connect_collection_transfer'); export const connectEmbeddedAccountFeaturesClaimSchema = z.object({ external_account_collection: z.boolean(), }); export const connectEmbeddedAccountConfigClaimSchema = z.object({ enabled: z.boolean(), features: connectEmbeddedAccountFeaturesClaimSchema, }); export const connectEmbeddedBaseFeaturesSchema = z.record(z.unknown()); export const connectEmbeddedPaymentsFeaturesSchema = z.object({ capture_payments: z.boolean(), destination_on_behalf_of_charge_management: z.boolean(), dispute_management: z.boolean(), refund_management: z.boolean(), }); export const connectEmbeddedPayoutsFeaturesSchema = z.object({ edit_payout_schedule: z.boolean(), external_account_collection: z.boolean(), instant_payouts: z.boolean(), standard_payouts: z.boolean(), }); export const object26Schema = z.literal('country_spec'); export const countrySpecVerificationFieldDetailsSchema = z.object({ additional: z.array(z.string()), minimum: z.array(z.string()), }); export const countrySpecVerificationFieldsSchema = z.object({ company: countrySpecVerificationFieldDetailsSchema, individual: countrySpecVerificationFieldDetailsSchema, }); export const couponAppliesToSchema = z.object({ products: z.array(z.string()), }); export const durationSchema = z.union([z.literal('forever'), z.literal('once'), z.literal('repeating')]); export const object27Schema = z.literal('coupon'); export const couponCurrencyOptionSchema = z.object({ amount_off: z.number(), }); export const reason2Schema = z.union([ z.literal('duplicate'), z.literal('fraudulent'), z.literal('order_change'), z.literal('product_unsatisfactory'), ]); export const status8Schema = z.union([z.literal('issued'), z.literal('void')]); export const type13Schema = z.union([z.literal('post_payment'), z.literal('pre_payment')]); export const taxRateSchema = z.object({ active: z.boolean(), country: z.string().optional().nullable(), created: z.number(), description: z.string().optional().nullable(), display_name: z.string(), effective_percentage: z.number().optional().nullable(), id: z.string(), inclusive: z.boolean(), jurisdiction: z.string().optional().nullable(), jurisdiction_level: z .union([ z.literal('city'), z.literal('country'), z.literal('county'), z.literal('district'), z.literal('multiple'), z.literal('state'), ]) .optional() .nullable(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('tax_rate'), percentage: z.number(), state: z.string().optional().nullable(), tax_type: z .union([ z.literal('amusement_tax'), z.literal('communications_tax'), z.literal('gst'), z.literal('hst'), z.literal('igst'), z.literal('jct'), z.literal('lease_tax'), z.literal('pst'), z.literal('qst'), z.literal('rst'), z.literal('sales_tax'), z.literal('vat'), ]) .optional() .nullable(), }); export const object28Schema = z.literal('credit_note_line_item'); export const type14Schema = z.union([z.literal('custom_line_item'), z.literal('invoice_line_item')]); export const creditNoteTaxAmountSchema = z.object({ amount: z.number(), inclusive: z.boolean(), tax_rate: z.union([z.string(), taxRateSchema]), taxability_reason: z .union([ z.literal('customer_exempt'), z.literal('not_collecting'), z.literal('not_subject_to_tax'), z.literal('not_supported'), z.literal('portion_product_exempt'), z.literal('portion_reduced_rated'), z.literal('portion_standard_rated'), z.literal('product_exempt'), z.literal('product_exempt_holiday'), z.literal('proportionally_rated'), z.literal('reduced_rated'), z.literal('reverse_charge'), z.literal('standard_rated'), z.literal('taxable_basis_reduced'), z.literal('zero_rated'), ]) .optional() .nullable(), taxable_amount: z.number().optional().nullable(), }); export const taxabilityReasonSchema = z.union([ z.literal('customer_exempt'), z.literal('not_collecting'), z.literal('not_subject_to_tax'), z.literal('not_supported'), z.literal('portion_product_exempt'), z.literal('portion_reduced_rated'), z.literal('portion_standard_rated'), z.literal('product_exempt'), z.literal('product_exempt_holiday'), z.literal('proportionally_rated'), z.literal('reduced_rated'), z.literal('reverse_charge'), z.literal('standard_rated'), z.literal('taxable_basis_reduced'), z.literal('zero_rated'), ]); export const customUnitAmountSchema = z.object({ maximum: z.number().optional().nullable(), minimum: z.number().optional().nullable(), preset: z.number().optional().nullable(), }); export const priceTierSchema = z.object({ flat_amount: z.number().optional().nullable(), flat_amount_decimal: z.string().optional().nullable(), unit_amount: z.number().optional().nullable(), unit_amount_decimal: z.string().optional().nullable(), up_to: z.number().optional().nullable(), }); export const taxBehaviorSchema = z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]); export const cashBalanceSchema = z.object({ available: z.record(z.number()).optional().nullable(), customer: z.string(), livemode: z.boolean(), object: z.literal('cash_balance'), settings: customerBalanceCustomerBalanceSettingsSchema, }); export const testHelpersTestClockSchema = z.object({ created: z.number(), deletes_after: z.number(), frozen_time: z.number(), id: z.string(), livemode: z.boolean(), name: z.string().optional().nullable(), object: z.literal('test_helpers.test_clock'), status: z.union([z.literal('advancing'), z.literal('internal_failure'), z.literal('ready')]), }); export const object29Schema = z.literal('customer'); export const taxExemptSchema = z.union([z.literal('exempt'), z.literal('none'), z.literal('reverse')]); export const offlineAcceptanceSchema = z.record(z.unknown()); export const onlineAcceptanceSchema = z.object({ ip_address: z.string().optional().nullable(), user_agent: z.string().optional().nullable(), }); export const type15Schema = z.union([z.literal('offline'), z.literal('online')]); export const reconciliationModeSchema = z.union([z.literal('automatic'), z.literal('manual')]); export const customerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceEuBankTransferSchema = z.object({ bic: z.string().optional().nullable(), iban_last4: z.string().optional().nullable(), sender_name: z.string().optional().nullable(), }); export const customerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceGbBankTransferSchema = z.object({ account_number_last4: z.string().optional().nullable(), sender_name: z.string().optional().nullable(), sort_code: z.string().optional().nullable(), }); export const customerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceJpBankTransferSchema = z.object({ sender_bank: z.string().optional().nullable(), sender_branch: z.string().optional().nullable(), sender_name: z.string().optional().nullable(), }); export const customerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceUsBankTransferSchema = z.object({ network: z.union([z.literal('ach'), z.literal('domestic_wire_us'), z.literal('swift')]).optional(), sender_name: z.string().optional().nullable(), }); export const networkSchema = z.union([z.literal('ach'), z.literal('domestic_wire_us'), z.literal('swift')]); export const object30Schema = z.literal('customer_balance_transaction'); export const type16Schema = z.union([ z.literal('adjustment'), z.literal('applied_to_invoice'), z.literal('credit_note'), z.literal('initial'), z.literal('invoice_overpaid'), z.literal('invoice_too_large'), z.literal('invoice_too_small'), z.literal('migration'), z.literal('unapplied_from_invoice'), z.literal('unspent_receiver_credit'), ]); export const object31Schema = z.literal('customer_cash_balance_transaction'); export const type17Schema = z.union([ z.literal('adjusted_for_overdraft'), z.literal('applied_to_payment'), z.literal('funded'), z.literal('funding_reversed'), z.literal('refunded_from_payment'), z.literal('return_canceled'), z.literal('return_initiated'), z.literal('transferred_to_balance'), z.literal('unapplied_from_payment'), ]); export const object32Schema = z.literal('customer_session'); export const customerSessionResourceComponentsResourceBuyButtonSchema = z.object({ enabled: z.boolean(), }); export const customerSessionResourceComponentsResourcePricingTableSchema = z.object({ enabled: z.boolean(), }); export const customerTaxLocationSchema = z.object({ country: z.string(), source: z.union([ z.literal('billing_address'), z.literal('ip_address'), z.literal('payment_method'), z.literal('shipping_destination'), ]), state: z.string().optional().nullable(), }); export const automaticTax2Schema = z.union([ z.literal('failed'), z.literal('not_collecting'), z.literal('supported'), z.literal('unrecognized_location'), ]); export const deletedAccountSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('account'), }); export const object33Schema = z.literal('account'); export const deletedApplePayDomainSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('apple_pay_domain'), }); export const deletedBankAccountSchema = z.object({ currency: z.string().optional().nullable(), deleted: z.boolean(), id: z.string(), object: z.literal('bank_account'), }); export const deletedCardSchema = z.object({ currency: z.string().optional().nullable(), deleted: z.boolean(), id: z.string(), object: z.literal('card'), }); export const deletedCouponSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('coupon'), }); export const couponSchema = z.object({ amount_off: z.number().optional().nullable(), applies_to: couponAppliesToSchema.optional(), created: z.number(), currency: z.string().optional().nullable(), currency_options: z.record(couponCurrencyOptionSchema).optional(), duration: z.union([z.literal('forever'), z.literal('once'), z.literal('repeating')]), duration_in_months: z.number().optional().nullable(), id: z.string(), livemode: z.boolean(), max_redemptions: z.number().optional().nullable(), metadata: z.record(z.string()).optional().nullable(), name: z.string().optional().nullable(), object: z.literal('coupon'), percent_off: z.number().optional().nullable(), redeem_by: z.number().optional().nullable(), times_redeemed: z.number(), valid: z.boolean(), }); export const object34Schema = z.literal('discount'); export const deletedExternalAccountSchema = z.union([deletedBankAccountSchema, deletedCardSchema]); export const deletedInvoiceSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('invoice'), }); export const object35Schema = z.literal('invoice'); export const deletedInvoiceitemSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('invoiceitem'), }); export const object36Schema = z.literal('invoiceitem'); export const deletedPaymentSourceSchema = z.union([deletedBankAccountSchema, deletedCardSchema]); export const deletedPersonSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('person'), }); export const object37Schema = z.literal('person'); export const deletedPlanSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('plan'), }); export const object38Schema = z.literal('plan'); export const deletedPriceSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('price'), }); export const object39Schema = z.literal('price'); export const deletedProductSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('product'), }); export const object40Schema = z.literal('product'); export const deletedProductFeatureSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('product_feature'), }); export const object41Schema = z.literal('product_feature'); export const deletedRadarValueListSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('radar.value_list'), }); export const object42Schema = z.literal('radar.value_list'); export const deletedRadarValueListItemSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('radar.value_list_item'), }); export const object43Schema = z.literal('radar.value_list_item'); export const deletedSubscriptionItemSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('subscription_item'), }); export const object44Schema = z.literal('subscription_item'); export const deletedTaxIdSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('tax_id'), }); export const object45Schema = z.literal('tax_id'); export const deletedTerminalConfigurationSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('terminal.configuration'), }); export const object46Schema = z.literal('terminal.configuration'); export const deletedTerminalLocationSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('terminal.location'), }); export const object47Schema = z.literal('terminal.location'); export const deletedTerminalReaderSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('terminal.reader'), }); export const object48Schema = z.literal('terminal.reader'); export const deletedTestHelpersTestClockSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('test_helpers.test_clock'), }); export const object49Schema = z.literal('test_helpers.test_clock'); export const deletedWebhookEndpointSchema = z.object({ deleted: z.boolean(), id: z.string(), object: z.literal('webhook_endpoint'), }); export const object50Schema = z.literal('webhook_endpoint'); export const destinationDetailsUnimplementedSchema = z.record(z.unknown()); export const disputeEvidenceDetailsSchema = z.object({ due_by: z.number().optional().nullable(), has_evidence: z.boolean(), past_due: z.boolean(), submission_count: z.number(), }); export const object51Schema = z.literal('dispute'); export const status9Schema = z.union([ z.literal('lost'), z.literal('needs_response'), z.literal('under_review'), z.literal('warning_closed'), z.literal('warning_needs_response'), z.literal('warning_under_review'), z.literal('won'), ]); export const disputePaymentMethodDetailsCardSchema = z.object({ brand: z.string(), network_reason_code: z.string().optional().nullable(), }); export const disputePaymentMethodDetailsKlarnaSchema = z.object({ reason_code: z.string().optional().nullable(), }); export const disputePaymentMethodDetailsPaypalSchema = z.object({ case_id: z.string().optional().nullable(), reason_code: z.string().optional().nullable(), }); export const type18Schema = z.union([z.literal('card'), z.literal('klarna'), z.literal('paypal')]); export const emailSentSchema = z.object({ email_sent_at: z.number(), email_sent_to: z.string(), }); export const entitlementsFeatureSchema = z.object({ active: z.boolean(), id: z.string(), livemode: z.boolean(), lookup_key: z.string(), metadata: z.record(z.string()), name: z.string(), object: z.literal('entitlements.feature'), }); export const object52Schema = z.literal('entitlements.active_entitlement'); export const object53Schema = z.literal('entitlements.feature'); export const ephemeralKeySchema = z.object({ created: z.number(), expires: z.number(), id: z.string(), livemode: z.boolean(), object: z.literal('ephemeral_key'), secret: z.string().optional(), }); export const object54Schema = z.literal('ephemeral_key'); export const notificationEventDataSchema = z.object({ object: z.record(z.unknown()), previous_attributes: z.record(z.unknown()).optional(), }); export const notificationEventRequestSchema = z.object({ id: z.string().optional().nullable(), idempotency_key: z.string().optional().nullable(), }); export const object55Schema = z.literal('event'); export const exchangeRateSchema = z.object({ id: z.string(), object: z.literal('exchange_rate'), rates: z.record(z.number()), }); export const object56Schema = z.literal('exchange_rate'); export const object57Schema = z.literal('fee_refund'); export const purposeSchema = z.union([ z.literal('account_requirement'), z.literal('additional_verification'), z.literal('business_icon'), z.literal('business_logo'), z.literal('customer_signature'), z.literal('dispute_evidence'), z.literal('document_provider_identity_document'), z.literal('finance_report_run'), z.literal('identity_document'), z.literal('identity_document_downloadable'), z.literal('pci_document'), z.literal('selfie'), z.literal('sigma_scheduled_query'), z.literal('tax_document_user_upload'), z.literal('terminal_reader_splashscreen'), ]); export const object58Schema = z.literal('file_link'); export const bankConnectionsResourceBalanceSchema = z.object({ as_of: z.number(), cash: bankConnectionsResourceBalanceApiResourceCashBalanceSchema.optional(), credit: bankConnectionsResourceBalanceApiResourceCreditBalanceSchema.optional(), current: z.record(z.number()), type: z.union([z.literal('cash'), z.literal('credit')]), }); export const categorySchema = z.union([ z.literal('cash'), z.literal('credit'), z.literal('investment'), z.literal('other'), ]); export const object59Schema = z.literal('financial_connections.account'); export const status10Schema = z.union([z.literal('active'), z.literal('disconnected'), z.literal('inactive')]); export const subcategorySchema = z.union([ z.literal('checking'), z.literal('credit_card'), z.literal('line_of_credit'), z.literal('mortgage'), z.literal('other'), z.literal('savings'), ]); export const financialConnectionsAccountOwnerSchema = z.object({ email: z.string().optional().nullable(), id: z.string(), name: z.string(), object: z.literal('financial_connections.account_owner'), ownership: z.string(), phone: z.string().optional().nullable(), raw_address: z.string().optional().nullable(), refreshed_at: z.number().optional().nullable(), }); export const object60Schema = z.literal('financial_connections.account_owner'); export const financialConnectionsAccountOwnershipSchema = z.object({ created: z.number(), id: z.string(), object: z.literal('financial_connections.account_ownership'), owners: z.object({ data: z.array(financialConnectionsAccountOwnerSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), }); export const object61Schema = z.literal('financial_connections.account_ownership'); export const financialConnectionsTransactionSchema = z.object({ account: z.string(), amount: z.number(), currency: z.string(), description: z.string(), id: z.string(), livemode: z.boolean(), object: z.literal('financial_connections.transaction'), status: z.union([z.literal('pending'), z.literal('posted'), z.literal('void')]), status_transitions: bankConnectionsResourceTransactionResourceStatusTransitionsSchema, transacted_at: z.number(), transaction_refresh: z.string(), updated: z.number(), }); export const object62Schema = z.literal('financial_connections.transaction'); export const status11Schema = z.union([z.literal('pending'), z.literal('posted'), z.literal('void')]); export const financialReportingFinanceReportRunRunParametersSchema = z.object({ columns: z.array(z.string()).optional(), connected_account: z.string().optional(), currency: z.string().optional(), interval_end: z.number().optional(), interval_start: z.number().optional(), payout: z.string().optional(), reporting_category: z.string().optional(), timezone: z.string().optional(), }); export const forwardedRequestContextSchema = z.object({ destination_duration: z.number(), destination_ip_address: z.string(), }); export const forwardedRequestHeaderSchema = z.object({ name: z.string(), value: z.string(), }); export const httpMethodSchema = z.literal('POST'); export const forwardedResponseDetailsSchema = z.object({ body: z.string(), headers: z.array(forwardedRequestHeaderSchema), status: z.number(), }); export const forwardedRequestDetailsSchema = z.object({ body: z.string(), headers: z.array(forwardedRequestHeaderSchema), http_method: z.literal('POST'), }); export const object63Schema = z.literal('forwarding.request'); export const object64Schema = z.literal('funding_instructions'); export const type19Schema = z.union([z.literal('eu_bank_transfer'), z.literal('jp_bank_transfer')]); export const fundingInstructionsBankTransferAbaRecordSchema = z.object({ account_number: z.string(), bank_name: z.string(), routing_number: z.string(), }); export const fundingInstructionsBankTransferIbanRecordSchema = z.object({ account_holder_name: z.string(), bic: z.string(), country: z.string(), iban: z.string(), }); export const fundingInstructionsBankTransferSortCodeRecordSchema = z.object({ account_holder_name: z.string(), account_number: z.string(), sort_code: z.string(), }); export const fundingInstructionsBankTransferSpeiRecordSchema = z.object({ bank_code: z.string(), bank_name: z.string(), clabe: z.string(), }); export const fundingInstructionsBankTransferSwiftRecordSchema = z.object({ account_number: z.string(), bank_name: z.string(), swift_code: z.string(), }); export const fundingInstructionsBankTransferZenginRecordSchema = z.object({ account_holder_name: z.string().optional().nullable(), account_number: z.string().optional().nullable(), account_type: z.string().optional().nullable(), bank_code: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), branch_code: z.string().optional().nullable(), branch_name: z.string().optional().nullable(), }); export const type20Schema = z.union([ z.literal('aba'), z.literal('iban'), z.literal('sort_code'), z.literal('spei'), z.literal('swift'), z.literal('zengin'), ]); export const gelatoDataDocumentReportDateOfBirthSchema = z.object({ day: z.number().optional().nullable(), month: z.number().optional().nullable(), year: z.number().optional().nullable(), }); export const gelatoDataDocumentReportExpirationDateSchema = z.object({ day: z.number().optional().nullable(), month: z.number().optional().nullable(), year: z.number().optional().nullable(), }); export const gelatoDataDocumentReportIssuedDateSchema = z.object({ day: z.number().optional().nullable(), month: z.number().optional().nullable(), year: z.number().optional().nullable(), }); export const gelatoDataIdNumberReportDateSchema = z.object({ day: z.number().optional().nullable(), month: z.number().optional().nullable(), year: z.number().optional().nullable(), }); export const gelatoDataVerifiedOutputsDateSchema = z.object({ day: z.number().optional().nullable(), month: z.number().optional().nullable(), year: z.number().optional().nullable(), }); export const gelatoDocumentReportErrorSchema = z.object({ code: z .union([ z.literal('document_expired'), z.literal('document_type_not_supported'), z.literal('document_unverified_other'), ]) .optional() .nullable(), reason: z.string().optional().nullable(), }); export const status12Schema = z.union([z.literal('unverified'), z.literal('verified')]); export const type21Schema = z.union([z.literal('driving_license'), z.literal('id_card'), z.literal('passport')]); export const code2Schema = z.union([ z.literal('document_expired'), z.literal('document_type_not_supported'), z.literal('document_unverified_other'), ]); export const gelatoEmailReportErrorSchema = z.object({ code: z .union([z.literal('email_unverified_other'), z.literal('email_verification_declined')]) .optional() .nullable(), reason: z.string().optional().nullable(), }); export const code3Schema = z.union([z.literal('email_unverified_other'), z.literal('email_verification_declined')]); export const gelatoIdNumberReportErrorSchema = z.object({ code: z .union([ z.literal('id_number_insufficient_document_data'), z.literal('id_number_mismatch'), z.literal('id_number_unverified_other'), ]) .optional() .nullable(), reason: z.string().optional().nullable(), }); export const idNumberTypeSchema = z.union([z.literal('br_cpf'), z.literal('sg_nric'), z.literal('us_ssn')]); export const code4Schema = z.union([ z.literal('id_number_insufficient_document_data'), z.literal('id_number_mismatch'), z.literal('id_number_unverified_other'), ]); export const gelatoPhoneReportErrorSchema = z.object({ code: z .union([z.literal('phone_unverified_other'), z.literal('phone_verification_declined')]) .optional() .nullable(), reason: z.string().optional().nullable(), }); export const code5Schema = z.union([z.literal('phone_unverified_other'), z.literal('phone_verification_declined')]); export const gelatoProvidedDetailsSchema = z.object({ email: z.string().optional(), phone: z.string().optional(), }); export const gelatoReportDocumentOptionsSchema = z.object({ allowed_types: z .array(z.union([z.literal('driving_license'), z.literal('id_card'), z.literal('passport')])) .optional(), require_id_number: z.boolean().optional(), require_live_capture: z.boolean().optional(), require_matching_selfie: z.boolean().optional(), }); export const gelatoReportIdNumberOptionsSchema = z.record(z.unknown()); export const gelatoSelfieReportErrorSchema = z.object({ code: z .union([ z.literal('selfie_document_missing_photo'), z.literal('selfie_face_mismatch'), z.literal('selfie_manipulated'), z.literal('selfie_unverified_other'), ]) .optional() .nullable(), reason: z.string().optional().nullable(), }); export const code6Schema = z.union([ z.literal('selfie_document_missing_photo'), z.literal('selfie_face_mismatch'), z.literal('selfie_manipulated'), z.literal('selfie_unverified_other'), ]); export const gelatoSessionDocumentOptionsSchema = z.object({ allowed_types: z .array(z.union([z.literal('driving_license'), z.literal('id_card'), z.literal('passport')])) .optional(), require_id_number: z.boolean().optional(), require_live_capture: z.boolean().optional(), require_matching_selfie: z.boolean().optional(), }); export const gelatoSessionEmailOptionsSchema = z.object({ require_verification: z.boolean().optional(), }); export const gelatoSessionIdNumberOptionsSchema = z.record(z.unknown()); export const gelatoSessionLastErrorSchema = z.object({ code: z .union([ z.literal('abandoned'), z.literal('consent_declined'), z.literal('country_not_supported'), z.literal('device_not_supported'), z.literal('document_expired'), z.literal('document_type_not_supported'), z.literal('document_unverified_other'), z.literal('email_unverified_other'), z.literal('email_verification_declined'), z.literal('id_number_insufficient_document_data'), z.literal('id_number_mismatch'), z.literal('id_number_unverified_other'), z.literal('phone_unverified_other'), z.literal('phone_verification_declined'), z.literal('selfie_document_missing_photo'), z.literal('selfie_face_mismatch'), z.literal('selfie_manipulated'), z.literal('selfie_unverified_other'), z.literal('under_supported_age'), ]) .optional() .nullable(), reason: z.string().optional().nullable(), }); export const code7Schema = z.union([ z.literal('abandoned'), z.literal('consent_declined'), z.literal('country_not_supported'), z.literal('device_not_supported'), z.literal('document_expired'), z.literal('document_type_not_supported'), z.literal('document_unverified_other'), z.literal('email_unverified_other'), z.literal('email_verification_declined'), z.literal('id_number_insufficient_document_data'), z.literal('id_number_mismatch'), z.literal('id_number_unverified_other'), z.literal('phone_unverified_other'), z.literal('phone_verification_declined'), z.literal('selfie_document_missing_photo'), z.literal('selfie_face_mismatch'), z.literal('selfie_manipulated'), z.literal('selfie_unverified_other'), z.literal('under_supported_age'), ]); export const gelatoSessionPhoneOptionsSchema = z.object({ require_verification: z.boolean().optional(), }); export const gelatoVerificationReportOptionsSchema = z.object({ document: gelatoReportDocumentOptionsSchema.optional(), id_number: gelatoReportIdNumberOptionsSchema.optional(), }); export const gelatoVerificationSessionOptionsSchema = z.object({ document: gelatoSessionDocumentOptionsSchema.optional(), email: gelatoSessionEmailOptionsSchema.optional(), id_number: gelatoSessionIdNumberOptionsSchema.optional(), phone: gelatoSessionPhoneOptionsSchema.optional(), }); export const gelatoVerifiedOutputsSchema = z.object({ address: addressSchema.optional().nullable(), dob: gelatoDataVerifiedOutputsDateSchema.optional().nullable(), email: z.string().optional().nullable(), first_name: z.string().optional().nullable(), id_number: z.string().optional().nullable(), id_number_type: z .union([z.literal('br_cpf'), z.literal('sg_nric'), z.literal('us_ssn')]) .optional() .nullable(), last_name: z.string().optional().nullable(), phone: z.string().optional().nullable(), }); export const gelatoDocumentReportSchema = z.object({ address: addressSchema.optional().nullable(), dob: gelatoDataDocumentReportDateOfBirthSchema.optional().nullable(), error: gelatoDocumentReportErrorSchema.optional().nullable(), expiration_date: gelatoDataDocumentReportExpirationDateSchema.optional().nullable(), files: z.array(z.string()).optional().nullable(), first_name: z.string().optional().nullable(), issued_date: gelatoDataDocumentReportIssuedDateSchema.optional().nullable(), issuing_country: z.string().optional().nullable(), last_name: z.string().optional().nullable(), number: z.string().optional().nullable(), status: z.union([z.literal('unverified'), z.literal('verified')]), type: z .union([z.literal('driving_license'), z.literal('id_card'), z.literal('passport')]) .optional() .nullable(), }); export const gelatoEmailReportSchema = z.object({ email: z.string().optional().nullable(), error: gelatoEmailReportErrorSchema.optional().nullable(), status: z.union([z.literal('unverified'), z.literal('verified')]), }); export const gelatoIdNumberReportSchema = z.object({ dob: gelatoDataIdNumberReportDateSchema.optional().nullable(), error: gelatoIdNumberReportErrorSchema.optional().nullable(), first_name: z.string().optional().nullable(), id_number: z.string().optional().nullable(), id_number_type: z .union([z.literal('br_cpf'), z.literal('sg_nric'), z.literal('us_ssn')]) .optional() .nullable(), last_name: z.string().optional().nullable(), status: z.union([z.literal('unverified'), z.literal('verified')]), }); export const gelatoPhoneReportSchema = z.object({ error: gelatoPhoneReportErrorSchema.optional().nullable(), phone: z.string().optional().nullable(), status: z.union([z.literal('unverified'), z.literal('verified')]), }); export const gelatoSelfieReportSchema = z.object({ document: z.string().optional().nullable(), error: gelatoSelfieReportErrorSchema.optional().nullable(), selfie: z.string().optional().nullable(), status: z.union([z.literal('unverified'), z.literal('verified')]), }); export const object65Schema = z.literal('identity.verification_report'); export const type22Schema = z.union([z.literal('document'), z.literal('id_number'), z.literal('verification_flow')]); export const identityVerificationReportSchema = z.object({ client_reference_id: z.string().optional().nullable(), created: z.number(), document: gelatoDocumentReportSchema.optional(), email: gelatoEmailReportSchema.optional(), id: z.string(), id_number: gelatoIdNumberReportSchema.optional(), livemode: z.boolean(), object: z.literal('identity.verification_report'), options: gelatoVerificationReportOptionsSchema.optional(), phone: gelatoPhoneReportSchema.optional(), selfie: gelatoSelfieReportSchema.optional(), type: z.union([z.literal('document'), z.literal('id_number'), z.literal('verification_flow')]), verification_flow: z.string().optional(), verification_session: z.string().optional().nullable(), }); export const verificationSessionRedactionSchema = z.object({ status: z.union([z.literal('processing'), z.literal('redacted')]), }); export const object66Schema = z.literal('identity.verification_session'); export const status13Schema = z.union([ z.literal('canceled'), z.literal('processing'), z.literal('requires_input'), z.literal('verified'), ]); export const treasurySharedResourceBillingDetailsSchema = z.object({ address: addressSchema, email: z.string().optional().nullable(), name: z.string().optional().nullable(), }); export const type23Schema = z.literal('us_bank_account'); export const accountHolderTypeSchema = z.union([z.literal('company'), z.literal('individual')]); export const accountTypeSchema = z.union([z.literal('checking'), z.literal('savings')]); export const network2Schema = z.literal('ach'); export const internalCardSchema = z.object({ brand: z.string().optional().nullable(), country: z.string().optional().nullable(), exp_month: z.number().optional().nullable(), exp_year: z.number().optional().nullable(), last4: z.string().optional().nullable(), }); export const invoiceSettingCustomFieldSchema = z.object({ name: z.string(), value: z.string(), }); export const invoicesResourceInvoiceTaxIdSchema = z.object({ type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('unknown'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string().optional().nullable(), }); export const invoicesResourceStatusTransitionsSchema = z.object({ finalized_at: z.number().optional().nullable(), marked_uncollectible_at: z.number().optional().nullable(), paid_at: z.number().optional().nullable(), voided_at: z.number().optional().nullable(), }); export const subscriptionDetailsDataSchema = z.object({ metadata: z.record(z.string()).optional().nullable(), }); export const invoiceTaxAmountSchema = z.object({ amount: z.number(), inclusive: z.boolean(), tax_rate: z.union([z.string(), taxRateSchema]), taxability_reason: z .union([ z.literal('customer_exempt'), z.literal('not_collecting'), z.literal('not_subject_to_tax'), z.literal('not_supported'), z.literal('portion_product_exempt'), z.literal('portion_reduced_rated'), z.literal('portion_standard_rated'), z.literal('product_exempt'), z.literal('product_exempt_holiday'), z.literal('proportionally_rated'), z.literal('reduced_rated'), z.literal('reverse_charge'), z.literal('standard_rated'), z.literal('taxable_basis_reduced'), z.literal('zero_rated'), ]) .optional() .nullable(), taxable_amount: z.number().optional().nullable(), }); export const billingReasonSchema = z.union([ z.literal('automatic_pending_invoice_item_invoice'), z.literal('manual'), z.literal('quote_accept'), z.literal('subscription'), z.literal('subscription_create'), z.literal('subscription_cycle'), z.literal('subscription_threshold'), z.literal('subscription_update'), z.literal('upcoming'), ]); export const collectionMethodSchema = z.union([z.literal('charge_automatically'), z.literal('send_invoice')]); export const customerTaxExemptSchema = z.union([z.literal('exempt'), z.literal('none'), z.literal('reverse')]); export const status14Schema = z.union([ z.literal('draft'), z.literal('open'), z.literal('paid'), z.literal('uncollectible'), z.literal('void'), ]); export const invoiceInstallmentsCardSchema = z.object({ enabled: z.boolean().optional().nullable(), }); export const invoiceItemThresholdReasonSchema = z.object({ line_item_ids: z.array(z.string()), usage_gte: z.number(), }); export const invoiceLineItemPeriodSchema = z.object({ end: z.number(), start: z.number(), }); export const invoiceMandateOptionsCardSchema = z.object({ amount: z.number().optional().nullable(), amount_type: z .union([z.literal('fixed'), z.literal('maximum')]) .optional() .nullable(), description: z.string().optional().nullable(), }); export const amountTypeSchema = z.union([z.literal('fixed'), z.literal('maximum')]); export const invoicePaymentMethodOptionsAcssDebitMandateOptionsSchema = z.object({ transaction_type: z .union([z.literal('business'), z.literal('personal')]) .optional() .nullable(), }); export const invoicePaymentMethodOptionsBancontactSchema = z.object({ preferred_language: z.union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]), }); export const preferredLanguageSchema = z.union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]); export const invoicePaymentMethodOptionsCardSchema = z.object({ installments: invoiceInstallmentsCardSchema.optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional() .nullable(), }); export const invoicePaymentMethodOptionsCustomerBalanceBankTransferEuBankTransferSchema = z.object({ country: z.union([ z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('FR'), z.literal('IE'), z.literal('NL'), ]), }); export const countrySchema = z.union([ z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('FR'), z.literal('IE'), z.literal('NL'), ]); export const invoicePaymentMethodOptionsKonbiniSchema = z.record(z.unknown()); export const invoicePaymentMethodOptionsSepaDebitSchema = z.record(z.unknown()); export const invoicePaymentMethodOptionsUsBankAccountLinkedAccountOptionsSchema = z.object({ permissions: z .array( z.union([z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions')]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional() .nullable(), }); export const invoiceRenderingPdfSchema = z.object({ page_size: z .union([z.literal('a4'), z.literal('auto'), z.literal('letter')]) .optional() .nullable(), }); export const pageSizeSchema = z.union([z.literal('a4'), z.literal('auto'), z.literal('letter')]); export const invoiceSettingCustomerRenderingOptionsSchema = z.object({ amount_tax_display: z.string().optional().nullable(), }); export const invoiceSettingRenderingOptionsSchema = z.object({ amount_tax_display: z.string().optional().nullable(), }); export const invoiceThresholdReasonSchema = z.object({ amount_gte: z.number().optional().nullable(), item_reasons: z.array(invoiceItemThresholdReasonSchema), }); export const invoicePaymentMethodOptionsAcssDebitSchema = z.object({ mandate_options: invoicePaymentMethodOptionsAcssDebitMandateOptionsSchema.optional(), verification_method: z.union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]).optional(), }); export const invoicePaymentMethodOptionsUsBankAccountSchema = z.object({ financial_connections: invoicePaymentMethodOptionsUsBankAccountLinkedAccountOptionsSchema.optional(), verification_method: z.union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]).optional(), }); export const invoicesResourceInvoiceRenderingSchema = z.object({ amount_tax_display: z.string().optional().nullable(), pdf: invoiceRenderingPdfSchema.optional().nullable(), }); export const type24Schema = z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('unknown'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]); export const invoicesResourceLineItemsCreditedItemsSchema = z.object({ invoice: z.string(), invoice_line_items: z.array(z.string()), }); export const invoicesResourceLineItemsProrationDetailsSchema = z.object({ credited_items: invoicesResourceLineItemsCreditedItemsSchema.optional().nullable(), }); export const lineItemsTaxAmountSchema = z.object({ amount: z.number(), rate: taxRateSchema, taxability_reason: z .union([ z.literal('customer_exempt'), z.literal('not_collecting'), z.literal('not_subject_to_tax'), z.literal('not_supported'), z.literal('portion_product_exempt'), z.literal('portion_reduced_rated'), z.literal('portion_standard_rated'), z.literal('product_exempt'), z.literal('product_exempt_holiday'), z.literal('proportionally_rated'), z.literal('reduced_rated'), z.literal('reverse_charge'), z.literal('standard_rated'), z.literal('taxable_basis_reduced'), z.literal('zero_rated'), ]) .optional() .nullable(), taxable_amount: z.number().optional().nullable(), }); export const issuingAuthorizationAmountDetailsSchema = z.object({ atm_fee: z.number().optional().nullable(), cashback_amount: z.number().optional().nullable(), }); export const issuingAuthorizationMerchantDataSchema = z.object({ category: z.string(), category_code: z.string(), city: z.string().optional().nullable(), country: z.string().optional().nullable(), name: z.string().optional().nullable(), network_id: z.string(), postal_code: z.string().optional().nullable(), state: z.string().optional().nullable(), terminal_id: z.string().optional().nullable(), url: z.string().optional().nullable(), }); export const issuingAuthorizationNetworkDataSchema = z.object({ acquiring_institution_id: z.string().optional().nullable(), system_trace_audit_number: z.string().optional().nullable(), transaction_id: z.string().optional().nullable(), }); export const issuingAuthorizationPendingRequestSchema = z.object({ amount: z.number(), amount_details: issuingAuthorizationAmountDetailsSchema.optional().nullable(), currency: z.string(), is_amount_controllable: z.boolean(), merchant_amount: z.number(), merchant_currency: z.string(), network_risk_score: z.number().optional().nullable(), }); export const issuingAuthorizationRequestSchema = z.object({ amount: z.number(), amount_details: issuingAuthorizationAmountDetailsSchema.optional().nullable(), approved: z.boolean(), authorization_code: z.string().optional().nullable(), created: z.number(), currency: z.string(), merchant_amount: z.number(), merchant_currency: z.string(), network_risk_score: z.number().optional().nullable(), reason: z.union([ z.literal('account_disabled'), z.literal('card_active'), z.literal('card_inactive'), z.literal('cardholder_inactive'), z.literal('cardholder_verification_required'), z.literal('insufficient_funds'), z.literal('not_allowed'), z.literal('spending_controls'), z.literal('suspected_fraud'), z.literal('verification_failed'), z.literal('webhook_approved'), z.literal('webhook_declined'), z.literal('webhook_error'), z.literal('webhook_timeout'), ]), reason_message: z.string().optional().nullable(), requested_at: z.number().optional().nullable(), }); export const issuingAuthorizationTreasurySchema = z.object({ received_credits: z.array(z.string()), received_debits: z.array(z.string()), transaction: z.string().optional().nullable(), }); export const authorizationMethodSchema = z.union([ z.literal('chip'), z.literal('contactless'), z.literal('keyed_in'), z.literal('online'), z.literal('swipe'), ]); export const object67Schema = z.literal('issuing.authorization'); export const status15Schema = z.union([z.literal('closed'), z.literal('pending'), z.literal('reversed')]); export const issuingAuthorizationAuthenticationExemptionSchema = z.object({ claimed_by: z.union([z.literal('acquirer'), z.literal('issuer')]), type: z.union([z.literal('low_value_transaction'), z.literal('transaction_risk_analysis'), z.literal('unknown')]), }); export const claimedBySchema = z.union([z.literal('acquirer'), z.literal('issuer')]); export const type25Schema = z.union([ z.literal('low_value_transaction'), z.literal('transaction_risk_analysis'), z.literal('unknown'), ]); export const reason3Schema = z.union([ z.literal('account_disabled'), z.literal('card_active'), z.literal('card_inactive'), z.literal('cardholder_inactive'), z.literal('cardholder_verification_required'), z.literal('insufficient_funds'), z.literal('not_allowed'), z.literal('spending_controls'), z.literal('suspected_fraud'), z.literal('verification_failed'), z.literal('webhook_approved'), z.literal('webhook_declined'), z.literal('webhook_error'), z.literal('webhook_timeout'), ]); export const issuingAuthorizationThreeDSecureSchema = z.object({ result: z.union([ z.literal('attempt_acknowledged'), z.literal('authenticated'), z.literal('failed'), z.literal('required'), ]), }); export const resultSchema = z.union([ z.literal('attempt_acknowledged'), z.literal('authenticated'), z.literal('failed'), z.literal('required'), ]); export const issuingAuthorizationVerificationDataSchema = z.object({ address_line1_check: z.union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]), address_postal_code_check: z.union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]), authentication_exemption: issuingAuthorizationAuthenticationExemptionSchema.optional().nullable(), cvc_check: z.union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]), expiry_check: z.union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]), postal_code: z.string().optional().nullable(), three_d_secure: issuingAuthorizationThreeDSecureSchema.optional().nullable(), }); export const addressLine1CheckSchema = z.union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]); export const addressPostalCodeCheckSchema = z.union([ z.literal('match'), z.literal('mismatch'), z.literal('not_provided'), ]); export const cvcCheckSchema = z.union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]); export const expiryCheckSchema = z.union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]); export const cancellationReason2Schema = z.union([ z.literal('design_rejected'), z.literal('lost'), z.literal('stolen'), ]); export const object68Schema = z.literal('issuing.card'); export const replacementReasonSchema = z.union([ z.literal('damaged'), z.literal('expired'), z.literal('lost'), z.literal('stolen'), ]); export const status16Schema = z.union([z.literal('active'), z.literal('canceled'), z.literal('inactive')]); export const type26Schema = z.union([z.literal('physical'), z.literal('virtual')]); export const issuingCardApplePaySchema = z.object({ eligible: z.boolean(), ineligible_reason: z .union([z.literal('missing_agreement'), z.literal('missing_cardholder_contact'), z.literal('unsupported_region')]) .optional() .nullable(), }); export const ineligibleReasonSchema = z.union([ z.literal('missing_agreement'), z.literal('missing_cardholder_contact'), z.literal('unsupported_region'), ]); export const issuingCardSpendingLimitSchema = z.object({ amount: z.number(), categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional() .nullable(), interval: z.union([ z.literal('all_time'), z.literal('daily'), z.literal('monthly'), z.literal('per_authorization'), z.literal('weekly'), z.literal('yearly'), ]), }); export const issuingCardGooglePaySchema = z.object({ eligible: z.boolean(), ineligible_reason: z .union([z.literal('missing_agreement'), z.literal('missing_cardholder_contact'), z.literal('unsupported_region')]) .optional() .nullable(), }); export const issuingCardShippingCustomsSchema = z.object({ eori_number: z.string().optional().nullable(), }); export const carrierSchema = z.union([ z.literal('dhl'), z.literal('fedex'), z.literal('royal_mail'), z.literal('usps'), ]); export const serviceSchema = z.union([z.literal('express'), z.literal('priority'), z.literal('standard')]); export const status17Schema = z.union([ z.literal('canceled'), z.literal('delivered'), z.literal('failure'), z.literal('pending'), z.literal('returned'), z.literal('shipped'), ]); export const type27Schema = z.union([z.literal('bulk'), z.literal('individual')]); export const intervalSchema = z.union([ z.literal('all_time'), z.literal('daily'), z.literal('monthly'), z.literal('per_authorization'), z.literal('weekly'), z.literal('yearly'), ]); export const issuingCardWalletsSchema = z.object({ apple_pay: issuingCardApplePaySchema, google_pay: issuingCardGooglePaySchema, primary_account_identifier: z.string().optional().nullable(), }); export const issuingCardholderAddressSchema = z.object({ address: addressSchema, }); export const issuingCardholderCompanySchema = z.object({ tax_id_provided: z.boolean(), }); export const issuingCardholderRequirementsSchema = z.object({ disabled_reason: z .union([ z.literal('listed'), z.literal('rejected.listed'), z.literal('requirements.past_due'), z.literal('under_review'), ]) .optional() .nullable(), past_due: z .array( z.union([ z.literal('company.tax_id'), z.literal('individual.card_issuing.user_terms_acceptance.date'), z.literal('individual.card_issuing.user_terms_acceptance.ip'), z.literal('individual.dob.day'), z.literal('individual.dob.month'), z.literal('individual.dob.year'), z.literal('individual.first_name'), z.literal('individual.last_name'), z.literal('individual.verification.document'), ]), ) .optional() .nullable(), }); export const object69Schema = z.literal('issuing.cardholder'); export const status18Schema = z.union([z.literal('active'), z.literal('blocked'), z.literal('inactive')]); export const type28Schema = z.union([z.literal('company'), z.literal('individual')]); export const issuingCardholderSpendingLimitSchema = z.object({ amount: z.number(), categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional() .nullable(), interval: z.union([ z.literal('all_time'), z.literal('daily'), z.literal('monthly'), z.literal('per_authorization'), z.literal('weekly'), z.literal('yearly'), ]), }); export const issuingCardholderUserTermsAcceptanceSchema = z.object({ date: z.number().optional().nullable(), ip: z.string().optional().nullable(), user_agent: z.string().optional().nullable(), }); export const issuingCardholderCardIssuingSchema = z.object({ user_terms_acceptance: issuingCardholderUserTermsAcceptanceSchema.optional().nullable(), }); export const issuingCardholderIndividualDobSchema = z.object({ day: z.number().optional().nullable(), month: z.number().optional().nullable(), year: z.number().optional().nullable(), }); export const disabledReasonSchema = z.union([ z.literal('listed'), z.literal('rejected.listed'), z.literal('requirements.past_due'), z.literal('under_review'), ]); export const issuingDisputeTreasurySchema = z.object({ debit_reversal: z.string().optional().nullable(), received_debit: z.string(), }); export const lossReasonSchema = z.union([ z.literal('cardholder_authentication_issuer_liability'), z.literal('eci5_token_transaction_with_tavv'), z.literal('excess_disputes_in_timeframe'), z.literal('has_not_met_the_minimum_dispute_amount_requirements'), z.literal('invalid_duplicate_dispute'), z.literal('invalid_incorrect_amount_dispute'), z.literal('invalid_no_authorization'), z.literal('invalid_use_of_disputes'), z.literal('merchandise_delivered_or_shipped'), z.literal('merchandise_or_service_as_described'), z.literal('not_cancelled'), z.literal('other'), z.literal('refund_issued'), z.literal('submitted_beyond_allowable_time_limit'), z.literal('transaction_3ds_required'), z.literal('transaction_approved_after_prior_fraud_dispute'), z.literal('transaction_authorized'), z.literal('transaction_electronically_read'), z.literal('transaction_qualifies_for_visa_easy_payment_service'), z.literal('transaction_unattended'), ]); export const object70Schema = z.literal('issuing.dispute'); export const status19Schema = z.union([ z.literal('expired'), z.literal('lost'), z.literal('submitted'), z.literal('unsubmitted'), z.literal('won'), ]); export const productTypeSchema = z.union([z.literal('merchandise'), z.literal('service')]); export const returnStatusSchema = z.union([z.literal('merchant_rejected'), z.literal('successful')]); export const reason4Schema = z.union([ z.literal('canceled'), z.literal('duplicate'), z.literal('fraudulent'), z.literal('merchandise_not_as_described'), z.literal('no_valid_authorization'), z.literal('not_received'), z.literal('other'), z.literal('service_not_as_described'), ]); export const issuingNetworkTokenAddressSchema = z.object({ line1: z.string(), postal_code: z.string(), }); export const issuingNetworkTokenDeviceSchema = z.object({ device_fingerprint: z.string().optional(), ip_address: z.string().optional(), location: z.string().optional(), name: z.string().optional(), phone_number: z.string().optional(), type: z.union([z.literal('other'), z.literal('phone'), z.literal('watch')]).optional(), }); export const type29Schema = z.union([z.literal('other'), z.literal('phone'), z.literal('watch')]); export const issuingNetworkTokenMastercardSchema = z.object({ card_reference_id: z.string().optional(), token_reference_id: z.string(), token_requestor_id: z.string(), token_requestor_name: z.string().optional(), }); export const issuingNetworkTokenVisaSchema = z.object({ card_reference_id: z.string(), token_reference_id: z.string(), token_requestor_id: z.string(), token_risk_score: z.string().optional(), }); export const issuingNetworkTokenWalletProviderSchema = z.object({ account_id: z.string().optional(), account_trust_score: z.number().optional(), card_number_source: z .union([z.literal('app'), z.literal('manual'), z.literal('on_file'), z.literal('other')]) .optional(), cardholder_address: issuingNetworkTokenAddressSchema.optional(), cardholder_name: z.string().optional(), device_trust_score: z.number().optional(), hashed_account_email_address: z.string().optional(), reason_codes: z .array( z.union([ z.literal('account_card_too_new'), z.literal('account_recently_changed'), z.literal('account_too_new'), z.literal('account_too_new_since_launch'), z.literal('additional_device'), z.literal('data_expired'), z.literal('defer_id_v_decision'), z.literal('device_recently_lost'), z.literal('good_activity_history'), z.literal('has_suspended_tokens'), z.literal('high_risk'), z.literal('inactive_account'), z.literal('long_account_tenure'), z.literal('low_account_score'), z.literal('low_device_score'), z.literal('low_phone_number_score'), z.literal('network_service_error'), z.literal('outside_home_territory'), z.literal('provisioning_cardholder_mismatch'), z.literal('provisioning_device_and_cardholder_mismatch'), z.literal('provisioning_device_mismatch'), z.literal('same_device_no_prior_authentication'), z.literal('same_device_successful_prior_authentication'), z.literal('software_update'), z.literal('suspicious_activity'), z.literal('too_many_different_cardholders'), z.literal('too_many_recent_attempts'), z.literal('too_many_recent_tokens'), ]), ) .optional(), suggested_decision: z.union([z.literal('approve'), z.literal('decline'), z.literal('require_auth')]).optional(), suggested_decision_version: z.string().optional(), }); export const type30Schema = z.union([z.literal('mastercard'), z.literal('visa')]); export const cardNumberSourceSchema = z.union([ z.literal('app'), z.literal('manual'), z.literal('on_file'), z.literal('other'), ]); export const suggestedDecisionSchema = z.union([z.literal('approve'), z.literal('decline'), z.literal('require_auth')]); export const issuingPersonalizationDesignCarrierTextSchema = z.object({ footer_body: z.string().optional().nullable(), footer_title: z.string().optional().nullable(), header_body: z.string().optional().nullable(), header_title: z.string().optional().nullable(), }); export const issuingPersonalizationDesignPreferencesSchema = z.object({ is_default: z.boolean(), is_platform_default: z.boolean().optional().nullable(), }); export const issuingPersonalizationDesignRejectionReasonsSchema = z.object({ card_logo: z .array( z.union([ z.literal('geographic_location'), z.literal('inappropriate'), z.literal('network_name'), z.literal('non_binary_image'), z.literal('non_fiat_currency'), z.literal('other'), z.literal('other_entity'), z.literal('promotional_material'), ]), ) .optional() .nullable(), carrier_text: z .array( z.union([ z.literal('geographic_location'), z.literal('inappropriate'), z.literal('network_name'), z.literal('non_fiat_currency'), z.literal('other'), z.literal('other_entity'), z.literal('promotional_material'), ]), ) .optional() .nullable(), }); export const object71Schema = z.literal('issuing.personalization_design'); export const status20Schema = z.union([ z.literal('active'), z.literal('inactive'), z.literal('rejected'), z.literal('review'), ]); export const issuingPhysicalBundleFeaturesSchema = z.object({ card_logo: z.union([z.literal('optional'), z.literal('required'), z.literal('unsupported')]), carrier_text: z.union([z.literal('optional'), z.literal('required'), z.literal('unsupported')]), second_line: z.union([z.literal('optional'), z.literal('required'), z.literal('unsupported')]), }); export const object72Schema = z.literal('issuing.physical_bundle'); export const status21Schema = z.union([z.literal('active'), z.literal('inactive'), z.literal('review')]); export const type31Schema = z.union([z.literal('custom'), z.literal('standard')]); export const cardLogoSchema = z.union([z.literal('optional'), z.literal('required'), z.literal('unsupported')]); export const carrierTextSchema = z.union([z.literal('optional'), z.literal('required'), z.literal('unsupported')]); export const secondLineSchema = z.union([z.literal('optional'), z.literal('required'), z.literal('unsupported')]); export const issuingSettlementSchema = z.object({ bin: z.string(), clearing_date: z.number(), created: z.number(), currency: z.string(), id: z.string(), interchange_fees: z.number(), livemode: z.boolean(), metadata: z.record(z.string()), net_total: z.number(), network: z.literal('visa'), network_fees: z.number(), network_settlement_identifier: z.string(), object: z.literal('issuing.settlement'), settlement_service: z.string(), transaction_count: z.number(), transaction_volume: z.number(), }); export const network3Schema = z.literal('visa'); export const object73Schema = z.literal('issuing.settlement'); export const issuingNetworkTokenNetworkDataSchema = z.object({ device: issuingNetworkTokenDeviceSchema.optional(), mastercard: issuingNetworkTokenMastercardSchema.optional(), type: z.union([z.literal('mastercard'), z.literal('visa')]), visa: issuingNetworkTokenVisaSchema.optional(), wallet_provider: issuingNetworkTokenWalletProviderSchema.optional(), }); export const network4Schema = z.union([z.literal('mastercard'), z.literal('visa')]); export const object74Schema = z.literal('issuing.token'); export const status22Schema = z.union([ z.literal('active'), z.literal('deleted'), z.literal('requested'), z.literal('suspended'), ]); export const walletProviderSchema = z.union([ z.literal('apple_pay'), z.literal('google_pay'), z.literal('samsung_pay'), ]); export const issuingTransactionAmountDetailsSchema = z.object({ atm_fee: z.number().optional().nullable(), cashback_amount: z.number().optional().nullable(), }); export const issuingTransactionNetworkDataSchema = z.object({ authorization_code: z.string().optional().nullable(), processing_date: z.string().optional().nullable(), transaction_id: z.string().optional().nullable(), }); export const issuingTransactionTreasurySchema = z.object({ received_credit: z.string().optional().nullable(), received_debit: z.string().optional().nullable(), }); export const object75Schema = z.literal('issuing.transaction'); export const type32Schema = z.union([z.literal('capture'), z.literal('refund')]); export const walletSchema = z.union([z.literal('apple_pay'), z.literal('google_pay'), z.literal('samsung_pay')]); export const issuingTransactionFlightDataLegSchema = z.object({ arrival_airport_code: z.string().optional().nullable(), carrier: z.string().optional().nullable(), departure_airport_code: z.string().optional().nullable(), flight_number: z.string().optional().nullable(), service_class: z.string().optional().nullable(), stopover_allowed: z.boolean().optional().nullable(), }); export const issuingTransactionFuelDataSchema = z.object({ type: z.string(), unit: z.string(), unit_cost_decimal: z.string(), volume_decimal: z.string().optional().nullable(), }); export const issuingTransactionLodgingDataSchema = z.object({ check_in_at: z.number().optional().nullable(), nights: z.number().optional().nullable(), }); export const issuingTransactionFlightDataSchema = z.object({ departure_at: z.number().optional().nullable(), passenger_name: z.string().optional().nullable(), refundable: z.boolean().optional().nullable(), segments: z.array(issuingTransactionFlightDataLegSchema).optional().nullable(), travel_agency: z.string().optional().nullable(), }); export const issuingTransactionReceiptDataSchema = z.object({ description: z.string().optional().nullable(), quantity: z.number().optional().nullable(), total: z.number().optional().nullable(), unit_cost: z.number().optional().nullable(), }); export const object76Schema = z.literal('item'); export const legalEntityJapanAddressSchema = z.object({ city: z.string().optional().nullable(), country: z.string().optional().nullable(), line1: z.string().optional().nullable(), line2: z.string().optional().nullable(), postal_code: z.string().optional().nullable(), state: z.string().optional().nullable(), town: z.string().optional().nullable(), }); export const legalEntityUboDeclarationSchema = z.object({ date: z.number().optional().nullable(), ip: z.string().optional().nullable(), user_agent: z.string().optional().nullable(), }); export const structureSchema = z.union([ z.literal('free_zone_establishment'), z.literal('free_zone_llc'), z.literal('government_instrumentality'), z.literal('governmental_unit'), z.literal('incorporated_non_profit'), z.literal('incorporated_partnership'), z.literal('limited_liability_partnership'), z.literal('llc'), z.literal('multi_member_llc'), z.literal('private_company'), z.literal('private_corporation'), z.literal('private_partnership'), z.literal('public_company'), z.literal('public_corporation'), z.literal('public_partnership'), z.literal('registered_charity'), z.literal('single_member_llc'), z.literal('sole_establishment'), z.literal('sole_proprietorship'), z.literal('tax_exempt_government_instrumentality'), z.literal('unincorporated_association'), z.literal('unincorporated_non_profit'), z.literal('unincorporated_partnership'), ]); export const legalEntityDobSchema = z.object({ day: z.number().optional().nullable(), month: z.number().optional().nullable(), year: z.number().optional().nullable(), }); export const object77Schema = z.literal('line_item'); export const type33Schema = z.union([z.literal('invoiceitem'), z.literal('subscription')]); export const loginLinkSchema = z.object({ created: z.number(), object: z.literal('login_link'), url: z.string(), }); export const object78Schema = z.literal('login_link'); export const customerAcceptanceSchema = z.object({ accepted_at: z.number().optional().nullable(), offline: offlineAcceptanceSchema.optional(), online: onlineAcceptanceSchema.optional(), type: z.union([z.literal('offline'), z.literal('online')]), }); export const mandateMultiUseSchema = z.record(z.unknown()); export const mandateSingleUseSchema = z.object({ amount: z.number(), currency: z.string(), }); export const object79Schema = z.literal('mandate'); export const status23Schema = z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]); export const type34Schema = z.union([z.literal('multi_use'), z.literal('single_use')]); export const mandateAcssDebitSchema = z.object({ default_for: z.array(z.union([z.literal('invoice'), z.literal('subscription')])).optional(), interval_description: z.string().optional().nullable(), payment_schedule: z.union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]), transaction_type: z.union([z.literal('business'), z.literal('personal')]), }); export const mandateAmazonPaySchema = z.record(z.unknown()); export const mandateAuBecsDebitSchema = z.object({ url: z.string(), }); export const mandateBacsDebitSchema = z.object({ network_status: z.union([z.literal('accepted'), z.literal('pending'), z.literal('refused'), z.literal('revoked')]), reference: z.string(), revocation_reason: z .union([ z.literal('account_closed'), z.literal('bank_account_restricted'), z.literal('bank_ownership_changed'), z.literal('could_not_process'), z.literal('debit_not_authorized'), ]) .optional() .nullable(), url: z.string(), }); export const networkStatusSchema = z.union([ z.literal('accepted'), z.literal('pending'), z.literal('refused'), z.literal('revoked'), ]); export const revocationReasonSchema = z.union([ z.literal('account_closed'), z.literal('bank_account_restricted'), z.literal('bank_ownership_changed'), z.literal('could_not_process'), z.literal('debit_not_authorized'), ]); export const mandateCashappSchema = z.record(z.unknown()); export const mandateLinkSchema = z.record(z.unknown()); export const mandatePaypalSchema = z.object({ billing_agreement_id: z.string().optional().nullable(), payer_id: z.string().optional().nullable(), }); export const mandateRevolutPaySchema = z.record(z.unknown()); export const mandateSepaDebitSchema = z.object({ reference: z.string(), url: z.string(), }); export const mandateUsBankAccountSchema = z.object({ collection_method: z.literal('paper').optional(), }); export const collectionMethod2Schema = z.literal('paper'); export const networksSchema = z.object({ available: z.array(z.string()), preferred: z.string().optional().nullable(), }); export const outboundPaymentsPaymentMethodDetailsFinancialAccountSchema = z.object({ id: z.string(), network: z.literal('stripe'), }); export const type35Schema = z.union([z.literal('financial_account'), z.literal('us_bank_account')]); export const network5Schema = z.literal('stripe'); export const network6Schema = z.union([z.literal('ach'), z.literal('us_domestic_wire')]); export const packageDimensionsSchema = z.object({ height: z.number(), length: z.number(), weight: z.number(), width: z.number(), }); export const paymentFlowsAmountDetailsResourceTipSchema = z.object({ amount: z.number().optional(), }); export const paymentFlowsAutomaticPaymentMethodsPaymentIntentSchema = z.object({ allow_redirects: z.union([z.literal('always'), z.literal('never')]).optional(), enabled: z.boolean(), }); export const allowRedirectsSchema = z.union([z.literal('always'), z.literal('never')]); export const paymentFlowsAutomaticPaymentMethodsSetupIntentSchema = z.object({ allow_redirects: z.union([z.literal('always'), z.literal('never')]).optional(), enabled: z.boolean().optional().nullable(), }); export const paymentMethodDetailsCardInstallmentsPlanSchema = z.object({ count: z.number().optional().nullable(), interval: z.literal('month').optional().nullable(), type: z.literal('fixed_count'), }); export const paymentFlowsPrivatePaymentMethodsAlipayDetailsSchema = z.object({ buyer_id: z.string().optional(), fingerprint: z.string().optional().nullable(), transaction_id: z.string().optional().nullable(), }); export const paymentFlowsPrivatePaymentMethodsCardDetailsApiResourceEnterpriseFeaturesExtendedAuthorizationExtendedAuthorizationSchema = z.object({ status: z.union([z.literal('disabled'), z.literal('enabled')]), }); export const status24Schema = z.union([z.literal('disabled'), z.literal('enabled')]); export const paymentFlowsPrivatePaymentMethodsCardDetailsApiResourceEnterpriseFeaturesIncrementalAuthorizationIncrementalAuthorizationSchema = z.object({ status: z.union([z.literal('available'), z.literal('unavailable')]), }); export const status25Schema = z.union([z.literal('available'), z.literal('unavailable')]); export const paymentFlowsPrivatePaymentMethodsCardDetailsApiResourceEnterpriseFeaturesOvercaptureOvercaptureSchema = z.object({ maximum_amount_capturable: z.number(), status: z.union([z.literal('available'), z.literal('unavailable')]), }); export const paymentFlowsPrivatePaymentMethodsCardDetailsApiResourceMulticaptureSchema = z.object({ status: z.union([z.literal('available'), z.literal('unavailable')]), }); export const paymentFlowsPrivatePaymentMethodsKlarnaDobSchema = z.object({ day: z.number().optional().nullable(), month: z.number().optional().nullable(), year: z.number().optional().nullable(), }); export const paymentFlowsAmountDetailsSchema = z.object({ tip: paymentFlowsAmountDetailsResourceTipSchema.optional(), }); export const cancellationReason3Schema = z.union([ z.literal('abandoned'), z.literal('automatic'), z.literal('duplicate'), z.literal('failed_invoice'), z.literal('fraudulent'), z.literal('requested_by_customer'), z.literal('void_invoice'), ]); export const captureMethod2Schema = z.union([ z.literal('automatic'), z.literal('automatic_async'), z.literal('manual'), ]); export const confirmationMethodSchema = z.union([z.literal('automatic'), z.literal('manual')]); export const object80Schema = z.literal('payment_intent'); export const status26Schema = z.union([ z.literal('canceled'), z.literal('processing'), z.literal('requires_action'), z.literal('requires_capture'), z.literal('requires_confirmation'), z.literal('requires_payment_method'), z.literal('succeeded'), ]); export const paymentIntentProcessingCustomerNotificationSchema = z.object({ approval_requested: z.boolean().optional().nullable(), completes_at: z.number().optional().nullable(), }); export const paymentIntentNextActionAlipayHandleRedirectSchema = z.object({ native_data: z.string().optional().nullable(), native_url: z.string().optional().nullable(), return_url: z.string().optional().nullable(), url: z.string().optional().nullable(), }); export const paymentIntentNextActionBoletoSchema = z.object({ expires_at: z.number().optional().nullable(), hosted_voucher_url: z.string().optional().nullable(), number: z.string().optional().nullable(), pdf: z.string().optional().nullable(), }); export const paymentIntentNextActionCardAwaitNotificationSchema = z.object({ charge_attempt_at: z.number().optional().nullable(), customer_approval_required: z.boolean().optional().nullable(), }); export const paymentIntentNextActionDisplayMultibancoDetailsSchema = z.object({ entity: z.string().optional().nullable(), expires_at: z.number().optional().nullable(), hosted_voucher_url: z.string().optional().nullable(), reference: z.string().optional().nullable(), }); export const paymentIntentNextActionDisplayOxxoDetailsSchema = z.object({ expires_after: z.number().optional().nullable(), hosted_voucher_url: z.string().optional().nullable(), number: z.string().optional().nullable(), }); export const paymentIntentNextActionPaynowDisplayQrCodeSchema = z.object({ data: z.string(), hosted_instructions_url: z.string().optional().nullable(), image_url_png: z.string(), image_url_svg: z.string(), }); export const paymentIntentNextActionPixDisplayQrCodeSchema = z.object({ data: z.string().optional(), expires_at: z.number().optional(), hosted_instructions_url: z.string().optional(), image_url_png: z.string().optional(), image_url_svg: z.string().optional(), }); export const paymentIntentNextActionPromptpayDisplayQrCodeSchema = z.object({ data: z.string(), hosted_instructions_url: z.string(), image_url_png: z.string(), image_url_svg: z.string(), }); export const paymentIntentNextActionRedirectToUrlSchema = z.object({ return_url: z.string().optional().nullable(), url: z.string().optional().nullable(), }); export const paymentIntentNextActionVerifyWithMicrodepositsSchema = z.object({ arrival_date: z.number(), hosted_verification_url: z.string(), microdeposit_type: z .union([z.literal('amounts'), z.literal('descriptor_code')]) .optional() .nullable(), }); export const paymentIntentNextActionWechatPayDisplayQrCodeSchema = z.object({ data: z.string(), hosted_instructions_url: z.string(), image_data_url: z.string(), image_url_png: z.string(), image_url_svg: z.string(), }); export const paymentIntentNextActionWechatPayRedirectToAndroidAppSchema = z.object({ app_id: z.string(), nonce_str: z.string(), package: z.string(), partner_id: z.string(), prepay_id: z.string(), sign: z.string(), timestamp: z.string(), }); export const paymentIntentNextActionWechatPayRedirectToIosAppSchema = z.object({ native_url: z.string(), }); export const paymentIntentNextActionCashappQrCodeSchema = z.object({ expires_at: z.number(), image_url_png: z.string(), image_url_svg: z.string(), }); export const fundingInstructionsBankTransferFinancialAddressSchema = z.object({ aba: fundingInstructionsBankTransferAbaRecordSchema.optional(), iban: fundingInstructionsBankTransferIbanRecordSchema.optional(), sort_code: fundingInstructionsBankTransferSortCodeRecordSchema.optional(), spei: fundingInstructionsBankTransferSpeiRecordSchema.optional(), supported_networks: z .array( z.union([ z.literal('ach'), z.literal('bacs'), z.literal('domestic_wire_us'), z.literal('fps'), z.literal('sepa'), z.literal('spei'), z.literal('swift'), z.literal('zengin'), ]), ) .optional(), swift: fundingInstructionsBankTransferSwiftRecordSchema.optional(), type: z.union([ z.literal('aba'), z.literal('iban'), z.literal('sort_code'), z.literal('spei'), z.literal('swift'), z.literal('zengin'), ]), zengin: fundingInstructionsBankTransferZenginRecordSchema.optional(), }); export const paymentIntentNextActionKonbiniFamilymartSchema = z.object({ confirmation_number: z.string().optional(), payment_code: z.string(), }); export const paymentIntentNextActionKonbiniLawsonSchema = z.object({ confirmation_number: z.string().optional(), payment_code: z.string(), }); export const paymentIntentNextActionKonbiniMinistopSchema = z.object({ confirmation_number: z.string().optional(), payment_code: z.string(), }); export const paymentIntentNextActionKonbiniSeicomartSchema = z.object({ confirmation_number: z.string().optional(), payment_code: z.string(), }); export const paymentIntentNextActionKonbiniStoresSchema = z.object({ familymart: paymentIntentNextActionKonbiniFamilymartSchema.optional().nullable(), lawson: paymentIntentNextActionKonbiniLawsonSchema.optional().nullable(), ministop: paymentIntentNextActionKonbiniMinistopSchema.optional().nullable(), seicomart: paymentIntentNextActionKonbiniSeicomartSchema.optional().nullable(), }); export const paymentIntentNextActionSwishQrCodeSchema = z.object({ data: z.string(), image_url_png: z.string(), image_url_svg: z.string(), }); export const microdepositTypeSchema = z.union([z.literal('amounts'), z.literal('descriptor_code')]); export const paymentMethodOptionsAffirmSchema = z.object({ capture_method: z.literal('manual').optional(), preferred_locale: z.string().optional(), setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsAfterpayClearpaySchema = z.object({ capture_method: z.literal('manual').optional(), reference: z.string().optional().nullable(), setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsAlipaySchema = z.object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const paymentMethodOptionsAmazonPaySchema = z.object({ capture_method: z.literal('manual').optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const paymentIntentPaymentMethodOptionsAuBecsDebitSchema = z.object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), }); export const paymentMethodOptionsBacsDebitSchema = z.object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), }); export const paymentMethodOptionsBancontactSchema = z.object({ preferred_language: z.union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]), setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const paymentIntentPaymentMethodOptionsBlikSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsBoletoSchema = z.object({ expires_after_days: z.number(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), }); export const paymentMethodOptionsCashappSchema = z.object({ capture_method: z.literal('manual').optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), }); export const paymentIntentPaymentMethodOptionsEpsSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsFpxSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsGiropaySchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsGrabpaySchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsIdealSchema = z.object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const paymentMethodOptionsInteracPresentSchema = z.record(z.unknown()); export const paymentMethodOptionsKlarnaSchema = z.object({ capture_method: z.literal('manual').optional(), preferred_locale: z.string().optional().nullable(), setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsKonbiniSchema = z.object({ confirmation_number: z.string().optional().nullable(), expires_after_days: z.number().optional().nullable(), expires_at: z.number().optional().nullable(), product_description: z.string().optional().nullable(), setup_future_usage: z.literal('none').optional(), }); export const paymentIntentPaymentMethodOptionsLinkSchema = z.object({ capture_method: z.literal('manual').optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const paymentIntentPaymentMethodOptionsMobilepaySchema = z.object({ capture_method: z.literal('manual').optional(), setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsMultibancoSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsOxxoSchema = z.object({ expires_after_days: z.number(), setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsP24Schema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsPaynowSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsPaypalSchema = z.object({ capture_method: z.literal('manual').optional(), preferred_locale: z.string().optional().nullable(), reference: z.string().optional().nullable(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const paymentMethodOptionsPixSchema = z.object({ expires_after_seconds: z.number().optional().nullable(), expires_at: z.number().optional().nullable(), setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsPromptpaySchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsRevolutPaySchema = z.object({ capture_method: z.literal('manual').optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const paymentMethodOptionsSofortSchema = z.object({ preferred_language: z .union([ z.literal('de'), z.literal('en'), z.literal('es'), z.literal('fr'), z.literal('it'), z.literal('nl'), z.literal('pl'), ]) .optional() .nullable(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }); export const paymentIntentPaymentMethodOptionsSwishSchema = z.object({ reference: z.string().optional().nullable(), setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsTwintSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsWechatPaySchema = z.object({ app_id: z.string().optional().nullable(), client: z .union([z.literal('android'), z.literal('ios'), z.literal('web')]) .optional() .nullable(), setup_future_usage: z.literal('none').optional(), }); export const paymentMethodOptionsZipSchema = z.object({ setup_future_usage: z.literal('none').optional(), }); export const paymentIntentPaymentMethodOptionsMandateOptionsAcssDebitSchema = z.object({ custom_mandate_url: z.string().optional(), interval_description: z.string().optional().nullable(), payment_schedule: z .union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]) .optional() .nullable(), transaction_type: z .union([z.literal('business'), z.literal('personal')]) .optional() .nullable(), }); export const paymentMethodOptionsCardInstallmentsSchema = z.object({ available_plans: z.array(paymentMethodDetailsCardInstallmentsPlanSchema).optional().nullable(), enabled: z.boolean(), plan: paymentMethodDetailsCardInstallmentsPlanSchema.optional().nullable(), }); export const paymentMethodOptionsCardMandateOptionsSchema = z.object({ amount: z.number(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]), description: z.string().optional().nullable(), end_date: z.number().optional().nullable(), interval: z.union([ z.literal('day'), z.literal('month'), z.literal('sporadic'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional().nullable(), reference: z.string(), start_date: z.number(), supported_types: z.array(z.literal('india')).optional().nullable(), }); export const network7Schema = z.union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]); export const requestExtendedAuthorizationSchema = z.union([z.literal('if_available'), z.literal('never')]); export const requestIncrementalAuthorizationSchema = z.union([z.literal('if_available'), z.literal('never')]); export const requestMulticaptureSchema = z.union([z.literal('if_available'), z.literal('never')]); export const requestOvercaptureSchema = z.union([z.literal('if_available'), z.literal('never')]); export const paymentIntentPaymentMethodOptionsMandateOptionsSepaDebitSchema = z.record(z.unknown()); export const paymentIntentPaymentMethodOptionsSepaDebitSchema = z.object({ mandate_options: paymentIntentPaymentMethodOptionsMandateOptionsSepaDebitSchema.optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), }); export const paymentMethodOptionsUsBankAccountMandateOptionsSchema = z.object({ collection_method: z.literal('paper').optional(), }); export const preferredSettlementSpeedSchema = z.union([z.literal('fastest'), z.literal('standard')]); export const paymentIntentCardProcessingSchema = z.object({ customer_notification: paymentIntentProcessingCustomerNotificationSchema.optional(), }); export const type36Schema = z.literal('card'); export const paymentFlowsInstallmentOptionsSchema = z.object({ enabled: z.boolean(), plan: paymentMethodDetailsCardInstallmentsPlanSchema.optional(), }); export const paymentMethodOptionsCardPresentRoutingSchema = z.object({ requested_priority: z .union([z.literal('domestic'), z.literal('international')]) .optional() .nullable(), }); export const captureMethod3Schema = z.union([z.literal('manual'), z.literal('manual_preferred')]); export const paymentLinksResourcePaymentIntentDataSchema = z.object({ capture_method: z .union([z.literal('automatic'), z.literal('automatic_async'), z.literal('manual')]) .optional() .nullable(), description: z.string().optional().nullable(), metadata: z.record(z.string()), setup_future_usage: z .union([z.literal('off_session'), z.literal('on_session')]) .optional() .nullable(), statement_descriptor: z.string().optional().nullable(), statement_descriptor_suffix: z.string().optional().nullable(), transfer_group: z.string().optional().nullable(), }); export const paymentLinksResourcePhoneNumberCollectionSchema = z.object({ enabled: z.boolean(), }); export const paymentLinksResourceShippingAddressCollectionSchema = z.object({ allowed_countries: z.array( z.union([ z.literal('AC'), z.literal('AD'), z.literal('AE'), z.literal('AF'), z.literal('AG'), z.literal('AI'), z.literal('AL'), z.literal('AM'), z.literal('AO'), z.literal('AQ'), z.literal('AR'), z.literal('AT'), z.literal('AU'), z.literal('AW'), z.literal('AX'), z.literal('AZ'), z.literal('BA'), z.literal('BB'), z.literal('BD'), z.literal('BE'), z.literal('BF'), z.literal('BG'), z.literal('BH'), z.literal('BI'), z.literal('BJ'), z.literal('BL'), z.literal('BM'), z.literal('BN'), z.literal('BO'), z.literal('BQ'), z.literal('BR'), z.literal('BS'), z.literal('BT'), z.literal('BV'), z.literal('BW'), z.literal('BY'), z.literal('BZ'), z.literal('CA'), z.literal('CD'), z.literal('CF'), z.literal('CG'), z.literal('CH'), z.literal('CI'), z.literal('CK'), z.literal('CL'), z.literal('CM'), z.literal('CN'), z.literal('CO'), z.literal('CR'), z.literal('CV'), z.literal('CW'), z.literal('CY'), z.literal('CZ'), z.literal('DE'), z.literal('DJ'), z.literal('DK'), z.literal('DM'), z.literal('DO'), z.literal('DZ'), z.literal('EC'), z.literal('EE'), z.literal('EG'), z.literal('EH'), z.literal('ER'), z.literal('ES'), z.literal('ET'), z.literal('FI'), z.literal('FJ'), z.literal('FK'), z.literal('FO'), z.literal('FR'), z.literal('GA'), z.literal('GB'), z.literal('GD'), z.literal('GE'), z.literal('GF'), z.literal('GG'), z.literal('GH'), z.literal('GI'), z.literal('GL'), z.literal('GM'), z.literal('GN'), z.literal('GP'), z.literal('GQ'), z.literal('GR'), z.literal('GS'), z.literal('GT'), z.literal('GU'), z.literal('GW'), z.literal('GY'), z.literal('HK'), z.literal('HN'), z.literal('HR'), z.literal('HT'), z.literal('HU'), z.literal('ID'), z.literal('IE'), z.literal('IL'), z.literal('IM'), z.literal('IN'), z.literal('IO'), z.literal('IQ'), z.literal('IS'), z.literal('IT'), z.literal('JE'), z.literal('JM'), z.literal('JO'), z.literal('JP'), z.literal('KE'), z.literal('KG'), z.literal('KH'), z.literal('KI'), z.literal('KM'), z.literal('KN'), z.literal('KR'), z.literal('KW'), z.literal('KY'), z.literal('KZ'), z.literal('LA'), z.literal('LB'), z.literal('LC'), z.literal('LI'), z.literal('LK'), z.literal('LR'), z.literal('LS'), z.literal('LT'), z.literal('LU'), z.literal('LV'), z.literal('LY'), z.literal('MA'), z.literal('MC'), z.literal('MD'), z.literal('ME'), z.literal('MF'), z.literal('MG'), z.literal('MK'), z.literal('ML'), z.literal('MM'), z.literal('MN'), z.literal('MO'), z.literal('MQ'), z.literal('MR'), z.literal('MS'), z.literal('MT'), z.literal('MU'), z.literal('MV'), z.literal('MW'), z.literal('MX'), z.literal('MY'), z.literal('MZ'), z.literal('NA'), z.literal('NC'), z.literal('NE'), z.literal('NG'), z.literal('NI'), z.literal('NL'), z.literal('NO'), z.literal('NP'), z.literal('NR'), z.literal('NU'), z.literal('NZ'), z.literal('OM'), z.literal('PA'), z.literal('PE'), z.literal('PF'), z.literal('PG'), z.literal('PH'), z.literal('PK'), z.literal('PL'), z.literal('PM'), z.literal('PN'), z.literal('PR'), z.literal('PS'), z.literal('PT'), z.literal('PY'), z.literal('QA'), z.literal('RE'), z.literal('RO'), z.literal('RS'), z.literal('RU'), z.literal('RW'), z.literal('SA'), z.literal('SB'), z.literal('SC'), z.literal('SE'), z.literal('SG'), z.literal('SH'), z.literal('SI'), z.literal('SJ'), z.literal('SK'), z.literal('SL'), z.literal('SM'), z.literal('SN'), z.literal('SO'), z.literal('SR'), z.literal('SS'), z.literal('ST'), z.literal('SV'), z.literal('SX'), z.literal('SZ'), z.literal('TA'), z.literal('TC'), z.literal('TD'), z.literal('TF'), z.literal('TG'), z.literal('TH'), z.literal('TJ'), z.literal('TK'), z.literal('TL'), z.literal('TM'), z.literal('TN'), z.literal('TO'), z.literal('TR'), z.literal('TT'), z.literal('TV'), z.literal('TW'), z.literal('TZ'), z.literal('UA'), z.literal('UG'), z.literal('US'), z.literal('UY'), z.literal('UZ'), z.literal('VA'), z.literal('VC'), z.literal('VE'), z.literal('VG'), z.literal('VN'), z.literal('VU'), z.literal('WF'), z.literal('WS'), z.literal('XK'), z.literal('YE'), z.literal('YT'), z.literal('ZA'), z.literal('ZM'), z.literal('ZW'), z.literal('ZZ'), ]), ), }); export const paymentLinksResourceTaxIdCollectionSchema = z.object({ enabled: z.boolean(), }); export const paymentLinksResourceCompletionBehaviorConfirmationPageSchema = z.object({ custom_message: z.string().optional().nullable(), }); export const paymentLinksResourceCompletionBehaviorRedirectSchema = z.object({ url: z.string(), }); export const type37Schema = z.union([z.literal('hosted_confirmation'), z.literal('redirect')]); export const paymentLinksResourceCompletedSessionsSchema = z.object({ count: z.number(), limit: z.number(), }); export const paymentLinksResourcePaymentMethodReuseAgreementSchema = z.object({ position: z.union([z.literal('auto'), z.literal('hidden')]), }); export const promotionsSchema = z.union([z.literal('auto'), z.literal('none')]); export const termsOfServiceSchema = z.union([z.literal('none'), z.literal('required')]); export const paymentLinksResourceCustomFieldsLabelSchema = z.object({ custom: z.string().optional().nullable(), type: z.literal('custom'), }); export const paymentLinksResourceCustomFieldsNumericSchema = z.object({ maximum_length: z.number().optional().nullable(), minimum_length: z.number().optional().nullable(), }); export const paymentLinksResourceCustomFieldsTextSchema = z.object({ maximum_length: z.number().optional().nullable(), minimum_length: z.number().optional().nullable(), }); export const type38Schema = z.union([z.literal('dropdown'), z.literal('numeric'), z.literal('text')]); export const paymentLinksResourceCustomFieldsDropdownOptionSchema = z.object({ label: z.string(), value: z.string(), }); export const type39Schema = z.literal('custom'); export const paymentLinksResourceCustomTextPositionSchema = z.object({ message: z.string(), }); export const positionSchema = z.union([z.literal('auto'), z.literal('hidden')]); export const paymentLinksResourceRestrictionsSchema = z.object({ completed_sessions: paymentLinksResourceCompletedSessionsSchema, }); export const paymentMethodKlarnaSchema = z.object({ dob: paymentFlowsPrivatePaymentMethodsKlarnaDobSchema.optional().nullable(), }); export const object81Schema = z.literal('payment_method'); export const paymentMethodCardChecksSchema = z.object({ address_line1_check: z.string().optional().nullable(), address_postal_code_check: z.string().optional().nullable(), cvc_check: z.string().optional().nullable(), }); export const threeDSecureUsageSchema = z.object({ supported: z.boolean(), }); export const paymentMethodCardPresentNetworksSchema = z.object({ available: z.array(z.string()), preferred: z.string().optional().nullable(), }); export const readMethodSchema = z.union([ z.literal('contact_emv'), z.literal('contactless_emv'), z.literal('contactless_magstripe_mode'), z.literal('magnetic_stripe_fallback'), z.literal('magnetic_stripe_track2'), ]); export const paymentMethodCardWalletAmexExpressCheckoutSchema = z.record(z.unknown()); export const paymentMethodCardWalletApplePaySchema = z.record(z.unknown()); export const paymentMethodCardWalletGooglePaySchema = z.record(z.unknown()); export const paymentMethodCardWalletLinkSchema = z.record(z.unknown()); export const paymentMethodCardWalletMasterpassSchema = z.object({ billing_address: addressSchema.optional().nullable(), email: z.string().optional().nullable(), name: z.string().optional().nullable(), shipping_address: addressSchema.optional().nullable(), }); export const paymentMethodCardWalletSamsungPaySchema = z.record(z.unknown()); export const paymentMethodCardWalletVisaCheckoutSchema = z.object({ billing_address: addressSchema.optional().nullable(), email: z.string().optional().nullable(), name: z.string().optional().nullable(), shipping_address: addressSchema.optional().nullable(), }); export const type40Schema = z.union([ z.literal('amex_express_checkout'), z.literal('apple_pay'), z.literal('google_pay'), z.literal('link'), z.literal('masterpass'), z.literal('samsung_pay'), z.literal('visa_checkout'), ]); export const paymentMethodConfigResourceDisplayPreferenceSchema = z.object({ overridable: z.boolean().optional().nullable(), preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]), value: z.union([z.literal('off'), z.literal('on')]), }); export const preferenceSchema = z.union([z.literal('none'), z.literal('off'), z.literal('on')]); export const valueSchema = z.union([z.literal('off'), z.literal('on')]); export const paymentMethodConfigResourcePaymentMethodPropertiesSchema = z.object({ available: z.boolean(), display_preference: paymentMethodConfigResourceDisplayPreferenceSchema, }); export const paymentMethodConfigurationSchema = z.object({ acss_debit: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), active: z.boolean(), affirm: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), afterpay_clearpay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), alipay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), amazon_pay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), apple_pay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), application: z.string().optional().nullable(), au_becs_debit: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), bacs_debit: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), bancontact: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), blik: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), boleto: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), card: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), cartes_bancaires: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), cashapp: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), customer_balance: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), eps: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), fpx: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), giropay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), google_pay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), grabpay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), id: z.string(), ideal: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), is_default: z.boolean(), jcb: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), klarna: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), konbini: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), link: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), livemode: z.boolean(), mobilepay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), multibanco: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), name: z.string(), object: z.literal('payment_method_configuration'), oxxo: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), p24: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), parent: z.string().optional().nullable(), paynow: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), paypal: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), promptpay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), revolut_pay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), sepa_debit: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), sofort: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), swish: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), us_bank_account: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), wechat_pay: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), zip: paymentMethodConfigResourcePaymentMethodPropertiesSchema.optional(), }); export const object82Schema = z.literal('payment_method_configuration'); export const paymentMethodDetailsAchCreditTransferSchema = z.object({ account_number: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), routing_number: z.string().optional().nullable(), swift_code: z.string().optional().nullable(), }); export const paymentMethodDetailsAchDebitSchema = z.object({ account_holder_type: z .union([z.literal('company'), z.literal('individual')]) .optional() .nullable(), bank_name: z.string().optional().nullable(), country: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), routing_number: z.string().optional().nullable(), }); export const paymentMethodDetailsAcssDebitSchema = z.object({ bank_name: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), institution_number: z.string().optional().nullable(), last4: z.string().optional().nullable(), mandate: z.string().optional(), transit_number: z.string().optional().nullable(), }); export const paymentMethodDetailsAffirmSchema = z.record(z.unknown()); export const paymentMethodDetailsAfterpayClearpaySchema = z.object({ order_id: z.string().optional().nullable(), reference: z.string().optional().nullable(), }); export const paymentMethodDetailsAmazonPaySchema = z.record(z.unknown()); export const paymentMethodDetailsAuBecsDebitSchema = z.object({ bsb_number: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), mandate: z.string().optional(), }); export const paymentMethodDetailsBacsDebitSchema = z.object({ fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), mandate: z.string().optional().nullable(), sort_code: z.string().optional().nullable(), }); export const paymentMethodDetailsBlikSchema = z.record(z.unknown()); export const paymentMethodDetailsBoletoSchema = z.object({ tax_id: z.string(), }); export const paymentMethodDetailsCashappSchema = z.object({ buyer_id: z.string().optional().nullable(), cashtag: z.string().optional().nullable(), }); export const paymentMethodDetailsCustomerBalanceSchema = z.record(z.unknown()); export const paymentMethodDetailsEpsSchema = z.object({ bank: z .union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]) .optional() .nullable(), verified_name: z.string().optional().nullable(), }); export const paymentMethodDetailsFpxSchema = z.object({ bank: z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]), transaction_id: z.string().optional().nullable(), }); export const paymentMethodDetailsGiropaySchema = z.object({ bank_code: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), bic: z.string().optional().nullable(), verified_name: z.string().optional().nullable(), }); export const paymentMethodDetailsGrabpaySchema = z.object({ transaction_id: z.string().optional().nullable(), }); export const paymentMethodDetailsKlarnaSchema = z.object({ payment_method_category: z.string().optional().nullable(), preferred_locale: z.string().optional().nullable(), }); export const paymentMethodDetailsLinkSchema = z.object({ country: z.string().optional().nullable(), }); export const paymentMethodDetailsMobilepaySchema = z.object({ card: internalCardSchema.optional().nullable(), }); export const paymentMethodDetailsMultibancoSchema = z.object({ entity: z.string().optional().nullable(), reference: z.string().optional().nullable(), }); export const paymentMethodDetailsOxxoSchema = z.object({ number: z.string().optional().nullable(), }); export const paymentMethodDetailsP24Schema = z.object({ bank: z .union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]) .optional() .nullable(), reference: z.string().optional().nullable(), verified_name: z.string().optional().nullable(), }); export const paymentMethodDetailsPaynowSchema = z.object({ reference: z.string().optional().nullable(), }); export const paymentMethodDetailsPixSchema = z.object({ bank_transaction_id: z.string().optional().nullable(), }); export const paymentMethodDetailsPromptpaySchema = z.object({ reference: z.string().optional().nullable(), }); export const paymentMethodDetailsRevolutPaySchema = z.record(z.unknown()); export const paymentMethodDetailsSepaDebitSchema = z.object({ bank_code: z.string().optional().nullable(), branch_code: z.string().optional().nullable(), country: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), mandate: z.string().optional().nullable(), }); export const paymentMethodDetailsStripeAccountSchema = z.record(z.unknown()); export const paymentMethodDetailsSwishSchema = z.object({ fingerprint: z.string().optional().nullable(), payment_reference: z.string().optional().nullable(), verified_phone_last4: z.string().optional().nullable(), }); export const paymentMethodDetailsTwintSchema = z.record(z.unknown()); export const paymentMethodDetailsWechatSchema = z.record(z.unknown()); export const paymentMethodDetailsWechatPaySchema = z.object({ fingerprint: z.string().optional().nullable(), transaction_id: z.string().optional().nullable(), }); export const paymentMethodDetailsZipSchema = z.record(z.unknown()); export const paymentMethodDetailsCardChecksSchema = z.object({ address_line1_check: z.string().optional().nullable(), address_postal_code_check: z.string().optional().nullable(), cvc_check: z.string().optional().nullable(), }); export const paymentMethodDetailsCardInstallmentsSchema = z.object({ plan: paymentMethodDetailsCardInstallmentsPlanSchema.optional().nullable(), }); export const paymentMethodDetailsCardNetworkTokenSchema = z.object({ used: z.boolean(), }); export const threeDSecureDetailsChargeSchema = z.object({ authentication_flow: z .union([z.literal('challenge'), z.literal('frictionless')]) .optional() .nullable(), electronic_commerce_indicator: z .union([z.literal('01'), z.literal('02'), z.literal('05'), z.literal('06'), z.literal('07')]) .optional() .nullable(), exemption_indicator: z .union([z.literal('low_risk'), z.literal('none')]) .optional() .nullable(), exemption_indicator_applied: z.boolean().optional(), result: z .union([ z.literal('attempt_acknowledged'), z.literal('authenticated'), z.literal('exempted'), z.literal('failed'), z.literal('not_supported'), z.literal('processing_error'), ]) .optional() .nullable(), result_reason: z .union([ z.literal('abandoned'), z.literal('bypassed'), z.literal('canceled'), z.literal('card_not_enrolled'), z.literal('network_not_supported'), z.literal('protocol_error'), z.literal('rejected'), ]) .optional() .nullable(), transaction_id: z.string().optional().nullable(), version: z .union([z.literal('1.0.2'), z.literal('2.1.0'), z.literal('2.2.0')]) .optional() .nullable(), }); export const interval2Schema = z.literal('month'); export const type41Schema = z.literal('fixed_count'); export const paymentMethodDetailsCardPresentOfflineSchema = z.object({ stored_at: z.number().optional().nullable(), }); export const paymentMethodDetailsCardPresentReceiptSchema = z.object({ account_type: z .union([z.literal('checking'), z.literal('credit'), z.literal('prepaid'), z.literal('unknown')]) .optional(), application_cryptogram: z.string().optional().nullable(), application_preferred_name: z.string().optional().nullable(), authorization_code: z.string().optional().nullable(), authorization_response_code: z.string().optional().nullable(), cardholder_verification_method: z.string().optional().nullable(), dedicated_file_name: z.string().optional().nullable(), terminal_verification_results: z.string().optional().nullable(), transaction_status_information: z.string().optional().nullable(), }); export const accountType2Schema = z.union([ z.literal('checking'), z.literal('credit'), z.literal('prepaid'), z.literal('unknown'), ]); export const paymentMethodDetailsCardWalletAmexExpressCheckoutSchema = z.record(z.unknown()); export const paymentMethodDetailsCardWalletApplePaySchema = z.record(z.unknown()); export const paymentMethodDetailsCardWalletGooglePaySchema = z.record(z.unknown()); export const paymentMethodDetailsCardWalletLinkSchema = z.record(z.unknown()); export const paymentMethodDetailsCardWalletMasterpassSchema = z.object({ billing_address: addressSchema.optional().nullable(), email: z.string().optional().nullable(), name: z.string().optional().nullable(), shipping_address: addressSchema.optional().nullable(), }); export const paymentMethodDetailsCardWalletSamsungPaySchema = z.record(z.unknown()); export const paymentMethodDetailsCardWalletVisaCheckoutSchema = z.object({ billing_address: addressSchema.optional().nullable(), email: z.string().optional().nullable(), name: z.string().optional().nullable(), shipping_address: addressSchema.optional().nullable(), }); export const bankSchema = z.union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]); export const bank2Schema = z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]); export const bank3Schema = z.union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]); export const bicSchema = z.union([ z.literal('ABNANL2A'), z.literal('ASNBNL21'), z.literal('BITSNL2A'), z.literal('BUNQNL2A'), z.literal('FVLBNL22'), z.literal('HANDNL2A'), z.literal('INGBNL2A'), z.literal('KNABNL2H'), z.literal('MOYONL21'), z.literal('NNBANL2G'), z.literal('NTSBDEB1'), z.literal('RABONL2U'), z.literal('RBRBNL21'), z.literal('REVOIE23'), z.literal('REVOLT21'), z.literal('SNSBNL2A'), z.literal('TRIONL2U'), ]); export const paymentMethodDetailsInteracPresentReceiptSchema = z.object({ account_type: z.union([z.literal('checking'), z.literal('savings'), z.literal('unknown')]).optional(), application_cryptogram: z.string().optional().nullable(), application_preferred_name: z.string().optional().nullable(), authorization_code: z.string().optional().nullable(), authorization_response_code: z.string().optional().nullable(), cardholder_verification_method: z.string().optional().nullable(), dedicated_file_name: z.string().optional().nullable(), terminal_verification_results: z.string().optional().nullable(), transaction_status_information: z.string().optional().nullable(), }); export const accountType3Schema = z.union([z.literal('checking'), z.literal('savings'), z.literal('unknown')]); export const paymentMethodDetailsKonbiniStoreSchema = z.object({ chain: z .union([z.literal('familymart'), z.literal('lawson'), z.literal('ministop'), z.literal('seicomart')]) .optional() .nullable(), }); export const chainSchema = z.union([ z.literal('familymart'), z.literal('lawson'), z.literal('ministop'), z.literal('seicomart'), ]); export const bank4Schema = z.union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]); export const paypalSellerProtectionSchema = z.object({ dispute_categories: z .array(z.union([z.literal('fraudulent'), z.literal('product_not_received')])) .optional() .nullable(), status: z.union([z.literal('eligible'), z.literal('not_eligible'), z.literal('partially_eligible')]), }); export const preferredLanguage2Schema = z.union([ z.literal('de'), z.literal('en'), z.literal('es'), z.literal('fr'), z.literal('it'), z.literal('nl'), z.literal('pl'), ]); export const object83Schema = z.literal('payment_method_domain'); export const paymentMethodDomainResourcePaymentMethodStatusDetailsSchema = z.object({ error_message: z.string(), }); export const paymentMethodInteracPresentSchema = z.object({ brand: z.string().optional().nullable(), cardholder_name: z.string().optional().nullable(), country: z.string().optional().nullable(), exp_month: z.number(), exp_year: z.number(), fingerprint: z.string().optional().nullable(), funding: z.string().optional().nullable(), last4: z.string().optional().nullable(), networks: paymentMethodCardPresentNetworksSchema.optional().nullable(), preferred_locales: z.array(z.string()).optional().nullable(), read_method: z .union([ z.literal('contact_emv'), z.literal('contactless_emv'), z.literal('contactless_magstripe_mode'), z.literal('magnetic_stripe_fallback'), z.literal('magnetic_stripe_track2'), ]) .optional() .nullable(), }); export const interval3Schema = z.union([ z.literal('day'), z.literal('month'), z.literal('sporadic'), z.literal('week'), z.literal('year'), ]); export const paymentMethodOptionsCardPresentSchema = z.object({ request_extended_authorization: z.boolean().optional().nullable(), request_incremental_authorization_support: z.boolean().optional().nullable(), routing: paymentMethodOptionsCardPresentRoutingSchema.optional(), }); export const requestedPrioritySchema = z.union([z.literal('domestic'), z.literal('international')]); export const paymentMethodOptionsCustomerBalanceBankTransferSchema = z.object({ eu_bank_transfer: paymentMethodOptionsCustomerBalanceEuBankAccountSchema.optional(), requested_address_types: z .array( z.union([ z.literal('aba'), z.literal('iban'), z.literal('sepa'), z.literal('sort_code'), z.literal('spei'), z.literal('swift'), z.literal('zengin'), ]), ) .optional(), type: z .union([ z.literal('eu_bank_transfer'), z.literal('gb_bank_transfer'), z.literal('jp_bank_transfer'), z.literal('mx_bank_transfer'), z.literal('us_bank_transfer'), ]) .optional() .nullable(), }); export const stripeClientSchema = z.union([z.literal('android'), z.literal('ios'), z.literal('web')]); export const usBankAccountNetworksSchema = z.object({ preferred: z.string().optional().nullable(), supported: z.array(z.union([z.literal('ach'), z.literal('us_domestic_wire')])), }); export const paymentMethodUsBankAccountBlockedSchema = z.object({ network_code: z .union([ z.literal('R02'), z.literal('R03'), z.literal('R04'), z.literal('R05'), z.literal('R07'), z.literal('R08'), z.literal('R10'), z.literal('R11'), z.literal('R16'), z.literal('R20'), z.literal('R29'), z.literal('R31'), ]) .optional() .nullable(), reason: z .union([ z.literal('bank_account_closed'), z.literal('bank_account_frozen'), z.literal('bank_account_invalid_details'), z.literal('bank_account_restricted'), z.literal('bank_account_unusable'), z.literal('debit_not_authorized'), ]) .optional() .nullable(), }); export const networkCodeSchema = z.union([ z.literal('R02'), z.literal('R03'), z.literal('R04'), z.literal('R05'), z.literal('R07'), z.literal('R08'), z.literal('R10'), z.literal('R11'), z.literal('R16'), z.literal('R20'), z.literal('R29'), z.literal('R31'), ]); export const reason5Schema = z.union([ z.literal('bank_account_closed'), z.literal('bank_account_frozen'), z.literal('bank_account_invalid_details'), z.literal('bank_account_restricted'), z.literal('bank_account_unusable'), z.literal('debit_not_authorized'), ]); export const paymentMethodUsBankAccountStatusDetailsSchema = z.object({ blocked: paymentMethodUsBankAccountBlockedSchema.optional(), }); export const paymentPagesCheckoutSessionAfterExpirationRecoverySchema = z.object({ allow_promotion_codes: z.boolean(), enabled: z.boolean(), expires_at: z.number().optional().nullable(), url: z.string().optional().nullable(), }); export const promotions2Schema = z.union([z.literal('opt_in'), z.literal('opt_out')]); export const termsOfService2Schema = z.literal('accepted'); export const paymentPagesCheckoutSessionPaymentMethodReuseAgreementSchema = z.object({ position: z.union([z.literal('auto'), z.literal('hidden')]), }); export const paymentPagesCheckoutSessionCustomFieldsLabelSchema = z.object({ custom: z.string().optional().nullable(), type: z.literal('custom'), }); export const paymentPagesCheckoutSessionCustomFieldsNumericSchema = z.object({ default_value: z.string().optional().nullable(), maximum_length: z.number().optional().nullable(), minimum_length: z.number().optional().nullable(), value: z.string().optional().nullable(), }); export const paymentPagesCheckoutSessionCustomFieldsTextSchema = z.object({ default_value: z.string().optional().nullable(), maximum_length: z.number().optional().nullable(), minimum_length: z.number().optional().nullable(), value: z.string().optional().nullable(), }); export const paymentPagesCheckoutSessionCustomFieldsOptionSchema = z.object({ label: z.string(), value: z.string(), }); export const paymentPagesCheckoutSessionCustomTextPositionSchema = z.object({ message: z.string(), }); export const paymentPagesCheckoutSessionTaxIdSchema = z.object({ type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('unknown'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string().optional().nullable(), }); export const paymentMethodRemoveSchema = z.union([z.literal('disabled'), z.literal('enabled')]); export const paymentMethodSaveSchema = z.union([z.literal('disabled'), z.literal('enabled')]); export const object84Schema = z.literal('payout'); export const reconciliationStatusSchema = z.union([ z.literal('completed'), z.literal('in_progress'), z.literal('not_applicable'), ]); export const type42Schema = z.union([z.literal('bank_account'), z.literal('card')]); export const status27Schema = z.union([ z.literal('eligible'), z.literal('not_eligible'), z.literal('partially_eligible'), ]); export const periodSchema = z.object({ end: z.number().optional().nullable(), start: z.number().optional().nullable(), }); export const personFutureRequirementsSchema = z.object({ alternatives: z.array(accountRequirementsAlternativeSchema).optional().nullable(), currently_due: z.array(z.string()), errors: z.array(accountRequirementsErrorSchema), eventually_due: z.array(z.string()), past_due: z.array(z.string()), pending_verification: z.array(z.string()), }); export const personRelationshipSchema = z.object({ director: z.boolean().optional().nullable(), executive: z.boolean().optional().nullable(), legal_guardian: z.boolean().optional().nullable(), owner: z.boolean().optional().nullable(), percent_ownership: z.number().optional().nullable(), representative: z.boolean().optional().nullable(), title: z.string().optional().nullable(), }); export const personRequirementsSchema = z.object({ alternatives: z.array(accountRequirementsAlternativeSchema).optional().nullable(), currently_due: z.array(z.string()), errors: z.array(accountRequirementsErrorSchema), eventually_due: z.array(z.string()), past_due: z.array(z.string()), pending_verification: z.array(z.string()), }); export const politicalExposureSchema = z.union([z.literal('existing'), z.literal('none')]); export const personAdditionalTosAcceptanceSchema = z.object({ date: z.number().optional().nullable(), ip: z.string().optional().nullable(), user_agent: z.string().optional().nullable(), }); export const personAdditionalTosAcceptancesSchema = z.object({ account: personAdditionalTosAcceptanceSchema, }); export const planTierSchema = z.object({ flat_amount: z.number().optional().nullable(), flat_amount_decimal: z.string().optional().nullable(), unit_amount: z.number().optional().nullable(), unit_amount_decimal: z.string().optional().nullable(), up_to: z.number().optional().nullable(), }); export const transformUsageSchema = z.object({ divide_by: z.number(), round: z.union([z.literal('down'), z.literal('up')]), }); export const aggregateUsageSchema = z.union([ z.literal('last_during_period'), z.literal('last_ever'), z.literal('max'), z.literal('sum'), ]); export const billingSchemeSchema = z.union([z.literal('per_unit'), z.literal('tiered')]); export const interval4Schema = z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]); export const tiersModeSchema = z.union([z.literal('graduated'), z.literal('volume')]); export const usageTypeSchema = z.union([z.literal('licensed'), z.literal('metered')]); export const type43Schema = z.union([z.literal('charge'), z.literal('payout')]); export const portalCustomerUpdateSchema = z.object({ allowed_updates: z.array( z.union([ z.literal('address'), z.literal('email'), z.literal('name'), z.literal('phone'), z.literal('shipping'), z.literal('tax_id'), ]), ), enabled: z.boolean(), }); export const portalInvoiceListSchema = z.object({ enabled: z.boolean(), }); export const portalPaymentMethodUpdateSchema = z.object({ enabled: z.boolean(), }); export const portalFlowsAfterCompletionHostedConfirmationSchema = z.object({ custom_message: z.string().optional().nullable(), }); export const portalFlowsAfterCompletionRedirectSchema = z.object({ return_url: z.string(), }); export const portalFlowsCouponOfferSchema = z.object({ coupon: z.string(), }); export const portalFlowsFlowAfterCompletionSchema = z.object({ hosted_confirmation: portalFlowsAfterCompletionHostedConfirmationSchema.optional().nullable(), redirect: portalFlowsAfterCompletionRedirectSchema.optional().nullable(), type: z.union([z.literal('hosted_confirmation'), z.literal('portal_homepage'), z.literal('redirect')]), }); export const portalFlowsFlowSubscriptionUpdateSchema = z.object({ subscription: z.string(), }); export const type44Schema = z.union([ z.literal('payment_method_update'), z.literal('subscription_cancel'), z.literal('subscription_update'), z.literal('subscription_update_confirm'), ]); export const type45Schema = z.union([ z.literal('hosted_confirmation'), z.literal('portal_homepage'), z.literal('redirect'), ]); export const portalFlowsRetentionSchema = z.object({ coupon_offer: portalFlowsCouponOfferSchema.optional().nullable(), type: z.literal('coupon_offer'), }); export const portalFlowsSubscriptionUpdateConfirmDiscountSchema = z.object({ coupon: z.string().optional().nullable(), promotion_code: z.string().optional().nullable(), }); export const portalFlowsSubscriptionUpdateConfirmItemSchema = z.object({ id: z.string().optional().nullable(), price: z.string().optional().nullable(), quantity: z.number().optional(), }); export const type46Schema = z.literal('coupon_offer'); export const portalSubscriptionCancellationReasonSchema = z.object({ enabled: z.boolean(), options: z.array( z.union([ z.literal('customer_service'), z.literal('low_quality'), z.literal('missing_features'), z.literal('other'), z.literal('switched_service'), z.literal('too_complex'), z.literal('too_expensive'), z.literal('unused'), ]), ), }); export const mode2Schema = z.union([z.literal('at_period_end'), z.literal('immediately')]); export const prorationBehaviorSchema = z.union([ z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none'), ]); export const portalSubscriptionUpdateProductSchema = z.object({ prices: z.array(z.string()), product: z.string(), }); export const recurringSchema = z.object({ aggregate_usage: z .union([z.literal('last_during_period'), z.literal('last_ever'), z.literal('max'), z.literal('sum')]) .optional() .nullable(), interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number(), meter: z.string().optional().nullable(), usage_type: z.union([z.literal('licensed'), z.literal('metered')]), }); export const transformQuantitySchema = z.object({ divide_by: z.number(), round: z.union([z.literal('down'), z.literal('up')]), }); export const type47Schema = z.union([z.literal('one_time'), z.literal('recurring')]); export const productMarketingFeatureSchema = z.object({ name: z.string().optional(), }); export const taxCodeSchema = z.object({ description: z.string(), id: z.string(), name: z.string(), object: z.literal('tax_code'), }); export const productFeatureSchema = z.object({ entitlement_feature: entitlementsFeatureSchema, id: z.string(), livemode: z.boolean(), object: z.literal('product_feature'), }); export const object85Schema = z.literal('promotion_code'); export const promotionCodeCurrencyOptionSchema = z.object({ minimum_amount: z.number(), }); export const promotionCodesResourceRestrictionsSchema = z.object({ currency_options: z.record(promotionCodeCurrencyOptionSchema).optional(), first_time_transaction: z.boolean(), minimum_amount: z.number().optional().nullable(), minimum_amount_currency: z.string().optional().nullable(), }); export const quotesResourceStatusTransitionsSchema = z.object({ accepted_at: z.number().optional().nullable(), canceled_at: z.number().optional().nullable(), finalized_at: z.number().optional().nullable(), }); export const quotesResourceSubscriptionDataSubscriptionDataSchema = z.object({ description: z.string().optional().nullable(), effective_date: z.number().optional().nullable(), metadata: z.record(z.string()).optional().nullable(), trial_period_days: z.number().optional().nullable(), }); export const status28Schema = z.union([ z.literal('accepted'), z.literal('canceled'), z.literal('draft'), z.literal('open'), ]); export const object86Schema = z.literal('radar.early_fraud_warning'); export const radarReviewResourceLocationSchema = z.object({ city: z.string().optional().nullable(), country: z.string().optional().nullable(), latitude: z.number().optional().nullable(), longitude: z.number().optional().nullable(), region: z.string().optional().nullable(), }); export const radarReviewResourceSessionSchema = z.object({ browser: z.string().optional().nullable(), device: z.string().optional().nullable(), platform: z.string().optional().nullable(), version: z.string().optional().nullable(), }); export const radarValueListItemSchema = z.object({ created: z.number(), created_by: z.string(), id: z.string(), livemode: z.boolean(), object: z.literal('radar.value_list_item'), value: z.string(), value_list: z.string(), }); export const itemTypeSchema = z.union([ z.literal('card_bin'), z.literal('card_fingerprint'), z.literal('case_sensitive_string'), z.literal('country'), z.literal('customer_id'), z.literal('email'), z.literal('ip_address'), z.literal('sepa_debit_fingerprint'), z.literal('string'), z.literal('us_bank_account_fingerprint'), ]); export const receivedPaymentMethodDetailsFinancialAccountSchema = z.object({ id: z.string(), network: z.literal('stripe'), }); export const object87Schema = z.literal('refund'); export const reason6Schema = z.union([ z.literal('duplicate'), z.literal('expired_uncaptured_charge'), z.literal('fraudulent'), z.literal('requested_by_customer'), ]); export const refundDestinationDetailsGenericSchema = z.object({ reference: z.string().optional().nullable(), reference_status: z.string().optional().nullable(), }); export const refundDestinationDetailsCardSchema = z.object({ reference: z.string().optional(), reference_status: z.string().optional(), reference_type: z.string().optional(), type: z.union([z.literal('pending'), z.literal('refund'), z.literal('reversal')]), }); export const type48Schema = z.union([z.literal('pending'), z.literal('refund'), z.literal('reversal')]); export const refundNextActionDisplayDetailsSchema = z.object({ email_sent: emailSentSchema, expires_at: z.number(), }); export const object88Schema = z.literal('reporting.report_run'); export const reportingReportTypeSchema = z.object({ data_available_end: z.number(), data_available_start: z.number(), default_columns: z.array(z.string()).optional().nullable(), id: z.string(), livemode: z.boolean(), name: z.string(), object: z.literal('reporting.report_type'), updated: z.number(), version: z.number(), }); export const object89Schema = z.literal('reporting.report_type'); export const object90Schema = z.literal('reserve_transaction'); export const closedReasonSchema = z.union([ z.literal('approved'), z.literal('disputed'), z.literal('redacted'), z.literal('refunded'), z.literal('refunded_as_fraud'), ]); export const object91Schema = z.literal('review'); export const openedReasonSchema = z.union([z.literal('manual'), z.literal('rule')]); export const sigmaScheduledQueryRunErrorSchema = z.object({ message: z.string(), }); export const object92Schema = z.literal('scheduled_query_run'); export const type49Schema = z.union([z.literal('account'), z.literal('user')]); export const object93Schema = z.literal('setup_attempt'); export const setupAttemptPaymentMethodDetailsAcssDebitSchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsAmazonPaySchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsAuBecsDebitSchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsBacsDebitSchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsBoletoSchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsCashappSchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsKlarnaSchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsLinkSchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsPaypalSchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsRevolutPaySchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsSepaDebitSchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsUsBankAccountSchema = z.record(z.unknown()); export const setupAttemptPaymentMethodDetailsCardChecksSchema = z.object({ address_line1_check: z.string().optional().nullable(), address_postal_code_check: z.string().optional().nullable(), cvc_check: z.string().optional().nullable(), }); export const threeDSecureDetailsSchema = z.object({ authentication_flow: z .union([z.literal('challenge'), z.literal('frictionless')]) .optional() .nullable(), electronic_commerce_indicator: z .union([z.literal('01'), z.literal('02'), z.literal('05'), z.literal('06'), z.literal('07')]) .optional() .nullable(), result: z .union([ z.literal('attempt_acknowledged'), z.literal('authenticated'), z.literal('exempted'), z.literal('failed'), z.literal('not_supported'), z.literal('processing_error'), ]) .optional() .nullable(), result_reason: z .union([ z.literal('abandoned'), z.literal('bypassed'), z.literal('canceled'), z.literal('card_not_enrolled'), z.literal('network_not_supported'), z.literal('protocol_error'), z.literal('rejected'), ]) .optional() .nullable(), transaction_id: z.string().optional().nullable(), version: z .union([z.literal('1.0.2'), z.literal('2.1.0'), z.literal('2.2.0')]) .optional() .nullable(), }); export const setupAttemptPaymentMethodDetailsCardWalletSchema = z.object({ apple_pay: paymentMethodDetailsCardWalletApplePaySchema.optional(), google_pay: paymentMethodDetailsCardWalletGooglePaySchema.optional(), type: z.union([z.literal('apple_pay'), z.literal('google_pay'), z.literal('link')]), }); export const type50Schema = z.union([z.literal('apple_pay'), z.literal('google_pay'), z.literal('link')]); export const cancellationReason4Schema = z.union([ z.literal('abandoned'), z.literal('duplicate'), z.literal('requested_by_customer'), ]); export const object94Schema = z.literal('setup_intent'); export const status29Schema = z.union([ z.literal('canceled'), z.literal('processing'), z.literal('requires_action'), z.literal('requires_confirmation'), z.literal('requires_payment_method'), z.literal('succeeded'), ]); export const paymentIntentNextActionCashappHandleRedirectOrDisplayQrCodeSchema = z.object({ hosted_instructions_url: z.string(), mobile_auth_url: z.string(), qr_code: paymentIntentNextActionCashappQrCodeSchema, }); export const setupIntentNextActionRedirectToUrlSchema = z.object({ return_url: z.string().optional().nullable(), url: z.string().optional().nullable(), }); export const setupIntentNextActionVerifyWithMicrodepositsSchema = z.object({ arrival_date: z.number(), hosted_verification_url: z.string(), microdeposit_type: z .union([z.literal('amounts'), z.literal('descriptor_code')]) .optional() .nullable(), }); export const setupIntentTypeSpecificPaymentMethodOptionsClientSchema = z.object({ verification_method: z.union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]).optional(), }); export const setupIntentPaymentMethodOptionsAmazonPaySchema = z.record(z.unknown()); export const setupIntentPaymentMethodOptionsCardPresentSchema = z.record(z.unknown()); export const setupIntentPaymentMethodOptionsLinkSchema = z.record(z.unknown()); export const setupIntentPaymentMethodOptionsPaypalSchema = z.object({ billing_agreement_id: z.string().optional().nullable(), }); export const setupIntentPaymentMethodOptionsUsBankAccountSchema = z.object({ financial_connections: linkedAccountOptionsUsBankAccountSchema.optional(), mandate_options: paymentMethodOptionsUsBankAccountMandateOptionsSchema.optional(), verification_method: z.union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]).optional(), }); export const setupIntentPaymentMethodOptionsMandateOptionsAcssDebitSchema = z.object({ custom_mandate_url: z.string().optional(), default_for: z.array(z.union([z.literal('invoice'), z.literal('subscription')])).optional(), interval_description: z.string().optional().nullable(), payment_schedule: z .union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]) .optional() .nullable(), transaction_type: z .union([z.literal('business'), z.literal('personal')]) .optional() .nullable(), }); export const setupIntentPaymentMethodOptionsCardMandateOptionsSchema = z.object({ amount: z.number(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]), currency: z.string(), description: z.string().optional().nullable(), end_date: z.number().optional().nullable(), interval: z.union([ z.literal('day'), z.literal('month'), z.literal('sporadic'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional().nullable(), reference: z.string(), start_date: z.number(), supported_types: z.array(z.literal('india')).optional().nullable(), }); export const setupIntentPaymentMethodOptionsMandateOptionsSepaDebitSchema = z.record(z.unknown()); export const setupIntentPaymentMethodOptionsSepaDebitSchema = z.object({ mandate_options: setupIntentPaymentMethodOptionsMandateOptionsSepaDebitSchema.optional(), }); export const object95Schema = z.literal('shipping_rate'); export const type51Schema = z.literal('fixed_amount'); export const shippingRateCurrencyOptionSchema = z.object({ amount: z.number(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]), }); export const shippingRateDeliveryEstimateBoundSchema = z.object({ unit: z.union([ z.literal('business_day'), z.literal('day'), z.literal('hour'), z.literal('month'), z.literal('week'), ]), value: z.number(), }); export const unitSchema = z.union([ z.literal('business_day'), z.literal('day'), z.literal('hour'), z.literal('month'), z.literal('week'), ]); export const shippingRateFixedAmountSchema = z.object({ amount: z.number(), currency: z.string(), currency_options: z.record(shippingRateCurrencyOptionSchema).optional(), }); export const sourceTypeAchCreditTransferSchema = z.object({ account_number: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), refund_account_holder_name: z.string().optional().nullable(), refund_account_holder_type: z.string().optional().nullable(), refund_routing_number: z.string().optional().nullable(), routing_number: z.string().optional().nullable(), swift_code: z.string().optional().nullable(), }); export const sourceTypeAchDebitSchema = z.object({ bank_name: z.string().optional().nullable(), country: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), routing_number: z.string().optional().nullable(), type: z.string().optional().nullable(), }); export const sourceTypeAcssDebitSchema = z.object({ bank_address_city: z.string().optional().nullable(), bank_address_line_1: z.string().optional().nullable(), bank_address_line_2: z.string().optional().nullable(), bank_address_postal_code: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), category: z.string().optional().nullable(), country: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), routing_number: z.string().optional().nullable(), }); export const sourceTypeAlipaySchema = z.object({ data_string: z.string().optional().nullable(), native_url: z.string().optional().nullable(), statement_descriptor: z.string().optional().nullable(), }); export const sourceTypeAuBecsDebitSchema = z.object({ bsb_number: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), }); export const sourceTypeBancontactSchema = z.object({ bank_code: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), bic: z.string().optional().nullable(), iban_last4: z.string().optional().nullable(), preferred_language: z.string().optional().nullable(), statement_descriptor: z.string().optional().nullable(), }); export const sourceTypeCardSchema = z.object({ address_line1_check: z.string().optional().nullable(), address_zip_check: z.string().optional().nullable(), brand: z.string().optional().nullable(), country: z.string().optional().nullable(), cvc_check: z.string().optional().nullable(), dynamic_last4: z.string().optional().nullable(), exp_month: z.number().optional().nullable(), exp_year: z.number().optional().nullable(), fingerprint: z.string().optional(), funding: z.string().optional().nullable(), last4: z.string().optional().nullable(), name: z.string().optional().nullable(), three_d_secure: z.string().optional(), tokenization_method: z.string().optional().nullable(), }); export const sourceTypeCardPresentSchema = z.object({ application_cryptogram: z.string().optional(), application_preferred_name: z.string().optional(), authorization_code: z.string().optional().nullable(), authorization_response_code: z.string().optional(), brand: z.string().optional().nullable(), country: z.string().optional().nullable(), cvm_type: z.string().optional(), data_type: z.string().optional().nullable(), dedicated_file_name: z.string().optional(), emv_auth_data: z.string().optional(), evidence_customer_signature: z.string().optional().nullable(), evidence_transaction_certificate: z.string().optional().nullable(), exp_month: z.number().optional().nullable(), exp_year: z.number().optional().nullable(), fingerprint: z.string().optional(), funding: z.string().optional().nullable(), last4: z.string().optional().nullable(), pos_device_id: z.string().optional().nullable(), pos_entry_mode: z.string().optional(), read_method: z.string().optional().nullable(), reader: z.string().optional().nullable(), terminal_verification_results: z.string().optional(), transaction_status_information: z.string().optional(), }); export const sourceCodeVerificationFlowSchema = z.object({ attempts_remaining: z.number(), status: z.string(), }); export const sourceTypeEpsSchema = z.object({ reference: z.string().optional().nullable(), statement_descriptor: z.string().optional().nullable(), }); export const sourceTypeGiropaySchema = z.object({ bank_code: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), bic: z.string().optional().nullable(), statement_descriptor: z.string().optional().nullable(), }); export const sourceTypeIdealSchema = z.object({ bank: z.string().optional().nullable(), bic: z.string().optional().nullable(), iban_last4: z.string().optional().nullable(), statement_descriptor: z.string().optional().nullable(), }); export const sourceTypeKlarnaSchema = z.object({ background_image_url: z.string().optional(), client_token: z.string().optional().nullable(), first_name: z.string().optional(), last_name: z.string().optional(), locale: z.string().optional(), logo_url: z.string().optional(), page_title: z.string().optional(), pay_later_asset_urls_descriptive: z.string().optional(), pay_later_asset_urls_standard: z.string().optional(), pay_later_name: z.string().optional(), pay_later_redirect_url: z.string().optional(), pay_now_asset_urls_descriptive: z.string().optional(), pay_now_asset_urls_standard: z.string().optional(), pay_now_name: z.string().optional(), pay_now_redirect_url: z.string().optional(), pay_over_time_asset_urls_descriptive: z.string().optional(), pay_over_time_asset_urls_standard: z.string().optional(), pay_over_time_name: z.string().optional(), pay_over_time_redirect_url: z.string().optional(), payment_method_categories: z.string().optional(), purchase_country: z.string().optional(), purchase_type: z.string().optional(), redirect_url: z.string().optional(), shipping_delay: z.number().optional(), shipping_first_name: z.string().optional(), shipping_last_name: z.string().optional(), }); export const sourceTypeMultibancoSchema = z.object({ entity: z.string().optional().nullable(), reference: z.string().optional().nullable(), refund_account_holder_address_city: z.string().optional().nullable(), refund_account_holder_address_country: z.string().optional().nullable(), refund_account_holder_address_line1: z.string().optional().nullable(), refund_account_holder_address_line2: z.string().optional().nullable(), refund_account_holder_address_postal_code: z.string().optional().nullable(), refund_account_holder_address_state: z.string().optional().nullable(), refund_account_holder_name: z.string().optional().nullable(), refund_iban: z.string().optional().nullable(), }); export const sourceOwnerSchema = z.object({ address: addressSchema.optional().nullable(), email: z.string().optional().nullable(), name: z.string().optional().nullable(), phone: z.string().optional().nullable(), verified_address: addressSchema.optional().nullable(), verified_email: z.string().optional().nullable(), verified_name: z.string().optional().nullable(), verified_phone: z.string().optional().nullable(), }); export const sourceTypeP24Schema = z.object({ reference: z.string().optional().nullable(), }); export const sourceReceiverFlowSchema = z.object({ address: z.string().optional().nullable(), amount_charged: z.number(), amount_received: z.number(), amount_returned: z.number(), refund_attributes_method: z.string(), refund_attributes_status: z.string(), }); export const sourceRedirectFlowSchema = z.object({ failure_reason: z.string().optional().nullable(), return_url: z.string(), status: z.string(), url: z.string(), }); export const sourceTypeSepaDebitSchema = z.object({ bank_code: z.string().optional().nullable(), branch_code: z.string().optional().nullable(), country: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), mandate_reference: z.string().optional().nullable(), mandate_url: z.string().optional().nullable(), }); export const sourceTypeSofortSchema = z.object({ bank_code: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), bic: z.string().optional().nullable(), country: z.string().optional().nullable(), iban_last4: z.string().optional().nullable(), preferred_language: z.string().optional().nullable(), statement_descriptor: z.string().optional().nullable(), }); export const sourceTypeThreeDSecureSchema = z.object({ address_line1_check: z.string().optional().nullable(), address_zip_check: z.string().optional().nullable(), authenticated: z.boolean().optional().nullable(), brand: z.string().optional().nullable(), card: z.string().optional().nullable(), country: z.string().optional().nullable(), customer: z.string().optional().nullable(), cvc_check: z.string().optional().nullable(), dynamic_last4: z.string().optional().nullable(), exp_month: z.number().optional().nullable(), exp_year: z.number().optional().nullable(), fingerprint: z.string().optional(), funding: z.string().optional().nullable(), last4: z.string().optional().nullable(), name: z.string().optional().nullable(), three_d_secure: z.string().optional(), tokenization_method: z.string().optional().nullable(), }); export const sourceTypeWechatSchema = z.object({ prepay_id: z.string().optional(), qr_code_url: z.string().optional().nullable(), statement_descriptor: z.string().optional(), }); export const object96Schema = z.literal('source'); export const type52Schema = z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('acss_debit'), z.literal('alipay'), z.literal('au_becs_debit'), z.literal('bancontact'), z.literal('card'), z.literal('card_present'), z.literal('eps'), z.literal('giropay'), z.literal('ideal'), z.literal('klarna'), z.literal('multibanco'), z.literal('p24'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('three_d_secure'), z.literal('wechat'), ]); export const sourceMandateNotificationAcssDebitDataSchema = z.object({ statement_descriptor: z.string().optional(), }); export const sourceMandateNotificationBacsDebitDataSchema = z.object({ last4: z.string().optional(), }); export const sourceMandateNotificationSepaDebitDataSchema = z.object({ creditor_identifier: z.string().optional(), last4: z.string().optional(), mandate_reference: z.string().optional(), }); export const object97Schema = z.literal('source_mandate_notification'); export const sourceOrderItemSchema = z.object({ amount: z.number().optional().nullable(), currency: z.string().optional().nullable(), description: z.string().optional().nullable(), parent: z.string().optional().nullable(), quantity: z.number().optional(), type: z.string().optional().nullable(), }); export const sourceTransactionAchCreditTransferDataSchema = z.object({ customer_data: z.string().optional(), fingerprint: z.string().optional(), last4: z.string().optional(), routing_number: z.string().optional(), }); export const sourceTransactionChfCreditTransferDataSchema = z.object({ reference: z.string().optional(), sender_address_country: z.string().optional(), sender_address_line1: z.string().optional(), sender_iban: z.string().optional(), sender_name: z.string().optional(), }); export const sourceTransactionGbpCreditTransferDataSchema = z.object({ fingerprint: z.string().optional(), funding_method: z.string().optional(), last4: z.string().optional(), reference: z.string().optional(), sender_account_number: z.string().optional(), sender_name: z.string().optional(), sender_sort_code: z.string().optional(), }); export const sourceTransactionPaperCheckDataSchema = z.object({ available_at: z.string().optional(), invoices: z.string().optional(), }); export const sourceTransactionSepaCreditTransferDataSchema = z.object({ reference: z.string().optional(), sender_iban: z.string().optional(), sender_name: z.string().optional(), }); export const object98Schema = z.literal('source_transaction'); export const type53Schema = z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('alipay'), z.literal('bancontact'), z.literal('card'), z.literal('card_present'), z.literal('eps'), z.literal('giropay'), z.literal('ideal'), z.literal('klarna'), z.literal('multibanco'), z.literal('p24'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('three_d_secure'), z.literal('wechat'), ]); export const subscriptionsResourceBillingCycleAnchorConfigSchema = z.object({ day_of_month: z.number(), hour: z.number().optional().nullable(), minute: z.number().optional().nullable(), month: z.number().optional().nullable(), second: z.number().optional().nullable(), }); export const subscriptionBillingThresholdsSchema = z.object({ amount_gte: z.number().optional().nullable(), reset_billing_cycle_anchor: z.boolean().optional().nullable(), }); export const subscriptionsResourcePauseCollectionSchema = z.object({ behavior: z.union([z.literal('keep_as_draft'), z.literal('mark_uncollectible'), z.literal('void')]), resumes_at: z.number().optional().nullable(), }); export const subscriptionPendingInvoiceItemIntervalSchema = z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number(), }); export const status30Schema = z.union([ z.literal('active'), z.literal('canceled'), z.literal('incomplete'), z.literal('incomplete_expired'), z.literal('past_due'), z.literal('paused'), z.literal('trialing'), z.literal('unpaid'), ]); export const subscriptionItemBillingThresholdsSchema = z.object({ usage_gte: z.number().optional().nullable(), }); export const subscriptionPaymentMethodOptionsCardSchema = z.object({ mandate_options: invoiceMandateOptionsCardSchema.optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional() .nullable(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional() .nullable(), }); export const subscriptionScheduleCurrentPhaseSchema = z.object({ end_date: z.number(), start_date: z.number(), }); export const endBehaviorSchema = z.union([ z.literal('cancel'), z.literal('none'), z.literal('release'), z.literal('renew'), ]); export const object99Schema = z.literal('subscription_schedule'); export const status31Schema = z.union([ z.literal('active'), z.literal('canceled'), z.literal('completed'), z.literal('not_started'), z.literal('released'), ]); export const billingCycleAnchorSchema = z.union([z.literal('automatic'), z.literal('phase_start')]); export const behaviorSchema = z.union([z.literal('keep_as_draft'), z.literal('mark_uncollectible'), z.literal('void')]); export const saveDefaultPaymentMethodSchema = z.union([z.literal('off'), z.literal('on_subscription')]); export const subscriptionsTrialsResourceEndBehaviorSchema = z.object({ missing_payment_method: z.union([z.literal('cancel'), z.literal('create_invoice'), z.literal('pause')]), }); export const missingPaymentMethodSchema = z.union([ z.literal('cancel'), z.literal('create_invoice'), z.literal('pause'), ]); export const subscriptionsTrialsResourceTrialSettingsSchema = z.object({ end_behavior: subscriptionsTrialsResourceEndBehaviorSchema, }); export const object100Schema = z.literal('tax.calculation_line_item'); export const taxBehavior2Schema = z.union([z.literal('exclusive'), z.literal('inclusive')]); export const object101Schema = z.literal('tax_code'); export const object102Schema = z.literal('tax_deducted_at_source'); export const type54Schema = z.union([ z.literal('account'), z.literal('application'), z.literal('customer'), z.literal('self'), ]); export const taxIdVerificationSchema = z.object({ status: z.union([z.literal('pending'), z.literal('unavailable'), z.literal('unverified'), z.literal('verified')]), verified_address: z.string().optional().nullable(), verified_name: z.string().optional().nullable(), }); export const status32Schema = z.union([ z.literal('pending'), z.literal('unavailable'), z.literal('unverified'), z.literal('verified'), ]); export const taxProductRegistrationsResourceCountryOptionsDefaultSchema = z.object({ type: z.literal('standard'), }); export const taxProductRegistrationsResourceCountryOptionsSimplifiedSchema = z.object({ type: z.literal('simplified'), }); export const taxProductRegistrationsResourceCountryOptionsCaProvinceStandardSchema = z.object({ province: z.string(), }); export const taxProductRegistrationsResourceCountryOptionsCanadaSchema = z.object({ province_standard: taxProductRegistrationsResourceCountryOptionsCaProvinceStandardSchema.optional(), type: z.union([z.literal('province_standard'), z.literal('simplified'), z.literal('standard')]), }); export const type55Schema = z.union([z.literal('province_standard'), z.literal('simplified'), z.literal('standard')]); export const type56Schema = z.literal('standard'); export const taxProductRegistrationsResourceCountryOptionsEuStandardSchema = z.object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }); export const placeOfSupplySchemeSchema = z.union([z.literal('small_seller'), z.literal('standard')]); export const taxProductRegistrationsResourceCountryOptionsEuropeSchema = z.object({ standard: taxProductRegistrationsResourceCountryOptionsEuStandardSchema.optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }); export const type57Schema = z.union([ z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard'), ]); export const type58Schema = z.literal('simplified'); export const taxProductRegistrationsResourceCountryOptionsUsLocalAmusementTaxSchema = z.object({ jurisdiction: z.string(), }); export const taxProductRegistrationsResourceCountryOptionsUsLocalLeaseTaxSchema = z.object({ jurisdiction: z.string(), }); export const type59Schema = z.union([ z.literal('local_amusement_tax'), z.literal('local_lease_tax'), z.literal('state_communications_tax'), z.literal('state_sales_tax'), ]); export const taxProductResourcePostalAddressSchema = z.object({ city: z.string().optional().nullable(), country: z.string(), line1: z.string().optional().nullable(), line2: z.string().optional().nullable(), postal_code: z.string().optional().nullable(), state: z.string().optional().nullable(), }); export const taxProductResourceCustomerDetailsResourceTaxIdSchema = z.object({ type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('unknown'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string(), }); export const addressSourceSchema = z.union([z.literal('billing'), z.literal('shipping')]); export const taxabilityOverrideSchema = z.union([ z.literal('customer_exempt'), z.literal('none'), z.literal('reverse_charge'), ]); export const taxProductResourceJurisdictionSchema = z.object({ country: z.string(), display_name: z.string(), level: z.union([ z.literal('city'), z.literal('country'), z.literal('county'), z.literal('district'), z.literal('state'), ]), state: z.string().optional().nullable(), }); export const levelSchema = z.union([ z.literal('city'), z.literal('country'), z.literal('county'), z.literal('district'), z.literal('state'), ]); export const taxProductResourceLineItemTaxRateDetailsSchema = z.object({ display_name: z.string(), percentage_decimal: z.string(), tax_type: z.union([ z.literal('amusement_tax'), z.literal('communications_tax'), z.literal('gst'), z.literal('hst'), z.literal('igst'), z.literal('jct'), z.literal('lease_tax'), z.literal('pst'), z.literal('qst'), z.literal('rst'), z.literal('sales_tax'), z.literal('vat'), ]), }); export const sourcingSchema = z.union([z.literal('destination'), z.literal('origin')]); export const taxTypeSchema = z.union([ z.literal('amusement_tax'), z.literal('communications_tax'), z.literal('gst'), z.literal('hst'), z.literal('igst'), z.literal('jct'), z.literal('lease_tax'), z.literal('pst'), z.literal('qst'), z.literal('rst'), z.literal('sales_tax'), z.literal('vat'), ]); export const taxProductResourceShipFromDetailsSchema = z.object({ address: taxProductResourcePostalAddressSchema, }); export const taxProductResourceTaxRateDetailsSchema = z.object({ country: z.string().optional().nullable(), percentage_decimal: z.string(), state: z.string().optional().nullable(), tax_type: z .union([ z.literal('amusement_tax'), z.literal('communications_tax'), z.literal('gst'), z.literal('hst'), z.literal('igst'), z.literal('jct'), z.literal('lease_tax'), z.literal('pst'), z.literal('qst'), z.literal('rst'), z.literal('sales_tax'), z.literal('vat'), ]) .optional() .nullable(), }); export const taxProductResourceLineItemTaxBreakdownSchema = z.object({ amount: z.number(), jurisdiction: taxProductResourceJurisdictionSchema, sourcing: z.union([z.literal('destination'), z.literal('origin')]), tax_rate_details: taxProductResourceLineItemTaxRateDetailsSchema.optional().nullable(), taxability_reason: z.union([ z.literal('customer_exempt'), z.literal('not_collecting'), z.literal('not_subject_to_tax'), z.literal('not_supported'), z.literal('portion_product_exempt'), z.literal('portion_reduced_rated'), z.literal('portion_standard_rated'), z.literal('product_exempt'), z.literal('product_exempt_holiday'), z.literal('proportionally_rated'), z.literal('reduced_rated'), z.literal('reverse_charge'), z.literal('standard_rated'), z.literal('taxable_basis_reduced'), z.literal('zero_rated'), ]), taxable_amount: z.number(), }); export const taxProductResourceTaxSettingsDefaultsSchema = z.object({ tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('inferred_by_currency')]) .optional() .nullable(), tax_code: z.string().optional().nullable(), }); export const taxBehavior3Schema = z.union([ z.literal('exclusive'), z.literal('inclusive'), z.literal('inferred_by_currency'), ]); export const taxProductResourceTaxSettingsHeadOfficeSchema = z.object({ address: addressSchema, }); export const taxProductResourceTaxSettingsStatusDetailsResourceActiveSchema = z.record(z.unknown()); export const taxProductResourceTaxSettingsStatusDetailsResourcePendingSchema = z.object({ missing_fields: z.array(z.string()).optional().nullable(), }); export const taxProductResourceTaxTransactionLineItemResourceReversalSchema = z.object({ original_line_item: z.string(), }); export const taxProductResourceTaxTransactionResourceReversalSchema = z.object({ original_transaction: z.string().optional().nullable(), }); export const taxProductResourceTaxTransactionShippingCostSchema = z.object({ amount: z.number(), amount_tax: z.number(), shipping_rate: z.string().optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive')]), tax_code: z.string(), }); export const jurisdictionLevelSchema = z.union([ z.literal('city'), z.literal('country'), z.literal('county'), z.literal('district'), z.literal('multiple'), z.literal('state'), ]); export const object103Schema = z.literal('tax_rate'); export const object104Schema = z.literal('tax.registration'); export const status33Schema = z.union([z.literal('active'), z.literal('expired'), z.literal('scheduled')]); export const taxProductResourceTaxSettingsStatusDetailsSchema = z.object({ active: taxProductResourceTaxSettingsStatusDetailsResourceActiveSchema.optional(), pending: taxProductResourceTaxSettingsStatusDetailsResourcePendingSchema.optional(), }); export const object105Schema = z.literal('tax.settings'); export const status34Schema = z.union([z.literal('active'), z.literal('pending')]); export const taxProductResourceCustomerDetailsSchema = z.object({ address: taxProductResourcePostalAddressSchema.optional().nullable(), address_source: z .union([z.literal('billing'), z.literal('shipping')]) .optional() .nullable(), ip_address: z.string().optional().nullable(), tax_ids: z.array(taxProductResourceCustomerDetailsResourceTaxIdSchema), taxability_override: z.union([z.literal('customer_exempt'), z.literal('none'), z.literal('reverse_charge')]), }); export const taxTransactionLineItemSchema = z.object({ amount: z.number(), amount_tax: z.number(), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('tax.transaction_line_item'), product: z.string().optional().nullable(), quantity: z.number(), reference: z.string(), reversal: taxProductResourceTaxTransactionLineItemResourceReversalSchema.optional().nullable(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive')]), tax_code: z.string(), type: z.union([z.literal('reversal'), z.literal('transaction')]), }); export const type60Schema = z.union([z.literal('reversal'), z.literal('transaction')]); export const object106Schema = z.literal('tax.transaction_line_item'); export const terminalConfigurationConfigurationResourceOfflineConfigSchema = z.object({ enabled: z.boolean().optional().nullable(), }); export const terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema = z.object({ fixed_amounts: z.array(z.number()).optional().nullable(), percentages: z.array(z.number()).optional().nullable(), smart_tip_threshold: z.number().optional(), }); export const terminalConfigurationConfigurationResourceTippingSchema = z.object({ aud: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), cad: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), chf: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), czk: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), dkk: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), eur: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), gbp: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), hkd: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), myr: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), nok: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), nzd: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), sek: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), sgd: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), usd: terminalConfigurationConfigurationResourceCurrencySpecificConfigSchema.optional(), }); export const terminalConnectionTokenSchema = z.object({ location: z.string().optional(), object: z.literal('terminal.connection_token'), secret: z.string(), }); export const object107Schema = z.literal('terminal.connection_token'); export const terminalLocationSchema = z.object({ address: addressSchema, configuration_overrides: z.string().optional(), display_name: z.string(), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('terminal.location'), }); export const deviceTypeSchema = z.union([ z.literal('bbpos_chipper2x'), z.literal('bbpos_wisepad3'), z.literal('bbpos_wisepos_e'), z.literal('mobile_phone_reader'), z.literal('simulated_wisepos_e'), z.literal('stripe_m2'), z.literal('verifone_P400'), ]); export const status35Schema = z.union([z.literal('offline'), z.literal('online')]); export const terminalReaderReaderResourceLineItemSchema = z.object({ amount: z.number(), description: z.string(), quantity: z.number(), }); export const terminalReaderReaderResourceTippingConfigSchema = z.object({ amount_eligible: z.number().optional(), }); export const terminalReaderReaderResourceProcessConfigSchema = z.object({ enable_customer_cancellation: z.boolean().optional(), skip_tipping: z.boolean().optional(), tipping: terminalReaderReaderResourceTippingConfigSchema.optional(), }); export const terminalReaderReaderResourceProcessSetupConfigSchema = z.object({ enable_customer_cancellation: z.boolean().optional(), }); export const status36Schema = z.union([z.literal('failed'), z.literal('in_progress'), z.literal('succeeded')]); export const type61Schema = z.union([ z.literal('process_payment_intent'), z.literal('process_setup_intent'), z.literal('refund_payment'), z.literal('set_reader_display'), ]); export const terminalReaderReaderResourceRefundPaymentConfigSchema = z.object({ enable_customer_cancellation: z.boolean().optional(), }); export const reason7Schema = z.union([ z.literal('duplicate'), z.literal('fraudulent'), z.literal('requested_by_customer'), ]); export const terminalReaderReaderResourceCartSchema = z.object({ currency: z.string(), line_items: z.array(terminalReaderReaderResourceLineItemSchema), tax: z.number().optional().nullable(), total: z.number(), }); export const type62Schema = z.literal('cart'); export const status37Schema = z.union([z.literal('advancing'), z.literal('internal_failure'), z.literal('ready')]); export const authenticationFlowSchema = z.union([z.literal('challenge'), z.literal('frictionless')]); export const electronicCommerceIndicatorSchema = z.union([ z.literal('01'), z.literal('02'), z.literal('05'), z.literal('06'), z.literal('07'), ]); export const result2Schema = z.union([ z.literal('attempt_acknowledged'), z.literal('authenticated'), z.literal('exempted'), z.literal('failed'), z.literal('not_supported'), z.literal('processing_error'), ]); export const resultReasonSchema = z.union([ z.literal('abandoned'), z.literal('bypassed'), z.literal('canceled'), z.literal('card_not_enrolled'), z.literal('network_not_supported'), z.literal('protocol_error'), z.literal('rejected'), ]); export const versionSchema = z.union([z.literal('1.0.2'), z.literal('2.1.0'), z.literal('2.2.0')]); export const exemptionIndicatorSchema = z.union([z.literal('low_risk'), z.literal('none')]); export const object108Schema = z.literal('token'); export const object109Schema = z.literal('topup'); export const status38Schema = z.union([ z.literal('canceled'), z.literal('failed'), z.literal('pending'), z.literal('reversed'), z.literal('succeeded'), ]); export const object110Schema = z.literal('transfer'); export const object111Schema = z.literal('transfer_reversal'); export const roundSchema = z.union([z.literal('down'), z.literal('up')]); export const treasuryReceivedCreditsResourceStatusTransitionsSchema = z.object({ posted_at: z.number().optional().nullable(), }); export const network8Schema = z.union([z.literal('ach'), z.literal('stripe')]); export const object112Schema = z.literal('treasury.credit_reversal'); export const status39Schema = z.union([z.literal('canceled'), z.literal('posted'), z.literal('processing')]); export const treasuryReceivedDebitsResourceDebitReversalLinkedFlowsSchema = z.object({ issuing_dispute: z.string().optional().nullable(), }); export const treasuryReceivedDebitsResourceStatusTransitionsSchema = z.object({ completed_at: z.number().optional().nullable(), }); export const network9Schema = z.union([z.literal('ach'), z.literal('card')]); export const object113Schema = z.literal('treasury.debit_reversal'); export const status40Schema = z.union([z.literal('failed'), z.literal('processing'), z.literal('succeeded')]); export const treasuryFinancialAccountsResourceBalanceSchema = z.object({ cash: z.record(z.number()), inbound_pending: z.record(z.number()), outbound_pending: z.record(z.number()), }); export const treasuryFinancialAccountsResourcePlatformRestrictionsSchema = z.object({ inbound_flows: z .union([z.literal('restricted'), z.literal('unrestricted')]) .optional() .nullable(), outbound_flows: z .union([z.literal('restricted'), z.literal('unrestricted')]) .optional() .nullable(), }); export const object114Schema = z.literal('treasury.financial_account'); export const status41Schema = z.union([z.literal('closed'), z.literal('open')]); export const object115Schema = z.literal('treasury.financial_account_features'); export const treasuryFinancialAccountsResourceAbaRecordSchema = z.object({ account_holder_name: z.string(), account_number: z.string().optional().nullable(), account_number_last4: z.string(), bank_name: z.string(), routing_number: z.string(), }); export const treasuryFinancialAccountsResourceTogglesSettingStatusDetailsSchema = z.object({ code: z.union([ z.literal('activating'), z.literal('capability_not_requested'), z.literal('financial_account_closed'), z.literal('rejected_other'), z.literal('rejected_unsupported_business'), z.literal('requirements_past_due'), z.literal('requirements_pending_verification'), z.literal('restricted_by_platform'), z.literal('restricted_other'), ]), resolution: z .union([z.literal('contact_stripe'), z.literal('provide_information'), z.literal('remove_restriction')]) .optional() .nullable(), restriction: z.union([z.literal('inbound_flows'), z.literal('outbound_flows')]).optional(), }); export const status42Schema = z.union([z.literal('active'), z.literal('pending'), z.literal('restricted')]); export const treasuryFinancialAccountsResourceAchToggleSettingsSchema = z.object({ requested: z.boolean(), status: z.union([z.literal('active'), z.literal('pending'), z.literal('restricted')]), status_details: z.array(treasuryFinancialAccountsResourceTogglesSettingStatusDetailsSchema), }); export const treasuryFinancialAccountsResourceClosedStatusDetailsSchema = z.object({ reasons: z.array(z.union([z.literal('account_rejected'), z.literal('closed_by_platform'), z.literal('other')])), }); export const treasuryFinancialAccountsResourceFinancialAddressSchema = z.object({ aba: treasuryFinancialAccountsResourceAbaRecordSchema.optional(), supported_networks: z.array(z.union([z.literal('ach'), z.literal('us_domestic_wire')])).optional(), type: z.literal('aba'), }); export const type63Schema = z.literal('aba'); export const treasuryFinancialAccountsResourceAbaToggleSettingsSchema = z.object({ requested: z.boolean(), status: z.union([z.literal('active'), z.literal('pending'), z.literal('restricted')]), status_details: z.array(treasuryFinancialAccountsResourceTogglesSettingStatusDetailsSchema), }); export const treasuryFinancialAccountsResourceInboundTransfersSchema = z.object({ ach: treasuryFinancialAccountsResourceAchToggleSettingsSchema.optional(), }); export const treasuryFinancialAccountsResourceToggleSettingsSchema = z.object({ requested: z.boolean(), status: z.union([z.literal('active'), z.literal('pending'), z.literal('restricted')]), status_details: z.array(treasuryFinancialAccountsResourceTogglesSettingStatusDetailsSchema), }); export const treasuryFinancialAccountsResourceOutboundTransfersSchema = z.object({ ach: treasuryFinancialAccountsResourceAchToggleSettingsSchema.optional(), us_domestic_wire: treasuryFinancialAccountsResourceToggleSettingsSchema.optional(), }); export const inboundFlowsSchema = z.union([z.literal('restricted'), z.literal('unrestricted')]); export const outboundFlowsSchema = z.union([z.literal('restricted'), z.literal('unrestricted')]); export const treasuryFinancialAccountsResourceStatusDetailsSchema = z.object({ closed: treasuryFinancialAccountsResourceClosedStatusDetailsSchema.optional().nullable(), }); export const code8Schema = z.union([ z.literal('activating'), z.literal('capability_not_requested'), z.literal('financial_account_closed'), z.literal('rejected_other'), z.literal('rejected_unsupported_business'), z.literal('requirements_past_due'), z.literal('requirements_pending_verification'), z.literal('restricted_by_platform'), z.literal('restricted_other'), ]); export const resolutionSchema = z.union([ z.literal('contact_stripe'), z.literal('provide_information'), z.literal('remove_restriction'), ]); export const restrictionSchema = z.union([z.literal('inbound_flows'), z.literal('outbound_flows')]); export const treasuryInboundTransfersResourceFailureDetailsSchema = z.object({ code: z.union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('bank_account_restricted'), z.literal('bank_ownership_changed'), z.literal('debit_not_authorized'), z.literal('incorrect_account_holder_address'), z.literal('incorrect_account_holder_name'), z.literal('incorrect_account_holder_tax_id'), z.literal('insufficient_funds'), z.literal('invalid_account_number'), z.literal('invalid_currency'), z.literal('no_account'), z.literal('other'), ]), }); export const treasuryInboundTransfersResourceInboundTransferResourceLinkedFlowsSchema = z.object({ received_debit: z.string().optional().nullable(), }); export const treasuryInboundTransfersResourceInboundTransferResourceStatusTransitionsSchema = z.object({ canceled_at: z.number().optional().nullable(), failed_at: z.number().optional().nullable(), succeeded_at: z.number().optional().nullable(), }); export const object116Schema = z.literal('treasury.inbound_transfer'); export const status43Schema = z.union([ z.literal('canceled'), z.literal('failed'), z.literal('processing'), z.literal('succeeded'), ]); export const code9Schema = z.union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('bank_account_restricted'), z.literal('bank_ownership_changed'), z.literal('debit_not_authorized'), z.literal('incorrect_account_holder_address'), z.literal('incorrect_account_holder_name'), z.literal('incorrect_account_holder_tax_id'), z.literal('insufficient_funds'), z.literal('invalid_account_number'), z.literal('invalid_currency'), z.literal('no_account'), z.literal('other'), ]); export const treasuryOutboundPaymentsResourceOutboundPaymentResourceEndUserDetailsSchema = z.object({ ip_address: z.string().optional().nullable(), present: z.boolean(), }); export const treasuryOutboundPaymentsResourceOutboundPaymentResourceStatusTransitionsSchema = z.object({ canceled_at: z.number().optional().nullable(), failed_at: z.number().optional().nullable(), posted_at: z.number().optional().nullable(), returned_at: z.number().optional().nullable(), }); export const object117Schema = z.literal('treasury.outbound_payment'); export const status44Schema = z.union([ z.literal('canceled'), z.literal('failed'), z.literal('posted'), z.literal('processing'), z.literal('returned'), ]); export const treasuryOutboundPaymentsResourceAchTrackingDetailsSchema = z.object({ trace_id: z.string(), }); export const treasuryOutboundPaymentsResourceUsDomesticWireTrackingDetailsSchema = z.object({ imad: z.string(), omad: z.string().optional().nullable(), }); export const type64Schema = z.union([z.literal('ach'), z.literal('us_domestic_wire')]); export const code10Schema = z.union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('bank_account_restricted'), z.literal('bank_ownership_changed'), z.literal('declined'), z.literal('incorrect_account_holder_name'), z.literal('invalid_account_number'), z.literal('invalid_currency'), z.literal('no_account'), z.literal('other'), ]); export const treasuryOutboundTransfersResourceStatusTransitionsSchema = z.object({ canceled_at: z.number().optional().nullable(), failed_at: z.number().optional().nullable(), posted_at: z.number().optional().nullable(), returned_at: z.number().optional().nullable(), }); export const object118Schema = z.literal('treasury.outbound_transfer'); export const treasuryOutboundTransfersResourceAchTrackingDetailsSchema = z.object({ trace_id: z.string(), }); export const treasuryOutboundTransfersResourceUsDomesticWireTrackingDetailsSchema = z.object({ imad: z.string(), omad: z.string().optional().nullable(), }); export const treasuryReceivedCreditsResourceReversalDetailsSchema = z.object({ deadline: z.number().optional().nullable(), restricted_reason: z .union([ z.literal('already_reversed'), z.literal('deadline_passed'), z.literal('network_restricted'), z.literal('other'), z.literal('source_flow_restricted'), ]) .optional() .nullable(), }); export const failureCodeSchema = z.union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('other'), ]); export const network10Schema = z.union([ z.literal('ach'), z.literal('card'), z.literal('stripe'), z.literal('us_domestic_wire'), ]); export const object119Schema = z.literal('treasury.received_credit'); export const status45Schema = z.union([z.literal('failed'), z.literal('succeeded')]); export const restrictedReasonSchema = z.union([ z.literal('already_reversed'), z.literal('deadline_passed'), z.literal('network_restricted'), z.literal('other'), z.literal('source_flow_restricted'), ]); export const type65Schema = z.union([ z.literal('credit_reversal'), z.literal('other'), z.literal('outbound_payment'), z.literal('payout'), ]); export const treasuryReceivedDebitsResourceLinkedFlowsSchema = z.object({ debit_reversal: z.string().optional().nullable(), inbound_transfer: z.string().optional().nullable(), issuing_authorization: z.string().optional().nullable(), issuing_transaction: z.string().optional().nullable(), payout: z.string().optional().nullable(), }); export const treasuryReceivedDebitsResourceReversalDetailsSchema = z.object({ deadline: z.number().optional().nullable(), restricted_reason: z .union([ z.literal('already_reversed'), z.literal('deadline_passed'), z.literal('network_restricted'), z.literal('other'), z.literal('source_flow_restricted'), ]) .optional() .nullable(), }); export const failureCode2Schema = z.union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('insufficient_funds'), z.literal('other'), ]); export const network11Schema = z.union([z.literal('ach'), z.literal('card'), z.literal('stripe')]); export const object120Schema = z.literal('treasury.received_debit'); export const treasurySharedResourceInitiatingPaymentMethodDetailsUsBankAccountSchema = z.object({ bank_name: z.string().optional().nullable(), last4: z.string().optional().nullable(), routing_number: z.string().optional().nullable(), }); export const balance2Schema = z.literal('payments'); export const type66Schema = z.union([ z.literal('balance'), z.literal('financial_account'), z.literal('issuing_card'), z.literal('stripe'), z.literal('us_bank_account'), ]); export const treasuryTransactionsResourceBalanceImpactSchema = z.object({ cash: z.number(), inbound_pending: z.number(), outbound_pending: z.number(), }); export const treasuryTransactionsResourceAbstractTransactionResourceStatusTransitionsSchema = z.object({ posted_at: z.number().optional().nullable(), void_at: z.number().optional().nullable(), }); export const flowTypeSchema = z.union([ z.literal('credit_reversal'), z.literal('debit_reversal'), z.literal('inbound_transfer'), z.literal('issuing_authorization'), z.literal('other'), z.literal('outbound_payment'), z.literal('outbound_transfer'), z.literal('received_credit'), z.literal('received_debit'), ]); export const status46Schema = z.union([z.literal('open'), z.literal('posted'), z.literal('void')]); export const object121Schema = z.literal('treasury.transaction_entry'); export const type67Schema = z.union([ z.literal('credit_reversal'), z.literal('credit_reversal_posting'), z.literal('debit_reversal'), z.literal('inbound_transfer'), z.literal('inbound_transfer_return'), z.literal('issuing_authorization_hold'), z.literal('issuing_authorization_release'), z.literal('other'), z.literal('outbound_payment'), z.literal('outbound_payment_cancellation'), z.literal('outbound_payment_failure'), z.literal('outbound_payment_posting'), z.literal('outbound_payment_return'), z.literal('outbound_transfer'), z.literal('outbound_transfer_cancellation'), z.literal('outbound_transfer_failure'), z.literal('outbound_transfer_posting'), z.literal('outbound_transfer_return'), z.literal('received_credit'), z.literal('received_debit'), ]); export const type68Schema = z.union([ z.literal('credit_reversal'), z.literal('debit_reversal'), z.literal('inbound_transfer'), z.literal('issuing_authorization'), z.literal('other'), z.literal('outbound_payment'), z.literal('outbound_transfer'), z.literal('received_credit'), z.literal('received_debit'), ]); export const usageRecordSchema = z.object({ id: z.string(), livemode: z.boolean(), object: z.literal('usage_record'), quantity: z.number(), subscription_item: z.string(), timestamp: z.number(), }); export const object122Schema = z.literal('usage_record'); export const usageRecordSummarySchema = z.object({ id: z.string(), invoice: z.string().optional().nullable(), livemode: z.boolean(), object: z.literal('usage_record_summary'), period: periodSchema, subscription_item: z.string(), total_usage: z.number(), }); export const object123Schema = z.literal('usage_record_summary'); export const status47Schema = z.union([z.literal('processing'), z.literal('redacted')]); export const webhookEndpointSchema = z.object({ api_version: z.string().optional().nullable(), application: z.string().optional().nullable(), created: z.number(), description: z.string().optional().nullable(), enabled_events: z.array(z.string()), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('webhook_endpoint'), secret: z.string().optional(), status: z.string(), url: z.string(), }); export const getAccountDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postAccountLinksDataSchema = z.object({ body: z.object({ account: z.string(), collect: z.union([z.literal('currently_due'), z.literal('eventually_due')]).optional(), collection_options: z .object({ fields: z.union([z.literal('currently_due'), z.literal('eventually_due')]), future_requirements: z.union([z.literal('include'), z.literal('omit')]).optional(), }) .optional(), expand: z.array(z.string()).optional(), refresh_url: z.string().optional(), return_url: z.string().optional(), type: z.union([z.literal('account_onboarding'), z.literal('account_update')]), }), }); export const postAccountLinksResponseSchema = accountLinkSchema; export const postAccountSessionsDataSchema = z.object({ body: z.object({ account: z.string(), components: z.object({ account_management: z .object({ enabled: z.boolean(), features: z .object({ external_account_collection: z.boolean().optional(), }) .optional(), }) .optional(), account_onboarding: z .object({ enabled: z.boolean(), features: z .object({ external_account_collection: z.boolean().optional(), }) .optional(), }) .optional(), balances: z .object({ enabled: z.boolean(), features: z .object({ edit_payout_schedule: z.boolean().optional(), external_account_collection: z.boolean().optional(), instant_payouts: z.boolean().optional(), standard_payouts: z.boolean().optional(), }) .optional(), }) .optional(), documents: z .object({ enabled: z.boolean(), features: z.record(z.unknown()).optional(), }) .optional(), notification_banner: z .object({ enabled: z.boolean(), features: z .object({ external_account_collection: z.boolean().optional(), }) .optional(), }) .optional(), payment_details: z .object({ enabled: z.boolean(), features: z .object({ capture_payments: z.boolean().optional(), destination_on_behalf_of_charge_management: z.boolean().optional(), dispute_management: z.boolean().optional(), refund_management: z.boolean().optional(), }) .optional(), }) .optional(), payments: z .object({ enabled: z.boolean(), features: z .object({ capture_payments: z.boolean().optional(), destination_on_behalf_of_charge_management: z.boolean().optional(), dispute_management: z.boolean().optional(), refund_management: z.boolean().optional(), }) .optional(), }) .optional(), payouts: z .object({ enabled: z.boolean(), features: z .object({ edit_payout_schedule: z.boolean().optional(), external_account_collection: z.boolean().optional(), instant_payouts: z.boolean().optional(), standard_payouts: z.boolean().optional(), }) .optional(), }) .optional(), payouts_list: z .object({ enabled: z.boolean(), features: z.record(z.unknown()).optional(), }) .optional(), }), expand: z.array(z.string()).optional(), }), }); export const getAccountsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postAccountsDataSchema = z.object({ body: z .object({ account_token: z.string().optional(), bank_account: z .union([ z.object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string(), account_type: z .union([z.literal('checking'), z.literal('futsu'), z.literal('savings'), z.literal('toza')]) .optional(), country: z.string(), currency: z.string().optional(), documents: z .object({ bank_account_ownership_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), }) .optional(), object: z.literal('bank_account').optional(), routing_number: z.string().optional(), }), z.string(), ]) .optional(), business_profile: z .object({ annual_revenue: z .object({ amount: z.number(), currency: z.string(), fiscal_year_end: z.string(), }) .optional(), estimated_worker_count: z.number().optional(), mcc: z.string().optional(), monthly_estimated_revenue: z .object({ amount: z.number(), currency: z.string(), }) .optional(), name: z.string().optional(), product_description: z.string().optional(), support_address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), support_email: z.string().optional(), support_phone: z.string().optional(), support_url: z.union([z.string(), z.literal('')]).optional(), url: z.string().optional(), }) .optional(), business_type: z .union([z.literal('company'), z.literal('government_entity'), z.literal('individual'), z.literal('non_profit')]) .optional(), capabilities: z .object({ acss_debit_payments: z .object({ requested: z.boolean().optional(), }) .optional(), affirm_payments: z .object({ requested: z.boolean().optional(), }) .optional(), afterpay_clearpay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), amazon_pay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), au_becs_debit_payments: z .object({ requested: z.boolean().optional(), }) .optional(), bacs_debit_payments: z .object({ requested: z.boolean().optional(), }) .optional(), bancontact_payments: z .object({ requested: z.boolean().optional(), }) .optional(), bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), blik_payments: z .object({ requested: z.boolean().optional(), }) .optional(), boleto_payments: z .object({ requested: z.boolean().optional(), }) .optional(), card_issuing: z .object({ requested: z.boolean().optional(), }) .optional(), card_payments: z .object({ requested: z.boolean().optional(), }) .optional(), cartes_bancaires_payments: z .object({ requested: z.boolean().optional(), }) .optional(), cashapp_payments: z .object({ requested: z.boolean().optional(), }) .optional(), eps_payments: z .object({ requested: z.boolean().optional(), }) .optional(), fpx_payments: z .object({ requested: z.boolean().optional(), }) .optional(), gb_bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), giropay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), grabpay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), ideal_payments: z .object({ requested: z.boolean().optional(), }) .optional(), india_international_payments: z .object({ requested: z.boolean().optional(), }) .optional(), jcb_payments: z .object({ requested: z.boolean().optional(), }) .optional(), jp_bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), klarna_payments: z .object({ requested: z.boolean().optional(), }) .optional(), konbini_payments: z .object({ requested: z.boolean().optional(), }) .optional(), legacy_payments: z .object({ requested: z.boolean().optional(), }) .optional(), link_payments: z .object({ requested: z.boolean().optional(), }) .optional(), mobilepay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), multibanco_payments: z .object({ requested: z.boolean().optional(), }) .optional(), mx_bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), oxxo_payments: z .object({ requested: z.boolean().optional(), }) .optional(), p24_payments: z .object({ requested: z.boolean().optional(), }) .optional(), paynow_payments: z .object({ requested: z.boolean().optional(), }) .optional(), promptpay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), revolut_pay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), sepa_bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), sepa_debit_payments: z .object({ requested: z.boolean().optional(), }) .optional(), sofort_payments: z .object({ requested: z.boolean().optional(), }) .optional(), swish_payments: z .object({ requested: z.boolean().optional(), }) .optional(), tax_reporting_us_1099_k: z .object({ requested: z.boolean().optional(), }) .optional(), tax_reporting_us_1099_misc: z .object({ requested: z.boolean().optional(), }) .optional(), transfers: z .object({ requested: z.boolean().optional(), }) .optional(), treasury: z .object({ requested: z.boolean().optional(), }) .optional(), twint_payments: z .object({ requested: z.boolean().optional(), }) .optional(), us_bank_account_ach_payments: z .object({ requested: z.boolean().optional(), }) .optional(), us_bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), zip_payments: z .object({ requested: z.boolean().optional(), }) .optional(), }) .optional(), company: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), directors_provided: z.boolean().optional(), executives_provided: z.boolean().optional(), export_license_id: z.string().optional(), export_purpose_code: z.string().optional(), name: z.string().optional(), name_kana: z.string().optional(), name_kanji: z.string().optional(), owners_provided: z.boolean().optional(), ownership_declaration: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.string().optional(), }) .optional(), phone: z.string().optional(), registration_number: z.string().optional(), structure: z .union([ z.literal(''), z.literal('free_zone_establishment'), z.literal('free_zone_llc'), z.literal('government_instrumentality'), z.literal('governmental_unit'), z.literal('incorporated_non_profit'), z.literal('incorporated_partnership'), z.literal('limited_liability_partnership'), z.literal('llc'), z.literal('multi_member_llc'), z.literal('private_company'), z.literal('private_corporation'), z.literal('private_partnership'), z.literal('public_company'), z.literal('public_corporation'), z.literal('public_partnership'), z.literal('registered_charity'), z.literal('single_member_llc'), z.literal('sole_establishment'), z.literal('sole_proprietorship'), z.literal('tax_exempt_government_instrumentality'), z.literal('unincorporated_association'), z.literal('unincorporated_non_profit'), z.literal('unincorporated_partnership'), ]) .optional(), tax_id: z.string().optional(), tax_id_registrar: z.string().optional(), vat_id: z.string().optional(), verification: z .object({ document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), controller: z .object({ fees: z .object({ payer: z.union([z.literal('account'), z.literal('application')]).optional(), }) .optional(), losses: z .object({ payments: z.union([z.literal('application'), z.literal('stripe')]).optional(), }) .optional(), requirement_collection: z.union([z.literal('application'), z.literal('stripe')]).optional(), stripe_dashboard: z .object({ type: z.union([z.literal('express'), z.literal('full'), z.literal('none')]).optional(), }) .optional(), }) .optional(), country: z.string().optional(), default_currency: z.string().optional(), documents: z .object({ bank_account_ownership_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), company_license: z .object({ files: z.array(z.string()).optional(), }) .optional(), company_memorandum_of_association: z .object({ files: z.array(z.string()).optional(), }) .optional(), company_ministerial_decree: z .object({ files: z.array(z.string()).optional(), }) .optional(), company_registration_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), company_tax_id_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), proof_of_registration: z .object({ files: z.array(z.string()).optional(), }) .optional(), }) .optional(), email: z.string().optional(), expand: z.array(z.string()).optional(), external_account: z.string().optional(), individual: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), dob: z .union([ z.object({ day: z.number(), month: z.number(), year: z.number(), }), z.literal(''), ]) .optional(), email: z.string().optional(), first_name: z.string().optional(), first_name_kana: z.string().optional(), first_name_kanji: z.string().optional(), full_name_aliases: z.union([z.array(z.string()), z.literal('')]).optional(), gender: z.string().optional(), id_number: z.string().optional(), id_number_secondary: z.string().optional(), last_name: z.string().optional(), last_name_kana: z.string().optional(), last_name_kanji: z.string().optional(), maiden_name: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), phone: z.string().optional(), political_exposure: z.union([z.literal('existing'), z.literal('none')]).optional(), registered_address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), relationship: z .object({ director: z.boolean().optional(), executive: z.boolean().optional(), owner: z.boolean().optional(), percent_ownership: z.union([z.number(), z.literal('')]).optional(), title: z.string().optional(), }) .optional(), ssn_last_4: z.string().optional(), verification: z .object({ additional_document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), settings: z .object({ bacs_debit_payments: z .object({ display_name: z.string().optional(), }) .optional(), branding: z .object({ icon: z.string().optional(), logo: z.string().optional(), primary_color: z.string().optional(), secondary_color: z.string().optional(), }) .optional(), card_issuing: z .object({ tos_acceptance: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), card_payments: z .object({ decline_on: z .object({ avs_failure: z.boolean().optional(), cvc_failure: z.boolean().optional(), }) .optional(), statement_descriptor_prefix: z.string().optional(), statement_descriptor_prefix_kana: z.union([z.string(), z.literal('')]).optional(), statement_descriptor_prefix_kanji: z.union([z.string(), z.literal('')]).optional(), }) .optional(), payments: z .object({ statement_descriptor: z.string().optional(), statement_descriptor_kana: z.string().optional(), statement_descriptor_kanji: z.string().optional(), }) .optional(), payouts: z .object({ debit_negative_balances: z.boolean().optional(), schedule: z .object({ delay_days: z.union([z.literal('minimum'), z.number()]).optional(), interval: z .union([z.literal('daily'), z.literal('manual'), z.literal('monthly'), z.literal('weekly')]) .optional(), monthly_anchor: z.number().optional(), weekly_anchor: z .union([ z.literal('friday'), z.literal('monday'), z.literal('saturday'), z.literal('sunday'), z.literal('thursday'), z.literal('tuesday'), z.literal('wednesday'), ]) .optional(), }) .optional(), statement_descriptor: z.string().optional(), }) .optional(), treasury: z .object({ tos_acceptance: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), }) .optional(), tos_acceptance: z .object({ date: z.number().optional(), ip: z.string().optional(), service_agreement: z.string().optional(), user_agent: z.string().optional(), }) .optional(), type: z.union([z.literal('custom'), z.literal('express'), z.literal('standard')]).optional(), }) .optional(), }); export const deleteAccountsAccountDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), }), }); export const deleteAccountsAccountResponseSchema = deletedAccountSchema; export const getAccountsAccountDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postAccountsAccountDataSchema = z.object({ body: z .object({ account_token: z.string().optional(), business_profile: z .object({ annual_revenue: z .object({ amount: z.number(), currency: z.string(), fiscal_year_end: z.string(), }) .optional(), estimated_worker_count: z.number().optional(), mcc: z.string().optional(), monthly_estimated_revenue: z .object({ amount: z.number(), currency: z.string(), }) .optional(), name: z.string().optional(), product_description: z.string().optional(), support_address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), support_email: z.string().optional(), support_phone: z.string().optional(), support_url: z.union([z.string(), z.literal('')]).optional(), url: z.string().optional(), }) .optional(), business_type: z .union([z.literal('company'), z.literal('government_entity'), z.literal('individual'), z.literal('non_profit')]) .optional(), capabilities: z .object({ acss_debit_payments: z .object({ requested: z.boolean().optional(), }) .optional(), affirm_payments: z .object({ requested: z.boolean().optional(), }) .optional(), afterpay_clearpay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), amazon_pay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), au_becs_debit_payments: z .object({ requested: z.boolean().optional(), }) .optional(), bacs_debit_payments: z .object({ requested: z.boolean().optional(), }) .optional(), bancontact_payments: z .object({ requested: z.boolean().optional(), }) .optional(), bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), blik_payments: z .object({ requested: z.boolean().optional(), }) .optional(), boleto_payments: z .object({ requested: z.boolean().optional(), }) .optional(), card_issuing: z .object({ requested: z.boolean().optional(), }) .optional(), card_payments: z .object({ requested: z.boolean().optional(), }) .optional(), cartes_bancaires_payments: z .object({ requested: z.boolean().optional(), }) .optional(), cashapp_payments: z .object({ requested: z.boolean().optional(), }) .optional(), eps_payments: z .object({ requested: z.boolean().optional(), }) .optional(), fpx_payments: z .object({ requested: z.boolean().optional(), }) .optional(), gb_bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), giropay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), grabpay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), ideal_payments: z .object({ requested: z.boolean().optional(), }) .optional(), india_international_payments: z .object({ requested: z.boolean().optional(), }) .optional(), jcb_payments: z .object({ requested: z.boolean().optional(), }) .optional(), jp_bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), klarna_payments: z .object({ requested: z.boolean().optional(), }) .optional(), konbini_payments: z .object({ requested: z.boolean().optional(), }) .optional(), legacy_payments: z .object({ requested: z.boolean().optional(), }) .optional(), link_payments: z .object({ requested: z.boolean().optional(), }) .optional(), mobilepay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), multibanco_payments: z .object({ requested: z.boolean().optional(), }) .optional(), mx_bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), oxxo_payments: z .object({ requested: z.boolean().optional(), }) .optional(), p24_payments: z .object({ requested: z.boolean().optional(), }) .optional(), paynow_payments: z .object({ requested: z.boolean().optional(), }) .optional(), promptpay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), revolut_pay_payments: z .object({ requested: z.boolean().optional(), }) .optional(), sepa_bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), sepa_debit_payments: z .object({ requested: z.boolean().optional(), }) .optional(), sofort_payments: z .object({ requested: z.boolean().optional(), }) .optional(), swish_payments: z .object({ requested: z.boolean().optional(), }) .optional(), tax_reporting_us_1099_k: z .object({ requested: z.boolean().optional(), }) .optional(), tax_reporting_us_1099_misc: z .object({ requested: z.boolean().optional(), }) .optional(), transfers: z .object({ requested: z.boolean().optional(), }) .optional(), treasury: z .object({ requested: z.boolean().optional(), }) .optional(), twint_payments: z .object({ requested: z.boolean().optional(), }) .optional(), us_bank_account_ach_payments: z .object({ requested: z.boolean().optional(), }) .optional(), us_bank_transfer_payments: z .object({ requested: z.boolean().optional(), }) .optional(), zip_payments: z .object({ requested: z.boolean().optional(), }) .optional(), }) .optional(), company: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), directors_provided: z.boolean().optional(), executives_provided: z.boolean().optional(), export_license_id: z.string().optional(), export_purpose_code: z.string().optional(), name: z.string().optional(), name_kana: z.string().optional(), name_kanji: z.string().optional(), owners_provided: z.boolean().optional(), ownership_declaration: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.string().optional(), }) .optional(), phone: z.string().optional(), registration_number: z.string().optional(), structure: z .union([ z.literal(''), z.literal('free_zone_establishment'), z.literal('free_zone_llc'), z.literal('government_instrumentality'), z.literal('governmental_unit'), z.literal('incorporated_non_profit'), z.literal('incorporated_partnership'), z.literal('limited_liability_partnership'), z.literal('llc'), z.literal('multi_member_llc'), z.literal('private_company'), z.literal('private_corporation'), z.literal('private_partnership'), z.literal('public_company'), z.literal('public_corporation'), z.literal('public_partnership'), z.literal('registered_charity'), z.literal('single_member_llc'), z.literal('sole_establishment'), z.literal('sole_proprietorship'), z.literal('tax_exempt_government_instrumentality'), z.literal('unincorporated_association'), z.literal('unincorporated_non_profit'), z.literal('unincorporated_partnership'), ]) .optional(), tax_id: z.string().optional(), tax_id_registrar: z.string().optional(), vat_id: z.string().optional(), verification: z .object({ document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), default_currency: z.string().optional(), documents: z .object({ bank_account_ownership_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), company_license: z .object({ files: z.array(z.string()).optional(), }) .optional(), company_memorandum_of_association: z .object({ files: z.array(z.string()).optional(), }) .optional(), company_ministerial_decree: z .object({ files: z.array(z.string()).optional(), }) .optional(), company_registration_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), company_tax_id_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), proof_of_registration: z .object({ files: z.array(z.string()).optional(), }) .optional(), }) .optional(), email: z.string().optional(), expand: z.array(z.string()).optional(), external_account: z.string().optional(), individual: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), dob: z .union([ z.object({ day: z.number(), month: z.number(), year: z.number(), }), z.literal(''), ]) .optional(), email: z.string().optional(), first_name: z.string().optional(), first_name_kana: z.string().optional(), first_name_kanji: z.string().optional(), full_name_aliases: z.union([z.array(z.string()), z.literal('')]).optional(), gender: z.string().optional(), id_number: z.string().optional(), id_number_secondary: z.string().optional(), last_name: z.string().optional(), last_name_kana: z.string().optional(), last_name_kanji: z.string().optional(), maiden_name: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), phone: z.string().optional(), political_exposure: z.union([z.literal('existing'), z.literal('none')]).optional(), registered_address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), relationship: z .object({ director: z.boolean().optional(), executive: z.boolean().optional(), owner: z.boolean().optional(), percent_ownership: z.union([z.number(), z.literal('')]).optional(), title: z.string().optional(), }) .optional(), ssn_last_4: z.string().optional(), verification: z .object({ additional_document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), settings: z .object({ bacs_debit_payments: z .object({ display_name: z.string().optional(), }) .optional(), branding: z .object({ icon: z.string().optional(), logo: z.string().optional(), primary_color: z.string().optional(), secondary_color: z.string().optional(), }) .optional(), card_issuing: z .object({ tos_acceptance: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), card_payments: z .object({ decline_on: z .object({ avs_failure: z.boolean().optional(), cvc_failure: z.boolean().optional(), }) .optional(), statement_descriptor_prefix: z.string().optional(), statement_descriptor_prefix_kana: z.union([z.string(), z.literal('')]).optional(), statement_descriptor_prefix_kanji: z.union([z.string(), z.literal('')]).optional(), }) .optional(), invoices: z .object({ default_account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), }) .optional(), payments: z .object({ statement_descriptor: z.string().optional(), statement_descriptor_kana: z.string().optional(), statement_descriptor_kanji: z.string().optional(), }) .optional(), payouts: z .object({ debit_negative_balances: z.boolean().optional(), schedule: z .object({ delay_days: z.union([z.literal('minimum'), z.number()]).optional(), interval: z .union([z.literal('daily'), z.literal('manual'), z.literal('monthly'), z.literal('weekly')]) .optional(), monthly_anchor: z.number().optional(), weekly_anchor: z .union([ z.literal('friday'), z.literal('monday'), z.literal('saturday'), z.literal('sunday'), z.literal('thursday'), z.literal('tuesday'), z.literal('wednesday'), ]) .optional(), }) .optional(), statement_descriptor: z.string().optional(), }) .optional(), treasury: z .object({ tos_acceptance: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), }) .optional(), tos_acceptance: z .object({ date: z.number().optional(), ip: z.string().optional(), service_agreement: z.string().optional(), user_agent: z.string().optional(), }) .optional(), }) .optional(), path: z.object({ account: z.string(), }), }); export const postAccountsAccountBankAccountsDataSchema = z.object({ body: z .object({ bank_account: z .union([ z.object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string(), account_type: z .union([z.literal('checking'), z.literal('futsu'), z.literal('savings'), z.literal('toza')]) .optional(), country: z.string(), currency: z.string().optional(), documents: z .object({ bank_account_ownership_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), }) .optional(), object: z.literal('bank_account').optional(), routing_number: z.string().optional(), }), z.string(), ]) .optional(), default_for_currency: z.boolean().optional(), expand: z.array(z.string()).optional(), external_account: z.string().optional(), metadata: z.record(z.string()).optional(), }) .optional(), path: z.object({ account: z.string(), }), }); export const deleteAccountsAccountBankAccountsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), id: z.string(), }), }); export const deleteAccountsAccountBankAccountsIdResponseSchema = deletedExternalAccountSchema; export const getAccountsAccountBankAccountsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postAccountsAccountBankAccountsIdDataSchema = z.object({ body: z .object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal(''), z.literal('company'), z.literal('individual')]).optional(), account_type: z .union([z.literal('checking'), z.literal('futsu'), z.literal('savings'), z.literal('toza')]) .optional(), address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), default_for_currency: z.boolean().optional(), documents: z .object({ bank_account_ownership_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), }) .optional(), exp_month: z.string().optional(), exp_year: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), }) .optional(), path: z.object({ account: z.string(), id: z.string(), }), }); export const getAccountsAccountCapabilitiesDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getAccountsAccountCapabilitiesCapabilityDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), capability: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postAccountsAccountCapabilitiesCapabilityDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), requested: z.boolean().optional(), }) .optional(), path: z.object({ account: z.string(), capability: z.string(), }), }); export const getAccountsAccountExternalAccountsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), object: z.union([z.literal('bank_account'), z.literal('card')]).optional(), starting_after: z.string().optional(), }) .optional(), }); export const postAccountsAccountExternalAccountsDataSchema = z.object({ body: z .object({ bank_account: z .union([ z.object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string(), account_type: z .union([z.literal('checking'), z.literal('futsu'), z.literal('savings'), z.literal('toza')]) .optional(), country: z.string(), currency: z.string().optional(), documents: z .object({ bank_account_ownership_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), }) .optional(), object: z.literal('bank_account').optional(), routing_number: z.string().optional(), }), z.string(), ]) .optional(), default_for_currency: z.boolean().optional(), expand: z.array(z.string()).optional(), external_account: z.string().optional(), metadata: z.record(z.string()).optional(), }) .optional(), path: z.object({ account: z.string(), }), }); export const deleteAccountsAccountExternalAccountsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), id: z.string(), }), }); export const deleteAccountsAccountExternalAccountsIdResponseSchema = deletedExternalAccountSchema; export const getAccountsAccountExternalAccountsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postAccountsAccountExternalAccountsIdDataSchema = z.object({ body: z .object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal(''), z.literal('company'), z.literal('individual')]).optional(), account_type: z .union([z.literal('checking'), z.literal('futsu'), z.literal('savings'), z.literal('toza')]) .optional(), address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), default_for_currency: z.boolean().optional(), documents: z .object({ bank_account_ownership_verification: z .object({ files: z.array(z.string()).optional(), }) .optional(), }) .optional(), exp_month: z.string().optional(), exp_year: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), }) .optional(), path: z.object({ account: z.string(), id: z.string(), }), }); export const postAccountsAccountLoginLinksDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ account: z.string(), }), }); export const postAccountsAccountLoginLinksResponseSchema = loginLinkSchema; export const getAccountsAccountPeopleDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), relationship: z .object({ director: z.boolean().optional(), executive: z.boolean().optional(), legal_guardian: z.boolean().optional(), owner: z.boolean().optional(), representative: z.boolean().optional(), }) .optional(), starting_after: z.string().optional(), }) .optional(), }); export const postAccountsAccountPeopleDataSchema = z.object({ body: z .object({ additional_tos_acceptances: z .object({ account: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), dob: z .union([ z.object({ day: z.number(), month: z.number(), year: z.number(), }), z.literal(''), ]) .optional(), documents: z .object({ company_authorization: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), passport: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), visa: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), }) .optional(), email: z.string().optional(), expand: z.array(z.string()).optional(), first_name: z.string().optional(), first_name_kana: z.string().optional(), first_name_kanji: z.string().optional(), full_name_aliases: z.union([z.array(z.string()), z.literal('')]).optional(), gender: z.string().optional(), id_number: z.string().optional(), id_number_secondary: z.string().optional(), last_name: z.string().optional(), last_name_kana: z.string().optional(), last_name_kanji: z.string().optional(), maiden_name: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), nationality: z.string().optional(), person_token: z.string().optional(), phone: z.string().optional(), political_exposure: z.string().optional(), registered_address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), relationship: z .object({ director: z.boolean().optional(), executive: z.boolean().optional(), legal_guardian: z.boolean().optional(), owner: z.boolean().optional(), percent_ownership: z.union([z.number(), z.literal('')]).optional(), representative: z.boolean().optional(), title: z.string().optional(), }) .optional(), ssn_last_4: z.string().optional(), verification: z .object({ additional_document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), path: z.object({ account: z.string(), }), }); export const deleteAccountsAccountPeoplePersonDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), person: z.string(), }), }); export const deleteAccountsAccountPeoplePersonResponseSchema = deletedPersonSchema; export const getAccountsAccountPeoplePersonDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), person: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postAccountsAccountPeoplePersonDataSchema = z.object({ body: z .object({ additional_tos_acceptances: z .object({ account: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), dob: z .union([ z.object({ day: z.number(), month: z.number(), year: z.number(), }), z.literal(''), ]) .optional(), documents: z .object({ company_authorization: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), passport: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), visa: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), }) .optional(), email: z.string().optional(), expand: z.array(z.string()).optional(), first_name: z.string().optional(), first_name_kana: z.string().optional(), first_name_kanji: z.string().optional(), full_name_aliases: z.union([z.array(z.string()), z.literal('')]).optional(), gender: z.string().optional(), id_number: z.string().optional(), id_number_secondary: z.string().optional(), last_name: z.string().optional(), last_name_kana: z.string().optional(), last_name_kanji: z.string().optional(), maiden_name: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), nationality: z.string().optional(), person_token: z.string().optional(), phone: z.string().optional(), political_exposure: z.string().optional(), registered_address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), relationship: z .object({ director: z.boolean().optional(), executive: z.boolean().optional(), legal_guardian: z.boolean().optional(), owner: z.boolean().optional(), percent_ownership: z.union([z.number(), z.literal('')]).optional(), representative: z.boolean().optional(), title: z.string().optional(), }) .optional(), ssn_last_4: z.string().optional(), verification: z .object({ additional_document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), path: z.object({ account: z.string(), person: z.string(), }), }); export const getAccountsAccountPersonsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), relationship: z .object({ director: z.boolean().optional(), executive: z.boolean().optional(), legal_guardian: z.boolean().optional(), owner: z.boolean().optional(), representative: z.boolean().optional(), }) .optional(), starting_after: z.string().optional(), }) .optional(), }); export const postAccountsAccountPersonsDataSchema = z.object({ body: z .object({ additional_tos_acceptances: z .object({ account: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), dob: z .union([ z.object({ day: z.number(), month: z.number(), year: z.number(), }), z.literal(''), ]) .optional(), documents: z .object({ company_authorization: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), passport: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), visa: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), }) .optional(), email: z.string().optional(), expand: z.array(z.string()).optional(), first_name: z.string().optional(), first_name_kana: z.string().optional(), first_name_kanji: z.string().optional(), full_name_aliases: z.union([z.array(z.string()), z.literal('')]).optional(), gender: z.string().optional(), id_number: z.string().optional(), id_number_secondary: z.string().optional(), last_name: z.string().optional(), last_name_kana: z.string().optional(), last_name_kanji: z.string().optional(), maiden_name: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), nationality: z.string().optional(), person_token: z.string().optional(), phone: z.string().optional(), political_exposure: z.string().optional(), registered_address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), relationship: z .object({ director: z.boolean().optional(), executive: z.boolean().optional(), legal_guardian: z.boolean().optional(), owner: z.boolean().optional(), percent_ownership: z.union([z.number(), z.literal('')]).optional(), representative: z.boolean().optional(), title: z.string().optional(), }) .optional(), ssn_last_4: z.string().optional(), verification: z .object({ additional_document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), path: z.object({ account: z.string(), }), }); export const deleteAccountsAccountPersonsPersonDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), person: z.string(), }), }); export const deleteAccountsAccountPersonsPersonResponseSchema = deletedPersonSchema; export const getAccountsAccountPersonsPersonDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), person: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postAccountsAccountPersonsPersonDataSchema = z.object({ body: z .object({ additional_tos_acceptances: z .object({ account: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), dob: z .union([ z.object({ day: z.number(), month: z.number(), year: z.number(), }), z.literal(''), ]) .optional(), documents: z .object({ company_authorization: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), passport: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), visa: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), }) .optional(), email: z.string().optional(), expand: z.array(z.string()).optional(), first_name: z.string().optional(), first_name_kana: z.string().optional(), first_name_kanji: z.string().optional(), full_name_aliases: z.union([z.array(z.string()), z.literal('')]).optional(), gender: z.string().optional(), id_number: z.string().optional(), id_number_secondary: z.string().optional(), last_name: z.string().optional(), last_name_kana: z.string().optional(), last_name_kanji: z.string().optional(), maiden_name: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), nationality: z.string().optional(), person_token: z.string().optional(), phone: z.string().optional(), political_exposure: z.string().optional(), registered_address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), relationship: z .object({ director: z.boolean().optional(), executive: z.boolean().optional(), legal_guardian: z.boolean().optional(), owner: z.boolean().optional(), percent_ownership: z.union([z.number(), z.literal('')]).optional(), representative: z.boolean().optional(), title: z.string().optional(), }) .optional(), ssn_last_4: z.string().optional(), verification: z .object({ additional_document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), path: z.object({ account: z.string(), person: z.string(), }), }); export const postAccountsAccountRejectDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), reason: z.string(), }), path: z.object({ account: z.string(), }), }); export const getApplePayDomainsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ domain_name: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getApplePayDomainsResponseSchema = z.object({ data: z.array(applePayDomainSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postApplePayDomainsDataSchema = z.object({ body: z.object({ domain_name: z.string(), expand: z.array(z.string()).optional(), }), }); export const postApplePayDomainsResponseSchema = applePayDomainSchema; export const deleteApplePayDomainsDomainDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ domain: z.string(), }), }); export const deleteApplePayDomainsDomainResponseSchema = deletedApplePayDomainSchema; export const getApplePayDomainsDomainDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ domain: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getApplePayDomainsDomainResponseSchema = applePayDomainSchema; export const getApplicationFeesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ charge: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getApplicationFeesFeeRefundsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ fee: z.string(), id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postApplicationFeesFeeRefundsIdDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ fee: z.string(), id: z.string(), }), }); export const getApplicationFeesIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postApplicationFeesIdRefundDataSchema = z.object({ body: z .object({ amount: z.number().optional(), directive: z.string().optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const getApplicationFeesIdRefundsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postApplicationFeesIdRefundsDataSchema = z.object({ body: z .object({ amount: z.number().optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const getAppsSecretsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), scope: z.object({ type: z.union([z.literal('account'), z.literal('user')]), user: z.string().optional(), }), starting_after: z.string().optional(), }), }); export const appsSecretSchema = z.object({ created: z.number(), deleted: z.boolean().optional(), expires_at: z.number().optional().nullable(), id: z.string(), livemode: z.boolean(), name: z.string(), object: z.literal('apps.secret'), payload: z.string().optional().nullable(), scope: secretServiceResourceScopeSchema, }); export const postAppsSecretsDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), expires_at: z.number().optional(), name: z.string(), payload: z.string(), scope: z.object({ type: z.union([z.literal('account'), z.literal('user')]), user: z.string().optional(), }), }), }); export const postAppsSecretsResponseSchema = appsSecretSchema; export const postAppsSecretsDeleteDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), name: z.string(), scope: z.object({ type: z.union([z.literal('account'), z.literal('user')]), user: z.string().optional(), }), }), }); export const postAppsSecretsDeleteResponseSchema = appsSecretSchema; export const getAppsSecretsFindDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ expand: z.array(z.string()).optional(), name: z.string(), scope: z.object({ type: z.union([z.literal('account'), z.literal('user')]), user: z.string().optional(), }), }), }); export const getAppsSecretsFindResponseSchema = appsSecretSchema; export const getBalanceDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getBalanceHistoryDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), currency: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), payout: z.string().optional(), source: z.string().optional(), starting_after: z.string().optional(), type: z.string().optional(), }) .optional(), }); export const getBalanceHistoryIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getBalanceTransactionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), currency: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), payout: z.string().optional(), source: z.string().optional(), starting_after: z.string().optional(), type: z.string().optional(), }) .optional(), }); export const getBalanceTransactionsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postBillingMeterEventAdjustmentsDataSchema = z.object({ body: z.object({ cancel: z .object({ identifier: z.string().optional(), }) .optional(), event_name: z.string(), expand: z.array(z.string()).optional(), type: z.literal('cancel'), }), }); export const billingMeterEventAdjustmentSchema = z.object({ cancel: billingMeterResourceBillingMeterEventAdjustmentCancelSchema.optional().nullable(), event_name: z.string(), livemode: z.boolean(), object: z.literal('billing.meter_event_adjustment'), status: z.union([z.literal('complete'), z.literal('pending')]), type: z.literal('cancel'), }); export const postBillingMeterEventsDataSchema = z.object({ body: z.object({ event_name: z.string(), expand: z.array(z.string()).optional(), identifier: z.string().optional(), payload: z.record(z.string()), timestamp: z.number().optional(), }), }); export const postBillingMeterEventsResponseSchema = billingMeterEventSchema; export const getBillingMetersDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z.union([z.literal('active'), z.literal('inactive')]).optional(), }) .optional(), }); export const billingMeterSchema = z.object({ created: z.number(), customer_mapping: billingMeterResourceCustomerMappingSettingsSchema, default_aggregation: billingMeterResourceAggregationSettingsSchema, display_name: z.string(), event_name: z.string(), event_time_window: z .union([z.literal('day'), z.literal('hour')]) .optional() .nullable(), id: z.string(), livemode: z.boolean(), object: z.literal('billing.meter'), status: z.union([z.literal('active'), z.literal('inactive')]), status_transitions: billingMeterResourceBillingMeterStatusTransitionsSchema, updated: z.number(), value_settings: billingMeterResourceBillingMeterValueSchema, }); export const postBillingMetersDataSchema = z.object({ body: z.object({ customer_mapping: z .object({ event_payload_key: z.string(), type: z.literal('by_id'), }) .optional(), default_aggregation: z.object({ formula: z.union([z.literal('count'), z.literal('sum')]), }), display_name: z.string(), event_name: z.string(), event_time_window: z.union([z.literal('day'), z.literal('hour')]).optional(), expand: z.array(z.string()).optional(), value_settings: z .object({ event_payload_key: z.string(), }) .optional(), }), }); export const postBillingMetersResponseSchema = billingMeterSchema; export const getBillingMetersIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getBillingMetersIdResponseSchema = billingMeterSchema; export const postBillingMetersIdDataSchema = z.object({ body: z .object({ display_name: z.string().optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postBillingMetersIdResponseSchema = billingMeterSchema; export const postBillingMetersIdDeactivateDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postBillingMetersIdDeactivateResponseSchema = billingMeterSchema; export const getBillingMetersIdEventSummariesDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z.object({ customer: z.string(), end_time: z.number(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), start_time: z.number(), starting_after: z.string().optional(), value_grouping_window: z.literal('hour').optional(), }), }); export const getBillingMetersIdEventSummariesResponseSchema = z.object({ data: z.array(billingMeterEventSummarySchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postBillingMetersIdReactivateDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postBillingMetersIdReactivateResponseSchema = billingMeterSchema; export const getBillingPortalConfigurationsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ active: z.boolean().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), is_default: z.boolean().optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postBillingPortalConfigurationsDataSchema = z.object({ body: z.object({ business_profile: z.object({ headline: z.union([z.string(), z.literal('')]).optional(), privacy_policy_url: z.string().optional(), terms_of_service_url: z.string().optional(), }), default_return_url: z.union([z.string(), z.literal('')]).optional(), expand: z.array(z.string()).optional(), features: z.object({ customer_update: z .object({ allowed_updates: z .union([ z.array( z.union([ z.literal('address'), z.literal('email'), z.literal('name'), z.literal('phone'), z.literal('shipping'), z.literal('tax_id'), ]), ), z.literal(''), ]) .optional(), enabled: z.boolean(), }) .optional(), invoice_history: z .object({ enabled: z.boolean(), }) .optional(), payment_method_update: z .object({ enabled: z.boolean(), }) .optional(), subscription_cancel: z .object({ cancellation_reason: z .object({ enabled: z.boolean(), options: z.union([ z.array( z.union([ z.literal('customer_service'), z.literal('low_quality'), z.literal('missing_features'), z.literal('other'), z.literal('switched_service'), z.literal('too_complex'), z.literal('too_expensive'), z.literal('unused'), ]), ), z.literal(''), ]), }) .optional(), enabled: z.boolean(), mode: z.union([z.literal('at_period_end'), z.literal('immediately')]).optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), }) .optional(), subscription_update: z .object({ default_allowed_updates: z.union([ z.array(z.union([z.literal('price'), z.literal('promotion_code'), z.literal('quantity')])), z.literal(''), ]), enabled: z.boolean(), products: z.union([ z.array( z.object({ prices: z.array(z.string()), product: z.string(), }), ), z.literal(''), ]), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), }) .optional(), }), login_page: z .object({ enabled: z.boolean(), }) .optional(), metadata: z.record(z.string()).optional(), }), }); export const getBillingPortalConfigurationsConfigurationDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ configuration: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postBillingPortalConfigurationsConfigurationDataSchema = z.object({ body: z .object({ active: z.boolean().optional(), business_profile: z .object({ headline: z.union([z.string(), z.literal('')]).optional(), privacy_policy_url: z.union([z.string(), z.literal('')]).optional(), terms_of_service_url: z.union([z.string(), z.literal('')]).optional(), }) .optional(), default_return_url: z.union([z.string(), z.literal('')]).optional(), expand: z.array(z.string()).optional(), features: z .object({ customer_update: z .object({ allowed_updates: z .union([ z.array( z.union([ z.literal('address'), z.literal('email'), z.literal('name'), z.literal('phone'), z.literal('shipping'), z.literal('tax_id'), ]), ), z.literal(''), ]) .optional(), enabled: z.boolean().optional(), }) .optional(), invoice_history: z .object({ enabled: z.boolean(), }) .optional(), payment_method_update: z .object({ enabled: z.boolean(), }) .optional(), subscription_cancel: z .object({ cancellation_reason: z .object({ enabled: z.boolean(), options: z .union([ z.array( z.union([ z.literal('customer_service'), z.literal('low_quality'), z.literal('missing_features'), z.literal('other'), z.literal('switched_service'), z.literal('too_complex'), z.literal('too_expensive'), z.literal('unused'), ]), ), z.literal(''), ]) .optional(), }) .optional(), enabled: z.boolean().optional(), mode: z.union([z.literal('at_period_end'), z.literal('immediately')]).optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), }) .optional(), subscription_update: z .object({ default_allowed_updates: z .union([ z.array(z.union([z.literal('price'), z.literal('promotion_code'), z.literal('quantity')])), z.literal(''), ]) .optional(), enabled: z.boolean().optional(), products: z .union([ z.array( z.object({ prices: z.array(z.string()), product: z.string(), }), ), z.literal(''), ]) .optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), }) .optional(), }) .optional(), login_page: z .object({ enabled: z.boolean(), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ configuration: z.string(), }), }); export const postBillingPortalSessionsDataSchema = z.object({ body: z.object({ configuration: z.string().optional(), customer: z.string(), expand: z.array(z.string()).optional(), flow_data: z .object({ after_completion: z .object({ hosted_confirmation: z .object({ custom_message: z.string().optional(), }) .optional(), redirect: z .object({ return_url: z.string(), }) .optional(), type: z.union([z.literal('hosted_confirmation'), z.literal('portal_homepage'), z.literal('redirect')]), }) .optional(), subscription_cancel: z .object({ retention: z .object({ coupon_offer: z.object({ coupon: z.string(), }), type: z.literal('coupon_offer'), }) .optional(), subscription: z.string(), }) .optional(), subscription_update: z .object({ subscription: z.string(), }) .optional(), subscription_update_confirm: z .object({ discounts: z .array( z.object({ coupon: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), items: z.array( z.object({ id: z.string(), price: z.string().optional(), quantity: z.number().optional(), }), ), subscription: z.string(), }) .optional(), type: z.union([ z.literal('payment_method_update'), z.literal('subscription_cancel'), z.literal('subscription_update'), z.literal('subscription_update_confirm'), ]), }) .optional(), locale: z .union([ z.literal('auto'), z.literal('bg'), z.literal('cs'), z.literal('da'), z.literal('de'), z.literal('el'), z.literal('en'), z.literal('en-AU'), z.literal('en-CA'), z.literal('en-GB'), z.literal('en-IE'), z.literal('en-IN'), z.literal('en-NZ'), z.literal('en-SG'), z.literal('es'), z.literal('es-419'), z.literal('et'), z.literal('fi'), z.literal('fil'), z.literal('fr'), z.literal('fr-CA'), z.literal('hr'), z.literal('hu'), z.literal('id'), z.literal('it'), z.literal('ja'), z.literal('ko'), z.literal('lt'), z.literal('lv'), z.literal('ms'), z.literal('mt'), z.literal('nb'), z.literal('nl'), z.literal('pl'), z.literal('pt'), z.literal('pt-BR'), z.literal('ro'), z.literal('ru'), z.literal('sk'), z.literal('sl'), z.literal('sv'), z.literal('th'), z.literal('tr'), z.literal('vi'), z.literal('zh'), z.literal('zh-HK'), z.literal('zh-TW'), ]) .optional(), on_behalf_of: z.string().optional(), return_url: z.string().optional(), }), }); export const getChargesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), payment_intent: z.string().optional(), starting_after: z.string().optional(), transfer_group: z.string().optional(), }) .optional(), }); export const postChargesDataSchema = z.object({ body: z .object({ amount: z.number().optional(), application_fee: z.number().optional(), application_fee_amount: z.number().optional(), capture: z.boolean().optional(), card: z .union([ z.object({ address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), cvc: z.string().optional(), exp_month: z.number(), exp_year: z.number(), metadata: z.record(z.string()).optional(), name: z.string().optional(), number: z.string(), object: z.literal('card').optional(), }), z.string(), ]) .optional(), currency: z.string().optional(), customer: z.string().optional(), description: z.string().optional(), destination: z .union([ z.object({ account: z.string(), amount: z.number().optional(), }), z.string(), ]) .optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), on_behalf_of: z.string().optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), receipt_email: z.string().optional(), shipping: z .object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), carrier: z.string().optional(), name: z.string(), phone: z.string().optional(), tracking_number: z.string().optional(), }) .optional(), source: z.string().optional(), statement_descriptor: z.string().optional(), statement_descriptor_suffix: z.string().optional(), transfer_data: z .object({ amount: z.number().optional(), destination: z.string(), }) .optional(), transfer_group: z.string().optional(), }) .optional(), }); export const getChargesSearchDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ expand: z.array(z.string()).optional(), limit: z.number().optional(), page: z.string().optional(), query: z.string(), }), }); export const getChargesChargeDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ charge: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postChargesChargeDataSchema = z.object({ body: z .object({ customer: z.string().optional(), description: z.string().optional(), expand: z.array(z.string()).optional(), fraud_details: z .object({ user_report: z.union([z.literal(''), z.literal('fraudulent'), z.literal('safe')]), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), receipt_email: z.string().optional(), shipping: z .object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), carrier: z.string().optional(), name: z.string(), phone: z.string().optional(), tracking_number: z.string().optional(), }) .optional(), transfer_group: z.string().optional(), }) .optional(), path: z.object({ charge: z.string(), }), }); export const postChargesChargeCaptureDataSchema = z.object({ body: z .object({ amount: z.number().optional(), application_fee: z.number().optional(), application_fee_amount: z.number().optional(), expand: z.array(z.string()).optional(), receipt_email: z.string().optional(), statement_descriptor: z.string().optional(), statement_descriptor_suffix: z.string().optional(), transfer_data: z .object({ amount: z.number().optional(), }) .optional(), transfer_group: z.string().optional(), }) .optional(), path: z.object({ charge: z.string(), }), }); export const getChargesChargeDisputeDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ charge: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postChargesChargeDisputeDataSchema = z.object({ body: z .object({ evidence: z .object({ access_activity_log: z.string().optional(), billing_address: z.string().optional(), cancellation_policy: z.string().optional(), cancellation_policy_disclosure: z.string().optional(), cancellation_rebuttal: z.string().optional(), customer_communication: z.string().optional(), customer_email_address: z.string().optional(), customer_name: z.string().optional(), customer_purchase_ip: z.string().optional(), customer_signature: z.string().optional(), duplicate_charge_documentation: z.string().optional(), duplicate_charge_explanation: z.string().optional(), duplicate_charge_id: z.string().optional(), product_description: z.string().optional(), receipt: z.string().optional(), refund_policy: z.string().optional(), refund_policy_disclosure: z.string().optional(), refund_refusal_explanation: z.string().optional(), service_date: z.string().optional(), service_documentation: z.string().optional(), shipping_address: z.string().optional(), shipping_carrier: z.string().optional(), shipping_date: z.string().optional(), shipping_documentation: z.string().optional(), shipping_tracking_number: z.string().optional(), uncategorized_file: z.string().optional(), uncategorized_text: z.string().optional(), }) .optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), submit: z.boolean().optional(), }) .optional(), path: z.object({ charge: z.string(), }), }); export const postChargesChargeDisputeCloseDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ charge: z.string(), }), }); export const postChargesChargeRefundDataSchema = z.object({ body: z .object({ amount: z.number().optional(), expand: z.array(z.string()).optional(), instructions_email: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), payment_intent: z.string().optional(), reason: z.union([z.literal('duplicate'), z.literal('fraudulent'), z.literal('requested_by_customer')]).optional(), refund_application_fee: z.boolean().optional(), reverse_transfer: z.boolean().optional(), }) .optional(), path: z.object({ charge: z.string(), }), }); export const getChargesChargeRefundsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ charge: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postChargesChargeRefundsDataSchema = z.object({ body: z .object({ amount: z.number().optional(), currency: z.string().optional(), customer: z.string().optional(), expand: z.array(z.string()).optional(), instructions_email: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), origin: z.literal('customer_balance').optional(), payment_intent: z.string().optional(), reason: z.union([z.literal('duplicate'), z.literal('fraudulent'), z.literal('requested_by_customer')]).optional(), refund_application_fee: z.boolean().optional(), reverse_transfer: z.boolean().optional(), }) .optional(), path: z.object({ charge: z.string(), }), }); export const getChargesChargeRefundsRefundDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ charge: z.string(), refund: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postChargesChargeRefundsRefundDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ charge: z.string(), refund: z.string(), }), }); export const getCheckoutSessionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), customer_details: z .object({ email: z.string(), }) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), payment_intent: z.string().optional(), payment_link: z.string().optional(), starting_after: z.string().optional(), status: z.union([z.literal('complete'), z.literal('expired'), z.literal('open')]).optional(), subscription: z.string().optional(), }) .optional(), }); export const postCheckoutSessionsDataSchema = z.object({ body: z .object({ after_expiration: z .object({ recovery: z .object({ allow_promotion_codes: z.boolean().optional(), enabled: z.boolean(), }) .optional(), }) .optional(), allow_promotion_codes: z.boolean().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_address_collection: z.union([z.literal('auto'), z.literal('required')]).optional(), cancel_url: z.string().optional(), client_reference_id: z.string().optional(), consent_collection: z .object({ payment_method_reuse_agreement: z .object({ position: z.union([z.literal('auto'), z.literal('hidden')]), }) .optional(), promotions: z.union([z.literal('auto'), z.literal('none')]).optional(), terms_of_service: z.union([z.literal('none'), z.literal('required')]).optional(), }) .optional(), currency: z.string().optional(), custom_fields: z .array( z.object({ dropdown: z .object({ default_value: z.string().optional(), options: z.array( z.object({ label: z.string(), value: z.string(), }), ), }) .optional(), key: z.string(), label: z.object({ custom: z.string(), type: z.literal('custom'), }), numeric: z .object({ default_value: z.string().optional(), maximum_length: z.number().optional(), minimum_length: z.number().optional(), }) .optional(), optional: z.boolean().optional(), text: z .object({ default_value: z.string().optional(), maximum_length: z.number().optional(), minimum_length: z.number().optional(), }) .optional(), type: z.union([z.literal('dropdown'), z.literal('numeric'), z.literal('text')]), }), ) .optional(), custom_text: z .object({ after_submit: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), shipping_address: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), submit: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), terms_of_service_acceptance: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), }) .optional(), customer: z.string().optional(), customer_creation: z.union([z.literal('always'), z.literal('if_required')]).optional(), customer_email: z.string().optional(), customer_update: z .object({ address: z.union([z.literal('auto'), z.literal('never')]).optional(), name: z.union([z.literal('auto'), z.literal('never')]).optional(), shipping: z.union([z.literal('auto'), z.literal('never')]).optional(), }) .optional(), discounts: z .array( z.object({ coupon: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), expand: z.array(z.string()).optional(), expires_at: z.number().optional(), invoice_creation: z .object({ enabled: z.boolean(), invoice_data: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), custom_fields: z .union([ z.array( z.object({ name: z.string(), value: z.string(), }), ), z.literal(''), ]) .optional(), description: z.string().optional(), footer: z.string().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), metadata: z.record(z.string()).optional(), rendering_options: z .union([ z.object({ amount_tax_display: z .union([z.literal(''), z.literal('exclude_tax'), z.literal('include_inclusive_tax')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), }) .optional(), line_items: z .array( z.object({ adjustable_quantity: z .object({ enabled: z.boolean(), maximum: z.number().optional(), minimum: z.number().optional(), }) .optional(), dynamic_tax_rates: z.array(z.string()).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string().optional(), product_data: z .object({ description: z.string().optional(), images: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), name: z.string(), tax_code: z.string().optional(), }) .optional(), recurring: z .object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }) .optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.array(z.string()).optional(), }), ) .optional(), locale: z .union([ z.literal('auto'), z.literal('bg'), z.literal('cs'), z.literal('da'), z.literal('de'), z.literal('el'), z.literal('en'), z.literal('en-GB'), z.literal('es'), z.literal('es-419'), z.literal('et'), z.literal('fi'), z.literal('fil'), z.literal('fr'), z.literal('fr-CA'), z.literal('hr'), z.literal('hu'), z.literal('id'), z.literal('it'), z.literal('ja'), z.literal('ko'), z.literal('lt'), z.literal('lv'), z.literal('ms'), z.literal('mt'), z.literal('nb'), z.literal('nl'), z.literal('pl'), z.literal('pt'), z.literal('pt-BR'), z.literal('ro'), z.literal('ru'), z.literal('sk'), z.literal('sl'), z.literal('sv'), z.literal('th'), z.literal('tr'), z.literal('vi'), z.literal('zh'), z.literal('zh-HK'), z.literal('zh-TW'), ]) .optional(), metadata: z.record(z.string()).optional(), mode: z.union([z.literal('payment'), z.literal('setup'), z.literal('subscription')]).optional(), payment_intent_data: z .object({ application_fee_amount: z.number().optional(), capture_method: z .union([z.literal('automatic'), z.literal('automatic_async'), z.literal('manual')]) .optional(), description: z.string().optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.string().optional(), receipt_email: z.string().optional(), setup_future_usage: z.union([z.literal('off_session'), z.literal('on_session')]).optional(), shipping: z .object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), carrier: z.string().optional(), name: z.string(), phone: z.string().optional(), tracking_number: z.string().optional(), }) .optional(), statement_descriptor: z.string().optional(), statement_descriptor_suffix: z.string().optional(), transfer_data: z .object({ amount: z.number().optional(), destination: z.string(), }) .optional(), transfer_group: z.string().optional(), }) .optional(), payment_method_collection: z.union([z.literal('always'), z.literal('if_required')]).optional(), payment_method_configuration: z.string().optional(), payment_method_data: z .object({ allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), }) .optional(), payment_method_options: z .object({ acss_debit: z .object({ currency: z.union([z.literal('cad'), z.literal('usd')]).optional(), mandate_options: z .object({ custom_mandate_url: z.union([z.string(), z.literal('')]).optional(), default_for: z.array(z.union([z.literal('invoice'), z.literal('subscription')])).optional(), interval_description: z.string().optional(), payment_schedule: z .union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]) .optional(), transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), setup_future_usage: z .union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }) .optional(), affirm: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), afterpay_clearpay: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), alipay: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), amazon_pay: z .object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }) .optional(), au_becs_debit: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), bacs_debit: z .object({ setup_future_usage: z .union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }) .optional(), bancontact: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), boleto: z .object({ expires_after_days: z.number().optional(), setup_future_usage: z .union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }) .optional(), card: z .object({ installments: z .object({ enabled: z.boolean().optional(), }) .optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), setup_future_usage: z.union([z.literal('off_session'), z.literal('on_session')]).optional(), statement_descriptor_suffix_kana: z.string().optional(), statement_descriptor_suffix_kanji: z.string().optional(), }) .optional(), cashapp: z .object({ setup_future_usage: z .union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }) .optional(), customer_balance: z .object({ bank_transfer: z .object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), requested_address_types: z .array( z.union([ z.literal('aba'), z.literal('iban'), z.literal('sepa'), z.literal('sort_code'), z.literal('spei'), z.literal('swift'), z.literal('zengin'), ]), ) .optional(), type: z.union([ z.literal('eu_bank_transfer'), z.literal('gb_bank_transfer'), z.literal('jp_bank_transfer'), z.literal('mx_bank_transfer'), z.literal('us_bank_transfer'), ]), }) .optional(), funding_type: z.literal('bank_transfer').optional(), setup_future_usage: z.literal('none').optional(), }) .optional(), eps: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), fpx: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), giropay: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), grabpay: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), ideal: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), klarna: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), konbini: z .object({ expires_after_days: z.number().optional(), setup_future_usage: z.literal('none').optional(), }) .optional(), link: z .object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }) .optional(), mobilepay: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), multibanco: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), oxxo: z .object({ expires_after_days: z.number().optional(), setup_future_usage: z.literal('none').optional(), }) .optional(), p24: z .object({ setup_future_usage: z.literal('none').optional(), tos_shown_and_accepted: z.boolean().optional(), }) .optional(), paynow: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), paypal: z .object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), preferred_locale: z .union([ z.literal('cs-CZ'), z.literal('da-DK'), z.literal('de-AT'), z.literal('de-DE'), z.literal('de-LU'), z.literal('el-GR'), z.literal('en-GB'), z.literal('en-US'), z.literal('es-ES'), z.literal('fi-FI'), z.literal('fr-BE'), z.literal('fr-FR'), z.literal('fr-LU'), z.literal('hu-HU'), z.literal('it-IT'), z.literal('nl-BE'), z.literal('nl-NL'), z.literal('pl-PL'), z.literal('pt-PT'), z.literal('sk-SK'), z.literal('sv-SE'), ]) .optional(), reference: z.string().optional(), risk_correlation_id: z.string().optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }) .optional(), pix: z .object({ expires_after_seconds: z.number().optional(), }) .optional(), revolut_pay: z .object({ setup_future_usage: z.union([z.literal('none'), z.literal('off_session')]).optional(), }) .optional(), sepa_debit: z .object({ setup_future_usage: z .union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }) .optional(), sofort: z .object({ setup_future_usage: z.literal('none').optional(), }) .optional(), swish: z .object({ reference: z.string().optional(), }) .optional(), us_bank_account: z .object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), }) .optional(), setup_future_usage: z .union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), verification_method: z.union([z.literal('automatic'), z.literal('instant')]).optional(), }) .optional(), wechat_pay: z .object({ app_id: z.string().optional(), client: z.union([z.literal('android'), z.literal('ios'), z.literal('web')]), setup_future_usage: z.literal('none').optional(), }) .optional(), }) .optional(), payment_method_types: z .array( z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]), ) .optional(), phone_number_collection: z .object({ enabled: z.boolean(), }) .optional(), redirect_on_completion: z.union([z.literal('always'), z.literal('if_required'), z.literal('never')]).optional(), return_url: z.string().optional(), saved_payment_method_options: z .object({ allow_redisplay_filters: z .array(z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')])) .optional(), payment_method_save: z.union([z.literal('disabled'), z.literal('enabled')]).optional(), }) .optional(), setup_intent_data: z .object({ description: z.string().optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.string().optional(), }) .optional(), shipping_address_collection: z .object({ allowed_countries: z.array( z.union([ z.literal('AC'), z.literal('AD'), z.literal('AE'), z.literal('AF'), z.literal('AG'), z.literal('AI'), z.literal('AL'), z.literal('AM'), z.literal('AO'), z.literal('AQ'), z.literal('AR'), z.literal('AT'), z.literal('AU'), z.literal('AW'), z.literal('AX'), z.literal('AZ'), z.literal('BA'), z.literal('BB'), z.literal('BD'), z.literal('BE'), z.literal('BF'), z.literal('BG'), z.literal('BH'), z.literal('BI'), z.literal('BJ'), z.literal('BL'), z.literal('BM'), z.literal('BN'), z.literal('BO'), z.literal('BQ'), z.literal('BR'), z.literal('BS'), z.literal('BT'), z.literal('BV'), z.literal('BW'), z.literal('BY'), z.literal('BZ'), z.literal('CA'), z.literal('CD'), z.literal('CF'), z.literal('CG'), z.literal('CH'), z.literal('CI'), z.literal('CK'), z.literal('CL'), z.literal('CM'), z.literal('CN'), z.literal('CO'), z.literal('CR'), z.literal('CV'), z.literal('CW'), z.literal('CY'), z.literal('CZ'), z.literal('DE'), z.literal('DJ'), z.literal('DK'), z.literal('DM'), z.literal('DO'), z.literal('DZ'), z.literal('EC'), z.literal('EE'), z.literal('EG'), z.literal('EH'), z.literal('ER'), z.literal('ES'), z.literal('ET'), z.literal('FI'), z.literal('FJ'), z.literal('FK'), z.literal('FO'), z.literal('FR'), z.literal('GA'), z.literal('GB'), z.literal('GD'), z.literal('GE'), z.literal('GF'), z.literal('GG'), z.literal('GH'), z.literal('GI'), z.literal('GL'), z.literal('GM'), z.literal('GN'), z.literal('GP'), z.literal('GQ'), z.literal('GR'), z.literal('GS'), z.literal('GT'), z.literal('GU'), z.literal('GW'), z.literal('GY'), z.literal('HK'), z.literal('HN'), z.literal('HR'), z.literal('HT'), z.literal('HU'), z.literal('ID'), z.literal('IE'), z.literal('IL'), z.literal('IM'), z.literal('IN'), z.literal('IO'), z.literal('IQ'), z.literal('IS'), z.literal('IT'), z.literal('JE'), z.literal('JM'), z.literal('JO'), z.literal('JP'), z.literal('KE'), z.literal('KG'), z.literal('KH'), z.literal('KI'), z.literal('KM'), z.literal('KN'), z.literal('KR'), z.literal('KW'), z.literal('KY'), z.literal('KZ'), z.literal('LA'), z.literal('LB'), z.literal('LC'), z.literal('LI'), z.literal('LK'), z.literal('LR'), z.literal('LS'), z.literal('LT'), z.literal('LU'), z.literal('LV'), z.literal('LY'), z.literal('MA'), z.literal('MC'), z.literal('MD'), z.literal('ME'), z.literal('MF'), z.literal('MG'), z.literal('MK'), z.literal('ML'), z.literal('MM'), z.literal('MN'), z.literal('MO'), z.literal('MQ'), z.literal('MR'), z.literal('MS'), z.literal('MT'), z.literal('MU'), z.literal('MV'), z.literal('MW'), z.literal('MX'), z.literal('MY'), z.literal('MZ'), z.literal('NA'), z.literal('NC'), z.literal('NE'), z.literal('NG'), z.literal('NI'), z.literal('NL'), z.literal('NO'), z.literal('NP'), z.literal('NR'), z.literal('NU'), z.literal('NZ'), z.literal('OM'), z.literal('PA'), z.literal('PE'), z.literal('PF'), z.literal('PG'), z.literal('PH'), z.literal('PK'), z.literal('PL'), z.literal('PM'), z.literal('PN'), z.literal('PR'), z.literal('PS'), z.literal('PT'), z.literal('PY'), z.literal('QA'), z.literal('RE'), z.literal('RO'), z.literal('RS'), z.literal('RU'), z.literal('RW'), z.literal('SA'), z.literal('SB'), z.literal('SC'), z.literal('SE'), z.literal('SG'), z.literal('SH'), z.literal('SI'), z.literal('SJ'), z.literal('SK'), z.literal('SL'), z.literal('SM'), z.literal('SN'), z.literal('SO'), z.literal('SR'), z.literal('SS'), z.literal('ST'), z.literal('SV'), z.literal('SX'), z.literal('SZ'), z.literal('TA'), z.literal('TC'), z.literal('TD'), z.literal('TF'), z.literal('TG'), z.literal('TH'), z.literal('TJ'), z.literal('TK'), z.literal('TL'), z.literal('TM'), z.literal('TN'), z.literal('TO'), z.literal('TR'), z.literal('TT'), z.literal('TV'), z.literal('TW'), z.literal('TZ'), z.literal('UA'), z.literal('UG'), z.literal('US'), z.literal('UY'), z.literal('UZ'), z.literal('VA'), z.literal('VC'), z.literal('VE'), z.literal('VG'), z.literal('VN'), z.literal('VU'), z.literal('WF'), z.literal('WS'), z.literal('XK'), z.literal('YE'), z.literal('YT'), z.literal('ZA'), z.literal('ZM'), z.literal('ZW'), z.literal('ZZ'), ]), ), }) .optional(), shipping_options: z .array( z.object({ shipping_rate: z.string().optional(), shipping_rate_data: z .object({ delivery_estimate: z .object({ maximum: z .object({ unit: z.union([ z.literal('business_day'), z.literal('day'), z.literal('hour'), z.literal('month'), z.literal('week'), ]), value: z.number(), }) .optional(), minimum: z .object({ unit: z.union([ z.literal('business_day'), z.literal('day'), z.literal('hour'), z.literal('month'), z.literal('week'), ]), value: z.number(), }) .optional(), }) .optional(), display_name: z.string(), fixed_amount: z .object({ amount: z.number(), currency: z.string(), currency_options: z .record( z.object({ amount: z.number(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), }), ) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), tax_code: z.string().optional(), type: z.literal('fixed_amount').optional(), }) .optional(), }), ) .optional(), submit_type: z.union([z.literal('auto'), z.literal('book'), z.literal('donate'), z.literal('pay')]).optional(), subscription_data: z .object({ application_fee_percent: z.number().optional(), billing_cycle_anchor: z.number().optional(), default_tax_rates: z.array(z.string()).optional(), description: z.string().optional(), invoice_settings: z .object({ issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.string().optional(), proration_behavior: z.union([z.literal('create_prorations'), z.literal('none')]).optional(), transfer_data: z .object({ amount_percent: z.number().optional(), destination: z.string(), }) .optional(), trial_end: z.number().optional(), trial_period_days: z.number().optional(), trial_settings: z .object({ end_behavior: z.object({ missing_payment_method: z.union([z.literal('cancel'), z.literal('create_invoice'), z.literal('pause')]), }), }) .optional(), }) .optional(), success_url: z.string().optional(), tax_id_collection: z .object({ enabled: z.boolean(), }) .optional(), ui_mode: z.union([z.literal('embedded'), z.literal('hosted')]).optional(), }) .optional(), }); export const getCheckoutSessionsSessionDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ session: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postCheckoutSessionsSessionExpireDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ session: z.string(), }), }); export const getCheckoutSessionsSessionLineItemsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ session: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getClimateOrdersDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postClimateOrdersDataSchema = z.object({ body: z.object({ amount: z.number().optional(), beneficiary: z .object({ public_name: z.string(), }) .optional(), currency: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), metric_tons: z.string().optional(), product: z.string(), }), }); export const getClimateOrdersOrderDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ order: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postClimateOrdersOrderDataSchema = z.object({ body: z .object({ beneficiary: z .union([ z.object({ public_name: z.union([z.string(), z.literal('')]), }), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), }) .optional(), path: z.object({ order: z.string(), }), }); export const postClimateOrdersOrderCancelDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ order: z.string(), }), }); export const getClimateProductsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const climateProductSchema = z.object({ created: z.number(), current_prices_per_metric_ton: z.record(climateRemovalsProductsPriceSchema), delivery_year: z.number().optional().nullable(), id: z.string(), livemode: z.boolean(), metric_tons_available: z.string(), name: z.string(), object: z.literal('climate.product'), suppliers: z.array(climateSupplierSchema), }); export const getClimateProductsProductDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ product: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getClimateProductsProductResponseSchema = climateProductSchema; export const getClimateSuppliersDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getClimateSuppliersResponseSchema = z.object({ data: z.array(climateSupplierSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getClimateSuppliersSupplierDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ supplier: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getClimateSuppliersSupplierResponseSchema = climateSupplierSchema; export const getConfirmationTokensConfirmationTokenDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ confirmation_token: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getCountrySpecsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const countrySpecSchema = z.object({ default_currency: z.string(), id: z.string(), object: z.literal('country_spec'), supported_bank_account_currencies: z.record(z.array(z.string())), supported_payment_currencies: z.array(z.string()), supported_payment_methods: z.array(z.string()), supported_transfer_countries: z.array(z.string()), verification_fields: countrySpecVerificationFieldsSchema, }); export const getCountrySpecsCountryDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ country: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getCountrySpecsCountryResponseSchema = countrySpecSchema; export const getCouponsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getCouponsResponseSchema = z.object({ data: z.array(couponSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postCouponsDataSchema = z.object({ body: z .object({ amount_off: z.number().optional(), applies_to: z .object({ products: z.array(z.string()).optional(), }) .optional(), currency: z.string().optional(), currency_options: z .record( z.object({ amount_off: z.number(), }), ) .optional(), duration: z.union([z.literal('forever'), z.literal('once'), z.literal('repeating')]).optional(), duration_in_months: z.number().optional(), expand: z.array(z.string()).optional(), id: z.string().optional(), max_redemptions: z.number().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), percent_off: z.number().optional(), redeem_by: z.number().optional(), }) .optional(), }); export const postCouponsResponseSchema = couponSchema; export const deleteCouponsCouponDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ coupon: z.string(), }), }); export const deleteCouponsCouponResponseSchema = deletedCouponSchema; export const getCouponsCouponDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ coupon: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getCouponsCouponResponseSchema = couponSchema; export const postCouponsCouponDataSchema = z.object({ body: z .object({ currency_options: z .record( z.object({ amount_off: z.number(), }), ) .optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), }) .optional(), path: z.object({ coupon: z.string(), }), }); export const postCouponsCouponResponseSchema = couponSchema; export const getCreditNotesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), invoice: z.string().optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postCreditNotesDataSchema = z.object({ body: z.object({ amount: z.number().optional(), credit_amount: z.number().optional(), effective_at: z.number().optional(), expand: z.array(z.string()).optional(), invoice: z.string(), lines: z .array( z.object({ amount: z.number().optional(), description: z.string().optional(), invoice_line_item: z.string().optional(), quantity: z.number().optional(), tax_amounts: z .union([ z.array( z.object({ amount: z.number(), tax_rate: z.string(), taxable_amount: z.number(), }), ), z.literal(''), ]) .optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), type: z.union([z.literal('custom_line_item'), z.literal('invoice_line_item')]), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), ) .optional(), memo: z.string().optional(), metadata: z.record(z.string()).optional(), out_of_band_amount: z.number().optional(), reason: z .union([ z.literal('duplicate'), z.literal('fraudulent'), z.literal('order_change'), z.literal('product_unsatisfactory'), ]) .optional(), refund: z.string().optional(), refund_amount: z.number().optional(), shipping_cost: z .object({ shipping_rate: z.string().optional(), }) .optional(), }), }); export const getCreditNotesPreviewDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ amount: z.number().optional(), credit_amount: z.number().optional(), effective_at: z.number().optional(), expand: z.array(z.string()).optional(), invoice: z.string(), lines: z .array( z.object({ amount: z.number().optional(), description: z.string().optional(), invoice_line_item: z.string().optional(), quantity: z.number().optional(), tax_amounts: z .union([ z.array( z.object({ amount: z.number(), tax_rate: z.string(), taxable_amount: z.number(), }), ), z.literal(''), ]) .optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), type: z.union([z.literal('custom_line_item'), z.literal('invoice_line_item')]), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), ) .optional(), memo: z.string().optional(), metadata: z.record(z.string()).optional(), out_of_band_amount: z.number().optional(), reason: z .union([ z.literal('duplicate'), z.literal('fraudulent'), z.literal('order_change'), z.literal('product_unsatisfactory'), ]) .optional(), refund: z.string().optional(), refund_amount: z.number().optional(), shipping_cost: z .object({ shipping_rate: z.string().optional(), }) .optional(), }), }); export const getCreditNotesPreviewLinesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ amount: z.number().optional(), credit_amount: z.number().optional(), effective_at: z.number().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), invoice: z.string(), limit: z.number().optional(), lines: z .array( z.object({ amount: z.number().optional(), description: z.string().optional(), invoice_line_item: z.string().optional(), quantity: z.number().optional(), tax_amounts: z .union([ z.array( z.object({ amount: z.number(), tax_rate: z.string(), taxable_amount: z.number(), }), ), z.literal(''), ]) .optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), type: z.union([z.literal('custom_line_item'), z.literal('invoice_line_item')]), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), ) .optional(), memo: z.string().optional(), metadata: z.record(z.string()).optional(), out_of_band_amount: z.number().optional(), reason: z .union([ z.literal('duplicate'), z.literal('fraudulent'), z.literal('order_change'), z.literal('product_unsatisfactory'), ]) .optional(), refund: z.string().optional(), refund_amount: z.number().optional(), shipping_cost: z .object({ shipping_rate: z.string().optional(), }) .optional(), starting_after: z.string().optional(), }), }); export const getCreditNotesCreditNoteLinesDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ credit_note: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getCreditNotesIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postCreditNotesIdDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), memo: z.string().optional(), metadata: z.record(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postCreditNotesIdVoidDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postCustomerSessionsDataSchema = z.object({ body: z.object({ components: z.object({ buy_button: z .object({ enabled: z.boolean(), }) .optional(), pricing_table: z .object({ enabled: z.boolean(), }) .optional(), }), customer: z.string(), expand: z.array(z.string()).optional(), }), }); export const getCustomersDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), email: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), test_clock: z.string().optional(), }) .optional(), }); export const postCustomersDataSchema = z.object({ body: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), balance: z.number().optional(), cash_balance: z .object({ settings: z .object({ reconciliation_mode: z .union([z.literal('automatic'), z.literal('manual'), z.literal('merchant_default')]) .optional(), }) .optional(), }) .optional(), coupon: z.string().optional(), description: z.string().optional(), email: z.string().optional(), expand: z.array(z.string()).optional(), invoice_prefix: z.string().optional(), invoice_settings: z .object({ custom_fields: z .union([ z.array( z.object({ name: z.string(), value: z.string(), }), ), z.literal(''), ]) .optional(), default_payment_method: z.string().optional(), footer: z.string().optional(), rendering_options: z .union([ z.object({ amount_tax_display: z .union([z.literal(''), z.literal('exclude_tax'), z.literal('include_inclusive_tax')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), next_invoice_sequence: z.number().optional(), payment_method: z.string().optional(), phone: z.string().optional(), preferred_locales: z.array(z.string()).optional(), promotion_code: z.string().optional(), shipping: z .union([ z.object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), name: z.string(), phone: z.string().optional(), }), z.literal(''), ]) .optional(), source: z.string().optional(), tax: z .object({ ip_address: z.union([z.string(), z.literal('')]).optional(), validate_location: z.union([z.literal('deferred'), z.literal('immediately')]).optional(), }) .optional(), tax_exempt: z.union([z.literal(''), z.literal('exempt'), z.literal('none'), z.literal('reverse')]).optional(), tax_id_data: z .array( z.object({ type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string(), }), ) .optional(), test_clock: z.string().optional(), }) .optional(), }); export const getCustomersSearchDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ expand: z.array(z.string()).optional(), limit: z.number().optional(), page: z.string().optional(), query: z.string(), }), }); export const deleteCustomersCustomerDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), }); export const deleteCustomersCustomerResponseSchema = deletedCustomerSchema; export const getCustomersCustomerDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postCustomersCustomerDataSchema = z.object({ body: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), balance: z.number().optional(), bank_account: z .union([ z.object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string(), country: z.string(), currency: z.string().optional(), object: z.literal('bank_account').optional(), routing_number: z.string().optional(), }), z.string(), ]) .optional(), card: z .union([ z.object({ address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), cvc: z.string().optional(), exp_month: z.number(), exp_year: z.number(), metadata: z.record(z.string()).optional(), name: z.string().optional(), number: z.string(), object: z.literal('card').optional(), }), z.string(), ]) .optional(), cash_balance: z .object({ settings: z .object({ reconciliation_mode: z .union([z.literal('automatic'), z.literal('manual'), z.literal('merchant_default')]) .optional(), }) .optional(), }) .optional(), coupon: z.string().optional(), default_alipay_account: z.string().optional(), default_bank_account: z.string().optional(), default_card: z.string().optional(), default_source: z.string().optional(), description: z.string().optional(), email: z.string().optional(), expand: z.array(z.string()).optional(), invoice_prefix: z.string().optional(), invoice_settings: z .object({ custom_fields: z .union([ z.array( z.object({ name: z.string(), value: z.string(), }), ), z.literal(''), ]) .optional(), default_payment_method: z.string().optional(), footer: z.string().optional(), rendering_options: z .union([ z.object({ amount_tax_display: z .union([z.literal(''), z.literal('exclude_tax'), z.literal('include_inclusive_tax')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), next_invoice_sequence: z.number().optional(), phone: z.string().optional(), preferred_locales: z.array(z.string()).optional(), promotion_code: z.string().optional(), shipping: z .union([ z.object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), name: z.string(), phone: z.string().optional(), }), z.literal(''), ]) .optional(), source: z.string().optional(), tax: z .object({ ip_address: z.union([z.string(), z.literal('')]).optional(), validate_location: z.union([z.literal('deferred'), z.literal('immediately')]).optional(), }) .optional(), tax_exempt: z.union([z.literal(''), z.literal('exempt'), z.literal('none'), z.literal('reverse')]).optional(), }) .optional(), path: z.object({ customer: z.string(), }), }); export const getCustomersCustomerBalanceTransactionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postCustomersCustomerBalanceTransactionsDataSchema = z.object({ body: z.object({ amount: z.number(), currency: z.string(), description: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }), path: z.object({ customer: z.string(), }), }); export const getCustomersCustomerBalanceTransactionsTransactionDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), transaction: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postCustomersCustomerBalanceTransactionsTransactionDataSchema = z.object({ body: z .object({ description: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ customer: z.string(), transaction: z.string(), }), }); export const getCustomersCustomerBankAccountsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postCustomersCustomerBankAccountsDataSchema = z.object({ body: z .object({ alipay_account: z.string().optional(), bank_account: z .union([ z.object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string(), country: z.string(), currency: z.string().optional(), object: z.literal('bank_account').optional(), routing_number: z.string().optional(), }), z.string(), ]) .optional(), card: z .union([ z.object({ address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), cvc: z.string().optional(), exp_month: z.number(), exp_year: z.number(), metadata: z.record(z.string()).optional(), name: z.string().optional(), number: z.string(), object: z.literal('card').optional(), }), z.string(), ]) .optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), source: z.string().optional(), }) .optional(), path: z.object({ customer: z.string(), }), }); export const deleteCustomersCustomerBankAccountsIdDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ customer: z.string(), id: z.string(), }), }); export const getCustomersCustomerBankAccountsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postCustomersCustomerBankAccountsIdDataSchema = z.object({ body: z .object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), exp_month: z.string().optional(), exp_year: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), owner: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), email: z.string().optional(), name: z.string().optional(), phone: z.string().optional(), }) .optional(), }) .optional(), path: z.object({ customer: z.string(), id: z.string(), }), }); export const postCustomersCustomerBankAccountsIdVerifyDataSchema = z.object({ body: z .object({ amounts: z.array(z.number()).optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ customer: z.string(), id: z.string(), }), }); export const getCustomersCustomerCardsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postCustomersCustomerCardsDataSchema = z.object({ body: z .object({ alipay_account: z.string().optional(), bank_account: z .union([ z.object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string(), country: z.string(), currency: z.string().optional(), object: z.literal('bank_account').optional(), routing_number: z.string().optional(), }), z.string(), ]) .optional(), card: z .union([ z.object({ address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), cvc: z.string().optional(), exp_month: z.number(), exp_year: z.number(), metadata: z.record(z.string()).optional(), name: z.string().optional(), number: z.string(), object: z.literal('card').optional(), }), z.string(), ]) .optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), source: z.string().optional(), }) .optional(), path: z.object({ customer: z.string(), }), }); export const deleteCustomersCustomerCardsIdDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ customer: z.string(), id: z.string(), }), }); export const getCustomersCustomerCardsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postCustomersCustomerCardsIdDataSchema = z.object({ body: z .object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), exp_month: z.string().optional(), exp_year: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), owner: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), email: z.string().optional(), name: z.string().optional(), phone: z.string().optional(), }) .optional(), }) .optional(), path: z.object({ customer: z.string(), id: z.string(), }), }); export const getCustomersCustomerCashBalanceDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getCustomersCustomerCashBalanceResponseSchema = cashBalanceSchema; export const postCustomersCustomerCashBalanceDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), settings: z .object({ reconciliation_mode: z .union([z.literal('automatic'), z.literal('manual'), z.literal('merchant_default')]) .optional(), }) .optional(), }) .optional(), path: z.object({ customer: z.string(), }), }); export const postCustomersCustomerCashBalanceResponseSchema = cashBalanceSchema; export const getCustomersCustomerCashBalanceTransactionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getCustomersCustomerCashBalanceTransactionsTransactionDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), transaction: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const deleteCustomersCustomerDiscountDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), }); export const getCustomersCustomerDiscountDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postCustomersCustomerFundingInstructionsDataSchema = z.object({ body: z.object({ bank_transfer: z.object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), requested_address_types: z .array(z.union([z.literal('iban'), z.literal('sort_code'), z.literal('spei'), z.literal('zengin')])) .optional(), type: z.union([ z.literal('eu_bank_transfer'), z.literal('gb_bank_transfer'), z.literal('jp_bank_transfer'), z.literal('mx_bank_transfer'), z.literal('us_bank_transfer'), ]), }), currency: z.string(), expand: z.array(z.string()).optional(), funding_type: z.literal('bank_transfer'), }), path: z.object({ customer: z.string(), }), }); export const getCustomersCustomerPaymentMethodsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), type: z .union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]) .optional(), }) .optional(), }); export const getCustomersCustomerPaymentMethodsPaymentMethodDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), payment_method: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getCustomersCustomerSourcesDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), object: z.string().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postCustomersCustomerSourcesDataSchema = z.object({ body: z .object({ alipay_account: z.string().optional(), bank_account: z .union([ z.object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string(), country: z.string(), currency: z.string().optional(), object: z.literal('bank_account').optional(), routing_number: z.string().optional(), }), z.string(), ]) .optional(), card: z .union([ z.object({ address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), cvc: z.string().optional(), exp_month: z.number(), exp_year: z.number(), metadata: z.record(z.string()).optional(), name: z.string().optional(), number: z.string(), object: z.literal('card').optional(), }), z.string(), ]) .optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), source: z.string().optional(), }) .optional(), path: z.object({ customer: z.string(), }), }); export const deleteCustomersCustomerSourcesIdDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ customer: z.string(), id: z.string(), }), }); export const getCustomersCustomerSourcesIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postCustomersCustomerSourcesIdDataSchema = z.object({ body: z .object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), exp_month: z.string().optional(), exp_year: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), owner: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), email: z.string().optional(), name: z.string().optional(), phone: z.string().optional(), }) .optional(), }) .optional(), path: z.object({ customer: z.string(), id: z.string(), }), }); export const postCustomersCustomerSourcesIdVerifyDataSchema = z.object({ body: z .object({ amounts: z.array(z.number()).optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ customer: z.string(), id: z.string(), }), }); export const getCustomersCustomerSubscriptionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postCustomersCustomerSubscriptionsDataSchema = z.object({ body: z .object({ add_invoice_items: z .array( z.object({ discounts: z .array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), application_fee_percent: z.union([z.number(), z.literal('')]).optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), backdate_start_date: z.number().optional(), billing_cycle_anchor: z.number().optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), cancel_at: z.number().optional(), cancel_at_period_end: z.boolean().optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), coupon: z.string().optional(), currency: z.string().optional(), days_until_due: z.number().optional(), default_payment_method: z.string().optional(), default_source: z.string().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), items: z .array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), metadata: z.record(z.string()).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), off_session: z.boolean().optional(), payment_behavior: z .union([ z.literal('allow_incomplete'), z.literal('default_incomplete'), z.literal('error_if_incomplete'), z.literal('pending_if_incomplete'), ]) .optional(), payment_settings: z .object({ payment_method_options: z .object({ acss_debit: z .union([ z.object({ mandate_options: z .object({ transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), bancontact: z .union([ z.object({ preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional(), }), z.literal(''), ]) .optional(), card: z .union([ z.object({ mandate_options: z .object({ amount: z.number().optional(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]).optional(), description: z.string().optional(), }) .optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), }), z.literal(''), ]) .optional(), customer_balance: z .union([ z.object({ bank_transfer: z .object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), type: z.string().optional(), }) .optional(), funding_type: z.string().optional(), }), z.literal(''), ]) .optional(), konbini: z.union([z.record(z.unknown()), z.literal('')]).optional(), sepa_debit: z.union([z.record(z.unknown()), z.literal('')]).optional(), us_bank_account: z .union([ z.object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), payment_method_types: z .union([ z.array( z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('acss_debit'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('konbini'), z.literal('link'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ), z.literal(''), ]) .optional(), save_default_payment_method: z.union([z.literal('off'), z.literal('on_subscription')]).optional(), }) .optional(), pending_invoice_item_interval: z .union([ z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), z.literal(''), ]) .optional(), promotion_code: z.string().optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), transfer_data: z .object({ amount_percent: z.number().optional(), destination: z.string(), }) .optional(), trial_end: z.union([z.literal('now'), z.number()]).optional(), trial_from_plan: z.boolean().optional(), trial_period_days: z.number().optional(), trial_settings: z .object({ end_behavior: z.object({ missing_payment_method: z.union([z.literal('cancel'), z.literal('create_invoice'), z.literal('pause')]), }), }) .optional(), }) .optional(), path: z.object({ customer: z.string(), }), }); export const deleteCustomersCustomerSubscriptionsSubscriptionExposedIdDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), invoice_now: z.boolean().optional(), prorate: z.boolean().optional(), }) .optional(), path: z.object({ customer: z.string(), subscription_exposed_id: z.string(), }), }); export const getCustomersCustomerSubscriptionsSubscriptionExposedIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), subscription_exposed_id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postCustomersCustomerSubscriptionsSubscriptionExposedIdDataSchema = z.object({ body: z .object({ add_invoice_items: z .array( z.object({ discounts: z .array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), application_fee_percent: z.union([z.number(), z.literal('')]).optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_cycle_anchor: z.union([z.literal('now'), z.literal('unchanged')]).optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), cancel_at: z.union([z.number(), z.literal('')]).optional(), cancel_at_period_end: z.boolean().optional(), cancellation_details: z .object({ comment: z.union([z.string(), z.literal('')]).optional(), feedback: z .union([ z.literal(''), z.literal('customer_service'), z.literal('low_quality'), z.literal('missing_features'), z.literal('other'), z.literal('switched_service'), z.literal('too_complex'), z.literal('too_expensive'), z.literal('unused'), ]) .optional(), }) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), coupon: z.string().optional(), days_until_due: z.number().optional(), default_payment_method: z.string().optional(), default_source: z.union([z.string(), z.literal('')]).optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), items: z .array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), clear_usage: z.boolean().optional(), deleted: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), id: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), off_session: z.boolean().optional(), pause_collection: z .union([ z.object({ behavior: z.union([z.literal('keep_as_draft'), z.literal('mark_uncollectible'), z.literal('void')]), resumes_at: z.number().optional(), }), z.literal(''), ]) .optional(), payment_behavior: z .union([ z.literal('allow_incomplete'), z.literal('default_incomplete'), z.literal('error_if_incomplete'), z.literal('pending_if_incomplete'), ]) .optional(), payment_settings: z .object({ payment_method_options: z .object({ acss_debit: z .union([ z.object({ mandate_options: z .object({ transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), bancontact: z .union([ z.object({ preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional(), }), z.literal(''), ]) .optional(), card: z .union([ z.object({ mandate_options: z .object({ amount: z.number().optional(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]).optional(), description: z.string().optional(), }) .optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), }), z.literal(''), ]) .optional(), customer_balance: z .union([ z.object({ bank_transfer: z .object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), type: z.string().optional(), }) .optional(), funding_type: z.string().optional(), }), z.literal(''), ]) .optional(), konbini: z.union([z.record(z.unknown()), z.literal('')]).optional(), sepa_debit: z.union([z.record(z.unknown()), z.literal('')]).optional(), us_bank_account: z .union([ z.object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), payment_method_types: z .union([ z.array( z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('acss_debit'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('konbini'), z.literal('link'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ), z.literal(''), ]) .optional(), save_default_payment_method: z.union([z.literal('off'), z.literal('on_subscription')]).optional(), }) .optional(), pending_invoice_item_interval: z .union([ z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), z.literal(''), ]) .optional(), promotion_code: z.string().optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), proration_date: z.number().optional(), transfer_data: z .union([ z.object({ amount_percent: z.number().optional(), destination: z.string(), }), z.literal(''), ]) .optional(), trial_end: z.union([z.literal('now'), z.number()]).optional(), trial_from_plan: z.boolean().optional(), trial_settings: z .object({ end_behavior: z.object({ missing_payment_method: z.union([z.literal('cancel'), z.literal('create_invoice'), z.literal('pause')]), }), }) .optional(), }) .optional(), path: z.object({ customer: z.string(), subscription_exposed_id: z.string(), }), }); export const deleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), subscription_exposed_id: z.string(), }), }); export const getCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), subscription_exposed_id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getCustomersCustomerTaxIdsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postCustomersCustomerTaxIdsDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string(), }), path: z.object({ customer: z.string(), }), }); export const deleteCustomersCustomerTaxIdsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), id: z.string(), }), }); export const deleteCustomersCustomerTaxIdsIdResponseSchema = deletedTaxIdSchema; export const getCustomersCustomerTaxIdsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ customer: z.string(), id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getDisputesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ charge: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), payment_intent: z.string().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getDisputesDisputeDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ dispute: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postDisputesDisputeDataSchema = z.object({ body: z .object({ evidence: z .object({ access_activity_log: z.string().optional(), billing_address: z.string().optional(), cancellation_policy: z.string().optional(), cancellation_policy_disclosure: z.string().optional(), cancellation_rebuttal: z.string().optional(), customer_communication: z.string().optional(), customer_email_address: z.string().optional(), customer_name: z.string().optional(), customer_purchase_ip: z.string().optional(), customer_signature: z.string().optional(), duplicate_charge_documentation: z.string().optional(), duplicate_charge_explanation: z.string().optional(), duplicate_charge_id: z.string().optional(), product_description: z.string().optional(), receipt: z.string().optional(), refund_policy: z.string().optional(), refund_policy_disclosure: z.string().optional(), refund_refusal_explanation: z.string().optional(), service_date: z.string().optional(), service_documentation: z.string().optional(), shipping_address: z.string().optional(), shipping_carrier: z.string().optional(), shipping_date: z.string().optional(), shipping_documentation: z.string().optional(), shipping_tracking_number: z.string().optional(), uncategorized_file: z.string().optional(), uncategorized_text: z.string().optional(), }) .optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), submit: z.boolean().optional(), }) .optional(), path: z.object({ dispute: z.string(), }), }); export const postDisputesDisputeCloseDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ dispute: z.string(), }), }); export const getEntitlementsActiveEntitlementsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ customer: z.string(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }), }); export const entitlementsActiveEntitlementSchema = z.object({ feature: z.union([z.string(), entitlementsFeatureSchema]), id: z.string(), livemode: z.boolean(), lookup_key: z.string(), object: z.literal('entitlements.active_entitlement'), }); export const getEntitlementsActiveEntitlementsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getEntitlementsActiveEntitlementsIdResponseSchema = entitlementsActiveEntitlementSchema; export const getEntitlementsFeaturesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ archived: z.boolean().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), lookup_key: z.string().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getEntitlementsFeaturesResponseSchema = z.object({ data: z.array(entitlementsFeatureSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postEntitlementsFeaturesDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), lookup_key: z.string(), metadata: z.record(z.string()).optional(), name: z.string(), }), }); export const postEntitlementsFeaturesResponseSchema = entitlementsFeatureSchema; export const getEntitlementsFeaturesIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getEntitlementsFeaturesIdResponseSchema = entitlementsFeatureSchema; export const postEntitlementsFeaturesIdDataSchema = z.object({ body: z .object({ active: z.boolean().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postEntitlementsFeaturesIdResponseSchema = entitlementsFeatureSchema; export const postEphemeralKeysDataSchema = z.object({ body: z .object({ customer: z.string().optional(), expand: z.array(z.string()).optional(), issuing_card: z.string().optional(), nonce: z.string().optional(), verification_session: z.string().optional(), }) .optional(), }); export const postEphemeralKeysResponseSchema = ephemeralKeySchema; export const deleteEphemeralKeysKeyDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ key: z.string(), }), }); export const deleteEphemeralKeysKeyResponseSchema = ephemeralKeySchema; export const getEventsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), delivery_success: z.boolean().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), type: z.string().optional(), types: z.array(z.string()).optional(), }) .optional(), }); export const eventSchema = z.object({ account: z.string().optional(), api_version: z.string().optional().nullable(), created: z.number(), data: notificationEventDataSchema, id: z.string(), livemode: z.boolean(), object: z.literal('event'), pending_webhooks: z.number(), request: notificationEventRequestSchema.optional().nullable(), type: z.string(), }); export const getEventsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getEventsIdResponseSchema = eventSchema; export const getExchangeRatesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getExchangeRatesResponseSchema = z.object({ data: z.array(exchangeRateSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getExchangeRatesRateIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ rate_id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getExchangeRatesRateIdResponseSchema = exchangeRateSchema; export const getFileLinksDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), expired: z.boolean().optional(), file: z.string().optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postFileLinksDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), expires_at: z.number().optional(), file: z.string(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }), }); export const getFileLinksLinkDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ link: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postFileLinksLinkDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), expires_at: z.union([z.literal('now'), z.number(), z.literal('')]).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ link: z.string(), }), }); export const getFilesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), purpose: z .union([ z.literal('account_requirement'), z.literal('additional_verification'), z.literal('business_icon'), z.literal('business_logo'), z.literal('customer_signature'), z.literal('dispute_evidence'), z.literal('document_provider_identity_document'), z.literal('finance_report_run'), z.literal('identity_document'), z.literal('identity_document_downloadable'), z.literal('pci_document'), z.literal('selfie'), z.literal('sigma_scheduled_query'), z.literal('tax_document_user_upload'), z.literal('terminal_reader_splashscreen'), ]) .optional(), starting_after: z.string().optional(), }) .optional(), }); export const getFilesFileDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ file: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getFinancialConnectionsAccountsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ account_holder: z .object({ account: z.string().optional(), customer: z.string().optional(), }) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), session: z.string().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getFinancialConnectionsAccountsAccountDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postFinancialConnectionsAccountsAccountDisconnectDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ account: z.string(), }), }); export const getFinancialConnectionsAccountsAccountOwnersDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), }), query: z.object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), ownership: z.string(), starting_after: z.string().optional(), }), }); export const getFinancialConnectionsAccountsAccountOwnersResponseSchema = z.object({ data: z.array(financialConnectionsAccountOwnerSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postFinancialConnectionsAccountsAccountRefreshDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), features: z.array(z.union([z.literal('balance'), z.literal('ownership'), z.literal('transactions')])), }), path: z.object({ account: z.string(), }), }); export const postFinancialConnectionsAccountsAccountSubscribeDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), features: z.array(z.literal('transactions')), }), path: z.object({ account: z.string(), }), }); export const postFinancialConnectionsAccountsAccountUnsubscribeDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), features: z.array(z.literal('transactions')), }), path: z.object({ account: z.string(), }), }); export const postFinancialConnectionsSessionsDataSchema = z.object({ body: z.object({ account_holder: z.object({ account: z.string().optional(), customer: z.string().optional(), type: z.union([z.literal('account'), z.literal('customer')]), }), expand: z.array(z.string()).optional(), filters: z .object({ countries: z.array(z.string()).optional(), }) .optional(), permissions: z.array( z.union([z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions')]), ), prefetch: z.array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])).optional(), return_url: z.string().optional(), }), }); export const getFinancialConnectionsSessionsSessionDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ session: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getFinancialConnectionsTransactionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ account: z.string(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), transacted_at: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), transaction_refresh: z .object({ after: z.string(), }) .optional(), }), }); export const getFinancialConnectionsTransactionsResponseSchema = z.object({ data: z.array(financialConnectionsTransactionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getFinancialConnectionsTransactionsTransactionDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ transaction: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getFinancialConnectionsTransactionsTransactionResponseSchema = financialConnectionsTransactionSchema; export const getForwardingRequestsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const forwardingRequestSchema = z.object({ created: z.number(), id: z.string(), livemode: z.boolean(), object: z.literal('forwarding.request'), payment_method: z.string(), replacements: z.array( z.union([z.literal('card_cvc'), z.literal('card_expiry'), z.literal('card_number'), z.literal('cardholder_name')]), ), request_context: forwardedRequestContextSchema.optional().nullable(), request_details: forwardedRequestDetailsSchema.optional().nullable(), response_details: forwardedResponseDetailsSchema.optional().nullable(), url: z.string().optional().nullable(), }); export const postForwardingRequestsDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), payment_method: z.string(), replacements: z.array( z.union([ z.literal('card_cvc'), z.literal('card_expiry'), z.literal('card_number'), z.literal('cardholder_name'), ]), ), request: z .object({ body: z.string().optional(), headers: z .array( z.object({ name: z.string(), value: z.string(), }), ) .optional(), }) .optional(), url: z.string(), }), }); export const postForwardingRequestsResponseSchema = forwardingRequestSchema; export const getForwardingRequestsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getForwardingRequestsIdResponseSchema = forwardingRequestSchema; export const getIdentityVerificationReportsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ client_reference_id: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), type: z.union([z.literal('document'), z.literal('id_number')]).optional(), verification_session: z.string().optional(), }) .optional(), }); export const getIdentityVerificationReportsResponseSchema = z.object({ data: z.array(identityVerificationReportSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getIdentityVerificationReportsReportDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ report: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getIdentityVerificationReportsReportResponseSchema = identityVerificationReportSchema; export const getIdentityVerificationSessionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ client_reference_id: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z .union([z.literal('canceled'), z.literal('processing'), z.literal('requires_input'), z.literal('verified')]) .optional(), }) .optional(), }); export const identityVerificationSessionSchema = z.object({ client_reference_id: z.string().optional().nullable(), client_secret: z.string().optional().nullable(), created: z.number(), id: z.string(), last_error: gelatoSessionLastErrorSchema.optional().nullable(), last_verification_report: z.union([z.string(), identityVerificationReportSchema]).optional().nullable(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('identity.verification_session'), options: gelatoVerificationSessionOptionsSchema.optional().nullable(), provided_details: gelatoProvidedDetailsSchema.optional().nullable(), redaction: verificationSessionRedactionSchema.optional().nullable(), status: z.union([z.literal('canceled'), z.literal('processing'), z.literal('requires_input'), z.literal('verified')]), type: z.union([z.literal('document'), z.literal('id_number'), z.literal('verification_flow')]), url: z.string().optional().nullable(), verification_flow: z.string().optional(), verified_outputs: gelatoVerifiedOutputsSchema.optional().nullable(), }); export const postIdentityVerificationSessionsDataSchema = z.object({ body: z .object({ client_reference_id: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), options: z .object({ document: z .union([ z.object({ allowed_types: z .array(z.union([z.literal('driving_license'), z.literal('id_card'), z.literal('passport')])) .optional(), require_id_number: z.boolean().optional(), require_live_capture: z.boolean().optional(), require_matching_selfie: z.boolean().optional(), }), z.literal(''), ]) .optional(), }) .optional(), provided_details: z .object({ email: z.string().optional(), phone: z.string().optional(), }) .optional(), return_url: z.string().optional(), type: z.union([z.literal('document'), z.literal('id_number')]).optional(), verification_flow: z.string().optional(), }) .optional(), }); export const postIdentityVerificationSessionsResponseSchema = identityVerificationSessionSchema; export const getIdentityVerificationSessionsSessionDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ session: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getIdentityVerificationSessionsSessionResponseSchema = identityVerificationSessionSchema; export const postIdentityVerificationSessionsSessionDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), options: z .object({ document: z .union([ z.object({ allowed_types: z .array(z.union([z.literal('driving_license'), z.literal('id_card'), z.literal('passport')])) .optional(), require_id_number: z.boolean().optional(), require_live_capture: z.boolean().optional(), require_matching_selfie: z.boolean().optional(), }), z.literal(''), ]) .optional(), }) .optional(), provided_details: z .object({ email: z.string().optional(), phone: z.string().optional(), }) .optional(), type: z.union([z.literal('document'), z.literal('id_number')]).optional(), }) .optional(), path: z.object({ session: z.string(), }), }); export const postIdentityVerificationSessionsSessionResponseSchema = identityVerificationSessionSchema; export const postIdentityVerificationSessionsSessionCancelDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ session: z.string(), }), }); export const postIdentityVerificationSessionsSessionCancelResponseSchema = identityVerificationSessionSchema; export const postIdentityVerificationSessionsSessionRedactDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ session: z.string(), }), }); export const postIdentityVerificationSessionsSessionRedactResponseSchema = identityVerificationSessionSchema; export const getInvoiceitemsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), invoice: z.string().optional(), limit: z.number().optional(), pending: z.boolean().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postInvoiceitemsDataSchema = z.object({ body: z.object({ amount: z.number().optional(), currency: z.string().optional(), customer: z.string(), description: z.string().optional(), discountable: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), invoice: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), period: z .object({ end: z.number(), start: z.number(), }) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), subscription: z.string().optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), tax_code: z.union([z.string(), z.literal('')]).optional(), tax_rates: z.array(z.string()).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), }); export const deleteInvoiceitemsInvoiceitemDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ invoiceitem: z.string(), }), }); export const deleteInvoiceitemsInvoiceitemResponseSchema = deletedInvoiceitemSchema; export const getInvoiceitemsInvoiceitemDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ invoiceitem: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postInvoiceitemsInvoiceitemDataSchema = z.object({ body: z .object({ amount: z.number().optional(), description: z.string().optional(), discountable: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), period: z .object({ end: z.number(), start: z.number(), }) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), tax_code: z.union([z.string(), z.literal('')]).optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), path: z.object({ invoiceitem: z.string(), }), }); export const getInvoicesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), due_date: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z .union([ z.literal('draft'), z.literal('open'), z.literal('paid'), z.literal('uncollectible'), z.literal('void'), ]) .optional(), subscription: z.string().optional(), }) .optional(), }); export const postInvoicesDataSchema = z.object({ body: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), application_fee_amount: z.number().optional(), auto_advance: z.boolean().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), currency: z.string().optional(), custom_fields: z .union([ z.array( z.object({ name: z.string(), value: z.string(), }), ), z.literal(''), ]) .optional(), customer: z.string().optional(), days_until_due: z.number().optional(), default_payment_method: z.string().optional(), default_source: z.string().optional(), default_tax_rates: z.array(z.string()).optional(), description: z.string().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), due_date: z.number().optional(), effective_at: z.number().optional(), expand: z.array(z.string()).optional(), footer: z.string().optional(), from_invoice: z .object({ action: z.literal('revision'), invoice: z.string(), }) .optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), number: z.string().optional(), on_behalf_of: z.string().optional(), payment_settings: z .object({ default_mandate: z.union([z.string(), z.literal('')]).optional(), payment_method_options: z .object({ acss_debit: z .union([ z.object({ mandate_options: z .object({ transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), bancontact: z .union([ z.object({ preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional(), }), z.literal(''), ]) .optional(), card: z .union([ z.object({ installments: z .object({ enabled: z.boolean().optional(), plan: z .union([ z.object({ count: z.number(), interval: z.literal('month'), type: z.literal('fixed_count'), }), z.literal(''), ]) .optional(), }) .optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), }), z.literal(''), ]) .optional(), customer_balance: z .union([ z.object({ bank_transfer: z .object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), type: z.string().optional(), }) .optional(), funding_type: z.string().optional(), }), z.literal(''), ]) .optional(), konbini: z.union([z.record(z.unknown()), z.literal('')]).optional(), sepa_debit: z.union([z.record(z.unknown()), z.literal('')]).optional(), us_bank_account: z .union([ z.object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), payment_method_types: z .union([ z.array( z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('acss_debit'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('konbini'), z.literal('link'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ), z.literal(''), ]) .optional(), }) .optional(), pending_invoice_items_behavior: z.union([z.literal('exclude'), z.literal('include')]).optional(), rendering: z .object({ amount_tax_display: z .union([z.literal(''), z.literal('exclude_tax'), z.literal('include_inclusive_tax')]) .optional(), pdf: z .object({ page_size: z.union([z.literal('a4'), z.literal('auto'), z.literal('letter')]).optional(), }) .optional(), }) .optional(), shipping_cost: z .object({ shipping_rate: z.string().optional(), shipping_rate_data: z .object({ delivery_estimate: z .object({ maximum: z .object({ unit: z.union([ z.literal('business_day'), z.literal('day'), z.literal('hour'), z.literal('month'), z.literal('week'), ]), value: z.number(), }) .optional(), minimum: z .object({ unit: z.union([ z.literal('business_day'), z.literal('day'), z.literal('hour'), z.literal('month'), z.literal('week'), ]), value: z.number(), }) .optional(), }) .optional(), display_name: z.string(), fixed_amount: z .object({ amount: z.number(), currency: z.string(), currency_options: z .record( z.object({ amount: z.number(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), }), ) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), tax_code: z.string().optional(), type: z.literal('fixed_amount').optional(), }) .optional(), }) .optional(), shipping_details: z .object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), name: z.string(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), statement_descriptor: z.string().optional(), subscription: z.string().optional(), transfer_data: z .object({ amount: z.number().optional(), destination: z.string(), }) .optional(), }) .optional(), }); export const postInvoicesCreatePreviewDataSchema = z.object({ body: z .object({ automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), coupon: z.string().optional(), currency: z.string().optional(), customer: z.string().optional(), customer_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), shipping: z .union([ z.object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), name: z.string(), phone: z.string().optional(), }), z.literal(''), ]) .optional(), tax: z .object({ ip_address: z.union([z.string(), z.literal('')]).optional(), }) .optional(), tax_exempt: z.union([z.literal(''), z.literal('exempt'), z.literal('none'), z.literal('reverse')]).optional(), tax_ids: z .array( z.object({ type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string(), }), ) .optional(), }) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), invoice_items: z .array( z.object({ amount: z.number().optional(), currency: z.string().optional(), description: z.string().optional(), discountable: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), invoiceitem: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), period: z .object({ end: z.number(), start: z.number(), }) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), tax_code: z.union([z.string(), z.literal('')]).optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), ) .optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), on_behalf_of: z.union([z.string(), z.literal('')]).optional(), preview_mode: z.union([z.literal('next'), z.literal('recurring')]).optional(), schedule: z.string().optional(), schedule_details: z .object({ end_behavior: z.union([z.literal('cancel'), z.literal('release')]).optional(), phases: z .array( z.object({ add_invoice_items: z .array( z.object({ discounts: z .array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), application_fee_percent: z.number().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_cycle_anchor: z.union([z.literal('automatic'), z.literal('phase_start')]).optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), coupon: z.string().optional(), default_payment_method: z.string().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), description: z.union([z.string(), z.literal('')]).optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), end_date: z.union([z.number(), z.literal('now')]).optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), days_until_due: z.number().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), items: z.array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), metadata: z.record(z.string()).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([ z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ), iterations: z.number().optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.string().optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), start_date: z.union([z.number(), z.literal('now')]).optional(), transfer_data: z .object({ amount_percent: z.number().optional(), destination: z.string(), }) .optional(), trial: z.boolean().optional(), trial_end: z.union([z.number(), z.literal('now')]).optional(), }), ) .optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), }) .optional(), subscription: z.string().optional(), subscription_details: z .object({ billing_cycle_anchor: z.union([z.literal('now'), z.literal('unchanged'), z.number()]).optional(), cancel_at: z.union([z.number(), z.literal('')]).optional(), cancel_at_period_end: z.boolean().optional(), cancel_now: z.boolean().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), items: z .array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), clear_usage: z.boolean().optional(), deleted: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), id: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), proration_date: z.number().optional(), resume_at: z.literal('now').optional(), start_date: z.number().optional(), trial_end: z.union([z.literal('now'), z.number()]).optional(), }) .optional(), }) .optional(), }); export const getInvoicesSearchDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ expand: z.array(z.string()).optional(), limit: z.number().optional(), page: z.string().optional(), query: z.string(), }), }); export const getInvoicesUpcomingDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), coupon: z.string().optional(), currency: z.string().optional(), customer: z.string().optional(), customer_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), shipping: z .union([ z.object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), name: z.string(), phone: z.string().optional(), }), z.literal(''), ]) .optional(), tax: z .object({ ip_address: z.union([z.string(), z.literal('')]).optional(), }) .optional(), tax_exempt: z.union([z.literal(''), z.literal('exempt'), z.literal('none'), z.literal('reverse')]).optional(), tax_ids: z .array( z.object({ type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string(), }), ) .optional(), }) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), invoice_items: z .array( z.object({ amount: z.number().optional(), currency: z.string().optional(), description: z.string().optional(), discountable: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), invoiceitem: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), period: z .object({ end: z.number(), start: z.number(), }) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), tax_code: z.union([z.string(), z.literal('')]).optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), ) .optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), on_behalf_of: z.union([z.string(), z.literal('')]).optional(), preview_mode: z.union([z.literal('next'), z.literal('recurring')]).optional(), schedule: z.string().optional(), schedule_details: z .object({ end_behavior: z.union([z.literal('cancel'), z.literal('release')]).optional(), phases: z .array( z.object({ add_invoice_items: z .array( z.object({ discounts: z .array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), application_fee_percent: z.number().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_cycle_anchor: z.union([z.literal('automatic'), z.literal('phase_start')]).optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), coupon: z.string().optional(), default_payment_method: z.string().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), description: z.union([z.string(), z.literal('')]).optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), end_date: z.union([z.number(), z.literal('now')]).optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), days_until_due: z.number().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), items: z.array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), metadata: z.record(z.string()).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([ z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ), iterations: z.number().optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.string().optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), start_date: z.union([z.number(), z.literal('now')]).optional(), transfer_data: z .object({ amount_percent: z.number().optional(), destination: z.string(), }) .optional(), trial: z.boolean().optional(), trial_end: z.union([z.number(), z.literal('now')]).optional(), }), ) .optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), }) .optional(), subscription: z.string().optional(), subscription_billing_cycle_anchor: z.union([z.literal('now'), z.literal('unchanged'), z.number()]).optional(), subscription_cancel_at: z.union([z.number(), z.literal('')]).optional(), subscription_cancel_at_period_end: z.boolean().optional(), subscription_cancel_now: z.boolean().optional(), subscription_default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), subscription_details: z .object({ billing_cycle_anchor: z.union([z.literal('now'), z.literal('unchanged'), z.number()]).optional(), cancel_at: z.union([z.number(), z.literal('')]).optional(), cancel_at_period_end: z.boolean().optional(), cancel_now: z.boolean().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), items: z .array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), clear_usage: z.boolean().optional(), deleted: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), id: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), proration_date: z.number().optional(), resume_at: z.literal('now').optional(), start_date: z.number().optional(), trial_end: z.union([z.literal('now'), z.number()]).optional(), }) .optional(), subscription_items: z .array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), clear_usage: z.boolean().optional(), deleted: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), id: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), subscription_proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), subscription_proration_date: z.number().optional(), subscription_resume_at: z.literal('now').optional(), subscription_start_date: z.number().optional(), subscription_trial_end: z.union([z.literal('now'), z.number()]).optional(), }) .optional(), }); export const getInvoicesUpcomingLinesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), coupon: z.string().optional(), currency: z.string().optional(), customer: z.string().optional(), customer_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), shipping: z .union([ z.object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), name: z.string(), phone: z.string().optional(), }), z.literal(''), ]) .optional(), tax: z .object({ ip_address: z.union([z.string(), z.literal('')]).optional(), }) .optional(), tax_exempt: z.union([z.literal(''), z.literal('exempt'), z.literal('none'), z.literal('reverse')]).optional(), tax_ids: z .array( z.object({ type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string(), }), ) .optional(), }) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), invoice_items: z .array( z.object({ amount: z.number().optional(), currency: z.string().optional(), description: z.string().optional(), discountable: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), invoiceitem: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), period: z .object({ end: z.number(), start: z.number(), }) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), tax_code: z.union([z.string(), z.literal('')]).optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), ) .optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), limit: z.number().optional(), on_behalf_of: z.union([z.string(), z.literal('')]).optional(), preview_mode: z.union([z.literal('next'), z.literal('recurring')]).optional(), schedule: z.string().optional(), schedule_details: z .object({ end_behavior: z.union([z.literal('cancel'), z.literal('release')]).optional(), phases: z .array( z.object({ add_invoice_items: z .array( z.object({ discounts: z .array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), application_fee_percent: z.number().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_cycle_anchor: z.union([z.literal('automatic'), z.literal('phase_start')]).optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), coupon: z.string().optional(), default_payment_method: z.string().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), description: z.union([z.string(), z.literal('')]).optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), end_date: z.union([z.number(), z.literal('now')]).optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), days_until_due: z.number().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), items: z.array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), metadata: z.record(z.string()).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([ z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ), iterations: z.number().optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.string().optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), start_date: z.union([z.number(), z.literal('now')]).optional(), transfer_data: z .object({ amount_percent: z.number().optional(), destination: z.string(), }) .optional(), trial: z.boolean().optional(), trial_end: z.union([z.number(), z.literal('now')]).optional(), }), ) .optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), }) .optional(), starting_after: z.string().optional(), subscription: z.string().optional(), subscription_billing_cycle_anchor: z.union([z.literal('now'), z.literal('unchanged'), z.number()]).optional(), subscription_cancel_at: z.union([z.number(), z.literal('')]).optional(), subscription_cancel_at_period_end: z.boolean().optional(), subscription_cancel_now: z.boolean().optional(), subscription_default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), subscription_details: z .object({ billing_cycle_anchor: z.union([z.literal('now'), z.literal('unchanged'), z.number()]).optional(), cancel_at: z.union([z.number(), z.literal('')]).optional(), cancel_at_period_end: z.boolean().optional(), cancel_now: z.boolean().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), items: z .array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), clear_usage: z.boolean().optional(), deleted: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), id: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), proration_date: z.number().optional(), resume_at: z.literal('now').optional(), start_date: z.number().optional(), trial_end: z.union([z.literal('now'), z.number()]).optional(), }) .optional(), subscription_items: z .array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), clear_usage: z.boolean().optional(), deleted: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), id: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), subscription_proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), subscription_proration_date: z.number().optional(), subscription_resume_at: z.literal('now').optional(), subscription_start_date: z.number().optional(), subscription_trial_end: z.union([z.literal('now'), z.number()]).optional(), }) .optional(), }); export const deleteInvoicesInvoiceDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ invoice: z.string(), }), }); export const deleteInvoicesInvoiceResponseSchema = deletedInvoiceSchema; export const getInvoicesInvoiceDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ invoice: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postInvoicesInvoiceDataSchema = z.object({ body: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), application_fee_amount: z.number().optional(), auto_advance: z.boolean().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), custom_fields: z .union([ z.array( z.object({ name: z.string(), value: z.string(), }), ), z.literal(''), ]) .optional(), days_until_due: z.number().optional(), default_payment_method: z.string().optional(), default_source: z.union([z.string(), z.literal('')]).optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), description: z.string().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), due_date: z.number().optional(), effective_at: z.union([z.number(), z.literal('')]).optional(), expand: z.array(z.string()).optional(), footer: z.string().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), number: z.union([z.string(), z.literal('')]).optional(), on_behalf_of: z.union([z.string(), z.literal('')]).optional(), payment_settings: z .object({ default_mandate: z.union([z.string(), z.literal('')]).optional(), payment_method_options: z .object({ acss_debit: z .union([ z.object({ mandate_options: z .object({ transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), bancontact: z .union([ z.object({ preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional(), }), z.literal(''), ]) .optional(), card: z .union([ z.object({ installments: z .object({ enabled: z.boolean().optional(), plan: z .union([ z.object({ count: z.number(), interval: z.literal('month'), type: z.literal('fixed_count'), }), z.literal(''), ]) .optional(), }) .optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), }), z.literal(''), ]) .optional(), customer_balance: z .union([ z.object({ bank_transfer: z .object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), type: z.string().optional(), }) .optional(), funding_type: z.string().optional(), }), z.literal(''), ]) .optional(), konbini: z.union([z.record(z.unknown()), z.literal('')]).optional(), sepa_debit: z.union([z.record(z.unknown()), z.literal('')]).optional(), us_bank_account: z .union([ z.object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), payment_method_types: z .union([ z.array( z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('acss_debit'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('konbini'), z.literal('link'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ), z.literal(''), ]) .optional(), }) .optional(), rendering: z .object({ amount_tax_display: z .union([z.literal(''), z.literal('exclude_tax'), z.literal('include_inclusive_tax')]) .optional(), pdf: z .object({ page_size: z.union([z.literal('a4'), z.literal('auto'), z.literal('letter')]).optional(), }) .optional(), }) .optional(), shipping_cost: z .union([ z.object({ shipping_rate: z.string().optional(), shipping_rate_data: z .object({ delivery_estimate: z .object({ maximum: z .object({ unit: z.union([ z.literal('business_day'), z.literal('day'), z.literal('hour'), z.literal('month'), z.literal('week'), ]), value: z.number(), }) .optional(), minimum: z .object({ unit: z.union([ z.literal('business_day'), z.literal('day'), z.literal('hour'), z.literal('month'), z.literal('week'), ]), value: z.number(), }) .optional(), }) .optional(), display_name: z.string(), fixed_amount: z .object({ amount: z.number(), currency: z.string(), currency_options: z .record( z.object({ amount: z.number(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), }), ) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), tax_code: z.string().optional(), type: z.literal('fixed_amount').optional(), }) .optional(), }), z.literal(''), ]) .optional(), shipping_details: z .union([ z.object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), name: z.string(), phone: z.union([z.string(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), statement_descriptor: z.string().optional(), transfer_data: z .union([ z.object({ amount: z.number().optional(), destination: z.string(), }), z.literal(''), ]) .optional(), }) .optional(), path: z.object({ invoice: z.string(), }), }); export const postInvoicesInvoiceFinalizeDataSchema = z.object({ body: z .object({ auto_advance: z.boolean().optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ invoice: z.string(), }), }); export const getInvoicesInvoiceLinesDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ invoice: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postInvoicesInvoiceLinesLineItemIdDataSchema = z.object({ body: z .object({ amount: z.number().optional(), description: z.string().optional(), discountable: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), period: z .object({ end: z.number(), start: z.number(), }) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string().optional(), product_data: z .object({ description: z.string().optional(), images: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), name: z.string(), tax_code: z.string().optional(), }) .optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_amounts: z .union([ z.array( z.object({ amount: z.number(), tax_rate_data: z.object({ country: z.string().optional(), description: z.string().optional(), display_name: z.string(), inclusive: z.boolean(), jurisdiction: z.string().optional(), percentage: z.number(), state: z.string().optional(), tax_type: z .union([ z.literal('amusement_tax'), z.literal('communications_tax'), z.literal('gst'), z.literal('hst'), z.literal('igst'), z.literal('jct'), z.literal('lease_tax'), z.literal('pst'), z.literal('qst'), z.literal('rst'), z.literal('sales_tax'), z.literal('vat'), ]) .optional(), }), taxable_amount: z.number(), }), ), z.literal(''), ]) .optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ invoice: z.string(), line_item_id: z.string(), }), }); export const postInvoicesInvoiceMarkUncollectibleDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ invoice: z.string(), }), }); export const postInvoicesInvoicePayDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), forgive: z.boolean().optional(), mandate: z.union([z.string(), z.literal('')]).optional(), off_session: z.boolean().optional(), paid_out_of_band: z.boolean().optional(), payment_method: z.string().optional(), source: z.string().optional(), }) .optional(), path: z.object({ invoice: z.string(), }), }); export const postInvoicesInvoiceSendDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ invoice: z.string(), }), }); export const postInvoicesInvoiceVoidDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ invoice: z.string(), }), }); export const getIssuingAuthorizationsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ card: z.string().optional(), cardholder: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z.union([z.literal('closed'), z.literal('pending'), z.literal('reversed')]).optional(), }) .optional(), }); export const getIssuingAuthorizationsAuthorizationDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ authorization: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postIssuingAuthorizationsAuthorizationDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ authorization: z.string(), }), }); export const postIssuingAuthorizationsAuthorizationApproveDataSchema = z.object({ body: z .object({ amount: z.number().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ authorization: z.string(), }), }); export const postIssuingAuthorizationsAuthorizationDeclineDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ authorization: z.string(), }), }); export const getIssuingCardholdersDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), email: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), phone_number: z.string().optional(), starting_after: z.string().optional(), status: z.union([z.literal('active'), z.literal('blocked'), z.literal('inactive')]).optional(), type: z.union([z.literal('company'), z.literal('individual')]).optional(), }) .optional(), }); export const postIssuingCardholdersDataSchema = z.object({ body: z.object({ billing: z.object({ address: z.object({ city: z.string(), country: z.string(), line1: z.string(), line2: z.string().optional(), postal_code: z.string(), state: z.string().optional(), }), }), company: z .object({ tax_id: z.string().optional(), }) .optional(), email: z.string().optional(), expand: z.array(z.string()).optional(), individual: z .object({ card_issuing: z .object({ user_terms_acceptance: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), dob: z .object({ day: z.number(), month: z.number(), year: z.number(), }) .optional(), first_name: z.string().optional(), last_name: z.string().optional(), verification: z .object({ document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), name: z.string(), phone_number: z.string().optional(), preferred_locales: z .array(z.union([z.literal('de'), z.literal('en'), z.literal('es'), z.literal('fr'), z.literal('it')])) .optional(), spending_controls: z .object({ allowed_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), allowed_merchant_countries: z.array(z.string()).optional(), blocked_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), blocked_merchant_countries: z.array(z.string()).optional(), spending_limits: z .array( z.object({ amount: z.number(), categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), interval: z.union([ z.literal('all_time'), z.literal('daily'), z.literal('monthly'), z.literal('per_authorization'), z.literal('weekly'), z.literal('yearly'), ]), }), ) .optional(), spending_limits_currency: z.string().optional(), }) .optional(), status: z.union([z.literal('active'), z.literal('inactive')]).optional(), type: z.union([z.literal('company'), z.literal('individual')]).optional(), }), }); export const getIssuingCardholdersCardholderDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ cardholder: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postIssuingCardholdersCardholderDataSchema = z.object({ body: z .object({ billing: z .object({ address: z.object({ city: z.string(), country: z.string(), line1: z.string(), line2: z.string().optional(), postal_code: z.string(), state: z.string().optional(), }), }) .optional(), company: z .object({ tax_id: z.string().optional(), }) .optional(), email: z.string().optional(), expand: z.array(z.string()).optional(), individual: z .object({ card_issuing: z .object({ user_terms_acceptance: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), dob: z .object({ day: z.number(), month: z.number(), year: z.number(), }) .optional(), first_name: z.string().optional(), last_name: z.string().optional(), verification: z .object({ document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), phone_number: z.string().optional(), preferred_locales: z .array(z.union([z.literal('de'), z.literal('en'), z.literal('es'), z.literal('fr'), z.literal('it')])) .optional(), spending_controls: z .object({ allowed_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), allowed_merchant_countries: z.array(z.string()).optional(), blocked_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), blocked_merchant_countries: z.array(z.string()).optional(), spending_limits: z .array( z.object({ amount: z.number(), categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), interval: z.union([ z.literal('all_time'), z.literal('daily'), z.literal('monthly'), z.literal('per_authorization'), z.literal('weekly'), z.literal('yearly'), ]), }), ) .optional(), spending_limits_currency: z.string().optional(), }) .optional(), status: z.union([z.literal('active'), z.literal('inactive')]).optional(), }) .optional(), path: z.object({ cardholder: z.string(), }), }); export const getIssuingCardsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ cardholder: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), exp_month: z.number().optional(), exp_year: z.number().optional(), expand: z.array(z.string()).optional(), last4: z.string().optional(), limit: z.number().optional(), personalization_design: z.string().optional(), starting_after: z.string().optional(), status: z.union([z.literal('active'), z.literal('canceled'), z.literal('inactive')]).optional(), type: z.union([z.literal('physical'), z.literal('virtual')]).optional(), }) .optional(), }); export const postIssuingCardsDataSchema = z.object({ body: z.object({ cardholder: z.string().optional(), currency: z.string(), expand: z.array(z.string()).optional(), financial_account: z.string().optional(), metadata: z.record(z.string()).optional(), personalization_design: z.string().optional(), pin: z .object({ encrypted_number: z.string().optional(), }) .optional(), replacement_for: z.string().optional(), replacement_reason: z .union([z.literal('damaged'), z.literal('expired'), z.literal('lost'), z.literal('stolen')]) .optional(), second_line: z.union([z.string(), z.literal('')]).optional(), shipping: z .object({ address: z.object({ city: z.string(), country: z.string(), line1: z.string(), line2: z.string().optional(), postal_code: z.string(), state: z.string().optional(), }), customs: z .object({ eori_number: z.string().optional(), }) .optional(), name: z.string(), phone_number: z.string().optional(), require_signature: z.boolean().optional(), service: z.union([z.literal('express'), z.literal('priority'), z.literal('standard')]).optional(), type: z.union([z.literal('bulk'), z.literal('individual')]).optional(), }) .optional(), spending_controls: z .object({ allowed_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), allowed_merchant_countries: z.array(z.string()).optional(), blocked_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), blocked_merchant_countries: z.array(z.string()).optional(), spending_limits: z .array( z.object({ amount: z.number(), categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), interval: z.union([ z.literal('all_time'), z.literal('daily'), z.literal('monthly'), z.literal('per_authorization'), z.literal('weekly'), z.literal('yearly'), ]), }), ) .optional(), }) .optional(), status: z.union([z.literal('active'), z.literal('inactive')]).optional(), type: z.union([z.literal('physical'), z.literal('virtual')]), }), }); export const getIssuingCardsCardDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ card: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postIssuingCardsCardDataSchema = z.object({ body: z .object({ cancellation_reason: z.union([z.literal('lost'), z.literal('stolen')]).optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), personalization_design: z.string().optional(), pin: z .object({ encrypted_number: z.string().optional(), }) .optional(), spending_controls: z .object({ allowed_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), allowed_merchant_countries: z.array(z.string()).optional(), blocked_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), blocked_merchant_countries: z.array(z.string()).optional(), spending_limits: z .array( z.object({ amount: z.number(), categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional(), interval: z.union([ z.literal('all_time'), z.literal('daily'), z.literal('monthly'), z.literal('per_authorization'), z.literal('weekly'), z.literal('yearly'), ]), }), ) .optional(), }) .optional(), status: z.union([z.literal('active'), z.literal('canceled'), z.literal('inactive')]).optional(), }) .optional(), path: z.object({ card: z.string(), }), }); export const getIssuingDisputesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z .union([ z.literal('expired'), z.literal('lost'), z.literal('submitted'), z.literal('unsubmitted'), z.literal('won'), ]) .optional(), transaction: z.string().optional(), }) .optional(), }); export const postIssuingDisputesDataSchema = z.object({ body: z .object({ amount: z.number().optional(), evidence: z .object({ canceled: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), canceled_at: z.union([z.number(), z.literal('')]).optional(), cancellation_policy_provided: z.union([z.boolean(), z.literal('')]).optional(), cancellation_reason: z.union([z.string(), z.literal('')]).optional(), expected_at: z.union([z.number(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), product_description: z.union([z.string(), z.literal('')]).optional(), product_type: z.union([z.literal(''), z.literal('merchandise'), z.literal('service')]).optional(), return_status: z .union([z.literal(''), z.literal('merchant_rejected'), z.literal('successful')]) .optional(), returned_at: z.union([z.number(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), duplicate: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), card_statement: z.union([z.string(), z.literal('')]).optional(), cash_receipt: z.union([z.string(), z.literal('')]).optional(), check_image: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), original_transaction: z.string().optional(), }), z.literal(''), ]) .optional(), fraudulent: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), merchandise_not_as_described: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), received_at: z.union([z.number(), z.literal('')]).optional(), return_description: z.union([z.string(), z.literal('')]).optional(), return_status: z .union([z.literal(''), z.literal('merchant_rejected'), z.literal('successful')]) .optional(), returned_at: z.union([z.number(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), no_valid_authorization: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), not_received: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), expected_at: z.union([z.number(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), product_description: z.union([z.string(), z.literal('')]).optional(), product_type: z.union([z.literal(''), z.literal('merchandise'), z.literal('service')]).optional(), }), z.literal(''), ]) .optional(), other: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), product_description: z.union([z.string(), z.literal('')]).optional(), product_type: z.union([z.literal(''), z.literal('merchandise'), z.literal('service')]).optional(), }), z.literal(''), ]) .optional(), reason: z .union([ z.literal('canceled'), z.literal('duplicate'), z.literal('fraudulent'), z.literal('merchandise_not_as_described'), z.literal('no_valid_authorization'), z.literal('not_received'), z.literal('other'), z.literal('service_not_as_described'), ]) .optional(), service_not_as_described: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), canceled_at: z.union([z.number(), z.literal('')]).optional(), cancellation_reason: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), received_at: z.union([z.number(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), }) .optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), transaction: z.string().optional(), treasury: z .object({ received_debit: z.string(), }) .optional(), }) .optional(), }); export const getIssuingDisputesDisputeDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ dispute: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postIssuingDisputesDisputeDataSchema = z.object({ body: z .object({ amount: z.number().optional(), evidence: z .object({ canceled: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), canceled_at: z.union([z.number(), z.literal('')]).optional(), cancellation_policy_provided: z.union([z.boolean(), z.literal('')]).optional(), cancellation_reason: z.union([z.string(), z.literal('')]).optional(), expected_at: z.union([z.number(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), product_description: z.union([z.string(), z.literal('')]).optional(), product_type: z.union([z.literal(''), z.literal('merchandise'), z.literal('service')]).optional(), return_status: z .union([z.literal(''), z.literal('merchant_rejected'), z.literal('successful')]) .optional(), returned_at: z.union([z.number(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), duplicate: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), card_statement: z.union([z.string(), z.literal('')]).optional(), cash_receipt: z.union([z.string(), z.literal('')]).optional(), check_image: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), original_transaction: z.string().optional(), }), z.literal(''), ]) .optional(), fraudulent: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), merchandise_not_as_described: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), received_at: z.union([z.number(), z.literal('')]).optional(), return_description: z.union([z.string(), z.literal('')]).optional(), return_status: z .union([z.literal(''), z.literal('merchant_rejected'), z.literal('successful')]) .optional(), returned_at: z.union([z.number(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), no_valid_authorization: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), not_received: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), expected_at: z.union([z.number(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), product_description: z.union([z.string(), z.literal('')]).optional(), product_type: z.union([z.literal(''), z.literal('merchandise'), z.literal('service')]).optional(), }), z.literal(''), ]) .optional(), other: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), product_description: z.union([z.string(), z.literal('')]).optional(), product_type: z.union([z.literal(''), z.literal('merchandise'), z.literal('service')]).optional(), }), z.literal(''), ]) .optional(), reason: z .union([ z.literal('canceled'), z.literal('duplicate'), z.literal('fraudulent'), z.literal('merchandise_not_as_described'), z.literal('no_valid_authorization'), z.literal('not_received'), z.literal('other'), z.literal('service_not_as_described'), ]) .optional(), service_not_as_described: z .union([ z.object({ additional_documentation: z.union([z.string(), z.literal('')]).optional(), canceled_at: z.union([z.number(), z.literal('')]).optional(), cancellation_reason: z.union([z.string(), z.literal('')]).optional(), explanation: z.union([z.string(), z.literal('')]).optional(), received_at: z.union([z.number(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), }) .optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ dispute: z.string(), }), }); export const postIssuingDisputesDisputeSubmitDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ dispute: z.string(), }), }); export const getIssuingPersonalizationDesignsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), lookup_keys: z.array(z.string()).optional(), preferences: z .object({ is_default: z.boolean().optional(), is_platform_default: z.boolean().optional(), }) .optional(), starting_after: z.string().optional(), status: z .union([z.literal('active'), z.literal('inactive'), z.literal('rejected'), z.literal('review')]) .optional(), }) .optional(), }); export const postIssuingPersonalizationDesignsDataSchema = z.object({ body: z.object({ card_logo: z.string().optional(), carrier_text: z .object({ footer_body: z.union([z.string(), z.literal('')]).optional(), footer_title: z.union([z.string(), z.literal('')]).optional(), header_body: z.union([z.string(), z.literal('')]).optional(), header_title: z.union([z.string(), z.literal('')]).optional(), }) .optional(), expand: z.array(z.string()).optional(), lookup_key: z.string().optional(), metadata: z.record(z.string()).optional(), name: z.string().optional(), physical_bundle: z.string(), preferences: z .object({ is_default: z.boolean(), }) .optional(), transfer_lookup_key: z.boolean().optional(), }), }); export const getIssuingPersonalizationDesignsPersonalizationDesignDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ personalization_design: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postIssuingPersonalizationDesignsPersonalizationDesignDataSchema = z.object({ body: z .object({ card_logo: z.union([z.string(), z.literal('')]).optional(), carrier_text: z .union([ z.object({ footer_body: z.union([z.string(), z.literal('')]).optional(), footer_title: z.union([z.string(), z.literal('')]).optional(), header_body: z.union([z.string(), z.literal('')]).optional(), header_title: z.union([z.string(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), lookup_key: z.union([z.string(), z.literal('')]).optional(), metadata: z.record(z.string()).optional(), name: z.union([z.string(), z.literal('')]).optional(), physical_bundle: z.string().optional(), preferences: z .object({ is_default: z.boolean(), }) .optional(), transfer_lookup_key: z.boolean().optional(), }) .optional(), path: z.object({ personalization_design: z.string(), }), }); export const getIssuingPhysicalBundlesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z.union([z.literal('active'), z.literal('inactive'), z.literal('review')]).optional(), type: z.union([z.literal('custom'), z.literal('standard')]).optional(), }) .optional(), }); export const issuingPhysicalBundleSchema = z.object({ features: issuingPhysicalBundleFeaturesSchema, id: z.string(), livemode: z.boolean(), name: z.string(), object: z.literal('issuing.physical_bundle'), status: z.union([z.literal('active'), z.literal('inactive'), z.literal('review')]), type: z.union([z.literal('custom'), z.literal('standard')]), }); export const getIssuingPhysicalBundlesPhysicalBundleDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ physical_bundle: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getIssuingPhysicalBundlesPhysicalBundleResponseSchema = issuingPhysicalBundleSchema; export const getIssuingSettlementsSettlementDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ settlement: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getIssuingSettlementsSettlementResponseSchema = issuingSettlementSchema; export const postIssuingSettlementsSettlementDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), }) .optional(), path: z.object({ settlement: z.string(), }), }); export const postIssuingSettlementsSettlementResponseSchema = issuingSettlementSchema; export const getIssuingTokensDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ card: z.string(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z .union([z.literal('active'), z.literal('deleted'), z.literal('requested'), z.literal('suspended')]) .optional(), }), }); export const getIssuingTokensTokenDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ token: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postIssuingTokensTokenDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), status: z.union([z.literal('active'), z.literal('deleted'), z.literal('suspended')]), }), path: z.object({ token: z.string(), }), }); export const getIssuingTransactionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ card: z.string().optional(), cardholder: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), type: z.union([z.literal('capture'), z.literal('refund')]).optional(), }) .optional(), }); export const getIssuingTransactionsTransactionDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ transaction: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postIssuingTransactionsTransactionDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ transaction: z.string(), }), }); export const postLinkAccountSessionsDataSchema = z.object({ body: z.object({ account_holder: z.object({ account: z.string().optional(), customer: z.string().optional(), type: z.union([z.literal('account'), z.literal('customer')]), }), expand: z.array(z.string()).optional(), filters: z .object({ countries: z.array(z.string()).optional(), }) .optional(), permissions: z.array( z.union([z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions')]), ), prefetch: z.array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])).optional(), return_url: z.string().optional(), }), }); export const getLinkAccountSessionsSessionDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ session: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getLinkedAccountsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ account_holder: z .object({ account: z.string().optional(), customer: z.string().optional(), }) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), session: z.string().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getLinkedAccountsAccountDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postLinkedAccountsAccountDisconnectDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ account: z.string(), }), }); export const getLinkedAccountsAccountOwnersDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ account: z.string(), }), query: z.object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), ownership: z.string(), starting_after: z.string().optional(), }), }); export const getLinkedAccountsAccountOwnersResponseSchema = z.object({ data: z.array(financialConnectionsAccountOwnerSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postLinkedAccountsAccountRefreshDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), features: z.array(z.union([z.literal('balance'), z.literal('ownership'), z.literal('transactions')])), }), path: z.object({ account: z.string(), }), }); export const getMandatesMandateDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ mandate: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getPaymentIntentsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postPaymentIntentsDataSchema = z.object({ body: z.object({ amount: z.number(), application_fee_amount: z.number().optional(), automatic_payment_methods: z .object({ allow_redirects: z.union([z.literal('always'), z.literal('never')]).optional(), enabled: z.boolean(), }) .optional(), capture_method: z.union([z.literal('automatic'), z.literal('automatic_async'), z.literal('manual')]).optional(), confirm: z.boolean().optional(), confirmation_method: z.union([z.literal('automatic'), z.literal('manual')]).optional(), confirmation_token: z.string().optional(), currency: z.string(), customer: z.string().optional(), description: z.string().optional(), error_on_requires_action: z.boolean().optional(), expand: z.array(z.string()).optional(), mandate: z.string().optional(), mandate_data: z .union([ z.object({ customer_acceptance: z.object({ accepted_at: z.number().optional(), offline: z.record(z.unknown()).optional(), online: z .object({ ip_address: z.string(), user_agent: z.string(), }) .optional(), type: z.union([z.literal('offline'), z.literal('online')]), }), }), z.literal(''), ]) .optional(), metadata: z.record(z.string()).optional(), off_session: z.union([z.boolean(), z.literal('one_off'), z.literal('recurring')]).optional(), on_behalf_of: z.string().optional(), payment_method: z.string().optional(), payment_method_configuration: z.string().optional(), payment_method_data: z .object({ acss_debit: z .object({ account_number: z.string(), institution_number: z.string(), transit_number: z.string(), }) .optional(), affirm: z.record(z.unknown()).optional(), afterpay_clearpay: z.record(z.unknown()).optional(), alipay: z.record(z.unknown()).optional(), allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), amazon_pay: z.record(z.unknown()).optional(), au_becs_debit: z .object({ account_number: z.string(), bsb_number: z.string(), }) .optional(), bacs_debit: z .object({ account_number: z.string().optional(), sort_code: z.string().optional(), }) .optional(), bancontact: z.record(z.unknown()).optional(), billing_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), email: z.union([z.string(), z.literal('')]).optional(), name: z.union([z.string(), z.literal('')]).optional(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), blik: z.record(z.unknown()).optional(), boleto: z .object({ tax_id: z.string(), }) .optional(), cashapp: z.record(z.unknown()).optional(), customer_balance: z.record(z.unknown()).optional(), eps: z .object({ bank: z .union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]) .optional(), }) .optional(), fpx: z .object({ bank: z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]), }) .optional(), giropay: z.record(z.unknown()).optional(), grabpay: z.record(z.unknown()).optional(), ideal: z .object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional(), }) .optional(), interac_present: z.record(z.unknown()).optional(), klarna: z .object({ dob: z .object({ day: z.number(), month: z.number(), year: z.number(), }) .optional(), }) .optional(), konbini: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), metadata: z.record(z.string()).optional(), mobilepay: z.record(z.unknown()).optional(), multibanco: z.record(z.unknown()).optional(), oxxo: z.record(z.unknown()).optional(), p24: z .object({ bank: z .union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]) .optional(), }) .optional(), paynow: z.record(z.unknown()).optional(), paypal: z.record(z.unknown()).optional(), pix: z.record(z.unknown()).optional(), promptpay: z.record(z.unknown()).optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), revolut_pay: z.record(z.unknown()).optional(), sepa_debit: z .object({ iban: z.string(), }) .optional(), sofort: z .object({ country: z.union([ z.literal('AT'), z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('IT'), z.literal('NL'), ]), }) .optional(), swish: z.record(z.unknown()).optional(), twint: z.record(z.unknown()).optional(), type: z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]), us_bank_account: z .object({ account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string().optional(), account_type: z.union([z.literal('checking'), z.literal('savings')]).optional(), financial_connections_account: z.string().optional(), routing_number: z.string().optional(), }) .optional(), wechat_pay: z.record(z.unknown()).optional(), zip: z.record(z.unknown()).optional(), }) .optional(), payment_method_options: z .object({ acss_debit: z .union([ z.object({ mandate_options: z .object({ custom_mandate_url: z.union([z.string(), z.literal('')]).optional(), interval_description: z.string().optional(), payment_schedule: z .union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]) .optional(), transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), affirm: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), preferred_locale: z.string().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), afterpay_clearpay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), reference: z.string().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), alipay: z .union([ z.object({ setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), amazon_pay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), au_becs_debit: z .union([ z.object({ setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), bacs_debit: z .union([ z.object({ setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), bancontact: z .union([ z.object({ preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), blik: z .union([ z.object({ code: z.string().optional(), setup_future_usage: z.union([z.literal(''), z.literal('none')]).optional(), }), z.literal(''), ]) .optional(), boleto: z .union([ z.object({ expires_after_days: z.number().optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), card: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), cvc_token: z.string().optional(), installments: z .object({ enabled: z.boolean().optional(), plan: z .union([ z.object({ count: z.number(), interval: z.literal('month'), type: z.literal('fixed_count'), }), z.literal(''), ]) .optional(), }) .optional(), mandate_options: z .object({ amount: z.number(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]), description: z.string().optional(), end_date: z.number().optional(), interval: z.union([ z.literal('day'), z.literal('month'), z.literal('sporadic'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional(), reference: z.string(), start_date: z.number(), supported_types: z.array(z.literal('india')).optional(), }) .optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional(), request_extended_authorization: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_incremental_authorization: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_multicapture: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_overcapture: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), require_cvc_recollection: z.boolean().optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), statement_descriptor_suffix_kana: z.union([z.string(), z.literal('')]).optional(), statement_descriptor_suffix_kanji: z.union([z.string(), z.literal('')]).optional(), three_d_secure: z .object({ ares_trans_status: z .union([ z.literal('A'), z.literal('C'), z.literal('I'), z.literal('N'), z.literal('R'), z.literal('U'), z.literal('Y'), ]) .optional(), cryptogram: z.string(), electronic_commerce_indicator: z .union([z.literal('01'), z.literal('02'), z.literal('05'), z.literal('06'), z.literal('07')]) .optional(), exemption_indicator: z.union([z.literal('low_risk'), z.literal('none')]).optional(), network_options: z .object({ cartes_bancaires: z .object({ cb_avalgo: z.union([ z.literal('0'), z.literal('1'), z.literal('2'), z.literal('3'), z.literal('4'), z.literal('A'), ]), cb_exemption: z.string().optional(), cb_score: z.number().optional(), }) .optional(), }) .optional(), requestor_challenge_indicator: z.string().optional(), transaction_id: z.string(), version: z.union([z.literal('1.0.2'), z.literal('2.1.0'), z.literal('2.2.0')]), }) .optional(), }), z.literal(''), ]) .optional(), card_present: z .union([ z.object({ request_extended_authorization: z.boolean().optional(), request_incremental_authorization_support: z.boolean().optional(), routing: z .object({ requested_priority: z.union([z.literal('domestic'), z.literal('international')]).optional(), }) .optional(), }), z.literal(''), ]) .optional(), cashapp: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), customer_balance: z .union([ z.object({ bank_transfer: z .object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), requested_address_types: z .array( z.union([ z.literal('aba'), z.literal('iban'), z.literal('sepa'), z.literal('sort_code'), z.literal('spei'), z.literal('swift'), z.literal('zengin'), ]), ) .optional(), type: z.union([ z.literal('eu_bank_transfer'), z.literal('gb_bank_transfer'), z.literal('jp_bank_transfer'), z.literal('mx_bank_transfer'), z.literal('us_bank_transfer'), ]), }) .optional(), funding_type: z.literal('bank_transfer').optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), eps: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), fpx: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), giropay: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), grabpay: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), ideal: z .union([ z.object({ setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), interac_present: z.union([z.record(z.unknown()), z.literal('')]).optional(), klarna: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), preferred_locale: z .union([ z.literal('cs-CZ'), z.literal('da-DK'), z.literal('de-AT'), z.literal('de-CH'), z.literal('de-DE'), z.literal('el-GR'), z.literal('en-AT'), z.literal('en-AU'), z.literal('en-BE'), z.literal('en-CA'), z.literal('en-CH'), z.literal('en-CZ'), z.literal('en-DE'), z.literal('en-DK'), z.literal('en-ES'), z.literal('en-FI'), z.literal('en-FR'), z.literal('en-GB'), z.literal('en-GR'), z.literal('en-IE'), z.literal('en-IT'), z.literal('en-NL'), z.literal('en-NO'), z.literal('en-NZ'), z.literal('en-PL'), z.literal('en-PT'), z.literal('en-RO'), z.literal('en-SE'), z.literal('en-US'), z.literal('es-ES'), z.literal('es-US'), z.literal('fi-FI'), z.literal('fr-BE'), z.literal('fr-CA'), z.literal('fr-CH'), z.literal('fr-FR'), z.literal('it-CH'), z.literal('it-IT'), z.literal('nb-NO'), z.literal('nl-BE'), z.literal('nl-NL'), z.literal('pl-PL'), z.literal('pt-PT'), z.literal('ro-RO'), z.literal('sv-FI'), z.literal('sv-SE'), ]) .optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), konbini: z .union([ z.object({ confirmation_number: z.union([z.string(), z.literal('')]).optional(), expires_after_days: z.union([z.number(), z.literal('')]).optional(), expires_at: z.union([z.number(), z.literal('')]).optional(), product_description: z.union([z.string(), z.literal('')]).optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), link: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), mobilepay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), multibanco: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), oxxo: z .union([ z.object({ expires_after_days: z.number().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), p24: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), tos_shown_and_accepted: z.boolean().optional(), }), z.literal(''), ]) .optional(), paynow: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), paypal: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), preferred_locale: z .union([ z.literal('cs-CZ'), z.literal('da-DK'), z.literal('de-AT'), z.literal('de-DE'), z.literal('de-LU'), z.literal('el-GR'), z.literal('en-GB'), z.literal('en-US'), z.literal('es-ES'), z.literal('fi-FI'), z.literal('fr-BE'), z.literal('fr-FR'), z.literal('fr-LU'), z.literal('hu-HU'), z.literal('it-IT'), z.literal('nl-BE'), z.literal('nl-NL'), z.literal('pl-PL'), z.literal('pt-PT'), z.literal('sk-SK'), z.literal('sv-SE'), ]) .optional(), reference: z.string().optional(), risk_correlation_id: z.string().optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), pix: z .union([ z.object({ expires_after_seconds: z.number().optional(), expires_at: z.number().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), promptpay: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), revolut_pay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), sepa_debit: z .union([ z.object({ mandate_options: z.record(z.unknown()).optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), sofort: z .union([ z.object({ preferred_language: z .union([ z.literal(''), z.literal('de'), z.literal('en'), z.literal('es'), z.literal('fr'), z.literal('it'), z.literal('nl'), z.literal('pl'), ]) .optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), swish: z .union([ z.object({ reference: z.union([z.string(), z.literal('')]).optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), twint: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), us_bank_account: z .union([ z.object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), return_url: z.string().optional(), }) .optional(), mandate_options: z .object({ collection_method: z.union([z.literal(''), z.literal('paper')]).optional(), }) .optional(), networks: z .object({ requested: z.array(z.union([z.literal('ach'), z.literal('us_domestic_wire')])).optional(), }) .optional(), preferred_settlement_speed: z .union([z.literal(''), z.literal('fastest'), z.literal('standard')]) .optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), wechat_pay: z .union([ z.object({ app_id: z.string().optional(), client: z.union([z.literal('android'), z.literal('ios'), z.literal('web')]), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), zip: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), }) .optional(), payment_method_types: z.array(z.string()).optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), receipt_email: z.string().optional(), return_url: z.string().optional(), setup_future_usage: z.union([z.literal('off_session'), z.literal('on_session')]).optional(), shipping: z .object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), carrier: z.string().optional(), name: z.string(), phone: z.string().optional(), tracking_number: z.string().optional(), }) .optional(), statement_descriptor: z.string().optional(), statement_descriptor_suffix: z.string().optional(), transfer_data: z .object({ amount: z.number().optional(), destination: z.string(), }) .optional(), transfer_group: z.string().optional(), use_stripe_sdk: z.boolean().optional(), }), }); export const getPaymentIntentsSearchDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ expand: z.array(z.string()).optional(), limit: z.number().optional(), page: z.string().optional(), query: z.string(), }), }); export const getPaymentIntentsIntentDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ intent: z.string(), }), query: z .object({ client_secret: z.string().optional(), expand: z.array(z.string()).optional(), }) .optional(), }); export const postPaymentIntentsIntentDataSchema = z.object({ body: z .object({ amount: z.number().optional(), application_fee_amount: z.union([z.number(), z.literal('')]).optional(), capture_method: z.union([z.literal('automatic'), z.literal('automatic_async'), z.literal('manual')]).optional(), currency: z.string().optional(), customer: z.string().optional(), description: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), payment_method: z.string().optional(), payment_method_configuration: z.string().optional(), payment_method_data: z .object({ acss_debit: z .object({ account_number: z.string(), institution_number: z.string(), transit_number: z.string(), }) .optional(), affirm: z.record(z.unknown()).optional(), afterpay_clearpay: z.record(z.unknown()).optional(), alipay: z.record(z.unknown()).optional(), allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), amazon_pay: z.record(z.unknown()).optional(), au_becs_debit: z .object({ account_number: z.string(), bsb_number: z.string(), }) .optional(), bacs_debit: z .object({ account_number: z.string().optional(), sort_code: z.string().optional(), }) .optional(), bancontact: z.record(z.unknown()).optional(), billing_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), email: z.union([z.string(), z.literal('')]).optional(), name: z.union([z.string(), z.literal('')]).optional(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), blik: z.record(z.unknown()).optional(), boleto: z .object({ tax_id: z.string(), }) .optional(), cashapp: z.record(z.unknown()).optional(), customer_balance: z.record(z.unknown()).optional(), eps: z .object({ bank: z .union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]) .optional(), }) .optional(), fpx: z .object({ bank: z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]), }) .optional(), giropay: z.record(z.unknown()).optional(), grabpay: z.record(z.unknown()).optional(), ideal: z .object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional(), }) .optional(), interac_present: z.record(z.unknown()).optional(), klarna: z .object({ dob: z .object({ day: z.number(), month: z.number(), year: z.number(), }) .optional(), }) .optional(), konbini: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), metadata: z.record(z.string()).optional(), mobilepay: z.record(z.unknown()).optional(), multibanco: z.record(z.unknown()).optional(), oxxo: z.record(z.unknown()).optional(), p24: z .object({ bank: z .union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]) .optional(), }) .optional(), paynow: z.record(z.unknown()).optional(), paypal: z.record(z.unknown()).optional(), pix: z.record(z.unknown()).optional(), promptpay: z.record(z.unknown()).optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), revolut_pay: z.record(z.unknown()).optional(), sepa_debit: z .object({ iban: z.string(), }) .optional(), sofort: z .object({ country: z.union([ z.literal('AT'), z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('IT'), z.literal('NL'), ]), }) .optional(), swish: z.record(z.unknown()).optional(), twint: z.record(z.unknown()).optional(), type: z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]), us_bank_account: z .object({ account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string().optional(), account_type: z.union([z.literal('checking'), z.literal('savings')]).optional(), financial_connections_account: z.string().optional(), routing_number: z.string().optional(), }) .optional(), wechat_pay: z.record(z.unknown()).optional(), zip: z.record(z.unknown()).optional(), }) .optional(), payment_method_options: z .object({ acss_debit: z .union([ z.object({ mandate_options: z .object({ custom_mandate_url: z.union([z.string(), z.literal('')]).optional(), interval_description: z.string().optional(), payment_schedule: z .union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]) .optional(), transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), affirm: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), preferred_locale: z.string().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), afterpay_clearpay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), reference: z.string().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), alipay: z .union([ z.object({ setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), amazon_pay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), au_becs_debit: z .union([ z.object({ setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), bacs_debit: z .union([ z.object({ setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), bancontact: z .union([ z.object({ preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), blik: z .union([ z.object({ code: z.string().optional(), setup_future_usage: z.union([z.literal(''), z.literal('none')]).optional(), }), z.literal(''), ]) .optional(), boleto: z .union([ z.object({ expires_after_days: z.number().optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), card: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), cvc_token: z.string().optional(), installments: z .object({ enabled: z.boolean().optional(), plan: z .union([ z.object({ count: z.number(), interval: z.literal('month'), type: z.literal('fixed_count'), }), z.literal(''), ]) .optional(), }) .optional(), mandate_options: z .object({ amount: z.number(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]), description: z.string().optional(), end_date: z.number().optional(), interval: z.union([ z.literal('day'), z.literal('month'), z.literal('sporadic'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional(), reference: z.string(), start_date: z.number(), supported_types: z.array(z.literal('india')).optional(), }) .optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional(), request_extended_authorization: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_incremental_authorization: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_multicapture: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_overcapture: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), require_cvc_recollection: z.boolean().optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), statement_descriptor_suffix_kana: z.union([z.string(), z.literal('')]).optional(), statement_descriptor_suffix_kanji: z.union([z.string(), z.literal('')]).optional(), three_d_secure: z .object({ ares_trans_status: z .union([ z.literal('A'), z.literal('C'), z.literal('I'), z.literal('N'), z.literal('R'), z.literal('U'), z.literal('Y'), ]) .optional(), cryptogram: z.string(), electronic_commerce_indicator: z .union([z.literal('01'), z.literal('02'), z.literal('05'), z.literal('06'), z.literal('07')]) .optional(), exemption_indicator: z.union([z.literal('low_risk'), z.literal('none')]).optional(), network_options: z .object({ cartes_bancaires: z .object({ cb_avalgo: z.union([ z.literal('0'), z.literal('1'), z.literal('2'), z.literal('3'), z.literal('4'), z.literal('A'), ]), cb_exemption: z.string().optional(), cb_score: z.number().optional(), }) .optional(), }) .optional(), requestor_challenge_indicator: z.string().optional(), transaction_id: z.string(), version: z.union([z.literal('1.0.2'), z.literal('2.1.0'), z.literal('2.2.0')]), }) .optional(), }), z.literal(''), ]) .optional(), card_present: z .union([ z.object({ request_extended_authorization: z.boolean().optional(), request_incremental_authorization_support: z.boolean().optional(), routing: z .object({ requested_priority: z.union([z.literal('domestic'), z.literal('international')]).optional(), }) .optional(), }), z.literal(''), ]) .optional(), cashapp: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), customer_balance: z .union([ z.object({ bank_transfer: z .object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), requested_address_types: z .array( z.union([ z.literal('aba'), z.literal('iban'), z.literal('sepa'), z.literal('sort_code'), z.literal('spei'), z.literal('swift'), z.literal('zengin'), ]), ) .optional(), type: z.union([ z.literal('eu_bank_transfer'), z.literal('gb_bank_transfer'), z.literal('jp_bank_transfer'), z.literal('mx_bank_transfer'), z.literal('us_bank_transfer'), ]), }) .optional(), funding_type: z.literal('bank_transfer').optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), eps: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), fpx: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), giropay: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), grabpay: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), ideal: z .union([ z.object({ setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), interac_present: z.union([z.record(z.unknown()), z.literal('')]).optional(), klarna: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), preferred_locale: z .union([ z.literal('cs-CZ'), z.literal('da-DK'), z.literal('de-AT'), z.literal('de-CH'), z.literal('de-DE'), z.literal('el-GR'), z.literal('en-AT'), z.literal('en-AU'), z.literal('en-BE'), z.literal('en-CA'), z.literal('en-CH'), z.literal('en-CZ'), z.literal('en-DE'), z.literal('en-DK'), z.literal('en-ES'), z.literal('en-FI'), z.literal('en-FR'), z.literal('en-GB'), z.literal('en-GR'), z.literal('en-IE'), z.literal('en-IT'), z.literal('en-NL'), z.literal('en-NO'), z.literal('en-NZ'), z.literal('en-PL'), z.literal('en-PT'), z.literal('en-RO'), z.literal('en-SE'), z.literal('en-US'), z.literal('es-ES'), z.literal('es-US'), z.literal('fi-FI'), z.literal('fr-BE'), z.literal('fr-CA'), z.literal('fr-CH'), z.literal('fr-FR'), z.literal('it-CH'), z.literal('it-IT'), z.literal('nb-NO'), z.literal('nl-BE'), z.literal('nl-NL'), z.literal('pl-PL'), z.literal('pt-PT'), z.literal('ro-RO'), z.literal('sv-FI'), z.literal('sv-SE'), ]) .optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), konbini: z .union([ z.object({ confirmation_number: z.union([z.string(), z.literal('')]).optional(), expires_after_days: z.union([z.number(), z.literal('')]).optional(), expires_at: z.union([z.number(), z.literal('')]).optional(), product_description: z.union([z.string(), z.literal('')]).optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), link: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), mobilepay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), multibanco: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), oxxo: z .union([ z.object({ expires_after_days: z.number().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), p24: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), tos_shown_and_accepted: z.boolean().optional(), }), z.literal(''), ]) .optional(), paynow: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), paypal: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), preferred_locale: z .union([ z.literal('cs-CZ'), z.literal('da-DK'), z.literal('de-AT'), z.literal('de-DE'), z.literal('de-LU'), z.literal('el-GR'), z.literal('en-GB'), z.literal('en-US'), z.literal('es-ES'), z.literal('fi-FI'), z.literal('fr-BE'), z.literal('fr-FR'), z.literal('fr-LU'), z.literal('hu-HU'), z.literal('it-IT'), z.literal('nl-BE'), z.literal('nl-NL'), z.literal('pl-PL'), z.literal('pt-PT'), z.literal('sk-SK'), z.literal('sv-SE'), ]) .optional(), reference: z.string().optional(), risk_correlation_id: z.string().optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), pix: z .union([ z.object({ expires_after_seconds: z.number().optional(), expires_at: z.number().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), promptpay: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), revolut_pay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), sepa_debit: z .union([ z.object({ mandate_options: z.record(z.unknown()).optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), sofort: z .union([ z.object({ preferred_language: z .union([ z.literal(''), z.literal('de'), z.literal('en'), z.literal('es'), z.literal('fr'), z.literal('it'), z.literal('nl'), z.literal('pl'), ]) .optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), swish: z .union([ z.object({ reference: z.union([z.string(), z.literal('')]).optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), twint: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), us_bank_account: z .union([ z.object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), return_url: z.string().optional(), }) .optional(), mandate_options: z .object({ collection_method: z.union([z.literal(''), z.literal('paper')]).optional(), }) .optional(), networks: z .object({ requested: z.array(z.union([z.literal('ach'), z.literal('us_domestic_wire')])).optional(), }) .optional(), preferred_settlement_speed: z .union([z.literal(''), z.literal('fastest'), z.literal('standard')]) .optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), wechat_pay: z .union([ z.object({ app_id: z.string().optional(), client: z.union([z.literal('android'), z.literal('ios'), z.literal('web')]), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), zip: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), }) .optional(), payment_method_types: z.array(z.string()).optional(), receipt_email: z.union([z.string(), z.literal('')]).optional(), setup_future_usage: z.union([z.literal(''), z.literal('off_session'), z.literal('on_session')]).optional(), shipping: z .union([ z.object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), carrier: z.string().optional(), name: z.string(), phone: z.string().optional(), tracking_number: z.string().optional(), }), z.literal(''), ]) .optional(), statement_descriptor: z.string().optional(), statement_descriptor_suffix: z.string().optional(), transfer_data: z .object({ amount: z.number().optional(), }) .optional(), transfer_group: z.string().optional(), }) .optional(), path: z.object({ intent: z.string(), }), }); export const postPaymentIntentsIntentApplyCustomerBalanceDataSchema = z.object({ body: z .object({ amount: z.number().optional(), currency: z.string().optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ intent: z.string(), }), }); export const postPaymentIntentsIntentCancelDataSchema = z.object({ body: z .object({ cancellation_reason: z .union([ z.literal('abandoned'), z.literal('duplicate'), z.literal('fraudulent'), z.literal('requested_by_customer'), ]) .optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ intent: z.string(), }), }); export const postPaymentIntentsIntentCaptureDataSchema = z.object({ body: z .object({ amount_to_capture: z.number().optional(), application_fee_amount: z.number().optional(), expand: z.array(z.string()).optional(), final_capture: z.boolean().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), statement_descriptor: z.string().optional(), statement_descriptor_suffix: z.string().optional(), transfer_data: z .object({ amount: z.number().optional(), }) .optional(), }) .optional(), path: z.object({ intent: z.string(), }), }); export const postPaymentIntentsIntentConfirmDataSchema = z.object({ body: z .object({ capture_method: z.union([z.literal('automatic'), z.literal('automatic_async'), z.literal('manual')]).optional(), client_secret: z.string().optional(), confirmation_token: z.string().optional(), error_on_requires_action: z.boolean().optional(), expand: z.array(z.string()).optional(), mandate: z.string().optional(), mandate_data: z .union([ z.object({ customer_acceptance: z.object({ accepted_at: z.number().optional(), offline: z.record(z.unknown()).optional(), online: z .object({ ip_address: z.string(), user_agent: z.string(), }) .optional(), type: z.union([z.literal('offline'), z.literal('online')]), }), }), z.literal(''), z.object({ customer_acceptance: z.object({ online: z.object({ ip_address: z.string().optional(), user_agent: z.string().optional(), }), type: z.literal('online'), }), }), ]) .optional(), off_session: z.union([z.boolean(), z.literal('one_off'), z.literal('recurring')]).optional(), payment_method: z.string().optional(), payment_method_data: z .object({ acss_debit: z .object({ account_number: z.string(), institution_number: z.string(), transit_number: z.string(), }) .optional(), affirm: z.record(z.unknown()).optional(), afterpay_clearpay: z.record(z.unknown()).optional(), alipay: z.record(z.unknown()).optional(), allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), amazon_pay: z.record(z.unknown()).optional(), au_becs_debit: z .object({ account_number: z.string(), bsb_number: z.string(), }) .optional(), bacs_debit: z .object({ account_number: z.string().optional(), sort_code: z.string().optional(), }) .optional(), bancontact: z.record(z.unknown()).optional(), billing_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), email: z.union([z.string(), z.literal('')]).optional(), name: z.union([z.string(), z.literal('')]).optional(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), blik: z.record(z.unknown()).optional(), boleto: z .object({ tax_id: z.string(), }) .optional(), cashapp: z.record(z.unknown()).optional(), customer_balance: z.record(z.unknown()).optional(), eps: z .object({ bank: z .union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]) .optional(), }) .optional(), fpx: z .object({ bank: z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]), }) .optional(), giropay: z.record(z.unknown()).optional(), grabpay: z.record(z.unknown()).optional(), ideal: z .object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional(), }) .optional(), interac_present: z.record(z.unknown()).optional(), klarna: z .object({ dob: z .object({ day: z.number(), month: z.number(), year: z.number(), }) .optional(), }) .optional(), konbini: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), metadata: z.record(z.string()).optional(), mobilepay: z.record(z.unknown()).optional(), multibanco: z.record(z.unknown()).optional(), oxxo: z.record(z.unknown()).optional(), p24: z .object({ bank: z .union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]) .optional(), }) .optional(), paynow: z.record(z.unknown()).optional(), paypal: z.record(z.unknown()).optional(), pix: z.record(z.unknown()).optional(), promptpay: z.record(z.unknown()).optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), revolut_pay: z.record(z.unknown()).optional(), sepa_debit: z .object({ iban: z.string(), }) .optional(), sofort: z .object({ country: z.union([ z.literal('AT'), z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('IT'), z.literal('NL'), ]), }) .optional(), swish: z.record(z.unknown()).optional(), twint: z.record(z.unknown()).optional(), type: z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]), us_bank_account: z .object({ account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string().optional(), account_type: z.union([z.literal('checking'), z.literal('savings')]).optional(), financial_connections_account: z.string().optional(), routing_number: z.string().optional(), }) .optional(), wechat_pay: z.record(z.unknown()).optional(), zip: z.record(z.unknown()).optional(), }) .optional(), payment_method_options: z .object({ acss_debit: z .union([ z.object({ mandate_options: z .object({ custom_mandate_url: z.union([z.string(), z.literal('')]).optional(), interval_description: z.string().optional(), payment_schedule: z .union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]) .optional(), transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), affirm: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), preferred_locale: z.string().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), afterpay_clearpay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), reference: z.string().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), alipay: z .union([ z.object({ setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), amazon_pay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), au_becs_debit: z .union([ z.object({ setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), bacs_debit: z .union([ z.object({ setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), bancontact: z .union([ z.object({ preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), blik: z .union([ z.object({ code: z.string().optional(), setup_future_usage: z.union([z.literal(''), z.literal('none')]).optional(), }), z.literal(''), ]) .optional(), boleto: z .union([ z.object({ expires_after_days: z.number().optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), card: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), cvc_token: z.string().optional(), installments: z .object({ enabled: z.boolean().optional(), plan: z .union([ z.object({ count: z.number(), interval: z.literal('month'), type: z.literal('fixed_count'), }), z.literal(''), ]) .optional(), }) .optional(), mandate_options: z .object({ amount: z.number(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]), description: z.string().optional(), end_date: z.number().optional(), interval: z.union([ z.literal('day'), z.literal('month'), z.literal('sporadic'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional(), reference: z.string(), start_date: z.number(), supported_types: z.array(z.literal('india')).optional(), }) .optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional(), request_extended_authorization: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_incremental_authorization: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_multicapture: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_overcapture: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), require_cvc_recollection: z.boolean().optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), statement_descriptor_suffix_kana: z.union([z.string(), z.literal('')]).optional(), statement_descriptor_suffix_kanji: z.union([z.string(), z.literal('')]).optional(), three_d_secure: z .object({ ares_trans_status: z .union([ z.literal('A'), z.literal('C'), z.literal('I'), z.literal('N'), z.literal('R'), z.literal('U'), z.literal('Y'), ]) .optional(), cryptogram: z.string(), electronic_commerce_indicator: z .union([z.literal('01'), z.literal('02'), z.literal('05'), z.literal('06'), z.literal('07')]) .optional(), exemption_indicator: z.union([z.literal('low_risk'), z.literal('none')]).optional(), network_options: z .object({ cartes_bancaires: z .object({ cb_avalgo: z.union([ z.literal('0'), z.literal('1'), z.literal('2'), z.literal('3'), z.literal('4'), z.literal('A'), ]), cb_exemption: z.string().optional(), cb_score: z.number().optional(), }) .optional(), }) .optional(), requestor_challenge_indicator: z.string().optional(), transaction_id: z.string(), version: z.union([z.literal('1.0.2'), z.literal('2.1.0'), z.literal('2.2.0')]), }) .optional(), }), z.literal(''), ]) .optional(), card_present: z .union([ z.object({ request_extended_authorization: z.boolean().optional(), request_incremental_authorization_support: z.boolean().optional(), routing: z .object({ requested_priority: z.union([z.literal('domestic'), z.literal('international')]).optional(), }) .optional(), }), z.literal(''), ]) .optional(), cashapp: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), customer_balance: z .union([ z.object({ bank_transfer: z .object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), requested_address_types: z .array( z.union([ z.literal('aba'), z.literal('iban'), z.literal('sepa'), z.literal('sort_code'), z.literal('spei'), z.literal('swift'), z.literal('zengin'), ]), ) .optional(), type: z.union([ z.literal('eu_bank_transfer'), z.literal('gb_bank_transfer'), z.literal('jp_bank_transfer'), z.literal('mx_bank_transfer'), z.literal('us_bank_transfer'), ]), }) .optional(), funding_type: z.literal('bank_transfer').optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), eps: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), fpx: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), giropay: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), grabpay: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), ideal: z .union([ z.object({ setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), interac_present: z.union([z.record(z.unknown()), z.literal('')]).optional(), klarna: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), preferred_locale: z .union([ z.literal('cs-CZ'), z.literal('da-DK'), z.literal('de-AT'), z.literal('de-CH'), z.literal('de-DE'), z.literal('el-GR'), z.literal('en-AT'), z.literal('en-AU'), z.literal('en-BE'), z.literal('en-CA'), z.literal('en-CH'), z.literal('en-CZ'), z.literal('en-DE'), z.literal('en-DK'), z.literal('en-ES'), z.literal('en-FI'), z.literal('en-FR'), z.literal('en-GB'), z.literal('en-GR'), z.literal('en-IE'), z.literal('en-IT'), z.literal('en-NL'), z.literal('en-NO'), z.literal('en-NZ'), z.literal('en-PL'), z.literal('en-PT'), z.literal('en-RO'), z.literal('en-SE'), z.literal('en-US'), z.literal('es-ES'), z.literal('es-US'), z.literal('fi-FI'), z.literal('fr-BE'), z.literal('fr-CA'), z.literal('fr-CH'), z.literal('fr-FR'), z.literal('it-CH'), z.literal('it-IT'), z.literal('nb-NO'), z.literal('nl-BE'), z.literal('nl-NL'), z.literal('pl-PL'), z.literal('pt-PT'), z.literal('ro-RO'), z.literal('sv-FI'), z.literal('sv-SE'), ]) .optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), konbini: z .union([ z.object({ confirmation_number: z.union([z.string(), z.literal('')]).optional(), expires_after_days: z.union([z.number(), z.literal('')]).optional(), expires_at: z.union([z.number(), z.literal('')]).optional(), product_description: z.union([z.string(), z.literal('')]).optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), link: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), mobilepay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), multibanco: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), oxxo: z .union([ z.object({ expires_after_days: z.number().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), p24: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), tos_shown_and_accepted: z.boolean().optional(), }), z.literal(''), ]) .optional(), paynow: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), paypal: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), preferred_locale: z .union([ z.literal('cs-CZ'), z.literal('da-DK'), z.literal('de-AT'), z.literal('de-DE'), z.literal('de-LU'), z.literal('el-GR'), z.literal('en-GB'), z.literal('en-US'), z.literal('es-ES'), z.literal('fi-FI'), z.literal('fr-BE'), z.literal('fr-FR'), z.literal('fr-LU'), z.literal('hu-HU'), z.literal('it-IT'), z.literal('nl-BE'), z.literal('nl-NL'), z.literal('pl-PL'), z.literal('pt-PT'), z.literal('sk-SK'), z.literal('sv-SE'), ]) .optional(), reference: z.string().optional(), risk_correlation_id: z.string().optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), pix: z .union([ z.object({ expires_after_seconds: z.number().optional(), expires_at: z.number().optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), promptpay: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), revolut_pay: z .union([ z.object({ capture_method: z.union([z.literal(''), z.literal('manual')]).optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), sepa_debit: z .union([ z.object({ mandate_options: z.record(z.unknown()).optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), }), z.literal(''), ]) .optional(), sofort: z .union([ z.object({ preferred_language: z .union([ z.literal(''), z.literal('de'), z.literal('en'), z.literal('es'), z.literal('fr'), z.literal('it'), z.literal('nl'), z.literal('pl'), ]) .optional(), setup_future_usage: z.union([z.literal(''), z.literal('none'), z.literal('off_session')]).optional(), }), z.literal(''), ]) .optional(), swish: z .union([ z.object({ reference: z.union([z.string(), z.literal('')]).optional(), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), twint: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), us_bank_account: z .union([ z.object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), return_url: z.string().optional(), }) .optional(), mandate_options: z .object({ collection_method: z.union([z.literal(''), z.literal('paper')]).optional(), }) .optional(), networks: z .object({ requested: z.array(z.union([z.literal('ach'), z.literal('us_domestic_wire')])).optional(), }) .optional(), preferred_settlement_speed: z .union([z.literal(''), z.literal('fastest'), z.literal('standard')]) .optional(), setup_future_usage: z .union([z.literal(''), z.literal('none'), z.literal('off_session'), z.literal('on_session')]) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), wechat_pay: z .union([ z.object({ app_id: z.string().optional(), client: z.union([z.literal('android'), z.literal('ios'), z.literal('web')]), setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), zip: z .union([ z.object({ setup_future_usage: z.literal('none').optional(), }), z.literal(''), ]) .optional(), }) .optional(), payment_method_types: z.array(z.string()).optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), receipt_email: z.union([z.string(), z.literal('')]).optional(), return_url: z.string().optional(), setup_future_usage: z.union([z.literal(''), z.literal('off_session'), z.literal('on_session')]).optional(), shipping: z .union([ z.object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), carrier: z.string().optional(), name: z.string(), phone: z.string().optional(), tracking_number: z.string().optional(), }), z.literal(''), ]) .optional(), use_stripe_sdk: z.boolean().optional(), }) .optional(), path: z.object({ intent: z.string(), }), }); export const postPaymentIntentsIntentIncrementAuthorizationDataSchema = z.object({ body: z.object({ amount: z.number(), application_fee_amount: z.number().optional(), description: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), statement_descriptor: z.string().optional(), transfer_data: z .object({ amount: z.number().optional(), }) .optional(), }), path: z.object({ intent: z.string(), }), }); export const postPaymentIntentsIntentVerifyMicrodepositsDataSchema = z.object({ body: z .object({ amounts: z.array(z.number()).optional(), client_secret: z.string().optional(), descriptor_code: z.string().optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ intent: z.string(), }), }); export const getPaymentLinksDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ active: z.boolean().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postPaymentLinksDataSchema = z.object({ body: z.object({ after_completion: z .object({ hosted_confirmation: z .object({ custom_message: z.string().optional(), }) .optional(), redirect: z .object({ url: z.string(), }) .optional(), type: z.union([z.literal('hosted_confirmation'), z.literal('redirect')]), }) .optional(), allow_promotion_codes: z.boolean().optional(), application_fee_amount: z.number().optional(), application_fee_percent: z.number().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_address_collection: z.union([z.literal('auto'), z.literal('required')]).optional(), consent_collection: z .object({ payment_method_reuse_agreement: z .object({ position: z.union([z.literal('auto'), z.literal('hidden')]), }) .optional(), promotions: z.union([z.literal('auto'), z.literal('none')]).optional(), terms_of_service: z.union([z.literal('none'), z.literal('required')]).optional(), }) .optional(), currency: z.string().optional(), custom_fields: z .array( z.object({ dropdown: z .object({ options: z.array( z.object({ label: z.string(), value: z.string(), }), ), }) .optional(), key: z.string(), label: z.object({ custom: z.string(), type: z.literal('custom'), }), numeric: z .object({ maximum_length: z.number().optional(), minimum_length: z.number().optional(), }) .optional(), optional: z.boolean().optional(), text: z .object({ maximum_length: z.number().optional(), minimum_length: z.number().optional(), }) .optional(), type: z.union([z.literal('dropdown'), z.literal('numeric'), z.literal('text')]), }), ) .optional(), custom_text: z .object({ after_submit: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), shipping_address: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), submit: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), terms_of_service_acceptance: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), }) .optional(), customer_creation: z.union([z.literal('always'), z.literal('if_required')]).optional(), expand: z.array(z.string()).optional(), inactive_message: z.string().optional(), invoice_creation: z .object({ enabled: z.boolean(), invoice_data: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), custom_fields: z .union([ z.array( z.object({ name: z.string(), value: z.string(), }), ), z.literal(''), ]) .optional(), description: z.string().optional(), footer: z.string().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), rendering_options: z .union([ z.object({ amount_tax_display: z .union([z.literal(''), z.literal('exclude_tax'), z.literal('include_inclusive_tax')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), }) .optional(), line_items: z.array( z.object({ adjustable_quantity: z .object({ enabled: z.boolean(), maximum: z.number().optional(), minimum: z.number().optional(), }) .optional(), price: z.string(), quantity: z.number(), }), ), metadata: z.record(z.string()).optional(), on_behalf_of: z.string().optional(), payment_intent_data: z .object({ capture_method: z.union([z.literal('automatic'), z.literal('automatic_async'), z.literal('manual')]).optional(), description: z.string().optional(), metadata: z.record(z.string()).optional(), setup_future_usage: z.union([z.literal('off_session'), z.literal('on_session')]).optional(), statement_descriptor: z.string().optional(), statement_descriptor_suffix: z.string().optional(), transfer_group: z.string().optional(), }) .optional(), payment_method_collection: z.union([z.literal('always'), z.literal('if_required')]).optional(), payment_method_types: z .array( z.union([ z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ) .optional(), phone_number_collection: z .object({ enabled: z.boolean(), }) .optional(), restrictions: z .object({ completed_sessions: z.object({ limit: z.number(), }), }) .optional(), shipping_address_collection: z .object({ allowed_countries: z.array( z.union([ z.literal('AC'), z.literal('AD'), z.literal('AE'), z.literal('AF'), z.literal('AG'), z.literal('AI'), z.literal('AL'), z.literal('AM'), z.literal('AO'), z.literal('AQ'), z.literal('AR'), z.literal('AT'), z.literal('AU'), z.literal('AW'), z.literal('AX'), z.literal('AZ'), z.literal('BA'), z.literal('BB'), z.literal('BD'), z.literal('BE'), z.literal('BF'), z.literal('BG'), z.literal('BH'), z.literal('BI'), z.literal('BJ'), z.literal('BL'), z.literal('BM'), z.literal('BN'), z.literal('BO'), z.literal('BQ'), z.literal('BR'), z.literal('BS'), z.literal('BT'), z.literal('BV'), z.literal('BW'), z.literal('BY'), z.literal('BZ'), z.literal('CA'), z.literal('CD'), z.literal('CF'), z.literal('CG'), z.literal('CH'), z.literal('CI'), z.literal('CK'), z.literal('CL'), z.literal('CM'), z.literal('CN'), z.literal('CO'), z.literal('CR'), z.literal('CV'), z.literal('CW'), z.literal('CY'), z.literal('CZ'), z.literal('DE'), z.literal('DJ'), z.literal('DK'), z.literal('DM'), z.literal('DO'), z.literal('DZ'), z.literal('EC'), z.literal('EE'), z.literal('EG'), z.literal('EH'), z.literal('ER'), z.literal('ES'), z.literal('ET'), z.literal('FI'), z.literal('FJ'), z.literal('FK'), z.literal('FO'), z.literal('FR'), z.literal('GA'), z.literal('GB'), z.literal('GD'), z.literal('GE'), z.literal('GF'), z.literal('GG'), z.literal('GH'), z.literal('GI'), z.literal('GL'), z.literal('GM'), z.literal('GN'), z.literal('GP'), z.literal('GQ'), z.literal('GR'), z.literal('GS'), z.literal('GT'), z.literal('GU'), z.literal('GW'), z.literal('GY'), z.literal('HK'), z.literal('HN'), z.literal('HR'), z.literal('HT'), z.literal('HU'), z.literal('ID'), z.literal('IE'), z.literal('IL'), z.literal('IM'), z.literal('IN'), z.literal('IO'), z.literal('IQ'), z.literal('IS'), z.literal('IT'), z.literal('JE'), z.literal('JM'), z.literal('JO'), z.literal('JP'), z.literal('KE'), z.literal('KG'), z.literal('KH'), z.literal('KI'), z.literal('KM'), z.literal('KN'), z.literal('KR'), z.literal('KW'), z.literal('KY'), z.literal('KZ'), z.literal('LA'), z.literal('LB'), z.literal('LC'), z.literal('LI'), z.literal('LK'), z.literal('LR'), z.literal('LS'), z.literal('LT'), z.literal('LU'), z.literal('LV'), z.literal('LY'), z.literal('MA'), z.literal('MC'), z.literal('MD'), z.literal('ME'), z.literal('MF'), z.literal('MG'), z.literal('MK'), z.literal('ML'), z.literal('MM'), z.literal('MN'), z.literal('MO'), z.literal('MQ'), z.literal('MR'), z.literal('MS'), z.literal('MT'), z.literal('MU'), z.literal('MV'), z.literal('MW'), z.literal('MX'), z.literal('MY'), z.literal('MZ'), z.literal('NA'), z.literal('NC'), z.literal('NE'), z.literal('NG'), z.literal('NI'), z.literal('NL'), z.literal('NO'), z.literal('NP'), z.literal('NR'), z.literal('NU'), z.literal('NZ'), z.literal('OM'), z.literal('PA'), z.literal('PE'), z.literal('PF'), z.literal('PG'), z.literal('PH'), z.literal('PK'), z.literal('PL'), z.literal('PM'), z.literal('PN'), z.literal('PR'), z.literal('PS'), z.literal('PT'), z.literal('PY'), z.literal('QA'), z.literal('RE'), z.literal('RO'), z.literal('RS'), z.literal('RU'), z.literal('RW'), z.literal('SA'), z.literal('SB'), z.literal('SC'), z.literal('SE'), z.literal('SG'), z.literal('SH'), z.literal('SI'), z.literal('SJ'), z.literal('SK'), z.literal('SL'), z.literal('SM'), z.literal('SN'), z.literal('SO'), z.literal('SR'), z.literal('SS'), z.literal('ST'), z.literal('SV'), z.literal('SX'), z.literal('SZ'), z.literal('TA'), z.literal('TC'), z.literal('TD'), z.literal('TF'), z.literal('TG'), z.literal('TH'), z.literal('TJ'), z.literal('TK'), z.literal('TL'), z.literal('TM'), z.literal('TN'), z.literal('TO'), z.literal('TR'), z.literal('TT'), z.literal('TV'), z.literal('TW'), z.literal('TZ'), z.literal('UA'), z.literal('UG'), z.literal('US'), z.literal('UY'), z.literal('UZ'), z.literal('VA'), z.literal('VC'), z.literal('VE'), z.literal('VG'), z.literal('VN'), z.literal('VU'), z.literal('WF'), z.literal('WS'), z.literal('XK'), z.literal('YE'), z.literal('YT'), z.literal('ZA'), z.literal('ZM'), z.literal('ZW'), z.literal('ZZ'), ]), ), }) .optional(), shipping_options: z .array( z.object({ shipping_rate: z.string().optional(), }), ) .optional(), submit_type: z.union([z.literal('auto'), z.literal('book'), z.literal('donate'), z.literal('pay')]).optional(), subscription_data: z .object({ description: z.string().optional(), invoice_settings: z .object({ issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), trial_period_days: z.number().optional(), trial_settings: z .object({ end_behavior: z.object({ missing_payment_method: z.union([z.literal('cancel'), z.literal('create_invoice'), z.literal('pause')]), }), }) .optional(), }) .optional(), tax_id_collection: z .object({ enabled: z.boolean(), }) .optional(), transfer_data: z .object({ amount: z.number().optional(), destination: z.string(), }) .optional(), }), }); export const getPaymentLinksPaymentLinkDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ payment_link: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postPaymentLinksPaymentLinkDataSchema = z.object({ body: z .object({ active: z.boolean().optional(), after_completion: z .object({ hosted_confirmation: z .object({ custom_message: z.string().optional(), }) .optional(), redirect: z .object({ url: z.string(), }) .optional(), type: z.union([z.literal('hosted_confirmation'), z.literal('redirect')]), }) .optional(), allow_promotion_codes: z.boolean().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_address_collection: z.union([z.literal('auto'), z.literal('required')]).optional(), custom_fields: z .union([ z.array( z.object({ dropdown: z .object({ options: z.array( z.object({ label: z.string(), value: z.string(), }), ), }) .optional(), key: z.string(), label: z.object({ custom: z.string(), type: z.literal('custom'), }), numeric: z .object({ maximum_length: z.number().optional(), minimum_length: z.number().optional(), }) .optional(), optional: z.boolean().optional(), text: z .object({ maximum_length: z.number().optional(), minimum_length: z.number().optional(), }) .optional(), type: z.union([z.literal('dropdown'), z.literal('numeric'), z.literal('text')]), }), ), z.literal(''), ]) .optional(), custom_text: z .object({ after_submit: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), shipping_address: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), submit: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), terms_of_service_acceptance: z .union([ z.object({ message: z.string(), }), z.literal(''), ]) .optional(), }) .optional(), customer_creation: z.union([z.literal('always'), z.literal('if_required')]).optional(), expand: z.array(z.string()).optional(), inactive_message: z.union([z.string(), z.literal('')]).optional(), invoice_creation: z .object({ enabled: z.boolean(), invoice_data: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), custom_fields: z .union([ z.array( z.object({ name: z.string(), value: z.string(), }), ), z.literal(''), ]) .optional(), description: z.string().optional(), footer: z.string().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), rendering_options: z .union([ z.object({ amount_tax_display: z .union([z.literal(''), z.literal('exclude_tax'), z.literal('include_inclusive_tax')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), }) .optional(), line_items: z .array( z.object({ adjustable_quantity: z .object({ enabled: z.boolean(), maximum: z.number().optional(), minimum: z.number().optional(), }) .optional(), id: z.string(), quantity: z.number().optional(), }), ) .optional(), metadata: z.record(z.string()).optional(), payment_intent_data: z .object({ description: z.union([z.string(), z.literal('')]).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), statement_descriptor: z.union([z.string(), z.literal('')]).optional(), statement_descriptor_suffix: z.union([z.string(), z.literal('')]).optional(), transfer_group: z.union([z.string(), z.literal('')]).optional(), }) .optional(), payment_method_collection: z.union([z.literal('always'), z.literal('if_required')]).optional(), payment_method_types: z .union([ z.array( z.union([ z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ), z.literal(''), ]) .optional(), restrictions: z .union([ z.object({ completed_sessions: z.object({ limit: z.number(), }), }), z.literal(''), ]) .optional(), shipping_address_collection: z .union([ z.object({ allowed_countries: z.array( z.union([ z.literal('AC'), z.literal('AD'), z.literal('AE'), z.literal('AF'), z.literal('AG'), z.literal('AI'), z.literal('AL'), z.literal('AM'), z.literal('AO'), z.literal('AQ'), z.literal('AR'), z.literal('AT'), z.literal('AU'), z.literal('AW'), z.literal('AX'), z.literal('AZ'), z.literal('BA'), z.literal('BB'), z.literal('BD'), z.literal('BE'), z.literal('BF'), z.literal('BG'), z.literal('BH'), z.literal('BI'), z.literal('BJ'), z.literal('BL'), z.literal('BM'), z.literal('BN'), z.literal('BO'), z.literal('BQ'), z.literal('BR'), z.literal('BS'), z.literal('BT'), z.literal('BV'), z.literal('BW'), z.literal('BY'), z.literal('BZ'), z.literal('CA'), z.literal('CD'), z.literal('CF'), z.literal('CG'), z.literal('CH'), z.literal('CI'), z.literal('CK'), z.literal('CL'), z.literal('CM'), z.literal('CN'), z.literal('CO'), z.literal('CR'), z.literal('CV'), z.literal('CW'), z.literal('CY'), z.literal('CZ'), z.literal('DE'), z.literal('DJ'), z.literal('DK'), z.literal('DM'), z.literal('DO'), z.literal('DZ'), z.literal('EC'), z.literal('EE'), z.literal('EG'), z.literal('EH'), z.literal('ER'), z.literal('ES'), z.literal('ET'), z.literal('FI'), z.literal('FJ'), z.literal('FK'), z.literal('FO'), z.literal('FR'), z.literal('GA'), z.literal('GB'), z.literal('GD'), z.literal('GE'), z.literal('GF'), z.literal('GG'), z.literal('GH'), z.literal('GI'), z.literal('GL'), z.literal('GM'), z.literal('GN'), z.literal('GP'), z.literal('GQ'), z.literal('GR'), z.literal('GS'), z.literal('GT'), z.literal('GU'), z.literal('GW'), z.literal('GY'), z.literal('HK'), z.literal('HN'), z.literal('HR'), z.literal('HT'), z.literal('HU'), z.literal('ID'), z.literal('IE'), z.literal('IL'), z.literal('IM'), z.literal('IN'), z.literal('IO'), z.literal('IQ'), z.literal('IS'), z.literal('IT'), z.literal('JE'), z.literal('JM'), z.literal('JO'), z.literal('JP'), z.literal('KE'), z.literal('KG'), z.literal('KH'), z.literal('KI'), z.literal('KM'), z.literal('KN'), z.literal('KR'), z.literal('KW'), z.literal('KY'), z.literal('KZ'), z.literal('LA'), z.literal('LB'), z.literal('LC'), z.literal('LI'), z.literal('LK'), z.literal('LR'), z.literal('LS'), z.literal('LT'), z.literal('LU'), z.literal('LV'), z.literal('LY'), z.literal('MA'), z.literal('MC'), z.literal('MD'), z.literal('ME'), z.literal('MF'), z.literal('MG'), z.literal('MK'), z.literal('ML'), z.literal('MM'), z.literal('MN'), z.literal('MO'), z.literal('MQ'), z.literal('MR'), z.literal('MS'), z.literal('MT'), z.literal('MU'), z.literal('MV'), z.literal('MW'), z.literal('MX'), z.literal('MY'), z.literal('MZ'), z.literal('NA'), z.literal('NC'), z.literal('NE'), z.literal('NG'), z.literal('NI'), z.literal('NL'), z.literal('NO'), z.literal('NP'), z.literal('NR'), z.literal('NU'), z.literal('NZ'), z.literal('OM'), z.literal('PA'), z.literal('PE'), z.literal('PF'), z.literal('PG'), z.literal('PH'), z.literal('PK'), z.literal('PL'), z.literal('PM'), z.literal('PN'), z.literal('PR'), z.literal('PS'), z.literal('PT'), z.literal('PY'), z.literal('QA'), z.literal('RE'), z.literal('RO'), z.literal('RS'), z.literal('RU'), z.literal('RW'), z.literal('SA'), z.literal('SB'), z.literal('SC'), z.literal('SE'), z.literal('SG'), z.literal('SH'), z.literal('SI'), z.literal('SJ'), z.literal('SK'), z.literal('SL'), z.literal('SM'), z.literal('SN'), z.literal('SO'), z.literal('SR'), z.literal('SS'), z.literal('ST'), z.literal('SV'), z.literal('SX'), z.literal('SZ'), z.literal('TA'), z.literal('TC'), z.literal('TD'), z.literal('TF'), z.literal('TG'), z.literal('TH'), z.literal('TJ'), z.literal('TK'), z.literal('TL'), z.literal('TM'), z.literal('TN'), z.literal('TO'), z.literal('TR'), z.literal('TT'), z.literal('TV'), z.literal('TW'), z.literal('TZ'), z.literal('UA'), z.literal('UG'), z.literal('US'), z.literal('UY'), z.literal('UZ'), z.literal('VA'), z.literal('VC'), z.literal('VE'), z.literal('VG'), z.literal('VN'), z.literal('VU'), z.literal('WF'), z.literal('WS'), z.literal('XK'), z.literal('YE'), z.literal('YT'), z.literal('ZA'), z.literal('ZM'), z.literal('ZW'), z.literal('ZZ'), ]), ), }), z.literal(''), ]) .optional(), subscription_data: z .object({ invoice_settings: z .object({ issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), trial_settings: z .union([ z.object({ end_behavior: z.object({ missing_payment_method: z.union([ z.literal('cancel'), z.literal('create_invoice'), z.literal('pause'), ]), }), }), z.literal(''), ]) .optional(), }) .optional(), tax_id_collection: z .object({ enabled: z.boolean(), }) .optional(), }) .optional(), path: z.object({ payment_link: z.string(), }), }); export const getPaymentLinksPaymentLinkLineItemsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ payment_link: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getPaymentMethodConfigurationsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ application: z.union([z.string(), z.literal('')]).optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getPaymentMethodConfigurationsResponseSchema = z.object({ data: z.array(paymentMethodConfigurationSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postPaymentMethodConfigurationsDataSchema = z.object({ body: z .object({ acss_debit: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), affirm: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), afterpay_clearpay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), alipay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), amazon_pay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), apple_pay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), apple_pay_later: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), au_becs_debit: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), bacs_debit: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), bancontact: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), blik: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), boleto: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), card: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), cartes_bancaires: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), cashapp: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), customer_balance: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), eps: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), expand: z.array(z.string()).optional(), fpx: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), giropay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), google_pay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), grabpay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), ideal: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), jcb: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), klarna: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), konbini: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), link: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), mobilepay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), multibanco: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), name: z.string().optional(), oxxo: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), p24: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), parent: z.string().optional(), paynow: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), paypal: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), promptpay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), revolut_pay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), sepa_debit: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), sofort: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), swish: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), us_bank_account: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), wechat_pay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), zip: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), }) .optional(), }); export const postPaymentMethodConfigurationsResponseSchema = paymentMethodConfigurationSchema; export const getPaymentMethodConfigurationsConfigurationDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ configuration: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getPaymentMethodConfigurationsConfigurationResponseSchema = paymentMethodConfigurationSchema; export const postPaymentMethodConfigurationsConfigurationDataSchema = z.object({ body: z .object({ acss_debit: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), active: z.boolean().optional(), affirm: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), afterpay_clearpay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), alipay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), amazon_pay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), apple_pay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), apple_pay_later: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), au_becs_debit: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), bacs_debit: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), bancontact: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), blik: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), boleto: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), card: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), cartes_bancaires: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), cashapp: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), customer_balance: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), eps: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), expand: z.array(z.string()).optional(), fpx: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), giropay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), google_pay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), grabpay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), ideal: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), jcb: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), klarna: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), konbini: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), link: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), mobilepay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), multibanco: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), name: z.string().optional(), oxxo: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), p24: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), paynow: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), paypal: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), promptpay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), revolut_pay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), sepa_debit: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), sofort: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), swish: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), us_bank_account: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), wechat_pay: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), zip: z .object({ display_preference: z .object({ preference: z.union([z.literal('none'), z.literal('off'), z.literal('on')]).optional(), }) .optional(), }) .optional(), }) .optional(), path: z.object({ configuration: z.string(), }), }); export const postPaymentMethodConfigurationsConfigurationResponseSchema = paymentMethodConfigurationSchema; export const getPaymentMethodDomainsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ domain_name: z.string().optional(), enabled: z.boolean().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postPaymentMethodDomainsDataSchema = z.object({ body: z.object({ domain_name: z.string(), enabled: z.boolean().optional(), expand: z.array(z.string()).optional(), }), }); export const getPaymentMethodDomainsPaymentMethodDomainDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ payment_method_domain: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postPaymentMethodDomainsPaymentMethodDomainDataSchema = z.object({ body: z .object({ enabled: z.boolean().optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ payment_method_domain: z.string(), }), }); export const postPaymentMethodDomainsPaymentMethodDomainValidateDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ payment_method_domain: z.string(), }), }); export const getPaymentMethodsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), type: z .union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]) .optional(), }) .optional(), }); export const postPaymentMethodsDataSchema = z.object({ body: z .object({ acss_debit: z .object({ account_number: z.string(), institution_number: z.string(), transit_number: z.string(), }) .optional(), affirm: z.record(z.unknown()).optional(), afterpay_clearpay: z.record(z.unknown()).optional(), alipay: z.record(z.unknown()).optional(), allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), amazon_pay: z.record(z.unknown()).optional(), au_becs_debit: z .object({ account_number: z.string(), bsb_number: z.string(), }) .optional(), bacs_debit: z .object({ account_number: z.string().optional(), sort_code: z.string().optional(), }) .optional(), bancontact: z.record(z.unknown()).optional(), billing_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), email: z.union([z.string(), z.literal('')]).optional(), name: z.union([z.string(), z.literal('')]).optional(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), blik: z.record(z.unknown()).optional(), boleto: z .object({ tax_id: z.string(), }) .optional(), card: z .union([ z.object({ cvc: z.string().optional(), exp_month: z.number(), exp_year: z.number(), networks: z .object({ preferred: z .union([z.literal('cartes_bancaires'), z.literal('mastercard'), z.literal('visa')]) .optional(), }) .optional(), number: z.string(), }), z.object({ token: z.string(), }), ]) .optional(), cashapp: z.record(z.unknown()).optional(), customer: z.string().optional(), customer_balance: z.record(z.unknown()).optional(), eps: z .object({ bank: z .union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]) .optional(), }) .optional(), expand: z.array(z.string()).optional(), fpx: z .object({ bank: z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]), }) .optional(), giropay: z.record(z.unknown()).optional(), grabpay: z.record(z.unknown()).optional(), ideal: z .object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional(), }) .optional(), interac_present: z.record(z.unknown()).optional(), klarna: z .object({ dob: z .object({ day: z.number(), month: z.number(), year: z.number(), }) .optional(), }) .optional(), konbini: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), metadata: z.record(z.string()).optional(), mobilepay: z.record(z.unknown()).optional(), multibanco: z.record(z.unknown()).optional(), oxxo: z.record(z.unknown()).optional(), p24: z .object({ bank: z .union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]) .optional(), }) .optional(), payment_method: z.string().optional(), paynow: z.record(z.unknown()).optional(), paypal: z.record(z.unknown()).optional(), pix: z.record(z.unknown()).optional(), promptpay: z.record(z.unknown()).optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), revolut_pay: z.record(z.unknown()).optional(), sepa_debit: z .object({ iban: z.string(), }) .optional(), sofort: z .object({ country: z.union([ z.literal('AT'), z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('IT'), z.literal('NL'), ]), }) .optional(), swish: z.record(z.unknown()).optional(), twint: z.record(z.unknown()).optional(), type: z .union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]) .optional(), us_bank_account: z .object({ account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string().optional(), account_type: z.union([z.literal('checking'), z.literal('savings')]).optional(), financial_connections_account: z.string().optional(), routing_number: z.string().optional(), }) .optional(), wechat_pay: z.record(z.unknown()).optional(), zip: z.record(z.unknown()).optional(), }) .optional(), }); export const getPaymentMethodsPaymentMethodDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ payment_method: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postPaymentMethodsPaymentMethodDataSchema = z.object({ body: z .object({ allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), billing_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), email: z.union([z.string(), z.literal('')]).optional(), name: z.union([z.string(), z.literal('')]).optional(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), card: z .object({ exp_month: z.number().optional(), exp_year: z.number().optional(), networks: z .object({ preferred: z .union([z.literal(''), z.literal('cartes_bancaires'), z.literal('mastercard'), z.literal('visa')]) .optional(), }) .optional(), }) .optional(), expand: z.array(z.string()).optional(), link: z.record(z.unknown()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), us_bank_account: z .object({ account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_type: z.union([z.literal('checking'), z.literal('savings')]).optional(), }) .optional(), }) .optional(), path: z.object({ payment_method: z.string(), }), }); export const postPaymentMethodsPaymentMethodAttachDataSchema = z.object({ body: z.object({ customer: z.string(), expand: z.array(z.string()).optional(), }), path: z.object({ payment_method: z.string(), }), }); export const postPaymentMethodsPaymentMethodDetachDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ payment_method: z.string(), }), }); export const getPayoutsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ arrival_date: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), destination: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z.string().optional(), }) .optional(), }); export const postPayoutsDataSchema = z.object({ body: z.object({ amount: z.number(), currency: z.string(), description: z.string().optional(), destination: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), method: z.union([z.literal('instant'), z.literal('standard')]).optional(), source_type: z.union([z.literal('bank_account'), z.literal('card'), z.literal('fpx')]).optional(), statement_descriptor: z.string().optional(), }), }); export const getPayoutsPayoutDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ payout: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postPayoutsPayoutDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ payout: z.string(), }), }); export const postPayoutsPayoutCancelDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ payout: z.string(), }), }); export const postPayoutsPayoutReverseDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), }) .optional(), path: z.object({ payout: z.string(), }), }); export const getPlansDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ active: z.boolean().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), product: z.string().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postPlansDataSchema = z.object({ body: z.object({ active: z.boolean().optional(), aggregate_usage: z .union([z.literal('last_during_period'), z.literal('last_ever'), z.literal('max'), z.literal('sum')]) .optional(), amount: z.number().optional(), amount_decimal: z.string().optional(), billing_scheme: z.union([z.literal('per_unit'), z.literal('tiered')]).optional(), currency: z.string(), expand: z.array(z.string()).optional(), id: z.string().optional(), interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), meter: z.string().optional(), nickname: z.string().optional(), product: z .union([ z.object({ active: z.boolean().optional(), id: z.string().optional(), metadata: z.record(z.string()).optional(), name: z.string(), statement_descriptor: z.string().optional(), tax_code: z.string().optional(), unit_label: z.string().optional(), }), z.string(), ]) .optional(), tiers: z .array( z.object({ flat_amount: z.number().optional(), flat_amount_decimal: z.string().optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), up_to: z.union([z.literal('inf'), z.number()]), }), ) .optional(), tiers_mode: z.union([z.literal('graduated'), z.literal('volume')]).optional(), transform_usage: z .object({ divide_by: z.number(), round: z.union([z.literal('down'), z.literal('up')]), }) .optional(), trial_period_days: z.number().optional(), usage_type: z.union([z.literal('licensed'), z.literal('metered')]).optional(), }), }); export const deletePlansPlanDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ plan: z.string(), }), }); export const deletePlansPlanResponseSchema = deletedPlanSchema; export const getPlansPlanDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ plan: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postPlansPlanDataSchema = z.object({ body: z .object({ active: z.boolean().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), nickname: z.string().optional(), product: z.string().optional(), trial_period_days: z.number().optional(), }) .optional(), path: z.object({ plan: z.string(), }), }); export const getPricesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ active: z.boolean().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), currency: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), lookup_keys: z.array(z.string()).optional(), product: z.string().optional(), recurring: z .object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]).optional(), meter: z.string().optional(), usage_type: z.union([z.literal('licensed'), z.literal('metered')]).optional(), }) .optional(), starting_after: z.string().optional(), type: z.union([z.literal('one_time'), z.literal('recurring')]).optional(), }) .optional(), }); export const postPricesDataSchema = z.object({ body: z.object({ active: z.boolean().optional(), billing_scheme: z.union([z.literal('per_unit'), z.literal('tiered')]).optional(), currency: z.string(), currency_options: z .record( z.object({ custom_unit_amount: z .object({ enabled: z.boolean(), maximum: z.number().optional(), minimum: z.number().optional(), preset: z.number().optional(), }) .optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), tiers: z .array( z.object({ flat_amount: z.number().optional(), flat_amount_decimal: z.string().optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), up_to: z.union([z.literal('inf'), z.number()]), }), ) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), ) .optional(), custom_unit_amount: z .object({ enabled: z.boolean(), maximum: z.number().optional(), minimum: z.number().optional(), preset: z.number().optional(), }) .optional(), expand: z.array(z.string()).optional(), lookup_key: z.string().optional(), metadata: z.record(z.string()).optional(), nickname: z.string().optional(), product: z.string().optional(), product_data: z .object({ active: z.boolean().optional(), id: z.string().optional(), metadata: z.record(z.string()).optional(), name: z.string(), statement_descriptor: z.string().optional(), tax_code: z.string().optional(), unit_label: z.string().optional(), }) .optional(), recurring: z .object({ aggregate_usage: z .union([z.literal('last_during_period'), z.literal('last_ever'), z.literal('max'), z.literal('sum')]) .optional(), interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), meter: z.string().optional(), usage_type: z.union([z.literal('licensed'), z.literal('metered')]).optional(), }) .optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), tiers: z .array( z.object({ flat_amount: z.number().optional(), flat_amount_decimal: z.string().optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), up_to: z.union([z.literal('inf'), z.number()]), }), ) .optional(), tiers_mode: z.union([z.literal('graduated'), z.literal('volume')]).optional(), transfer_lookup_key: z.boolean().optional(), transform_quantity: z .object({ divide_by: z.number(), round: z.union([z.literal('down'), z.literal('up')]), }) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), }); export const getPricesSearchDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ expand: z.array(z.string()).optional(), limit: z.number().optional(), page: z.string().optional(), query: z.string(), }), }); export const getPricesPriceDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ price: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postPricesPriceDataSchema = z.object({ body: z .object({ active: z.boolean().optional(), currency_options: z .union([ z.record( z.object({ custom_unit_amount: z .object({ enabled: z.boolean(), maximum: z.number().optional(), minimum: z.number().optional(), preset: z.number().optional(), }) .optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), tiers: z .array( z.object({ flat_amount: z.number().optional(), flat_amount_decimal: z.string().optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), up_to: z.union([z.literal('inf'), z.number()]), }), ) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), lookup_key: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), nickname: z.string().optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), transfer_lookup_key: z.boolean().optional(), }) .optional(), path: z.object({ price: z.string(), }), }); export const getProductsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ active: z.boolean().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), ids: z.array(z.string()).optional(), limit: z.number().optional(), shippable: z.boolean().optional(), starting_after: z.string().optional(), url: z.string().optional(), }) .optional(), }); export const postProductsDataSchema = z.object({ body: z.object({ active: z.boolean().optional(), default_price_data: z .object({ currency: z.string(), currency_options: z .record( z.object({ custom_unit_amount: z .object({ enabled: z.boolean(), maximum: z.number().optional(), minimum: z.number().optional(), preset: z.number().optional(), }) .optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), tiers: z .array( z.object({ flat_amount: z.number().optional(), flat_amount_decimal: z.string().optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), up_to: z.union([z.literal('inf'), z.number()]), }), ) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }), ) .optional(), recurring: z .object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }) .optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), description: z.string().optional(), expand: z.array(z.string()).optional(), id: z.string().optional(), images: z.array(z.string()).optional(), marketing_features: z .array( z.object({ name: z.string(), }), ) .optional(), metadata: z.record(z.string()).optional(), name: z.string(), package_dimensions: z .object({ height: z.number(), length: z.number(), weight: z.number(), width: z.number(), }) .optional(), shippable: z.boolean().optional(), statement_descriptor: z.string().optional(), tax_code: z.string().optional(), unit_label: z.string().optional(), url: z.string().optional(), }), }); export const getProductsSearchDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ expand: z.array(z.string()).optional(), limit: z.number().optional(), page: z.string().optional(), query: z.string(), }), }); export const deleteProductsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), }); export const deleteProductsIdResponseSchema = deletedProductSchema; export const getProductsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postProductsIdDataSchema = z.object({ body: z .object({ active: z.boolean().optional(), default_price: z.string().optional(), description: z.union([z.string(), z.literal('')]).optional(), expand: z.array(z.string()).optional(), images: z.union([z.array(z.string()), z.literal('')]).optional(), marketing_features: z .union([ z.array( z.object({ name: z.string(), }), ), z.literal(''), ]) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), name: z.string().optional(), package_dimensions: z .union([ z.object({ height: z.number(), length: z.number(), weight: z.number(), width: z.number(), }), z.literal(''), ]) .optional(), shippable: z.boolean().optional(), statement_descriptor: z.string().optional(), tax_code: z.union([z.string(), z.literal('')]).optional(), unit_label: z.union([z.string(), z.literal('')]).optional(), url: z.union([z.string(), z.literal('')]).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const getProductsProductFeaturesDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ product: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getProductsProductFeaturesResponseSchema = z.object({ data: z.array(productFeatureSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postProductsProductFeaturesDataSchema = z.object({ body: z.object({ entitlement_feature: z.string(), expand: z.array(z.string()).optional(), }), path: z.object({ product: z.string(), }), }); export const postProductsProductFeaturesResponseSchema = productFeatureSchema; export const deleteProductsProductFeaturesIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), product: z.string(), }), }); export const deleteProductsProductFeaturesIdResponseSchema = deletedProductFeatureSchema; export const getProductsProductFeaturesIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), product: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getProductsProductFeaturesIdResponseSchema = productFeatureSchema; export const getPromotionCodesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ active: z.boolean().optional(), code: z.string().optional(), coupon: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postPromotionCodesDataSchema = z.object({ body: z.object({ active: z.boolean().optional(), code: z.string().optional(), coupon: z.string(), customer: z.string().optional(), expand: z.array(z.string()).optional(), expires_at: z.number().optional(), max_redemptions: z.number().optional(), metadata: z.record(z.string()).optional(), restrictions: z .object({ currency_options: z .record( z.object({ minimum_amount: z.number().optional(), }), ) .optional(), first_time_transaction: z.boolean().optional(), minimum_amount: z.number().optional(), minimum_amount_currency: z.string().optional(), }) .optional(), }), }); export const getPromotionCodesPromotionCodeDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ promotion_code: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postPromotionCodesPromotionCodeDataSchema = z.object({ body: z .object({ active: z.boolean().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), restrictions: z .object({ currency_options: z .record( z.object({ minimum_amount: z.number().optional(), }), ) .optional(), }) .optional(), }) .optional(), path: z.object({ promotion_code: z.string(), }), }); export const getQuotesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z.union([z.literal('accepted'), z.literal('canceled'), z.literal('draft'), z.literal('open')]).optional(), test_clock: z.string().optional(), }) .optional(), }); export const postQuotesDataSchema = z.object({ body: z .object({ application_fee_amount: z.union([z.number(), z.literal('')]).optional(), application_fee_percent: z.union([z.number(), z.literal('')]).optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), customer: z.string().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), description: z.union([z.string(), z.literal('')]).optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), expires_at: z.number().optional(), footer: z.union([z.string(), z.literal('')]).optional(), from_quote: z .object({ is_revision: z.boolean().optional(), quote: z.string(), }) .optional(), header: z.union([z.string(), z.literal('')]).optional(), invoice_settings: z .object({ days_until_due: z.number().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), line_items: z .array( z.object({ discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z .object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }) .optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.union([z.string(), z.literal('')]).optional(), subscription_data: z .object({ description: z.string().optional(), effective_date: z.union([z.literal('current_period_end'), z.number(), z.literal('')]).optional(), metadata: z.record(z.string()).optional(), trial_period_days: z.union([z.number(), z.literal('')]).optional(), }) .optional(), test_clock: z.string().optional(), transfer_data: z .union([ z.object({ amount: z.number().optional(), amount_percent: z.number().optional(), destination: z.string(), }), z.literal(''), ]) .optional(), }) .optional(), }); export const getQuotesQuoteDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ quote: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postQuotesQuoteDataSchema = z.object({ body: z .object({ application_fee_amount: z.union([z.number(), z.literal('')]).optional(), application_fee_percent: z.union([z.number(), z.literal('')]).optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), customer: z.string().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), description: z.union([z.string(), z.literal('')]).optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), expires_at: z.number().optional(), footer: z.union([z.string(), z.literal('')]).optional(), header: z.union([z.string(), z.literal('')]).optional(), invoice_settings: z .object({ days_until_due: z.number().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), line_items: z .array( z.object({ discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), id: z.string().optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z .object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }) .optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.union([z.string(), z.literal('')]).optional(), subscription_data: z .object({ description: z.union([z.string(), z.literal('')]).optional(), effective_date: z.union([z.literal('current_period_end'), z.number(), z.literal('')]).optional(), metadata: z.record(z.string()).optional(), trial_period_days: z.union([z.number(), z.literal('')]).optional(), }) .optional(), transfer_data: z .union([ z.object({ amount: z.number().optional(), amount_percent: z.number().optional(), destination: z.string(), }), z.literal(''), ]) .optional(), }) .optional(), path: z.object({ quote: z.string(), }), }); export const postQuotesQuoteAcceptDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ quote: z.string(), }), }); export const postQuotesQuoteCancelDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ quote: z.string(), }), }); export const getQuotesQuoteComputedUpfrontLineItemsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ quote: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postQuotesQuoteFinalizeDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), expires_at: z.number().optional(), }) .optional(), path: z.object({ quote: z.string(), }), }); export const getQuotesQuoteLineItemsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ quote: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getQuotesQuotePdfDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ quote: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getRadarEarlyFraudWarningsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ charge: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), payment_intent: z.string().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getRadarEarlyFraudWarningsEarlyFraudWarningDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ early_fraud_warning: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getRadarValueListItemsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), value: z.string().optional(), value_list: z.string(), }), }); export const getRadarValueListItemsResponseSchema = z.object({ data: z.array(radarValueListItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postRadarValueListItemsDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), value: z.string(), value_list: z.string(), }), }); export const postRadarValueListItemsResponseSchema = radarValueListItemSchema; export const deleteRadarValueListItemsItemDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ item: z.string(), }), }); export const deleteRadarValueListItemsItemResponseSchema = deletedRadarValueListItemSchema; export const getRadarValueListItemsItemDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ item: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getRadarValueListItemsItemResponseSchema = radarValueListItemSchema; export const getRadarValueListsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ alias: z.string().optional(), contains: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const radarValueListSchema = z.object({ alias: z.string(), created: z.number(), created_by: z.string(), id: z.string(), item_type: z.union([ z.literal('card_bin'), z.literal('card_fingerprint'), z.literal('case_sensitive_string'), z.literal('country'), z.literal('customer_id'), z.literal('email'), z.literal('ip_address'), z.literal('sepa_debit_fingerprint'), z.literal('string'), z.literal('us_bank_account_fingerprint'), ]), list_items: z.object({ data: z.array(radarValueListItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), livemode: z.boolean(), metadata: z.record(z.string()), name: z.string(), object: z.literal('radar.value_list'), }); export const postRadarValueListsDataSchema = z.object({ body: z.object({ alias: z.string(), expand: z.array(z.string()).optional(), item_type: z .union([ z.literal('card_bin'), z.literal('card_fingerprint'), z.literal('case_sensitive_string'), z.literal('country'), z.literal('customer_id'), z.literal('email'), z.literal('ip_address'), z.literal('sepa_debit_fingerprint'), z.literal('string'), z.literal('us_bank_account_fingerprint'), ]) .optional(), metadata: z.record(z.string()).optional(), name: z.string(), }), }); export const postRadarValueListsResponseSchema = radarValueListSchema; export const deleteRadarValueListsValueListDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ value_list: z.string(), }), }); export const deleteRadarValueListsValueListResponseSchema = deletedRadarValueListSchema; export const getRadarValueListsValueListDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ value_list: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getRadarValueListsValueListResponseSchema = radarValueListSchema; export const postRadarValueListsValueListDataSchema = z.object({ body: z .object({ alias: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), name: z.string().optional(), }) .optional(), path: z.object({ value_list: z.string(), }), }); export const postRadarValueListsValueListResponseSchema = radarValueListSchema; export const getRefundsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ charge: z.string().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), payment_intent: z.string().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postRefundsDataSchema = z.object({ body: z .object({ amount: z.number().optional(), charge: z.string().optional(), currency: z.string().optional(), customer: z.string().optional(), expand: z.array(z.string()).optional(), instructions_email: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), origin: z.literal('customer_balance').optional(), payment_intent: z.string().optional(), reason: z.union([z.literal('duplicate'), z.literal('fraudulent'), z.literal('requested_by_customer')]).optional(), refund_application_fee: z.boolean().optional(), reverse_transfer: z.boolean().optional(), }) .optional(), }); export const getRefundsRefundDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ refund: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postRefundsRefundDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ refund: z.string(), }), }); export const postRefundsRefundCancelDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ refund: z.string(), }), }); export const getReportingReportRunsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postReportingReportRunsDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), parameters: z .object({ columns: z.array(z.string()).optional(), connected_account: z.string().optional(), currency: z.string().optional(), interval_end: z.number().optional(), interval_start: z.number().optional(), payout: z.string().optional(), reporting_category: z .union([ z.literal('advance'), z.literal('advance_funding'), z.literal('anticipation_repayment'), z.literal('charge'), z.literal('charge_failure'), z.literal('climate_order_purchase'), z.literal('climate_order_refund'), z.literal('connect_collection_transfer'), z.literal('connect_reserved_funds'), z.literal('contribution'), z.literal('dispute'), z.literal('dispute_reversal'), z.literal('fee'), z.literal('financing_paydown'), z.literal('financing_paydown_reversal'), z.literal('financing_payout'), z.literal('financing_payout_reversal'), z.literal('issuing_authorization_hold'), z.literal('issuing_authorization_release'), z.literal('issuing_dispute'), z.literal('issuing_transaction'), z.literal('network_cost'), z.literal('other_adjustment'), z.literal('partial_capture_reversal'), z.literal('payout'), z.literal('payout_reversal'), z.literal('platform_earning'), z.literal('platform_earning_refund'), z.literal('refund'), z.literal('refund_failure'), z.literal('risk_reserved_funds'), z.literal('tax'), z.literal('topup'), z.literal('topup_reversal'), z.literal('transfer'), z.literal('transfer_reversal'), z.literal('unreconciled_customer_funds'), ]) .optional(), timezone: z .union([ z.literal('Africa/Abidjan'), z.literal('Africa/Accra'), z.literal('Africa/Addis_Ababa'), z.literal('Africa/Algiers'), z.literal('Africa/Asmara'), z.literal('Africa/Asmera'), z.literal('Africa/Bamako'), z.literal('Africa/Bangui'), z.literal('Africa/Banjul'), z.literal('Africa/Bissau'), z.literal('Africa/Blantyre'), z.literal('Africa/Brazzaville'), z.literal('Africa/Bujumbura'), z.literal('Africa/Cairo'), z.literal('Africa/Casablanca'), z.literal('Africa/Ceuta'), z.literal('Africa/Conakry'), z.literal('Africa/Dakar'), z.literal('Africa/Dar_es_Salaam'), z.literal('Africa/Djibouti'), z.literal('Africa/Douala'), z.literal('Africa/El_Aaiun'), z.literal('Africa/Freetown'), z.literal('Africa/Gaborone'), z.literal('Africa/Harare'), z.literal('Africa/Johannesburg'), z.literal('Africa/Juba'), z.literal('Africa/Kampala'), z.literal('Africa/Khartoum'), z.literal('Africa/Kigali'), z.literal('Africa/Kinshasa'), z.literal('Africa/Lagos'), z.literal('Africa/Libreville'), z.literal('Africa/Lome'), z.literal('Africa/Luanda'), z.literal('Africa/Lubumbashi'), z.literal('Africa/Lusaka'), z.literal('Africa/Malabo'), z.literal('Africa/Maputo'), z.literal('Africa/Maseru'), z.literal('Africa/Mbabane'), z.literal('Africa/Mogadishu'), z.literal('Africa/Monrovia'), z.literal('Africa/Nairobi'), z.literal('Africa/Ndjamena'), z.literal('Africa/Niamey'), z.literal('Africa/Nouakchott'), z.literal('Africa/Ouagadougou'), z.literal('Africa/Porto-Novo'), z.literal('Africa/Sao_Tome'), z.literal('Africa/Timbuktu'), z.literal('Africa/Tripoli'), z.literal('Africa/Tunis'), z.literal('Africa/Windhoek'), z.literal('America/Adak'), z.literal('America/Anchorage'), z.literal('America/Anguilla'), z.literal('America/Antigua'), z.literal('America/Araguaina'), z.literal('America/Argentina/Buenos_Aires'), z.literal('America/Argentina/Catamarca'), z.literal('America/Argentina/ComodRivadavia'), z.literal('America/Argentina/Cordoba'), z.literal('America/Argentina/Jujuy'), z.literal('America/Argentina/La_Rioja'), z.literal('America/Argentina/Mendoza'), z.literal('America/Argentina/Rio_Gallegos'), z.literal('America/Argentina/Salta'), z.literal('America/Argentina/San_Juan'), z.literal('America/Argentina/San_Luis'), z.literal('America/Argentina/Tucuman'), z.literal('America/Argentina/Ushuaia'), z.literal('America/Aruba'), z.literal('America/Asuncion'), z.literal('America/Atikokan'), z.literal('America/Atka'), z.literal('America/Bahia'), z.literal('America/Bahia_Banderas'), z.literal('America/Barbados'), z.literal('America/Belem'), z.literal('America/Belize'), z.literal('America/Blanc-Sablon'), z.literal('America/Boa_Vista'), z.literal('America/Bogota'), z.literal('America/Boise'), z.literal('America/Buenos_Aires'), z.literal('America/Cambridge_Bay'), z.literal('America/Campo_Grande'), z.literal('America/Cancun'), z.literal('America/Caracas'), z.literal('America/Catamarca'), z.literal('America/Cayenne'), z.literal('America/Cayman'), z.literal('America/Chicago'), z.literal('America/Chihuahua'), z.literal('America/Ciudad_Juarez'), z.literal('America/Coral_Harbour'), z.literal('America/Cordoba'), z.literal('America/Costa_Rica'), z.literal('America/Creston'), z.literal('America/Cuiaba'), z.literal('America/Curacao'), z.literal('America/Danmarkshavn'), z.literal('America/Dawson'), z.literal('America/Dawson_Creek'), z.literal('America/Denver'), z.literal('America/Detroit'), z.literal('America/Dominica'), z.literal('America/Edmonton'), z.literal('America/Eirunepe'), z.literal('America/El_Salvador'), z.literal('America/Ensenada'), z.literal('America/Fort_Nelson'), z.literal('America/Fort_Wayne'), z.literal('America/Fortaleza'), z.literal('America/Glace_Bay'), z.literal('America/Godthab'), z.literal('America/Goose_Bay'), z.literal('America/Grand_Turk'), z.literal('America/Grenada'), z.literal('America/Guadeloupe'), z.literal('America/Guatemala'), z.literal('America/Guayaquil'), z.literal('America/Guyana'), z.literal('America/Halifax'), z.literal('America/Havana'), z.literal('America/Hermosillo'), z.literal('America/Indiana/Indianapolis'), z.literal('America/Indiana/Knox'), z.literal('America/Indiana/Marengo'), z.literal('America/Indiana/Petersburg'), z.literal('America/Indiana/Tell_City'), z.literal('America/Indiana/Vevay'), z.literal('America/Indiana/Vincennes'), z.literal('America/Indiana/Winamac'), z.literal('America/Indianapolis'), z.literal('America/Inuvik'), z.literal('America/Iqaluit'), z.literal('America/Jamaica'), z.literal('America/Jujuy'), z.literal('America/Juneau'), z.literal('America/Kentucky/Louisville'), z.literal('America/Kentucky/Monticello'), z.literal('America/Knox_IN'), z.literal('America/Kralendijk'), z.literal('America/La_Paz'), z.literal('America/Lima'), z.literal('America/Los_Angeles'), z.literal('America/Louisville'), z.literal('America/Lower_Princes'), z.literal('America/Maceio'), z.literal('America/Managua'), z.literal('America/Manaus'), z.literal('America/Marigot'), z.literal('America/Martinique'), z.literal('America/Matamoros'), z.literal('America/Mazatlan'), z.literal('America/Mendoza'), z.literal('America/Menominee'), z.literal('America/Merida'), z.literal('America/Metlakatla'), z.literal('America/Mexico_City'), z.literal('America/Miquelon'), z.literal('America/Moncton'), z.literal('America/Monterrey'), z.literal('America/Montevideo'), z.literal('America/Montreal'), z.literal('America/Montserrat'), z.literal('America/Nassau'), z.literal('America/New_York'), z.literal('America/Nipigon'), z.literal('America/Nome'), z.literal('America/Noronha'), z.literal('America/North_Dakota/Beulah'), z.literal('America/North_Dakota/Center'), z.literal('America/North_Dakota/New_Salem'), z.literal('America/Nuuk'), z.literal('America/Ojinaga'), z.literal('America/Panama'), z.literal('America/Pangnirtung'), z.literal('America/Paramaribo'), z.literal('America/Phoenix'), z.literal('America/Port-au-Prince'), z.literal('America/Port_of_Spain'), z.literal('America/Porto_Acre'), z.literal('America/Porto_Velho'), z.literal('America/Puerto_Rico'), z.literal('America/Punta_Arenas'), z.literal('America/Rainy_River'), z.literal('America/Rankin_Inlet'), z.literal('America/Recife'), z.literal('America/Regina'), z.literal('America/Resolute'), z.literal('America/Rio_Branco'), z.literal('America/Rosario'), z.literal('America/Santa_Isabel'), z.literal('America/Santarem'), z.literal('America/Santiago'), z.literal('America/Santo_Domingo'), z.literal('America/Sao_Paulo'), z.literal('America/Scoresbysund'), z.literal('America/Shiprock'), z.literal('America/Sitka'), z.literal('America/St_Barthelemy'), z.literal('America/St_Johns'), z.literal('America/St_Kitts'), z.literal('America/St_Lucia'), z.literal('America/St_Thomas'), z.literal('America/St_Vincent'), z.literal('America/Swift_Current'), z.literal('America/Tegucigalpa'), z.literal('America/Thule'), z.literal('America/Thunder_Bay'), z.literal('America/Tijuana'), z.literal('America/Toronto'), z.literal('America/Tortola'), z.literal('America/Vancouver'), z.literal('America/Virgin'), z.literal('America/Whitehorse'), z.literal('America/Winnipeg'), z.literal('America/Yakutat'), z.literal('America/Yellowknife'), z.literal('Antarctica/Casey'), z.literal('Antarctica/Davis'), z.literal('Antarctica/DumontDUrville'), z.literal('Antarctica/Macquarie'), z.literal('Antarctica/Mawson'), z.literal('Antarctica/McMurdo'), z.literal('Antarctica/Palmer'), z.literal('Antarctica/Rothera'), z.literal('Antarctica/South_Pole'), z.literal('Antarctica/Syowa'), z.literal('Antarctica/Troll'), z.literal('Antarctica/Vostok'), z.literal('Arctic/Longyearbyen'), z.literal('Asia/Aden'), z.literal('Asia/Almaty'), z.literal('Asia/Amman'), z.literal('Asia/Anadyr'), z.literal('Asia/Aqtau'), z.literal('Asia/Aqtobe'), z.literal('Asia/Ashgabat'), z.literal('Asia/Ashkhabad'), z.literal('Asia/Atyrau'), z.literal('Asia/Baghdad'), z.literal('Asia/Bahrain'), z.literal('Asia/Baku'), z.literal('Asia/Bangkok'), z.literal('Asia/Barnaul'), z.literal('Asia/Beirut'), z.literal('Asia/Bishkek'), z.literal('Asia/Brunei'), z.literal('Asia/Calcutta'), z.literal('Asia/Chita'), z.literal('Asia/Choibalsan'), z.literal('Asia/Chongqing'), z.literal('Asia/Chungking'), z.literal('Asia/Colombo'), z.literal('Asia/Dacca'), z.literal('Asia/Damascus'), z.literal('Asia/Dhaka'), z.literal('Asia/Dili'), z.literal('Asia/Dubai'), z.literal('Asia/Dushanbe'), z.literal('Asia/Famagusta'), z.literal('Asia/Gaza'), z.literal('Asia/Harbin'), z.literal('Asia/Hebron'), z.literal('Asia/Ho_Chi_Minh'), z.literal('Asia/Hong_Kong'), z.literal('Asia/Hovd'), z.literal('Asia/Irkutsk'), z.literal('Asia/Istanbul'), z.literal('Asia/Jakarta'), z.literal('Asia/Jayapura'), z.literal('Asia/Jerusalem'), z.literal('Asia/Kabul'), z.literal('Asia/Kamchatka'), z.literal('Asia/Karachi'), z.literal('Asia/Kashgar'), z.literal('Asia/Kathmandu'), z.literal('Asia/Katmandu'), z.literal('Asia/Khandyga'), z.literal('Asia/Kolkata'), z.literal('Asia/Krasnoyarsk'), z.literal('Asia/Kuala_Lumpur'), z.literal('Asia/Kuching'), z.literal('Asia/Kuwait'), z.literal('Asia/Macao'), z.literal('Asia/Macau'), z.literal('Asia/Magadan'), z.literal('Asia/Makassar'), z.literal('Asia/Manila'), z.literal('Asia/Muscat'), z.literal('Asia/Nicosia'), z.literal('Asia/Novokuznetsk'), z.literal('Asia/Novosibirsk'), z.literal('Asia/Omsk'), z.literal('Asia/Oral'), z.literal('Asia/Phnom_Penh'), z.literal('Asia/Pontianak'), z.literal('Asia/Pyongyang'), z.literal('Asia/Qatar'), z.literal('Asia/Qostanay'), z.literal('Asia/Qyzylorda'), z.literal('Asia/Rangoon'), z.literal('Asia/Riyadh'), z.literal('Asia/Saigon'), z.literal('Asia/Sakhalin'), z.literal('Asia/Samarkand'), z.literal('Asia/Seoul'), z.literal('Asia/Shanghai'), z.literal('Asia/Singapore'), z.literal('Asia/Srednekolymsk'), z.literal('Asia/Taipei'), z.literal('Asia/Tashkent'), z.literal('Asia/Tbilisi'), z.literal('Asia/Tehran'), z.literal('Asia/Tel_Aviv'), z.literal('Asia/Thimbu'), z.literal('Asia/Thimphu'), z.literal('Asia/Tokyo'), z.literal('Asia/Tomsk'), z.literal('Asia/Ujung_Pandang'), z.literal('Asia/Ulaanbaatar'), z.literal('Asia/Ulan_Bator'), z.literal('Asia/Urumqi'), z.literal('Asia/Ust-Nera'), z.literal('Asia/Vientiane'), z.literal('Asia/Vladivostok'), z.literal('Asia/Yakutsk'), z.literal('Asia/Yangon'), z.literal('Asia/Yekaterinburg'), z.literal('Asia/Yerevan'), z.literal('Atlantic/Azores'), z.literal('Atlantic/Bermuda'), z.literal('Atlantic/Canary'), z.literal('Atlantic/Cape_Verde'), z.literal('Atlantic/Faeroe'), z.literal('Atlantic/Faroe'), z.literal('Atlantic/Jan_Mayen'), z.literal('Atlantic/Madeira'), z.literal('Atlantic/Reykjavik'), z.literal('Atlantic/South_Georgia'), z.literal('Atlantic/St_Helena'), z.literal('Atlantic/Stanley'), z.literal('Australia/ACT'), z.literal('Australia/Adelaide'), z.literal('Australia/Brisbane'), z.literal('Australia/Broken_Hill'), z.literal('Australia/Canberra'), z.literal('Australia/Currie'), z.literal('Australia/Darwin'), z.literal('Australia/Eucla'), z.literal('Australia/Hobart'), z.literal('Australia/LHI'), z.literal('Australia/Lindeman'), z.literal('Australia/Lord_Howe'), z.literal('Australia/Melbourne'), z.literal('Australia/NSW'), z.literal('Australia/North'), z.literal('Australia/Perth'), z.literal('Australia/Queensland'), z.literal('Australia/South'), z.literal('Australia/Sydney'), z.literal('Australia/Tasmania'), z.literal('Australia/Victoria'), z.literal('Australia/West'), z.literal('Australia/Yancowinna'), z.literal('Brazil/Acre'), z.literal('Brazil/DeNoronha'), z.literal('Brazil/East'), z.literal('Brazil/West'), z.literal('CET'), z.literal('CST6CDT'), z.literal('Canada/Atlantic'), z.literal('Canada/Central'), z.literal('Canada/Eastern'), z.literal('Canada/Mountain'), z.literal('Canada/Newfoundland'), z.literal('Canada/Pacific'), z.literal('Canada/Saskatchewan'), z.literal('Canada/Yukon'), z.literal('Chile/Continental'), z.literal('Chile/EasterIsland'), z.literal('Cuba'), z.literal('EET'), z.literal('EST'), z.literal('EST5EDT'), z.literal('Egypt'), z.literal('Eire'), z.literal('Etc/GMT'), z.literal('Etc/GMT+0'), z.literal('Etc/GMT+1'), z.literal('Etc/GMT+10'), z.literal('Etc/GMT+11'), z.literal('Etc/GMT+12'), z.literal('Etc/GMT+2'), z.literal('Etc/GMT+3'), z.literal('Etc/GMT+4'), z.literal('Etc/GMT+5'), z.literal('Etc/GMT+6'), z.literal('Etc/GMT+7'), z.literal('Etc/GMT+8'), z.literal('Etc/GMT+9'), z.literal('Etc/GMT-0'), z.literal('Etc/GMT-1'), z.literal('Etc/GMT-10'), z.literal('Etc/GMT-11'), z.literal('Etc/GMT-12'), z.literal('Etc/GMT-13'), z.literal('Etc/GMT-14'), z.literal('Etc/GMT-2'), z.literal('Etc/GMT-3'), z.literal('Etc/GMT-4'), z.literal('Etc/GMT-5'), z.literal('Etc/GMT-6'), z.literal('Etc/GMT-7'), z.literal('Etc/GMT-8'), z.literal('Etc/GMT-9'), z.literal('Etc/GMT0'), z.literal('Etc/Greenwich'), z.literal('Etc/UCT'), z.literal('Etc/UTC'), z.literal('Etc/Universal'), z.literal('Etc/Zulu'), z.literal('Europe/Amsterdam'), z.literal('Europe/Andorra'), z.literal('Europe/Astrakhan'), z.literal('Europe/Athens'), z.literal('Europe/Belfast'), z.literal('Europe/Belgrade'), z.literal('Europe/Berlin'), z.literal('Europe/Bratislava'), z.literal('Europe/Brussels'), z.literal('Europe/Bucharest'), z.literal('Europe/Budapest'), z.literal('Europe/Busingen'), z.literal('Europe/Chisinau'), z.literal('Europe/Copenhagen'), z.literal('Europe/Dublin'), z.literal('Europe/Gibraltar'), z.literal('Europe/Guernsey'), z.literal('Europe/Helsinki'), z.literal('Europe/Isle_of_Man'), z.literal('Europe/Istanbul'), z.literal('Europe/Jersey'), z.literal('Europe/Kaliningrad'), z.literal('Europe/Kiev'), z.literal('Europe/Kirov'), z.literal('Europe/Kyiv'), z.literal('Europe/Lisbon'), z.literal('Europe/Ljubljana'), z.literal('Europe/London'), z.literal('Europe/Luxembourg'), z.literal('Europe/Madrid'), z.literal('Europe/Malta'), z.literal('Europe/Mariehamn'), z.literal('Europe/Minsk'), z.literal('Europe/Monaco'), z.literal('Europe/Moscow'), z.literal('Europe/Nicosia'), z.literal('Europe/Oslo'), z.literal('Europe/Paris'), z.literal('Europe/Podgorica'), z.literal('Europe/Prague'), z.literal('Europe/Riga'), z.literal('Europe/Rome'), z.literal('Europe/Samara'), z.literal('Europe/San_Marino'), z.literal('Europe/Sarajevo'), z.literal('Europe/Saratov'), z.literal('Europe/Simferopol'), z.literal('Europe/Skopje'), z.literal('Europe/Sofia'), z.literal('Europe/Stockholm'), z.literal('Europe/Tallinn'), z.literal('Europe/Tirane'), z.literal('Europe/Tiraspol'), z.literal('Europe/Ulyanovsk'), z.literal('Europe/Uzhgorod'), z.literal('Europe/Vaduz'), z.literal('Europe/Vatican'), z.literal('Europe/Vienna'), z.literal('Europe/Vilnius'), z.literal('Europe/Volgograd'), z.literal('Europe/Warsaw'), z.literal('Europe/Zagreb'), z.literal('Europe/Zaporozhye'), z.literal('Europe/Zurich'), z.literal('Factory'), z.literal('GB'), z.literal('GB-Eire'), z.literal('GMT'), z.literal('GMT+0'), z.literal('GMT-0'), z.literal('GMT0'), z.literal('Greenwich'), z.literal('HST'), z.literal('Hongkong'), z.literal('Iceland'), z.literal('Indian/Antananarivo'), z.literal('Indian/Chagos'), z.literal('Indian/Christmas'), z.literal('Indian/Cocos'), z.literal('Indian/Comoro'), z.literal('Indian/Kerguelen'), z.literal('Indian/Mahe'), z.literal('Indian/Maldives'), z.literal('Indian/Mauritius'), z.literal('Indian/Mayotte'), z.literal('Indian/Reunion'), z.literal('Iran'), z.literal('Israel'), z.literal('Jamaica'), z.literal('Japan'), z.literal('Kwajalein'), z.literal('Libya'), z.literal('MET'), z.literal('MST'), z.literal('MST7MDT'), z.literal('Mexico/BajaNorte'), z.literal('Mexico/BajaSur'), z.literal('Mexico/General'), z.literal('NZ'), z.literal('NZ-CHAT'), z.literal('Navajo'), z.literal('PRC'), z.literal('PST8PDT'), z.literal('Pacific/Apia'), z.literal('Pacific/Auckland'), z.literal('Pacific/Bougainville'), z.literal('Pacific/Chatham'), z.literal('Pacific/Chuuk'), z.literal('Pacific/Easter'), z.literal('Pacific/Efate'), z.literal('Pacific/Enderbury'), z.literal('Pacific/Fakaofo'), z.literal('Pacific/Fiji'), z.literal('Pacific/Funafuti'), z.literal('Pacific/Galapagos'), z.literal('Pacific/Gambier'), z.literal('Pacific/Guadalcanal'), z.literal('Pacific/Guam'), z.literal('Pacific/Honolulu'), z.literal('Pacific/Johnston'), z.literal('Pacific/Kanton'), z.literal('Pacific/Kiritimati'), z.literal('Pacific/Kosrae'), z.literal('Pacific/Kwajalein'), z.literal('Pacific/Majuro'), z.literal('Pacific/Marquesas'), z.literal('Pacific/Midway'), z.literal('Pacific/Nauru'), z.literal('Pacific/Niue'), z.literal('Pacific/Norfolk'), z.literal('Pacific/Noumea'), z.literal('Pacific/Pago_Pago'), z.literal('Pacific/Palau'), z.literal('Pacific/Pitcairn'), z.literal('Pacific/Pohnpei'), z.literal('Pacific/Ponape'), z.literal('Pacific/Port_Moresby'), z.literal('Pacific/Rarotonga'), z.literal('Pacific/Saipan'), z.literal('Pacific/Samoa'), z.literal('Pacific/Tahiti'), z.literal('Pacific/Tarawa'), z.literal('Pacific/Tongatapu'), z.literal('Pacific/Truk'), z.literal('Pacific/Wake'), z.literal('Pacific/Wallis'), z.literal('Pacific/Yap'), z.literal('Poland'), z.literal('Portugal'), z.literal('ROC'), z.literal('ROK'), z.literal('Singapore'), z.literal('Turkey'), z.literal('UCT'), z.literal('US/Alaska'), z.literal('US/Aleutian'), z.literal('US/Arizona'), z.literal('US/Central'), z.literal('US/East-Indiana'), z.literal('US/Eastern'), z.literal('US/Hawaii'), z.literal('US/Indiana-Starke'), z.literal('US/Michigan'), z.literal('US/Mountain'), z.literal('US/Pacific'), z.literal('US/Pacific-New'), z.literal('US/Samoa'), z.literal('UTC'), z.literal('Universal'), z.literal('W-SU'), z.literal('WET'), z.literal('Zulu'), ]) .optional(), }) .optional(), report_type: z.string(), }), }); export const getReportingReportRunsReportRunDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ report_run: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getReportingReportTypesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getReportingReportTypesResponseSchema = z.object({ data: z.array(reportingReportTypeSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getReportingReportTypesReportTypeDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ report_type: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getReportingReportTypesReportTypeResponseSchema = reportingReportTypeSchema; export const getReviewsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getReviewsReviewDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ review: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postReviewsReviewApproveDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ review: z.string(), }), }); export const getSetupAttemptsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), setup_intent: z.string(), starting_after: z.string().optional(), }), }); export const getSetupIntentsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ attach_to_self: z.boolean().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), payment_method: z.string().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postSetupIntentsDataSchema = z.object({ body: z .object({ attach_to_self: z.boolean().optional(), automatic_payment_methods: z .object({ allow_redirects: z.union([z.literal('always'), z.literal('never')]).optional(), enabled: z.boolean(), }) .optional(), confirm: z.boolean().optional(), confirmation_token: z.string().optional(), customer: z.string().optional(), description: z.string().optional(), expand: z.array(z.string()).optional(), flow_directions: z.array(z.union([z.literal('inbound'), z.literal('outbound')])).optional(), mandate_data: z .union([ z.object({ customer_acceptance: z.object({ accepted_at: z.number().optional(), offline: z.record(z.unknown()).optional(), online: z .object({ ip_address: z.string(), user_agent: z.string(), }) .optional(), type: z.union([z.literal('offline'), z.literal('online')]), }), }), z.literal(''), ]) .optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.string().optional(), payment_method: z.string().optional(), payment_method_configuration: z.string().optional(), payment_method_data: z .object({ acss_debit: z .object({ account_number: z.string(), institution_number: z.string(), transit_number: z.string(), }) .optional(), affirm: z.record(z.unknown()).optional(), afterpay_clearpay: z.record(z.unknown()).optional(), alipay: z.record(z.unknown()).optional(), allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), amazon_pay: z.record(z.unknown()).optional(), au_becs_debit: z .object({ account_number: z.string(), bsb_number: z.string(), }) .optional(), bacs_debit: z .object({ account_number: z.string().optional(), sort_code: z.string().optional(), }) .optional(), bancontact: z.record(z.unknown()).optional(), billing_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), email: z.union([z.string(), z.literal('')]).optional(), name: z.union([z.string(), z.literal('')]).optional(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), blik: z.record(z.unknown()).optional(), boleto: z .object({ tax_id: z.string(), }) .optional(), cashapp: z.record(z.unknown()).optional(), customer_balance: z.record(z.unknown()).optional(), eps: z .object({ bank: z .union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]) .optional(), }) .optional(), fpx: z .object({ bank: z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]), }) .optional(), giropay: z.record(z.unknown()).optional(), grabpay: z.record(z.unknown()).optional(), ideal: z .object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional(), }) .optional(), interac_present: z.record(z.unknown()).optional(), klarna: z .object({ dob: z .object({ day: z.number(), month: z.number(), year: z.number(), }) .optional(), }) .optional(), konbini: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), metadata: z.record(z.string()).optional(), mobilepay: z.record(z.unknown()).optional(), multibanco: z.record(z.unknown()).optional(), oxxo: z.record(z.unknown()).optional(), p24: z .object({ bank: z .union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]) .optional(), }) .optional(), paynow: z.record(z.unknown()).optional(), paypal: z.record(z.unknown()).optional(), pix: z.record(z.unknown()).optional(), promptpay: z.record(z.unknown()).optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), revolut_pay: z.record(z.unknown()).optional(), sepa_debit: z .object({ iban: z.string(), }) .optional(), sofort: z .object({ country: z.union([ z.literal('AT'), z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('IT'), z.literal('NL'), ]), }) .optional(), swish: z.record(z.unknown()).optional(), twint: z.record(z.unknown()).optional(), type: z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]), us_bank_account: z .object({ account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string().optional(), account_type: z.union([z.literal('checking'), z.literal('savings')]).optional(), financial_connections_account: z.string().optional(), routing_number: z.string().optional(), }) .optional(), wechat_pay: z.record(z.unknown()).optional(), zip: z.record(z.unknown()).optional(), }) .optional(), payment_method_options: z .object({ acss_debit: z .object({ currency: z.union([z.literal('cad'), z.literal('usd')]).optional(), mandate_options: z .object({ custom_mandate_url: z.union([z.string(), z.literal('')]).optional(), default_for: z.array(z.union([z.literal('invoice'), z.literal('subscription')])).optional(), interval_description: z.string().optional(), payment_schedule: z .union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]) .optional(), transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }) .optional(), amazon_pay: z.record(z.unknown()).optional(), card: z .object({ mandate_options: z .object({ amount: z.number(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]), currency: z.string(), description: z.string().optional(), end_date: z.number().optional(), interval: z.union([ z.literal('day'), z.literal('month'), z.literal('sporadic'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional(), reference: z.string(), start_date: z.number(), supported_types: z.array(z.literal('india')).optional(), }) .optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), three_d_secure: z .object({ ares_trans_status: z .union([ z.literal('A'), z.literal('C'), z.literal('I'), z.literal('N'), z.literal('R'), z.literal('U'), z.literal('Y'), ]) .optional(), cryptogram: z.string().optional(), electronic_commerce_indicator: z .union([z.literal('01'), z.literal('02'), z.literal('05'), z.literal('06'), z.literal('07')]) .optional(), network_options: z .object({ cartes_bancaires: z .object({ cb_avalgo: z.union([ z.literal('0'), z.literal('1'), z.literal('2'), z.literal('3'), z.literal('4'), z.literal('A'), ]), cb_exemption: z.string().optional(), cb_score: z.number().optional(), }) .optional(), }) .optional(), requestor_challenge_indicator: z.string().optional(), transaction_id: z.string().optional(), version: z.union([z.literal('1.0.2'), z.literal('2.1.0'), z.literal('2.2.0')]).optional(), }) .optional(), }) .optional(), card_present: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), paypal: z .object({ billing_agreement_id: z.string().optional(), }) .optional(), sepa_debit: z .object({ mandate_options: z.record(z.unknown()).optional(), }) .optional(), us_bank_account: z .object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), return_url: z.string().optional(), }) .optional(), mandate_options: z .object({ collection_method: z.union([z.literal(''), z.literal('paper')]).optional(), }) .optional(), networks: z .object({ requested: z.array(z.union([z.literal('ach'), z.literal('us_domestic_wire')])).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }) .optional(), }) .optional(), payment_method_types: z.array(z.string()).optional(), return_url: z.string().optional(), single_use: z .object({ amount: z.number(), currency: z.string(), }) .optional(), usage: z.union([z.literal('off_session'), z.literal('on_session')]).optional(), use_stripe_sdk: z.boolean().optional(), }) .optional(), }); export const getSetupIntentsIntentDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ intent: z.string(), }), query: z .object({ client_secret: z.string().optional(), expand: z.array(z.string()).optional(), }) .optional(), }); export const postSetupIntentsIntentDataSchema = z.object({ body: z .object({ attach_to_self: z.boolean().optional(), customer: z.string().optional(), description: z.string().optional(), expand: z.array(z.string()).optional(), flow_directions: z.array(z.union([z.literal('inbound'), z.literal('outbound')])).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), payment_method: z.string().optional(), payment_method_configuration: z.string().optional(), payment_method_data: z .object({ acss_debit: z .object({ account_number: z.string(), institution_number: z.string(), transit_number: z.string(), }) .optional(), affirm: z.record(z.unknown()).optional(), afterpay_clearpay: z.record(z.unknown()).optional(), alipay: z.record(z.unknown()).optional(), allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), amazon_pay: z.record(z.unknown()).optional(), au_becs_debit: z .object({ account_number: z.string(), bsb_number: z.string(), }) .optional(), bacs_debit: z .object({ account_number: z.string().optional(), sort_code: z.string().optional(), }) .optional(), bancontact: z.record(z.unknown()).optional(), billing_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), email: z.union([z.string(), z.literal('')]).optional(), name: z.union([z.string(), z.literal('')]).optional(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), blik: z.record(z.unknown()).optional(), boleto: z .object({ tax_id: z.string(), }) .optional(), cashapp: z.record(z.unknown()).optional(), customer_balance: z.record(z.unknown()).optional(), eps: z .object({ bank: z .union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]) .optional(), }) .optional(), fpx: z .object({ bank: z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]), }) .optional(), giropay: z.record(z.unknown()).optional(), grabpay: z.record(z.unknown()).optional(), ideal: z .object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional(), }) .optional(), interac_present: z.record(z.unknown()).optional(), klarna: z .object({ dob: z .object({ day: z.number(), month: z.number(), year: z.number(), }) .optional(), }) .optional(), konbini: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), metadata: z.record(z.string()).optional(), mobilepay: z.record(z.unknown()).optional(), multibanco: z.record(z.unknown()).optional(), oxxo: z.record(z.unknown()).optional(), p24: z .object({ bank: z .union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]) .optional(), }) .optional(), paynow: z.record(z.unknown()).optional(), paypal: z.record(z.unknown()).optional(), pix: z.record(z.unknown()).optional(), promptpay: z.record(z.unknown()).optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), revolut_pay: z.record(z.unknown()).optional(), sepa_debit: z .object({ iban: z.string(), }) .optional(), sofort: z .object({ country: z.union([ z.literal('AT'), z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('IT'), z.literal('NL'), ]), }) .optional(), swish: z.record(z.unknown()).optional(), twint: z.record(z.unknown()).optional(), type: z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]), us_bank_account: z .object({ account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string().optional(), account_type: z.union([z.literal('checking'), z.literal('savings')]).optional(), financial_connections_account: z.string().optional(), routing_number: z.string().optional(), }) .optional(), wechat_pay: z.record(z.unknown()).optional(), zip: z.record(z.unknown()).optional(), }) .optional(), payment_method_options: z .object({ acss_debit: z .object({ currency: z.union([z.literal('cad'), z.literal('usd')]).optional(), mandate_options: z .object({ custom_mandate_url: z.union([z.string(), z.literal('')]).optional(), default_for: z.array(z.union([z.literal('invoice'), z.literal('subscription')])).optional(), interval_description: z.string().optional(), payment_schedule: z .union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]) .optional(), transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }) .optional(), amazon_pay: z.record(z.unknown()).optional(), card: z .object({ mandate_options: z .object({ amount: z.number(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]), currency: z.string(), description: z.string().optional(), end_date: z.number().optional(), interval: z.union([ z.literal('day'), z.literal('month'), z.literal('sporadic'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional(), reference: z.string(), start_date: z.number(), supported_types: z.array(z.literal('india')).optional(), }) .optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), three_d_secure: z .object({ ares_trans_status: z .union([ z.literal('A'), z.literal('C'), z.literal('I'), z.literal('N'), z.literal('R'), z.literal('U'), z.literal('Y'), ]) .optional(), cryptogram: z.string().optional(), electronic_commerce_indicator: z .union([z.literal('01'), z.literal('02'), z.literal('05'), z.literal('06'), z.literal('07')]) .optional(), network_options: z .object({ cartes_bancaires: z .object({ cb_avalgo: z.union([ z.literal('0'), z.literal('1'), z.literal('2'), z.literal('3'), z.literal('4'), z.literal('A'), ]), cb_exemption: z.string().optional(), cb_score: z.number().optional(), }) .optional(), }) .optional(), requestor_challenge_indicator: z.string().optional(), transaction_id: z.string().optional(), version: z.union([z.literal('1.0.2'), z.literal('2.1.0'), z.literal('2.2.0')]).optional(), }) .optional(), }) .optional(), card_present: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), paypal: z .object({ billing_agreement_id: z.string().optional(), }) .optional(), sepa_debit: z .object({ mandate_options: z.record(z.unknown()).optional(), }) .optional(), us_bank_account: z .object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), return_url: z.string().optional(), }) .optional(), mandate_options: z .object({ collection_method: z.union([z.literal(''), z.literal('paper')]).optional(), }) .optional(), networks: z .object({ requested: z.array(z.union([z.literal('ach'), z.literal('us_domestic_wire')])).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }) .optional(), }) .optional(), payment_method_types: z.array(z.string()).optional(), }) .optional(), path: z.object({ intent: z.string(), }), }); export const postSetupIntentsIntentCancelDataSchema = z.object({ body: z .object({ cancellation_reason: z .union([z.literal('abandoned'), z.literal('duplicate'), z.literal('requested_by_customer')]) .optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ intent: z.string(), }), }); export const postSetupIntentsIntentConfirmDataSchema = z.object({ body: z .object({ client_secret: z.string().optional(), confirmation_token: z.string().optional(), expand: z.array(z.string()).optional(), mandate_data: z .union([ z.object({ customer_acceptance: z.object({ accepted_at: z.number().optional(), offline: z.record(z.unknown()).optional(), online: z .object({ ip_address: z.string(), user_agent: z.string(), }) .optional(), type: z.union([z.literal('offline'), z.literal('online')]), }), }), z.literal(''), z.object({ customer_acceptance: z.object({ online: z.object({ ip_address: z.string().optional(), user_agent: z.string().optional(), }), type: z.literal('online'), }), }), ]) .optional(), payment_method: z.string().optional(), payment_method_data: z .object({ acss_debit: z .object({ account_number: z.string(), institution_number: z.string(), transit_number: z.string(), }) .optional(), affirm: z.record(z.unknown()).optional(), afterpay_clearpay: z.record(z.unknown()).optional(), alipay: z.record(z.unknown()).optional(), allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), amazon_pay: z.record(z.unknown()).optional(), au_becs_debit: z .object({ account_number: z.string(), bsb_number: z.string(), }) .optional(), bacs_debit: z .object({ account_number: z.string().optional(), sort_code: z.string().optional(), }) .optional(), bancontact: z.record(z.unknown()).optional(), billing_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), email: z.union([z.string(), z.literal('')]).optional(), name: z.union([z.string(), z.literal('')]).optional(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), blik: z.record(z.unknown()).optional(), boleto: z .object({ tax_id: z.string(), }) .optional(), cashapp: z.record(z.unknown()).optional(), customer_balance: z.record(z.unknown()).optional(), eps: z .object({ bank: z .union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]) .optional(), }) .optional(), fpx: z .object({ bank: z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]), }) .optional(), giropay: z.record(z.unknown()).optional(), grabpay: z.record(z.unknown()).optional(), ideal: z .object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional(), }) .optional(), interac_present: z.record(z.unknown()).optional(), klarna: z .object({ dob: z .object({ day: z.number(), month: z.number(), year: z.number(), }) .optional(), }) .optional(), konbini: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), metadata: z.record(z.string()).optional(), mobilepay: z.record(z.unknown()).optional(), multibanco: z.record(z.unknown()).optional(), oxxo: z.record(z.unknown()).optional(), p24: z .object({ bank: z .union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]) .optional(), }) .optional(), paynow: z.record(z.unknown()).optional(), paypal: z.record(z.unknown()).optional(), pix: z.record(z.unknown()).optional(), promptpay: z.record(z.unknown()).optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), revolut_pay: z.record(z.unknown()).optional(), sepa_debit: z .object({ iban: z.string(), }) .optional(), sofort: z .object({ country: z.union([ z.literal('AT'), z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('IT'), z.literal('NL'), ]), }) .optional(), swish: z.record(z.unknown()).optional(), twint: z.record(z.unknown()).optional(), type: z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]), us_bank_account: z .object({ account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string().optional(), account_type: z.union([z.literal('checking'), z.literal('savings')]).optional(), financial_connections_account: z.string().optional(), routing_number: z.string().optional(), }) .optional(), wechat_pay: z.record(z.unknown()).optional(), zip: z.record(z.unknown()).optional(), }) .optional(), payment_method_options: z .object({ acss_debit: z .object({ currency: z.union([z.literal('cad'), z.literal('usd')]).optional(), mandate_options: z .object({ custom_mandate_url: z.union([z.string(), z.literal('')]).optional(), default_for: z.array(z.union([z.literal('invoice'), z.literal('subscription')])).optional(), interval_description: z.string().optional(), payment_schedule: z .union([z.literal('combined'), z.literal('interval'), z.literal('sporadic')]) .optional(), transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }) .optional(), amazon_pay: z.record(z.unknown()).optional(), card: z .object({ mandate_options: z .object({ amount: z.number(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]), currency: z.string(), description: z.string().optional(), end_date: z.number().optional(), interval: z.union([ z.literal('day'), z.literal('month'), z.literal('sporadic'), z.literal('week'), z.literal('year'), ]), interval_count: z.number().optional(), reference: z.string(), start_date: z.number(), supported_types: z.array(z.literal('india')).optional(), }) .optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), three_d_secure: z .object({ ares_trans_status: z .union([ z.literal('A'), z.literal('C'), z.literal('I'), z.literal('N'), z.literal('R'), z.literal('U'), z.literal('Y'), ]) .optional(), cryptogram: z.string().optional(), electronic_commerce_indicator: z .union([z.literal('01'), z.literal('02'), z.literal('05'), z.literal('06'), z.literal('07')]) .optional(), network_options: z .object({ cartes_bancaires: z .object({ cb_avalgo: z.union([ z.literal('0'), z.literal('1'), z.literal('2'), z.literal('3'), z.literal('4'), z.literal('A'), ]), cb_exemption: z.string().optional(), cb_score: z.number().optional(), }) .optional(), }) .optional(), requestor_challenge_indicator: z.string().optional(), transaction_id: z.string().optional(), version: z.union([z.literal('1.0.2'), z.literal('2.1.0'), z.literal('2.2.0')]).optional(), }) .optional(), }) .optional(), card_present: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), paypal: z .object({ billing_agreement_id: z.string().optional(), }) .optional(), sepa_debit: z .object({ mandate_options: z.record(z.unknown()).optional(), }) .optional(), us_bank_account: z .object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), return_url: z.string().optional(), }) .optional(), mandate_options: z .object({ collection_method: z.union([z.literal(''), z.literal('paper')]).optional(), }) .optional(), networks: z .object({ requested: z.array(z.union([z.literal('ach'), z.literal('us_domestic_wire')])).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }) .optional(), }) .optional(), return_url: z.string().optional(), use_stripe_sdk: z.boolean().optional(), }) .optional(), path: z.object({ intent: z.string(), }), }); export const postSetupIntentsIntentVerifyMicrodepositsDataSchema = z.object({ body: z .object({ amounts: z.array(z.number()).optional(), client_secret: z.string().optional(), descriptor_code: z.string().optional(), expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ intent: z.string(), }), }); export const getShippingRatesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ active: z.boolean().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), currency: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postShippingRatesDataSchema = z.object({ body: z.object({ delivery_estimate: z .object({ maximum: z .object({ unit: z.union([ z.literal('business_day'), z.literal('day'), z.literal('hour'), z.literal('month'), z.literal('week'), ]), value: z.number(), }) .optional(), minimum: z .object({ unit: z.union([ z.literal('business_day'), z.literal('day'), z.literal('hour'), z.literal('month'), z.literal('week'), ]), value: z.number(), }) .optional(), }) .optional(), display_name: z.string(), expand: z.array(z.string()).optional(), fixed_amount: z .object({ amount: z.number(), currency: z.string(), currency_options: z .record( z.object({ amount: z.number(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), }), ) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), tax_code: z.string().optional(), type: z.literal('fixed_amount').optional(), }), }); export const getShippingRatesShippingRateTokenDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ shipping_rate_token: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postShippingRatesShippingRateTokenDataSchema = z.object({ body: z .object({ active: z.boolean().optional(), expand: z.array(z.string()).optional(), fixed_amount: z .object({ currency_options: z .record( z.object({ amount: z.number().optional(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), }), ) .optional(), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), }) .optional(), path: z.object({ shipping_rate_token: z.string(), }), }); export const getSigmaScheduledQueryRunsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getSigmaScheduledQueryRunsScheduledQueryRunDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ scheduled_query_run: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postSourcesDataSchema = z.object({ body: z .object({ amount: z.number().optional(), currency: z.string().optional(), customer: z.string().optional(), expand: z.array(z.string()).optional(), flow: z .union([z.literal('code_verification'), z.literal('none'), z.literal('receiver'), z.literal('redirect')]) .optional(), mandate: z .object({ acceptance: z .object({ date: z.number().optional(), ip: z.string().optional(), offline: z .object({ contact_email: z.string(), }) .optional(), online: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.string().optional(), }) .optional(), status: z.union([ z.literal('accepted'), z.literal('pending'), z.literal('refused'), z.literal('revoked'), ]), type: z.union([z.literal('offline'), z.literal('online')]).optional(), user_agent: z.string().optional(), }) .optional(), amount: z.union([z.number(), z.literal('')]).optional(), currency: z.string().optional(), interval: z.union([z.literal('one_time'), z.literal('scheduled'), z.literal('variable')]).optional(), notification_method: z .union([ z.literal('deprecated_none'), z.literal('email'), z.literal('manual'), z.literal('none'), z.literal('stripe_email'), ]) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), original_source: z.string().optional(), owner: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), email: z.string().optional(), name: z.string().optional(), phone: z.string().optional(), }) .optional(), receiver: z .object({ refund_attributes_method: z.union([z.literal('email'), z.literal('manual'), z.literal('none')]).optional(), }) .optional(), redirect: z .object({ return_url: z.string(), }) .optional(), source_order: z .object({ items: z .array( z.object({ amount: z.number().optional(), currency: z.string().optional(), description: z.string().optional(), parent: z.string().optional(), quantity: z.number().optional(), type: z .union([z.literal('discount'), z.literal('shipping'), z.literal('sku'), z.literal('tax')]) .optional(), }), ) .optional(), shipping: z .object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), carrier: z.string().optional(), name: z.string().optional(), phone: z.string().optional(), tracking_number: z.string().optional(), }) .optional(), }) .optional(), statement_descriptor: z.string().optional(), token: z.string().optional(), type: z.string().optional(), usage: z.union([z.literal('reusable'), z.literal('single_use')]).optional(), }) .optional(), }); export const postSourcesResponseSchema = sourceSchema; export const getSourcesSourceDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ source: z.string(), }), query: z .object({ client_secret: z.string().optional(), expand: z.array(z.string()).optional(), }) .optional(), }); export const getSourcesSourceResponseSchema = sourceSchema; export const postSourcesSourceDataSchema = z.object({ body: z .object({ amount: z.number().optional(), expand: z.array(z.string()).optional(), mandate: z .object({ acceptance: z .object({ date: z.number().optional(), ip: z.string().optional(), offline: z .object({ contact_email: z.string(), }) .optional(), online: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.string().optional(), }) .optional(), status: z.union([ z.literal('accepted'), z.literal('pending'), z.literal('refused'), z.literal('revoked'), ]), type: z.union([z.literal('offline'), z.literal('online')]).optional(), user_agent: z.string().optional(), }) .optional(), amount: z.union([z.number(), z.literal('')]).optional(), currency: z.string().optional(), interval: z.union([z.literal('one_time'), z.literal('scheduled'), z.literal('variable')]).optional(), notification_method: z .union([ z.literal('deprecated_none'), z.literal('email'), z.literal('manual'), z.literal('none'), z.literal('stripe_email'), ]) .optional(), }) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), owner: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), email: z.string().optional(), name: z.string().optional(), phone: z.string().optional(), }) .optional(), source_order: z .object({ items: z .array( z.object({ amount: z.number().optional(), currency: z.string().optional(), description: z.string().optional(), parent: z.string().optional(), quantity: z.number().optional(), type: z .union([z.literal('discount'), z.literal('shipping'), z.literal('sku'), z.literal('tax')]) .optional(), }), ) .optional(), shipping: z .object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), carrier: z.string().optional(), name: z.string().optional(), phone: z.string().optional(), tracking_number: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), path: z.object({ source: z.string(), }), }); export const postSourcesSourceResponseSchema = sourceSchema; export const getSourcesSourceMandateNotificationsMandateNotificationDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ mandate_notification: z.string(), source: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const sourceMandateNotificationSchema = z.object({ acss_debit: sourceMandateNotificationAcssDebitDataSchema.optional(), amount: z.number().optional().nullable(), bacs_debit: sourceMandateNotificationBacsDebitDataSchema.optional(), created: z.number(), id: z.string(), livemode: z.boolean(), object: z.literal('source_mandate_notification'), reason: z.string(), sepa_debit: sourceMandateNotificationSepaDebitDataSchema.optional(), source: sourceSchema, status: z.string(), type: z.string(), }); export const getSourcesSourceSourceTransactionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ source: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const sourceTransactionSchema = z.object({ ach_credit_transfer: sourceTransactionAchCreditTransferDataSchema.optional(), amount: z.number(), chf_credit_transfer: sourceTransactionChfCreditTransferDataSchema.optional(), created: z.number(), currency: z.string(), gbp_credit_transfer: sourceTransactionGbpCreditTransferDataSchema.optional(), id: z.string(), livemode: z.boolean(), object: z.literal('source_transaction'), paper_check: sourceTransactionPaperCheckDataSchema.optional(), sepa_credit_transfer: sourceTransactionSepaCreditTransferDataSchema.optional(), source: z.string(), status: z.string(), type: z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('alipay'), z.literal('bancontact'), z.literal('card'), z.literal('card_present'), z.literal('eps'), z.literal('giropay'), z.literal('ideal'), z.literal('klarna'), z.literal('multibanco'), z.literal('p24'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('three_d_secure'), z.literal('wechat'), ]), }); export const getSourcesSourceSourceTransactionsSourceTransactionDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ source: z.string(), source_transaction: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getSourcesSourceSourceTransactionsSourceTransactionResponseSchema = sourceTransactionSchema; export const postSourcesSourceVerifyDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), values: z.array(z.string()), }), path: z.object({ source: z.string(), }), }); export const postSourcesSourceVerifyResponseSchema = sourceSchema; export const getSubscriptionItemsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), subscription: z.string(), }), }); export const postSubscriptionItemsDataSchema = z.object({ body: z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), payment_behavior: z .union([ z.literal('allow_incomplete'), z.literal('default_incomplete'), z.literal('error_if_incomplete'), z.literal('pending_if_incomplete'), ]) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), proration_date: z.number().optional(), quantity: z.number().optional(), subscription: z.string(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), }); export const deleteSubscriptionItemsItemDataSchema = z.object({ body: z .object({ clear_usage: z.boolean().optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), proration_date: z.number().optional(), }) .optional(), path: z.object({ item: z.string(), }), }); export const deleteSubscriptionItemsItemResponseSchema = deletedSubscriptionItemSchema; export const getSubscriptionItemsItemDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ item: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postSubscriptionItemsItemDataSchema = z.object({ body: z .object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), off_session: z.boolean().optional(), payment_behavior: z .union([ z.literal('allow_incomplete'), z.literal('default_incomplete'), z.literal('error_if_incomplete'), z.literal('pending_if_incomplete'), ]) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]).optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), proration_date: z.number().optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ item: z.string(), }), }); export const getSubscriptionItemsSubscriptionItemUsageRecordSummariesDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ subscription_item: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getSubscriptionItemsSubscriptionItemUsageRecordSummariesResponseSchema = z.object({ data: z.array(usageRecordSummarySchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postSubscriptionItemsSubscriptionItemUsageRecordsDataSchema = z.object({ body: z.object({ action: z.union([z.literal('increment'), z.literal('set')]).optional(), expand: z.array(z.string()).optional(), quantity: z.number(), timestamp: z.union([z.literal('now'), z.number()]).optional(), }), path: z.object({ subscription_item: z.string(), }), }); export const postSubscriptionItemsSubscriptionItemUsageRecordsResponseSchema = usageRecordSchema; export const getSubscriptionSchedulesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ canceled_at: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), completed_at: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), released_at: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), scheduled: z.boolean().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postSubscriptionSchedulesDataSchema = z.object({ body: z .object({ customer: z.string().optional(), default_settings: z .object({ application_fee_percent: z.number().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_cycle_anchor: z.union([z.literal('automatic'), z.literal('phase_start')]).optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), default_payment_method: z.string().optional(), description: z.union([z.string(), z.literal('')]).optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), days_until_due: z.number().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), on_behalf_of: z.union([z.string(), z.literal('')]).optional(), transfer_data: z .union([ z.object({ amount_percent: z.number().optional(), destination: z.string(), }), z.literal(''), ]) .optional(), }) .optional(), end_behavior: z .union([z.literal('cancel'), z.literal('none'), z.literal('release'), z.literal('renew')]) .optional(), expand: z.array(z.string()).optional(), from_subscription: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), phases: z .array( z.object({ add_invoice_items: z .array( z.object({ discounts: z .array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), application_fee_percent: z.number().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_cycle_anchor: z.union([z.literal('automatic'), z.literal('phase_start')]).optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), coupon: z.string().optional(), currency: z.string().optional(), default_payment_method: z.string().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), description: z.union([z.string(), z.literal('')]).optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), end_date: z.number().optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), days_until_due: z.number().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), items: z.array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), metadata: z.record(z.string()).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ), iterations: z.number().optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.string().optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), transfer_data: z .object({ amount_percent: z.number().optional(), destination: z.string(), }) .optional(), trial: z.boolean().optional(), trial_end: z.number().optional(), }), ) .optional(), start_date: z.union([z.number(), z.literal('now')]).optional(), }) .optional(), }); export const getSubscriptionSchedulesScheduleDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ schedule: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postSubscriptionSchedulesScheduleDataSchema = z.object({ body: z .object({ default_settings: z .object({ application_fee_percent: z.number().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_cycle_anchor: z.union([z.literal('automatic'), z.literal('phase_start')]).optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), default_payment_method: z.string().optional(), description: z.union([z.string(), z.literal('')]).optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), days_until_due: z.number().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), on_behalf_of: z.union([z.string(), z.literal('')]).optional(), transfer_data: z .union([ z.object({ amount_percent: z.number().optional(), destination: z.string(), }), z.literal(''), ]) .optional(), }) .optional(), end_behavior: z .union([z.literal('cancel'), z.literal('none'), z.literal('release'), z.literal('renew')]) .optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), phases: z .array( z.object({ add_invoice_items: z .array( z.object({ discounts: z .array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), application_fee_percent: z.number().optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_cycle_anchor: z.union([z.literal('automatic'), z.literal('phase_start')]).optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), coupon: z.string().optional(), default_payment_method: z.string().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), description: z.union([z.string(), z.literal('')]).optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), end_date: z.union([z.number(), z.literal('now')]).optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), days_until_due: z.number().optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), items: z.array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), metadata: z.record(z.string()).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ), iterations: z.number().optional(), metadata: z.record(z.string()).optional(), on_behalf_of: z.string().optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), start_date: z.union([z.number(), z.literal('now')]).optional(), transfer_data: z .object({ amount_percent: z.number().optional(), destination: z.string(), }) .optional(), trial: z.boolean().optional(), trial_end: z.union([z.number(), z.literal('now')]).optional(), }), ) .optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), }) .optional(), path: z.object({ schedule: z.string(), }), }); export const postSubscriptionSchedulesScheduleCancelDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), invoice_now: z.boolean().optional(), prorate: z.boolean().optional(), }) .optional(), path: z.object({ schedule: z.string(), }), }); export const postSubscriptionSchedulesScheduleReleaseDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), preserve_cancel_date: z.boolean().optional(), }) .optional(), path: z.object({ schedule: z.string(), }), }); export const getSubscriptionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ automatic_tax: z .object({ enabled: z.boolean(), }) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), current_period_end: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), current_period_start: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), price: z.string().optional(), starting_after: z.string().optional(), status: z .union([ z.literal('active'), z.literal('all'), z.literal('canceled'), z.literal('ended'), z.literal('incomplete'), z.literal('incomplete_expired'), z.literal('past_due'), z.literal('paused'), z.literal('trialing'), z.literal('unpaid'), ]) .optional(), test_clock: z.string().optional(), }) .optional(), }); export const postSubscriptionsDataSchema = z.object({ body: z.object({ add_invoice_items: z .array( z.object({ discounts: z .array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), application_fee_percent: z.union([z.number(), z.literal('')]).optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), backdate_start_date: z.number().optional(), billing_cycle_anchor: z.number().optional(), billing_cycle_anchor_config: z .object({ day_of_month: z.number(), hour: z.number().optional(), minute: z.number().optional(), month: z.number().optional(), second: z.number().optional(), }) .optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), cancel_at: z.number().optional(), cancel_at_period_end: z.boolean().optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), coupon: z.string().optional(), currency: z.string().optional(), customer: z.string(), days_until_due: z.number().optional(), default_payment_method: z.string().optional(), default_source: z.string().optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), description: z.string().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), items: z .array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), metadata: z.record(z.string()).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), off_session: z.boolean().optional(), on_behalf_of: z.union([z.string(), z.literal('')]).optional(), payment_behavior: z .union([ z.literal('allow_incomplete'), z.literal('default_incomplete'), z.literal('error_if_incomplete'), z.literal('pending_if_incomplete'), ]) .optional(), payment_settings: z .object({ payment_method_options: z .object({ acss_debit: z .union([ z.object({ mandate_options: z .object({ transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), bancontact: z .union([ z.object({ preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional(), }), z.literal(''), ]) .optional(), card: z .union([ z.object({ mandate_options: z .object({ amount: z.number().optional(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]).optional(), description: z.string().optional(), }) .optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), }), z.literal(''), ]) .optional(), customer_balance: z .union([ z.object({ bank_transfer: z .object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), type: z.string().optional(), }) .optional(), funding_type: z.string().optional(), }), z.literal(''), ]) .optional(), konbini: z.union([z.record(z.unknown()), z.literal('')]).optional(), sepa_debit: z.union([z.record(z.unknown()), z.literal('')]).optional(), us_bank_account: z .union([ z.object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), payment_method_types: z .union([ z.array( z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('acss_debit'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('konbini'), z.literal('link'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ), z.literal(''), ]) .optional(), save_default_payment_method: z.union([z.literal('off'), z.literal('on_subscription')]).optional(), }) .optional(), pending_invoice_item_interval: z .union([ z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), z.literal(''), ]) .optional(), promotion_code: z.string().optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), transfer_data: z .object({ amount_percent: z.number().optional(), destination: z.string(), }) .optional(), trial_end: z.union([z.literal('now'), z.number()]).optional(), trial_from_plan: z.boolean().optional(), trial_period_days: z.number().optional(), trial_settings: z .object({ end_behavior: z.object({ missing_payment_method: z.union([z.literal('cancel'), z.literal('create_invoice'), z.literal('pause')]), }), }) .optional(), }), }); export const getSubscriptionsSearchDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ expand: z.array(z.string()).optional(), limit: z.number().optional(), page: z.string().optional(), query: z.string(), }), }); export const deleteSubscriptionsSubscriptionExposedIdDataSchema = z.object({ body: z .object({ cancellation_details: z .object({ comment: z.union([z.string(), z.literal('')]).optional(), feedback: z .union([ z.literal(''), z.literal('customer_service'), z.literal('low_quality'), z.literal('missing_features'), z.literal('other'), z.literal('switched_service'), z.literal('too_complex'), z.literal('too_expensive'), z.literal('unused'), ]) .optional(), }) .optional(), expand: z.array(z.string()).optional(), invoice_now: z.boolean().optional(), prorate: z.boolean().optional(), }) .optional(), path: z.object({ subscription_exposed_id: z.string(), }), }); export const getSubscriptionsSubscriptionExposedIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ subscription_exposed_id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postSubscriptionsSubscriptionExposedIdDataSchema = z.object({ body: z .object({ add_invoice_items: z .array( z.object({ discounts: z .array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ) .optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), application_fee_percent: z.union([z.number(), z.literal('')]).optional(), automatic_tax: z .object({ enabled: z.boolean(), liability: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), billing_cycle_anchor: z.union([z.literal('now'), z.literal('unchanged')]).optional(), billing_thresholds: z .union([ z.object({ amount_gte: z.number().optional(), reset_billing_cycle_anchor: z.boolean().optional(), }), z.literal(''), ]) .optional(), cancel_at: z.union([z.number(), z.literal('')]).optional(), cancel_at_period_end: z.boolean().optional(), cancellation_details: z .object({ comment: z.union([z.string(), z.literal('')]).optional(), feedback: z .union([ z.literal(''), z.literal('customer_service'), z.literal('low_quality'), z.literal('missing_features'), z.literal('other'), z.literal('switched_service'), z.literal('too_complex'), z.literal('too_expensive'), z.literal('unused'), ]) .optional(), }) .optional(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]).optional(), coupon: z.string().optional(), days_until_due: z.number().optional(), default_payment_method: z.string().optional(), default_source: z.union([z.string(), z.literal('')]).optional(), default_tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), description: z.union([z.string(), z.literal('')]).optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), invoice_settings: z .object({ account_tax_ids: z.union([z.array(z.string()), z.literal('')]).optional(), issuer: z .object({ account: z.string().optional(), type: z.union([z.literal('account'), z.literal('self')]), }) .optional(), }) .optional(), items: z .array( z.object({ billing_thresholds: z .union([ z.object({ usage_gte: z.number(), }), z.literal(''), ]) .optional(), clear_usage: z.boolean().optional(), deleted: z.boolean().optional(), discounts: z .union([ z.array( z.object({ coupon: z.string().optional(), discount: z.string().optional(), promotion_code: z.string().optional(), }), ), z.literal(''), ]) .optional(), id: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), price: z.string().optional(), price_data: z .object({ currency: z.string(), product: z.string(), recurring: z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional(), unit_amount: z.number().optional(), unit_amount_decimal: z.string().optional(), }) .optional(), quantity: z.number().optional(), tax_rates: z.union([z.array(z.string()), z.literal('')]).optional(), }), ) .optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), off_session: z.boolean().optional(), on_behalf_of: z.union([z.string(), z.literal('')]).optional(), pause_collection: z .union([ z.object({ behavior: z.union([z.literal('keep_as_draft'), z.literal('mark_uncollectible'), z.literal('void')]), resumes_at: z.number().optional(), }), z.literal(''), ]) .optional(), payment_behavior: z .union([ z.literal('allow_incomplete'), z.literal('default_incomplete'), z.literal('error_if_incomplete'), z.literal('pending_if_incomplete'), ]) .optional(), payment_settings: z .object({ payment_method_options: z .object({ acss_debit: z .union([ z.object({ mandate_options: z .object({ transaction_type: z.union([z.literal('business'), z.literal('personal')]).optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), bancontact: z .union([ z.object({ preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional(), }), z.literal(''), ]) .optional(), card: z .union([ z.object({ mandate_options: z .object({ amount: z.number().optional(), amount_type: z.union([z.literal('fixed'), z.literal('maximum')]).optional(), description: z.string().optional(), }) .optional(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional(), }), z.literal(''), ]) .optional(), customer_balance: z .union([ z.object({ bank_transfer: z .object({ eu_bank_transfer: z .object({ country: z.string(), }) .optional(), type: z.string().optional(), }) .optional(), funding_type: z.string().optional(), }), z.literal(''), ]) .optional(), konbini: z.union([z.record(z.unknown()), z.literal('')]).optional(), sepa_debit: z.union([z.record(z.unknown()), z.literal('')]).optional(), us_bank_account: z .union([ z.object({ financial_connections: z .object({ permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional(), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional(), }) .optional(), verification_method: z .union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]) .optional(), }), z.literal(''), ]) .optional(), }) .optional(), payment_method_types: z .union([ z.array( z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('acss_debit'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('konbini'), z.literal('link'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ), z.literal(''), ]) .optional(), save_default_payment_method: z.union([z.literal('off'), z.literal('on_subscription')]).optional(), }) .optional(), pending_invoice_item_interval: z .union([ z.object({ interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number().optional(), }), z.literal(''), ]) .optional(), promotion_code: z.string().optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), proration_date: z.number().optional(), transfer_data: z .union([ z.object({ amount_percent: z.number().optional(), destination: z.string(), }), z.literal(''), ]) .optional(), trial_end: z.union([z.literal('now'), z.number()]).optional(), trial_from_plan: z.boolean().optional(), trial_settings: z .object({ end_behavior: z.object({ missing_payment_method: z.union([z.literal('cancel'), z.literal('create_invoice'), z.literal('pause')]), }), }) .optional(), }) .optional(), path: z.object({ subscription_exposed_id: z.string(), }), }); export const deleteSubscriptionsSubscriptionExposedIdDiscountDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ subscription_exposed_id: z.string(), }), }); export const postSubscriptionsSubscriptionResumeDataSchema = z.object({ body: z .object({ billing_cycle_anchor: z.union([z.literal('now'), z.literal('unchanged')]).optional(), expand: z.array(z.string()).optional(), proration_behavior: z .union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]) .optional(), proration_date: z.number().optional(), }) .optional(), path: z.object({ subscription: z.string(), }), }); export const postTaxCalculationsDataSchema = z.object({ body: z.object({ currency: z.string(), customer: z.string().optional(), customer_details: z .object({ address: z .object({ city: z.union([z.string(), z.literal('')]).optional(), country: z.string(), line1: z.union([z.string(), z.literal('')]).optional(), line2: z.union([z.string(), z.literal('')]).optional(), postal_code: z.union([z.string(), z.literal('')]).optional(), state: z.union([z.string(), z.literal('')]).optional(), }) .optional(), address_source: z.union([z.literal('billing'), z.literal('shipping')]).optional(), ip_address: z.string().optional(), tax_ids: z .array( z.object({ type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string(), }), ) .optional(), taxability_override: z .union([z.literal('customer_exempt'), z.literal('none'), z.literal('reverse_charge')]) .optional(), }) .optional(), expand: z.array(z.string()).optional(), line_items: z.array( z.object({ amount: z.number(), product: z.string().optional(), quantity: z.number().optional(), reference: z.string().optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive')]).optional(), tax_code: z.string().optional(), }), ), ship_from_details: z .object({ address: z.object({ city: z.union([z.string(), z.literal('')]).optional(), country: z.string(), line1: z.union([z.string(), z.literal('')]).optional(), line2: z.union([z.string(), z.literal('')]).optional(), postal_code: z.union([z.string(), z.literal('')]).optional(), state: z.union([z.string(), z.literal('')]).optional(), }), }) .optional(), shipping_cost: z .object({ amount: z.number().optional(), shipping_rate: z.string().optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive')]).optional(), tax_code: z.string().optional(), }) .optional(), tax_date: z.number().optional(), }), }); export const getTaxCalculationsCalculationLineItemsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ calculation: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const taxCalculationLineItemSchema = z.object({ amount: z.number(), amount_tax: z.number(), id: z.string(), livemode: z.boolean(), object: z.literal('tax.calculation_line_item'), product: z.string().optional().nullable(), quantity: z.number(), reference: z.string().optional().nullable(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive')]), tax_breakdown: z.array(taxProductResourceLineItemTaxBreakdownSchema).optional().nullable(), tax_code: z.string(), }); export const getTaxRegistrationsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z.union([z.literal('active'), z.literal('all'), z.literal('expired'), z.literal('scheduled')]).optional(), }) .optional(), }); export const postTaxRegistrationsDataSchema = z.object({ body: z.object({ active_from: z.union([z.literal('now'), z.number()]), country: z.string(), country_options: z.object({ ae: z .object({ type: z.literal('standard'), }) .optional(), at: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), au: z .object({ type: z.literal('standard'), }) .optional(), be: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), bg: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), bh: z .object({ type: z.literal('standard'), }) .optional(), ca: z .object({ province_standard: z .object({ province: z.string(), }) .optional(), type: z.union([z.literal('province_standard'), z.literal('simplified'), z.literal('standard')]), }) .optional(), ch: z .object({ type: z.literal('standard'), }) .optional(), cl: z .object({ type: z.literal('simplified'), }) .optional(), co: z .object({ type: z.literal('simplified'), }) .optional(), cy: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), cz: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), de: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), dk: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), ee: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), eg: z .object({ type: z.literal('simplified'), }) .optional(), es: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), fi: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), fr: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), gb: z .object({ type: z.literal('standard'), }) .optional(), ge: z .object({ type: z.literal('simplified'), }) .optional(), gr: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), hr: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), hu: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), id: z .object({ type: z.literal('simplified'), }) .optional(), ie: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), is: z .object({ type: z.literal('standard'), }) .optional(), it: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), jp: z .object({ type: z.literal('standard'), }) .optional(), ke: z .object({ type: z.literal('simplified'), }) .optional(), kr: z .object({ type: z.literal('simplified'), }) .optional(), kz: z .object({ type: z.literal('simplified'), }) .optional(), lt: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), lu: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), lv: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), mt: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), mx: z .object({ type: z.literal('simplified'), }) .optional(), my: z .object({ type: z.literal('simplified'), }) .optional(), ng: z .object({ type: z.literal('simplified'), }) .optional(), nl: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), no: z .object({ type: z.literal('standard'), }) .optional(), nz: z .object({ type: z.literal('standard'), }) .optional(), om: z .object({ type: z.literal('standard'), }) .optional(), pl: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), pt: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), ro: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), sa: z .object({ type: z.literal('simplified'), }) .optional(), se: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), sg: z .object({ type: z.literal('standard'), }) .optional(), si: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), sk: z .object({ standard: z .object({ place_of_supply_scheme: z.union([z.literal('small_seller'), z.literal('standard')]), }) .optional(), type: z.union([z.literal('ioss'), z.literal('oss_non_union'), z.literal('oss_union'), z.literal('standard')]), }) .optional(), th: z .object({ type: z.literal('simplified'), }) .optional(), tr: z .object({ type: z.literal('simplified'), }) .optional(), us: z .object({ local_amusement_tax: z .object({ jurisdiction: z.string(), }) .optional(), local_lease_tax: z .object({ jurisdiction: z.string(), }) .optional(), state: z.string(), type: z.union([ z.literal('local_amusement_tax'), z.literal('local_lease_tax'), z.literal('state_communications_tax'), z.literal('state_sales_tax'), ]), }) .optional(), vn: z .object({ type: z.literal('simplified'), }) .optional(), za: z .object({ type: z.literal('standard'), }) .optional(), }), expand: z.array(z.string()).optional(), expires_at: z.number().optional(), }), }); export const getTaxRegistrationsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTaxRegistrationsIdDataSchema = z.object({ body: z .object({ active_from: z.union([z.literal('now'), z.number()]).optional(), expand: z.array(z.string()).optional(), expires_at: z.union([z.literal('now'), z.number(), z.literal('')]).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const getTaxSettingsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const taxSettingsSchema = z.object({ defaults: taxProductResourceTaxSettingsDefaultsSchema, head_office: taxProductResourceTaxSettingsHeadOfficeSchema.optional().nullable(), livemode: z.boolean(), object: z.literal('tax.settings'), status: z.union([z.literal('active'), z.literal('pending')]), status_details: taxProductResourceTaxSettingsStatusDetailsSchema, }); export const postTaxSettingsDataSchema = z.object({ body: z .object({ defaults: z .object({ tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('inferred_by_currency')]) .optional(), tax_code: z.string().optional(), }) .optional(), expand: z.array(z.string()).optional(), head_office: z .object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), }) .optional(), }) .optional(), }); export const postTaxSettingsResponseSchema = taxSettingsSchema; export const postTaxTransactionsCreateFromCalculationDataSchema = z.object({ body: z.object({ calculation: z.string(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), reference: z.string(), }), }); export const taxTransactionSchema = z.object({ created: z.number(), currency: z.string(), customer: z.string().optional().nullable(), customer_details: taxProductResourceCustomerDetailsSchema, id: z.string(), line_items: z .object({ data: z.array(taxTransactionLineItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional() .nullable(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('tax.transaction'), reference: z.string(), reversal: taxProductResourceTaxTransactionResourceReversalSchema.optional().nullable(), ship_from_details: taxProductResourceShipFromDetailsSchema.optional().nullable(), shipping_cost: taxProductResourceTaxTransactionShippingCostSchema.optional().nullable(), tax_date: z.number(), type: z.union([z.literal('reversal'), z.literal('transaction')]), }); export const postTaxTransactionsCreateReversalDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), flat_amount: z.number().optional(), line_items: z .array( z.object({ amount: z.number(), amount_tax: z.number(), metadata: z.record(z.string()).optional(), original_line_item: z.string(), quantity: z.number().optional(), reference: z.string(), }), ) .optional(), metadata: z.record(z.string()).optional(), mode: z.union([z.literal('full'), z.literal('partial')]), original_transaction: z.string(), reference: z.string(), shipping_cost: z .object({ amount: z.number(), amount_tax: z.number(), }) .optional(), }), }); export const postTaxTransactionsCreateReversalResponseSchema = taxTransactionSchema; export const getTaxTransactionsTransactionDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ transaction: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTaxTransactionsTransactionResponseSchema = taxTransactionSchema; export const getTaxTransactionsTransactionLineItemsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ transaction: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getTaxTransactionsTransactionLineItemsResponseSchema = z.object({ data: z.array(taxTransactionLineItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getTaxCodesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getTaxCodesResponseSchema = z.object({ data: z.array(taxCodeSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getTaxCodesIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTaxCodesIdResponseSchema = taxCodeSchema; export const getTaxIdsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), owner: z .object({ account: z.string().optional(), customer: z.string().optional(), type: z.union([z.literal('account'), z.literal('application'), z.literal('customer'), z.literal('self')]), }) .optional(), starting_after: z.string().optional(), }) .optional(), }); export const postTaxIdsDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), owner: z .object({ account: z.string().optional(), customer: z.string().optional(), type: z.union([z.literal('account'), z.literal('application'), z.literal('customer'), z.literal('self')]), }) .optional(), type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string(), }), }); export const deleteTaxIdsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), }); export const deleteTaxIdsIdResponseSchema = deletedTaxIdSchema; export const getTaxIdsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTaxRatesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ active: z.boolean().optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), inclusive: z.boolean().optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getTaxRatesResponseSchema = z.object({ data: z.array(taxRateSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postTaxRatesDataSchema = z.object({ body: z.object({ active: z.boolean().optional(), country: z.string().optional(), description: z.string().optional(), display_name: z.string(), expand: z.array(z.string()).optional(), inclusive: z.boolean(), jurisdiction: z.string().optional(), metadata: z.record(z.string()).optional(), percentage: z.number(), state: z.string().optional(), tax_type: z .union([ z.literal('amusement_tax'), z.literal('communications_tax'), z.literal('gst'), z.literal('hst'), z.literal('igst'), z.literal('jct'), z.literal('lease_tax'), z.literal('pst'), z.literal('qst'), z.literal('rst'), z.literal('sales_tax'), z.literal('vat'), ]) .optional(), }), }); export const postTaxRatesResponseSchema = taxRateSchema; export const getTaxRatesTaxRateDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ tax_rate: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTaxRatesTaxRateResponseSchema = taxRateSchema; export const postTaxRatesTaxRateDataSchema = z.object({ body: z .object({ active: z.boolean().optional(), country: z.string().optional(), description: z.string().optional(), display_name: z.string().optional(), expand: z.array(z.string()).optional(), jurisdiction: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), state: z.string().optional(), tax_type: z .union([ z.literal('amusement_tax'), z.literal('communications_tax'), z.literal('gst'), z.literal('hst'), z.literal('igst'), z.literal('jct'), z.literal('lease_tax'), z.literal('pst'), z.literal('qst'), z.literal('rst'), z.literal('sales_tax'), z.literal('vat'), ]) .optional(), }) .optional(), path: z.object({ tax_rate: z.string(), }), }); export const postTaxRatesTaxRateResponseSchema = taxRateSchema; export const getTerminalConfigurationsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), is_account_default: z.boolean().optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postTerminalConfigurationsDataSchema = z.object({ body: z .object({ bbpos_wisepos_e: z .object({ splashscreen: z.union([z.string(), z.literal('')]).optional(), }) .optional(), expand: z.array(z.string()).optional(), name: z.string().optional(), offline: z .union([ z.object({ enabled: z.boolean(), }), z.literal(''), ]) .optional(), stripe_s700: z .object({ splashscreen: z.union([z.string(), z.literal('')]).optional(), }) .optional(), tipping: z .union([ z.object({ aud: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), cad: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), chf: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), czk: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), dkk: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), eur: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), gbp: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), hkd: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), myr: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), nok: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), nzd: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), sek: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), sgd: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), usd: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), }), z.literal(''), ]) .optional(), verifone_p400: z .object({ splashscreen: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), }); export const deleteTerminalConfigurationsConfigurationDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ configuration: z.string(), }), }); export const deleteTerminalConfigurationsConfigurationResponseSchema = deletedTerminalConfigurationSchema; export const getTerminalConfigurationsConfigurationDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ configuration: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTerminalConfigurationsConfigurationDataSchema = z.object({ body: z .object({ bbpos_wisepos_e: z .union([ z.object({ splashscreen: z.union([z.string(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), expand: z.array(z.string()).optional(), name: z.string().optional(), offline: z .union([ z.object({ enabled: z.boolean(), }), z.literal(''), ]) .optional(), stripe_s700: z .union([ z.object({ splashscreen: z.union([z.string(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), tipping: z .union([ z.object({ aud: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), cad: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), chf: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), czk: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), dkk: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), eur: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), gbp: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), hkd: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), myr: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), nok: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), nzd: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), sek: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), sgd: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), usd: z .object({ fixed_amounts: z.array(z.number()).optional(), percentages: z.array(z.number()).optional(), smart_tip_threshold: z.number().optional(), }) .optional(), }), z.literal(''), ]) .optional(), verifone_p400: z .union([ z.object({ splashscreen: z.union([z.string(), z.literal('')]).optional(), }), z.literal(''), ]) .optional(), }) .optional(), path: z.object({ configuration: z.string(), }), }); export const postTerminalConnectionTokensDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), location: z.string().optional(), }) .optional(), }); export const postTerminalConnectionTokensResponseSchema = terminalConnectionTokenSchema; export const getTerminalLocationsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getTerminalLocationsResponseSchema = z.object({ data: z.array(terminalLocationSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postTerminalLocationsDataSchema = z.object({ body: z.object({ address: z.object({ city: z.string().optional(), country: z.string(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), configuration_overrides: z.string().optional(), display_name: z.string(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }), }); export const postTerminalLocationsResponseSchema = terminalLocationSchema; export const deleteTerminalLocationsLocationDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ location: z.string(), }), }); export const deleteTerminalLocationsLocationResponseSchema = deletedTerminalLocationSchema; export const getTerminalLocationsLocationDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ location: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTerminalLocationsLocationResponseSchema = z.union([ terminalLocationSchema, deletedTerminalLocationSchema, ]); export const postTerminalLocationsLocationDataSchema = z.object({ body: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), configuration_overrides: z.union([z.string(), z.literal('')]).optional(), display_name: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ location: z.string(), }), }); export const postTerminalLocationsLocationResponseSchema = z.union([ terminalLocationSchema, deletedTerminalLocationSchema, ]); export const getTerminalReadersDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ device_type: z .union([ z.literal('bbpos_chipper2x'), z.literal('bbpos_wisepad3'), z.literal('bbpos_wisepos_e'), z.literal('mobile_phone_reader'), z.literal('simulated_wisepos_e'), z.literal('stripe_m2'), z.literal('verifone_P400'), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), location: z.string().optional(), serial_number: z.string().optional(), starting_after: z.string().optional(), status: z.union([z.literal('offline'), z.literal('online')]).optional(), }) .optional(), }); export const postTerminalReadersDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), label: z.string().optional(), location: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), registration_code: z.string(), }), }); export const deleteTerminalReadersReaderDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ reader: z.string(), }), }); export const deleteTerminalReadersReaderResponseSchema = deletedTerminalReaderSchema; export const getTerminalReadersReaderDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ reader: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTerminalReadersReaderDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), label: z.union([z.string(), z.literal('')]).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ reader: z.string(), }), }); export const postTerminalReadersReaderCancelActionDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ reader: z.string(), }), }); export const postTerminalReadersReaderProcessPaymentIntentDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), payment_intent: z.string(), process_config: z .object({ enable_customer_cancellation: z.boolean().optional(), skip_tipping: z.boolean().optional(), tipping: z .object({ amount_eligible: z.number().optional(), }) .optional(), }) .optional(), }), path: z.object({ reader: z.string(), }), }); export const postTerminalReadersReaderProcessSetupIntentDataSchema = z.object({ body: z.object({ customer_consent_collected: z.boolean(), expand: z.array(z.string()).optional(), process_config: z .object({ enable_customer_cancellation: z.boolean().optional(), }) .optional(), setup_intent: z.string(), }), path: z.object({ reader: z.string(), }), }); export const postTerminalReadersReaderRefundPaymentDataSchema = z.object({ body: z .object({ amount: z.number().optional(), charge: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), payment_intent: z.string().optional(), refund_application_fee: z.boolean().optional(), refund_payment_config: z .object({ enable_customer_cancellation: z.boolean().optional(), }) .optional(), reverse_transfer: z.boolean().optional(), }) .optional(), path: z.object({ reader: z.string(), }), }); export const postTerminalReadersReaderSetReaderDisplayDataSchema = z.object({ body: z.object({ cart: z .object({ currency: z.string(), line_items: z.array( z.object({ amount: z.number(), description: z.string(), quantity: z.number(), }), ), tax: z.number().optional(), total: z.number(), }) .optional(), expand: z.array(z.string()).optional(), type: z.literal('cart'), }), path: z.object({ reader: z.string(), }), }); export const postTestHelpersConfirmationTokensDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), payment_method: z.string().optional(), payment_method_data: z .object({ acss_debit: z .object({ account_number: z.string(), institution_number: z.string(), transit_number: z.string(), }) .optional(), affirm: z.record(z.unknown()).optional(), afterpay_clearpay: z.record(z.unknown()).optional(), alipay: z.record(z.unknown()).optional(), allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), amazon_pay: z.record(z.unknown()).optional(), au_becs_debit: z .object({ account_number: z.string(), bsb_number: z.string(), }) .optional(), bacs_debit: z .object({ account_number: z.string().optional(), sort_code: z.string().optional(), }) .optional(), bancontact: z.record(z.unknown()).optional(), billing_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), email: z.union([z.string(), z.literal('')]).optional(), name: z.union([z.string(), z.literal('')]).optional(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), blik: z.record(z.unknown()).optional(), boleto: z .object({ tax_id: z.string(), }) .optional(), cashapp: z.record(z.unknown()).optional(), customer_balance: z.record(z.unknown()).optional(), eps: z .object({ bank: z .union([ z.literal('arzte_und_apotheker_bank'), z.literal('austrian_anadi_bank_ag'), z.literal('bank_austria'), z.literal('bankhaus_carl_spangler'), z.literal('bankhaus_schelhammer_und_schattera_ag'), z.literal('bawag_psk_ag'), z.literal('bks_bank_ag'), z.literal('brull_kallmus_bank_ag'), z.literal('btv_vier_lander_bank'), z.literal('capital_bank_grawe_gruppe_ag'), z.literal('deutsche_bank_ag'), z.literal('dolomitenbank'), z.literal('easybank_ag'), z.literal('erste_bank_und_sparkassen'), z.literal('hypo_alpeadriabank_international_ag'), z.literal('hypo_bank_burgenland_aktiengesellschaft'), z.literal('hypo_noe_lb_fur_niederosterreich_u_wien'), z.literal('hypo_oberosterreich_salzburg_steiermark'), z.literal('hypo_tirol_bank_ag'), z.literal('hypo_vorarlberg_bank_ag'), z.literal('marchfelder_bank'), z.literal('oberbank_ag'), z.literal('raiffeisen_bankengruppe_osterreich'), z.literal('schoellerbank_ag'), z.literal('sparda_bank_wien'), z.literal('volksbank_gruppe'), z.literal('volkskreditbank_ag'), z.literal('vr_bank_braunau'), ]) .optional(), }) .optional(), fpx: z .object({ bank: z.union([ z.literal('affin_bank'), z.literal('agrobank'), z.literal('alliance_bank'), z.literal('ambank'), z.literal('bank_islam'), z.literal('bank_muamalat'), z.literal('bank_of_china'), z.literal('bank_rakyat'), z.literal('bsn'), z.literal('cimb'), z.literal('deutsche_bank'), z.literal('hong_leong_bank'), z.literal('hsbc'), z.literal('kfh'), z.literal('maybank2e'), z.literal('maybank2u'), z.literal('ocbc'), z.literal('pb_enterprise'), z.literal('public_bank'), z.literal('rhb'), z.literal('standard_chartered'), z.literal('uob'), ]), }) .optional(), giropay: z.record(z.unknown()).optional(), grabpay: z.record(z.unknown()).optional(), ideal: z .object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional(), }) .optional(), interac_present: z.record(z.unknown()).optional(), klarna: z .object({ dob: z .object({ day: z.number(), month: z.number(), year: z.number(), }) .optional(), }) .optional(), konbini: z.record(z.unknown()).optional(), link: z.record(z.unknown()).optional(), metadata: z.record(z.string()).optional(), mobilepay: z.record(z.unknown()).optional(), multibanco: z.record(z.unknown()).optional(), oxxo: z.record(z.unknown()).optional(), p24: z .object({ bank: z .union([ z.literal('alior_bank'), z.literal('bank_millennium'), z.literal('bank_nowy_bfg_sa'), z.literal('bank_pekao_sa'), z.literal('banki_spbdzielcze'), z.literal('blik'), z.literal('bnp_paribas'), z.literal('boz'), z.literal('citi_handlowy'), z.literal('credit_agricole'), z.literal('envelobank'), z.literal('etransfer_pocztowy24'), z.literal('getin_bank'), z.literal('ideabank'), z.literal('ing'), z.literal('inteligo'), z.literal('mbank_mtransfer'), z.literal('nest_przelew'), z.literal('noble_pay'), z.literal('pbac_z_ipko'), z.literal('plus_bank'), z.literal('santander_przelew24'), z.literal('tmobile_usbugi_bankowe'), z.literal('toyota_bank'), z.literal('velobank'), z.literal('volkswagen_bank'), ]) .optional(), }) .optional(), paynow: z.record(z.unknown()).optional(), paypal: z.record(z.unknown()).optional(), pix: z.record(z.unknown()).optional(), promptpay: z.record(z.unknown()).optional(), radar_options: z .object({ session: z.string().optional(), }) .optional(), revolut_pay: z.record(z.unknown()).optional(), sepa_debit: z .object({ iban: z.string(), }) .optional(), sofort: z .object({ country: z.union([ z.literal('AT'), z.literal('BE'), z.literal('DE'), z.literal('ES'), z.literal('IT'), z.literal('NL'), ]), }) .optional(), swish: z.record(z.unknown()).optional(), twint: z.record(z.unknown()).optional(), type: z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]), us_bank_account: z .object({ account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string().optional(), account_type: z.union([z.literal('checking'), z.literal('savings')]).optional(), financial_connections_account: z.string().optional(), routing_number: z.string().optional(), }) .optional(), wechat_pay: z.record(z.unknown()).optional(), zip: z.record(z.unknown()).optional(), }) .optional(), return_url: z.string().optional(), setup_future_usage: z.union([z.literal('off_session'), z.literal('on_session')]).optional(), shipping: z .object({ address: z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), name: z.string(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), }); export const postTestHelpersCustomersCustomerFundCashBalanceDataSchema = z.object({ body: z.object({ amount: z.number(), currency: z.string(), expand: z.array(z.string()).optional(), reference: z.string().optional(), }), path: z.object({ customer: z.string(), }), }); export const postTestHelpersIssuingAuthorizationsDataSchema = z.object({ body: z.object({ amount: z.number(), amount_details: z .object({ atm_fee: z.number().optional(), cashback_amount: z.number().optional(), }) .optional(), authorization_method: z .union([ z.literal('chip'), z.literal('contactless'), z.literal('keyed_in'), z.literal('online'), z.literal('swipe'), ]) .optional(), card: z.string(), currency: z.string().optional(), expand: z.array(z.string()).optional(), is_amount_controllable: z.boolean().optional(), merchant_data: z .object({ category: z .union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]) .optional(), city: z.string().optional(), country: z.string().optional(), name: z.string().optional(), network_id: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), terminal_id: z.string().optional(), url: z.string().optional(), }) .optional(), network_data: z .object({ acquiring_institution_id: z.string().optional(), }) .optional(), verification_data: z .object({ address_line1_check: z.union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]).optional(), address_postal_code_check: z .union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]) .optional(), authentication_exemption: z .object({ claimed_by: z.union([z.literal('acquirer'), z.literal('issuer')]), type: z.union([ z.literal('low_value_transaction'), z.literal('transaction_risk_analysis'), z.literal('unknown'), ]), }) .optional(), cvc_check: z.union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]).optional(), expiry_check: z.union([z.literal('match'), z.literal('mismatch'), z.literal('not_provided')]).optional(), three_d_secure: z .object({ result: z.union([ z.literal('attempt_acknowledged'), z.literal('authenticated'), z.literal('failed'), z.literal('required'), ]), }) .optional(), }) .optional(), wallet: z.union([z.literal('apple_pay'), z.literal('google_pay'), z.literal('samsung_pay')]).optional(), }), }); export const postTestHelpersIssuingAuthorizationsAuthorizationCaptureDataSchema = z.object({ body: z .object({ capture_amount: z.number().optional(), close_authorization: z.boolean().optional(), expand: z.array(z.string()).optional(), purchase_details: z .object({ flight: z .object({ departure_at: z.number().optional(), passenger_name: z.string().optional(), refundable: z.boolean().optional(), segments: z .array( z.object({ arrival_airport_code: z.string().optional(), carrier: z.string().optional(), departure_airport_code: z.string().optional(), flight_number: z.string().optional(), service_class: z.string().optional(), stopover_allowed: z.boolean().optional(), }), ) .optional(), travel_agency: z.string().optional(), }) .optional(), fuel: z .object({ type: z .union([ z.literal('diesel'), z.literal('other'), z.literal('unleaded_plus'), z.literal('unleaded_regular'), z.literal('unleaded_super'), ]) .optional(), unit: z.union([z.literal('liter'), z.literal('other'), z.literal('us_gallon')]).optional(), unit_cost_decimal: z.string().optional(), volume_decimal: z.string().optional(), }) .optional(), lodging: z .object({ check_in_at: z.number().optional(), nights: z.number().optional(), }) .optional(), receipt: z .array( z.object({ description: z.string().optional(), quantity: z.string().optional(), total: z.number().optional(), unit_cost: z.number().optional(), }), ) .optional(), reference: z.string().optional(), }) .optional(), }) .optional(), path: z.object({ authorization: z.string(), }), }); export const postTestHelpersIssuingAuthorizationsAuthorizationExpireDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ authorization: z.string(), }), }); export const postTestHelpersIssuingAuthorizationsAuthorizationIncrementDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), increment_amount: z.number(), is_amount_controllable: z.boolean().optional(), }), path: z.object({ authorization: z.string(), }), }); export const postTestHelpersIssuingAuthorizationsAuthorizationReverseDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), reverse_amount: z.number().optional(), }) .optional(), path: z.object({ authorization: z.string(), }), }); export const postTestHelpersIssuingCardsCardShippingDeliverDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ card: z.string(), }), }); export const postTestHelpersIssuingCardsCardShippingFailDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ card: z.string(), }), }); export const postTestHelpersIssuingCardsCardShippingReturnDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ card: z.string(), }), }); export const postTestHelpersIssuingCardsCardShippingShipDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ card: z.string(), }), }); export const postTestHelpersIssuingPersonalizationDesignsPersonalizationDesignActivateDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ personalization_design: z.string(), }), }); export const postTestHelpersIssuingPersonalizationDesignsPersonalizationDesignDeactivateDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ personalization_design: z.string(), }), }); export const postTestHelpersIssuingPersonalizationDesignsPersonalizationDesignRejectDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), rejection_reasons: z.object({ card_logo: z .array( z.union([ z.literal('geographic_location'), z.literal('inappropriate'), z.literal('network_name'), z.literal('non_binary_image'), z.literal('non_fiat_currency'), z.literal('other'), z.literal('other_entity'), z.literal('promotional_material'), ]), ) .optional(), carrier_text: z .array( z.union([ z.literal('geographic_location'), z.literal('inappropriate'), z.literal('network_name'), z.literal('non_fiat_currency'), z.literal('other'), z.literal('other_entity'), z.literal('promotional_material'), ]), ) .optional(), }), }), path: z.object({ personalization_design: z.string(), }), }); export const postTestHelpersIssuingTransactionsCreateForceCaptureDataSchema = z.object({ body: z.object({ amount: z.number(), card: z.string(), currency: z.string().optional(), expand: z.array(z.string()).optional(), merchant_data: z .object({ category: z .union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]) .optional(), city: z.string().optional(), country: z.string().optional(), name: z.string().optional(), network_id: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), terminal_id: z.string().optional(), url: z.string().optional(), }) .optional(), purchase_details: z .object({ flight: z .object({ departure_at: z.number().optional(), passenger_name: z.string().optional(), refundable: z.boolean().optional(), segments: z .array( z.object({ arrival_airport_code: z.string().optional(), carrier: z.string().optional(), departure_airport_code: z.string().optional(), flight_number: z.string().optional(), service_class: z.string().optional(), stopover_allowed: z.boolean().optional(), }), ) .optional(), travel_agency: z.string().optional(), }) .optional(), fuel: z .object({ type: z .union([ z.literal('diesel'), z.literal('other'), z.literal('unleaded_plus'), z.literal('unleaded_regular'), z.literal('unleaded_super'), ]) .optional(), unit: z.union([z.literal('liter'), z.literal('other'), z.literal('us_gallon')]).optional(), unit_cost_decimal: z.string().optional(), volume_decimal: z.string().optional(), }) .optional(), lodging: z .object({ check_in_at: z.number().optional(), nights: z.number().optional(), }) .optional(), receipt: z .array( z.object({ description: z.string().optional(), quantity: z.string().optional(), total: z.number().optional(), unit_cost: z.number().optional(), }), ) .optional(), reference: z.string().optional(), }) .optional(), }), }); export const postTestHelpersIssuingTransactionsCreateUnlinkedRefundDataSchema = z.object({ body: z.object({ amount: z.number(), card: z.string(), currency: z.string().optional(), expand: z.array(z.string()).optional(), merchant_data: z .object({ category: z .union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]) .optional(), city: z.string().optional(), country: z.string().optional(), name: z.string().optional(), network_id: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), terminal_id: z.string().optional(), url: z.string().optional(), }) .optional(), purchase_details: z .object({ flight: z .object({ departure_at: z.number().optional(), passenger_name: z.string().optional(), refundable: z.boolean().optional(), segments: z .array( z.object({ arrival_airport_code: z.string().optional(), carrier: z.string().optional(), departure_airport_code: z.string().optional(), flight_number: z.string().optional(), service_class: z.string().optional(), stopover_allowed: z.boolean().optional(), }), ) .optional(), travel_agency: z.string().optional(), }) .optional(), fuel: z .object({ type: z .union([ z.literal('diesel'), z.literal('other'), z.literal('unleaded_plus'), z.literal('unleaded_regular'), z.literal('unleaded_super'), ]) .optional(), unit: z.union([z.literal('liter'), z.literal('other'), z.literal('us_gallon')]).optional(), unit_cost_decimal: z.string().optional(), volume_decimal: z.string().optional(), }) .optional(), lodging: z .object({ check_in_at: z.number().optional(), nights: z.number().optional(), }) .optional(), receipt: z .array( z.object({ description: z.string().optional(), quantity: z.string().optional(), total: z.number().optional(), unit_cost: z.number().optional(), }), ) .optional(), reference: z.string().optional(), }) .optional(), }), }); export const postTestHelpersIssuingTransactionsTransactionRefundDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), refund_amount: z.number().optional(), }) .optional(), path: z.object({ transaction: z.string(), }), }); export const postTestHelpersRefundsRefundExpireDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ refund: z.string(), }), }); export const postTestHelpersTerminalReadersReaderPresentPaymentMethodDataSchema = z.object({ body: z .object({ amount_tip: z.number().optional(), card_present: z .object({ number: z.string().optional(), }) .optional(), expand: z.array(z.string()).optional(), interac_present: z .object({ number: z.string().optional(), }) .optional(), type: z.union([z.literal('card_present'), z.literal('interac_present')]).optional(), }) .optional(), path: z.object({ reader: z.string(), }), }); export const getTestHelpersTestClocksDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getTestHelpersTestClocksResponseSchema = z.object({ data: z.array(testHelpersTestClockSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postTestHelpersTestClocksDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), frozen_time: z.number(), name: z.string().optional(), }), }); export const postTestHelpersTestClocksResponseSchema = testHelpersTestClockSchema; export const deleteTestHelpersTestClocksTestClockDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ test_clock: z.string(), }), }); export const deleteTestHelpersTestClocksTestClockResponseSchema = deletedTestHelpersTestClockSchema; export const getTestHelpersTestClocksTestClockDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ test_clock: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTestHelpersTestClocksTestClockResponseSchema = testHelpersTestClockSchema; export const postTestHelpersTestClocksTestClockAdvanceDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), frozen_time: z.number(), }), path: z.object({ test_clock: z.string(), }), }); export const postTestHelpersTestClocksTestClockAdvanceResponseSchema = testHelpersTestClockSchema; export const postTestHelpersTreasuryInboundTransfersIdFailDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), failure_details: z .object({ code: z .union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('bank_account_restricted'), z.literal('bank_ownership_changed'), z.literal('debit_not_authorized'), z.literal('incorrect_account_holder_address'), z.literal('incorrect_account_holder_name'), z.literal('incorrect_account_holder_tax_id'), z.literal('insufficient_funds'), z.literal('invalid_account_number'), z.literal('invalid_currency'), z.literal('no_account'), z.literal('other'), ]) .optional(), }) .optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postTestHelpersTreasuryInboundTransfersIdReturnDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postTestHelpersTreasuryInboundTransfersIdSucceedDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postTestHelpersTreasuryOutboundPaymentsIdDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), tracking_details: z.object({ ach: z .object({ trace_id: z.string(), }) .optional(), type: z.union([z.literal('ach'), z.literal('us_domestic_wire')]), us_domestic_wire: z .object({ imad: z.string().optional(), omad: z.string().optional(), }) .optional(), }), }), path: z.object({ id: z.string(), }), }); export const postTestHelpersTreasuryOutboundPaymentsIdFailDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postTestHelpersTreasuryOutboundPaymentsIdPostDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postTestHelpersTreasuryOutboundPaymentsIdReturnDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), returned_details: z .object({ code: z .union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('bank_account_restricted'), z.literal('bank_ownership_changed'), z.literal('declined'), z.literal('incorrect_account_holder_name'), z.literal('invalid_account_number'), z.literal('invalid_currency'), z.literal('no_account'), z.literal('other'), ]) .optional(), }) .optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), tracking_details: z.object({ ach: z .object({ trace_id: z.string(), }) .optional(), type: z.union([z.literal('ach'), z.literal('us_domestic_wire')]), us_domestic_wire: z .object({ imad: z.string().optional(), omad: z.string().optional(), }) .optional(), }), }), path: z.object({ outbound_transfer: z.string(), }), }); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferFailDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ outbound_transfer: z.string(), }), }); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferPostDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ outbound_transfer: z.string(), }), }); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferReturnDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), returned_details: z .object({ code: z .union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('bank_account_restricted'), z.literal('bank_ownership_changed'), z.literal('declined'), z.literal('incorrect_account_holder_name'), z.literal('invalid_account_number'), z.literal('invalid_currency'), z.literal('no_account'), z.literal('other'), ]) .optional(), }) .optional(), }) .optional(), path: z.object({ outbound_transfer: z.string(), }), }); export const postTestHelpersTreasuryReceivedCreditsDataSchema = z.object({ body: z.object({ amount: z.number(), currency: z.string(), description: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), initiating_payment_method_details: z .object({ type: z.literal('us_bank_account'), us_bank_account: z .object({ account_holder_name: z.string().optional(), account_number: z.string().optional(), routing_number: z.string().optional(), }) .optional(), }) .optional(), network: z.union([z.literal('ach'), z.literal('us_domestic_wire')]), }), }); export const postTestHelpersTreasuryReceivedDebitsDataSchema = z.object({ body: z.object({ amount: z.number(), currency: z.string(), description: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), initiating_payment_method_details: z .object({ type: z.literal('us_bank_account'), us_bank_account: z .object({ account_holder_name: z.string().optional(), account_number: z.string().optional(), routing_number: z.string().optional(), }) .optional(), }) .optional(), network: z.literal('ach'), }), }); export const postTokensDataSchema = z.object({ body: z .object({ account: z .object({ business_type: z .union([ z.literal('company'), z.literal('government_entity'), z.literal('individual'), z.literal('non_profit'), ]) .optional(), company: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), directors_provided: z.boolean().optional(), executives_provided: z.boolean().optional(), export_license_id: z.string().optional(), export_purpose_code: z.string().optional(), name: z.string().optional(), name_kana: z.string().optional(), name_kanji: z.string().optional(), owners_provided: z.boolean().optional(), ownership_declaration: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.string().optional(), }) .optional(), ownership_declaration_shown_and_signed: z.boolean().optional(), phone: z.string().optional(), registration_number: z.string().optional(), structure: z .union([ z.literal(''), z.literal('free_zone_establishment'), z.literal('free_zone_llc'), z.literal('government_instrumentality'), z.literal('governmental_unit'), z.literal('incorporated_non_profit'), z.literal('incorporated_partnership'), z.literal('limited_liability_partnership'), z.literal('llc'), z.literal('multi_member_llc'), z.literal('private_company'), z.literal('private_corporation'), z.literal('private_partnership'), z.literal('public_company'), z.literal('public_corporation'), z.literal('public_partnership'), z.literal('registered_charity'), z.literal('single_member_llc'), z.literal('sole_establishment'), z.literal('sole_proprietorship'), z.literal('tax_exempt_government_instrumentality'), z.literal('unincorporated_association'), z.literal('unincorporated_non_profit'), z.literal('unincorporated_partnership'), ]) .optional(), tax_id: z.string().optional(), tax_id_registrar: z.string().optional(), vat_id: z.string().optional(), verification: z .object({ document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), individual: z .object({ address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), dob: z .union([ z.object({ day: z.number(), month: z.number(), year: z.number(), }), z.literal(''), ]) .optional(), email: z.string().optional(), first_name: z.string().optional(), first_name_kana: z.string().optional(), first_name_kanji: z.string().optional(), full_name_aliases: z.union([z.array(z.string()), z.literal('')]).optional(), gender: z.string().optional(), id_number: z.string().optional(), id_number_secondary: z.string().optional(), last_name: z.string().optional(), last_name_kana: z.string().optional(), last_name_kanji: z.string().optional(), maiden_name: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), phone: z.string().optional(), political_exposure: z.union([z.literal('existing'), z.literal('none')]).optional(), registered_address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), relationship: z .object({ director: z.boolean().optional(), executive: z.boolean().optional(), owner: z.boolean().optional(), percent_ownership: z.union([z.number(), z.literal('')]).optional(), title: z.string().optional(), }) .optional(), ssn_last_4: z.string().optional(), verification: z .object({ additional_document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), tos_shown_and_accepted: z.boolean().optional(), }) .optional(), bank_account: z .object({ account_holder_name: z.string().optional(), account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string(), account_type: z .union([z.literal('checking'), z.literal('futsu'), z.literal('savings'), z.literal('toza')]) .optional(), country: z.string(), currency: z.string().optional(), payment_method: z.string().optional(), routing_number: z.string().optional(), }) .optional(), card: z .union([ z.object({ address_city: z.string().optional(), address_country: z.string().optional(), address_line1: z.string().optional(), address_line2: z.string().optional(), address_state: z.string().optional(), address_zip: z.string().optional(), currency: z.string().optional(), cvc: z.string().optional(), exp_month: z.string(), exp_year: z.string(), name: z.string().optional(), networks: z .object({ preferred: z .union([z.literal('cartes_bancaires'), z.literal('mastercard'), z.literal('visa')]) .optional(), }) .optional(), number: z.string(), }), z.string(), ]) .optional(), customer: z.string().optional(), cvc_update: z .object({ cvc: z.string(), }) .optional(), expand: z.array(z.string()).optional(), person: z .object({ additional_tos_acceptances: z .object({ account: z .object({ date: z.number().optional(), ip: z.string().optional(), user_agent: z.union([z.string(), z.literal('')]).optional(), }) .optional(), }) .optional(), address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), address_kana: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), address_kanji: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), town: z.string().optional(), }) .optional(), dob: z .union([ z.object({ day: z.number(), month: z.number(), year: z.number(), }), z.literal(''), ]) .optional(), documents: z .object({ company_authorization: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), passport: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), visa: z .object({ files: z.array(z.union([z.string(), z.literal('')])).optional(), }) .optional(), }) .optional(), email: z.string().optional(), first_name: z.string().optional(), first_name_kana: z.string().optional(), first_name_kanji: z.string().optional(), full_name_aliases: z.union([z.array(z.string()), z.literal('')]).optional(), gender: z.string().optional(), id_number: z.string().optional(), id_number_secondary: z.string().optional(), last_name: z.string().optional(), last_name_kana: z.string().optional(), last_name_kanji: z.string().optional(), maiden_name: z.string().optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), nationality: z.string().optional(), phone: z.string().optional(), political_exposure: z.string().optional(), registered_address: z .object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }) .optional(), relationship: z .object({ director: z.boolean().optional(), executive: z.boolean().optional(), legal_guardian: z.boolean().optional(), owner: z.boolean().optional(), percent_ownership: z.union([z.number(), z.literal('')]).optional(), representative: z.boolean().optional(), title: z.string().optional(), }) .optional(), ssn_last_4: z.string().optional(), verification: z .object({ additional_document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), document: z .object({ back: z.string().optional(), front: z.string().optional(), }) .optional(), }) .optional(), }) .optional(), pii: z .object({ id_number: z.string().optional(), }) .optional(), }) .optional(), }); export const getTokensTokenDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ token: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTopupsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ amount: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), status: z .union([z.literal('canceled'), z.literal('failed'), z.literal('pending'), z.literal('succeeded')]) .optional(), }) .optional(), }); export const postTopupsDataSchema = z.object({ body: z.object({ amount: z.number(), currency: z.string(), description: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), source: z.string().optional(), statement_descriptor: z.string().optional(), transfer_group: z.string().optional(), }), }); export const getTopupsTopupDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ topup: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTopupsTopupDataSchema = z.object({ body: z .object({ description: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ topup: z.string(), }), }); export const postTopupsTopupCancelDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ topup: z.string(), }), }); export const getTransfersDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), destination: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), transfer_group: z.string().optional(), }) .optional(), }); export const postTransfersDataSchema = z.object({ body: z.object({ amount: z.number().optional(), currency: z.string(), description: z.string().optional(), destination: z.string(), expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), source_transaction: z.string().optional(), source_type: z.union([z.literal('bank_account'), z.literal('card'), z.literal('fpx')]).optional(), transfer_group: z.string().optional(), }), }); export const getTransfersIdReversalsDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postTransfersIdReversalsDataSchema = z.object({ body: z .object({ amount: z.number().optional(), description: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), refund_application_fee: z.boolean().optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const getTransfersTransferDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ transfer: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTransfersTransferDataSchema = z.object({ body: z .object({ description: z.string().optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ transfer: z.string(), }), }); export const getTransfersTransferReversalsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), transfer: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTransfersTransferReversalsIdDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), }) .optional(), path: z.object({ id: z.string(), transfer: z.string(), }), }); export const getTreasuryCreditReversalsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), limit: z.number().optional(), received_credit: z.string().optional(), starting_after: z.string().optional(), status: z.union([z.literal('canceled'), z.literal('posted'), z.literal('processing')]).optional(), }), }); export const postTreasuryCreditReversalsDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), received_credit: z.string(), }), }); export const getTreasuryCreditReversalsCreditReversalDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ credit_reversal: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTreasuryDebitReversalsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), limit: z.number().optional(), received_debit: z.string().optional(), resolution: z.union([z.literal('lost'), z.literal('won')]).optional(), starting_after: z.string().optional(), status: z.union([z.literal('canceled'), z.literal('completed'), z.literal('processing')]).optional(), }), }); export const postTreasuryDebitReversalsDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), metadata: z.record(z.string()).optional(), received_debit: z.string(), }), }); export const getTreasuryDebitReversalsDebitReversalDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ debit_reversal: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTreasuryFinancialAccountsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const postTreasuryFinancialAccountsDataSchema = z.object({ body: z.object({ expand: z.array(z.string()).optional(), features: z .object({ card_issuing: z .object({ requested: z.boolean(), }) .optional(), deposit_insurance: z .object({ requested: z.boolean(), }) .optional(), financial_addresses: z .object({ aba: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), inbound_transfers: z .object({ ach: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), intra_stripe_flows: z .object({ requested: z.boolean(), }) .optional(), outbound_payments: z .object({ ach: z .object({ requested: z.boolean(), }) .optional(), us_domestic_wire: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), outbound_transfers: z .object({ ach: z .object({ requested: z.boolean(), }) .optional(), us_domestic_wire: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), platform_restrictions: z .object({ inbound_flows: z.union([z.literal('restricted'), z.literal('unrestricted')]).optional(), outbound_flows: z.union([z.literal('restricted'), z.literal('unrestricted')]).optional(), }) .optional(), supported_currencies: z.array(z.string()), }), }); export const getTreasuryFinancialAccountsFinancialAccountDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ financial_account: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTreasuryFinancialAccountsFinancialAccountDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), features: z .object({ card_issuing: z .object({ requested: z.boolean(), }) .optional(), deposit_insurance: z .object({ requested: z.boolean(), }) .optional(), financial_addresses: z .object({ aba: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), inbound_transfers: z .object({ ach: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), intra_stripe_flows: z .object({ requested: z.boolean(), }) .optional(), outbound_payments: z .object({ ach: z .object({ requested: z.boolean(), }) .optional(), us_domestic_wire: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), outbound_transfers: z .object({ ach: z .object({ requested: z.boolean(), }) .optional(), us_domestic_wire: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), }) .optional(), metadata: z.record(z.string()).optional(), platform_restrictions: z .object({ inbound_flows: z.union([z.literal('restricted'), z.literal('unrestricted')]).optional(), outbound_flows: z.union([z.literal('restricted'), z.literal('unrestricted')]).optional(), }) .optional(), }) .optional(), path: z.object({ financial_account: z.string(), }), }); export const getTreasuryFinancialAccountsFinancialAccountFeaturesDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ financial_account: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTreasuryFinancialAccountsFinancialAccountFeaturesDataSchema = z.object({ body: z .object({ card_issuing: z .object({ requested: z.boolean(), }) .optional(), deposit_insurance: z .object({ requested: z.boolean(), }) .optional(), expand: z.array(z.string()).optional(), financial_addresses: z .object({ aba: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), inbound_transfers: z .object({ ach: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), intra_stripe_flows: z .object({ requested: z.boolean(), }) .optional(), outbound_payments: z .object({ ach: z .object({ requested: z.boolean(), }) .optional(), us_domestic_wire: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), outbound_transfers: z .object({ ach: z .object({ requested: z.boolean(), }) .optional(), us_domestic_wire: z .object({ requested: z.boolean(), }) .optional(), }) .optional(), }) .optional(), path: z.object({ financial_account: z.string(), }), }); export const getTreasuryInboundTransfersDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), limit: z.number().optional(), starting_after: z.string().optional(), status: z .union([z.literal('canceled'), z.literal('failed'), z.literal('processing'), z.literal('succeeded')]) .optional(), }), }); export const postTreasuryInboundTransfersDataSchema = z.object({ body: z.object({ amount: z.number(), currency: z.string(), description: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), metadata: z.record(z.string()).optional(), origin_payment_method: z.string(), statement_descriptor: z.string().optional(), }), }); export const getTreasuryInboundTransfersIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTreasuryInboundTransfersInboundTransferCancelDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ inbound_transfer: z.string(), }), }); export const getTreasuryOutboundPaymentsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), customer: z.string().optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), limit: z.number().optional(), starting_after: z.string().optional(), status: z .union([ z.literal('canceled'), z.literal('failed'), z.literal('posted'), z.literal('processing'), z.literal('returned'), ]) .optional(), }), }); export const postTreasuryOutboundPaymentsDataSchema = z.object({ body: z.object({ amount: z.number(), currency: z.string(), customer: z.string().optional(), description: z.string().optional(), destination_payment_method: z.string().optional(), destination_payment_method_data: z .object({ billing_details: z .object({ address: z .union([ z.object({ city: z.string().optional(), country: z.string().optional(), line1: z.string().optional(), line2: z.string().optional(), postal_code: z.string().optional(), state: z.string().optional(), }), z.literal(''), ]) .optional(), email: z.union([z.string(), z.literal('')]).optional(), name: z.union([z.string(), z.literal('')]).optional(), phone: z.union([z.string(), z.literal('')]).optional(), }) .optional(), financial_account: z.string().optional(), metadata: z.record(z.string()).optional(), type: z.union([z.literal('financial_account'), z.literal('us_bank_account')]), us_bank_account: z .object({ account_holder_type: z.union([z.literal('company'), z.literal('individual')]).optional(), account_number: z.string().optional(), account_type: z.union([z.literal('checking'), z.literal('savings')]).optional(), financial_connections_account: z.string().optional(), routing_number: z.string().optional(), }) .optional(), }) .optional(), destination_payment_method_options: z .object({ us_bank_account: z .union([ z.object({ network: z.union([z.literal('ach'), z.literal('us_domestic_wire')]).optional(), }), z.literal(''), ]) .optional(), }) .optional(), end_user_details: z .object({ ip_address: z.string().optional(), present: z.boolean(), }) .optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), metadata: z.record(z.string()).optional(), statement_descriptor: z.string().optional(), }), }); export const getTreasuryOutboundPaymentsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTreasuryOutboundPaymentsIdCancelDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ id: z.string(), }), }); export const getTreasuryOutboundTransfersDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), limit: z.number().optional(), starting_after: z.string().optional(), status: z .union([ z.literal('canceled'), z.literal('failed'), z.literal('posted'), z.literal('processing'), z.literal('returned'), ]) .optional(), }), }); export const postTreasuryOutboundTransfersDataSchema = z.object({ body: z.object({ amount: z.number(), currency: z.string(), description: z.string().optional(), destination_payment_method: z.string().optional(), destination_payment_method_options: z .object({ us_bank_account: z .union([ z.object({ network: z.union([z.literal('ach'), z.literal('us_domestic_wire')]).optional(), }), z.literal(''), ]) .optional(), }) .optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), metadata: z.record(z.string()).optional(), statement_descriptor: z.string().optional(), }), }); export const getTreasuryOutboundTransfersOutboundTransferDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ outbound_transfer: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const postTreasuryOutboundTransfersOutboundTransferCancelDataSchema = z.object({ body: z .object({ expand: z.array(z.string()).optional(), }) .optional(), path: z.object({ outbound_transfer: z.string(), }), }); export const getTreasuryReceivedCreditsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), limit: z.number().optional(), linked_flows: z .object({ source_flow_type: z.union([ z.literal('credit_reversal'), z.literal('other'), z.literal('outbound_payment'), z.literal('payout'), ]), }) .optional(), starting_after: z.string().optional(), status: z.union([z.literal('failed'), z.literal('succeeded')]).optional(), }), }); export const getTreasuryReceivedCreditsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTreasuryReceivedDebitsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), limit: z.number().optional(), starting_after: z.string().optional(), status: z.union([z.literal('failed'), z.literal('succeeded')]).optional(), }), }); export const getTreasuryReceivedDebitsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTreasuryTransactionEntriesDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), effective_at: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), limit: z.number().optional(), order_by: z.union([z.literal('created'), z.literal('effective_at')]).optional(), starting_after: z.string().optional(), transaction: z.string().optional(), }), }); export const getTreasuryTransactionEntriesIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getTreasuryTransactionsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z.object({ created: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), ending_before: z.string().optional(), expand: z.array(z.string()).optional(), financial_account: z.string(), limit: z.number().optional(), order_by: z.union([z.literal('created'), z.literal('posted_at')]).optional(), starting_after: z.string().optional(), status: z.union([z.literal('open'), z.literal('posted'), z.literal('void')]).optional(), status_transitions: z .object({ posted_at: z .union([ z.object({ gt: z.number().optional(), gte: z.number().optional(), lt: z.number().optional(), lte: z.number().optional(), }), z.number(), ]) .optional(), }) .optional(), }), }); export const getTreasuryTransactionsIdDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ id: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getWebhookEndpointsDataSchema = z.object({ body: z.record(z.unknown()).optional(), query: z .object({ ending_before: z.string().optional(), expand: z.array(z.string()).optional(), limit: z.number().optional(), starting_after: z.string().optional(), }) .optional(), }); export const getWebhookEndpointsResponseSchema = z.object({ data: z.array(webhookEndpointSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postWebhookEndpointsDataSchema = z.object({ body: z.object({ api_version: z .union([ z.literal('2011-01-01'), z.literal('2011-06-21'), z.literal('2011-06-28'), z.literal('2011-08-01'), z.literal('2011-09-15'), z.literal('2011-11-17'), z.literal('2012-02-23'), z.literal('2012-03-25'), z.literal('2012-06-18'), z.literal('2012-06-28'), z.literal('2012-07-09'), z.literal('2012-09-24'), z.literal('2012-10-26'), z.literal('2012-11-07'), z.literal('2013-02-11'), z.literal('2013-02-13'), z.literal('2013-07-05'), z.literal('2013-08-12'), z.literal('2013-08-13'), z.literal('2013-10-29'), z.literal('2013-12-03'), z.literal('2014-01-31'), z.literal('2014-03-13'), z.literal('2014-03-28'), z.literal('2014-05-19'), z.literal('2014-06-13'), z.literal('2014-06-17'), z.literal('2014-07-22'), z.literal('2014-07-26'), z.literal('2014-08-04'), z.literal('2014-08-20'), z.literal('2014-09-08'), z.literal('2014-10-07'), z.literal('2014-11-05'), z.literal('2014-11-20'), z.literal('2014-12-08'), z.literal('2014-12-17'), z.literal('2014-12-22'), z.literal('2015-01-11'), z.literal('2015-01-26'), z.literal('2015-02-10'), z.literal('2015-02-16'), z.literal('2015-02-18'), z.literal('2015-03-24'), z.literal('2015-04-07'), z.literal('2015-06-15'), z.literal('2015-07-07'), z.literal('2015-07-13'), z.literal('2015-07-28'), z.literal('2015-08-07'), z.literal('2015-08-19'), z.literal('2015-09-03'), z.literal('2015-09-08'), z.literal('2015-09-23'), z.literal('2015-10-01'), z.literal('2015-10-12'), z.literal('2015-10-16'), z.literal('2016-02-03'), z.literal('2016-02-19'), z.literal('2016-02-22'), z.literal('2016-02-23'), z.literal('2016-02-29'), z.literal('2016-03-07'), z.literal('2016-06-15'), z.literal('2016-07-06'), z.literal('2016-10-19'), z.literal('2017-01-27'), z.literal('2017-02-14'), z.literal('2017-04-06'), z.literal('2017-05-25'), z.literal('2017-06-05'), z.literal('2017-08-15'), z.literal('2017-12-14'), z.literal('2018-01-23'), z.literal('2018-02-05'), z.literal('2018-02-06'), z.literal('2018-02-28'), z.literal('2018-05-21'), z.literal('2018-07-27'), z.literal('2018-08-23'), z.literal('2018-09-06'), z.literal('2018-09-24'), z.literal('2018-10-31'), z.literal('2018-11-08'), z.literal('2019-02-11'), z.literal('2019-02-19'), z.literal('2019-03-14'), z.literal('2019-05-16'), z.literal('2019-08-14'), z.literal('2019-09-09'), z.literal('2019-10-08'), z.literal('2019-10-17'), z.literal('2019-11-05'), z.literal('2019-12-03'), z.literal('2020-03-02'), z.literal('2020-08-27'), z.literal('2022-08-01'), z.literal('2022-11-15'), z.literal('2023-08-16'), z.literal('2023-10-16'), z.literal('2024-04-10'), ]) .optional(), connect: z.boolean().optional(), description: z.union([z.string(), z.literal('')]).optional(), enabled_events: z.array( z.union([ z.literal('*'), z.literal('account.application.authorized'), z.literal('account.application.deauthorized'), z.literal('account.external_account.created'), z.literal('account.external_account.deleted'), z.literal('account.external_account.updated'), z.literal('account.updated'), z.literal('application_fee.created'), z.literal('application_fee.refund.updated'), z.literal('application_fee.refunded'), z.literal('balance.available'), z.literal('billing_portal.configuration.created'), z.literal('billing_portal.configuration.updated'), z.literal('billing_portal.session.created'), z.literal('capability.updated'), z.literal('cash_balance.funds_available'), z.literal('charge.captured'), z.literal('charge.dispute.closed'), z.literal('charge.dispute.created'), z.literal('charge.dispute.funds_reinstated'), z.literal('charge.dispute.funds_withdrawn'), z.literal('charge.dispute.updated'), z.literal('charge.expired'), z.literal('charge.failed'), z.literal('charge.pending'), z.literal('charge.refund.updated'), z.literal('charge.refunded'), z.literal('charge.succeeded'), z.literal('charge.updated'), z.literal('checkout.session.async_payment_failed'), z.literal('checkout.session.async_payment_succeeded'), z.literal('checkout.session.completed'), z.literal('checkout.session.expired'), z.literal('climate.order.canceled'), z.literal('climate.order.created'), z.literal('climate.order.delayed'), z.literal('climate.order.delivered'), z.literal('climate.order.product_substituted'), z.literal('climate.product.created'), z.literal('climate.product.pricing_updated'), z.literal('coupon.created'), z.literal('coupon.deleted'), z.literal('coupon.updated'), z.literal('credit_note.created'), z.literal('credit_note.updated'), z.literal('credit_note.voided'), z.literal('customer.created'), z.literal('customer.deleted'), z.literal('customer.discount.created'), z.literal('customer.discount.deleted'), z.literal('customer.discount.updated'), z.literal('customer.source.created'), z.literal('customer.source.deleted'), z.literal('customer.source.expiring'), z.literal('customer.source.updated'), z.literal('customer.subscription.created'), z.literal('customer.subscription.deleted'), z.literal('customer.subscription.paused'), z.literal('customer.subscription.pending_update_applied'), z.literal('customer.subscription.pending_update_expired'), z.literal('customer.subscription.resumed'), z.literal('customer.subscription.trial_will_end'), z.literal('customer.subscription.updated'), z.literal('customer.tax_id.created'), z.literal('customer.tax_id.deleted'), z.literal('customer.tax_id.updated'), z.literal('customer.updated'), z.literal('customer_cash_balance_transaction.created'), z.literal('entitlements.active_entitlement_summary.updated'), z.literal('file.created'), z.literal('financial_connections.account.created'), z.literal('financial_connections.account.deactivated'), z.literal('financial_connections.account.disconnected'), z.literal('financial_connections.account.reactivated'), z.literal('financial_connections.account.refreshed_balance'), z.literal('financial_connections.account.refreshed_ownership'), z.literal('financial_connections.account.refreshed_transactions'), z.literal('identity.verification_session.canceled'), z.literal('identity.verification_session.created'), z.literal('identity.verification_session.processing'), z.literal('identity.verification_session.redacted'), z.literal('identity.verification_session.requires_input'), z.literal('identity.verification_session.verified'), z.literal('invoice.created'), z.literal('invoice.deleted'), z.literal('invoice.finalization_failed'), z.literal('invoice.finalized'), z.literal('invoice.marked_uncollectible'), z.literal('invoice.paid'), z.literal('invoice.payment_action_required'), z.literal('invoice.payment_failed'), z.literal('invoice.payment_succeeded'), z.literal('invoice.sent'), z.literal('invoice.upcoming'), z.literal('invoice.updated'), z.literal('invoice.voided'), z.literal('invoiceitem.created'), z.literal('invoiceitem.deleted'), z.literal('issuing_authorization.created'), z.literal('issuing_authorization.request'), z.literal('issuing_authorization.updated'), z.literal('issuing_card.created'), z.literal('issuing_card.updated'), z.literal('issuing_cardholder.created'), z.literal('issuing_cardholder.updated'), z.literal('issuing_dispute.closed'), z.literal('issuing_dispute.created'), z.literal('issuing_dispute.funds_reinstated'), z.literal('issuing_dispute.submitted'), z.literal('issuing_dispute.updated'), z.literal('issuing_personalization_design.activated'), z.literal('issuing_personalization_design.deactivated'), z.literal('issuing_personalization_design.rejected'), z.literal('issuing_personalization_design.updated'), z.literal('issuing_token.created'), z.literal('issuing_token.updated'), z.literal('issuing_transaction.created'), z.literal('issuing_transaction.updated'), z.literal('mandate.updated'), z.literal('payment_intent.amount_capturable_updated'), z.literal('payment_intent.canceled'), z.literal('payment_intent.created'), z.literal('payment_intent.partially_funded'), z.literal('payment_intent.payment_failed'), z.literal('payment_intent.processing'), z.literal('payment_intent.requires_action'), z.literal('payment_intent.succeeded'), z.literal('payment_link.created'), z.literal('payment_link.updated'), z.literal('payment_method.attached'), z.literal('payment_method.automatically_updated'), z.literal('payment_method.detached'), z.literal('payment_method.updated'), z.literal('payout.canceled'), z.literal('payout.created'), z.literal('payout.failed'), z.literal('payout.paid'), z.literal('payout.reconciliation_completed'), z.literal('payout.updated'), z.literal('person.created'), z.literal('person.deleted'), z.literal('person.updated'), z.literal('plan.created'), z.literal('plan.deleted'), z.literal('plan.updated'), z.literal('price.created'), z.literal('price.deleted'), z.literal('price.updated'), z.literal('product.created'), z.literal('product.deleted'), z.literal('product.updated'), z.literal('promotion_code.created'), z.literal('promotion_code.updated'), z.literal('quote.accepted'), z.literal('quote.canceled'), z.literal('quote.created'), z.literal('quote.finalized'), z.literal('radar.early_fraud_warning.created'), z.literal('radar.early_fraud_warning.updated'), z.literal('refund.created'), z.literal('refund.updated'), z.literal('reporting.report_run.failed'), z.literal('reporting.report_run.succeeded'), z.literal('reporting.report_type.updated'), z.literal('review.closed'), z.literal('review.opened'), z.literal('setup_intent.canceled'), z.literal('setup_intent.created'), z.literal('setup_intent.requires_action'), z.literal('setup_intent.setup_failed'), z.literal('setup_intent.succeeded'), z.literal('sigma.scheduled_query_run.created'), z.literal('source.canceled'), z.literal('source.chargeable'), z.literal('source.failed'), z.literal('source.mandate_notification'), z.literal('source.refund_attributes_required'), z.literal('source.transaction.created'), z.literal('source.transaction.updated'), z.literal('subscription_schedule.aborted'), z.literal('subscription_schedule.canceled'), z.literal('subscription_schedule.completed'), z.literal('subscription_schedule.created'), z.literal('subscription_schedule.expiring'), z.literal('subscription_schedule.released'), z.literal('subscription_schedule.updated'), z.literal('tax.settings.updated'), z.literal('tax_rate.created'), z.literal('tax_rate.updated'), z.literal('terminal.reader.action_failed'), z.literal('terminal.reader.action_succeeded'), z.literal('test_helpers.test_clock.advancing'), z.literal('test_helpers.test_clock.created'), z.literal('test_helpers.test_clock.deleted'), z.literal('test_helpers.test_clock.internal_failure'), z.literal('test_helpers.test_clock.ready'), z.literal('topup.canceled'), z.literal('topup.created'), z.literal('topup.failed'), z.literal('topup.reversed'), z.literal('topup.succeeded'), z.literal('transfer.created'), z.literal('transfer.reversed'), z.literal('transfer.updated'), z.literal('treasury.credit_reversal.created'), z.literal('treasury.credit_reversal.posted'), z.literal('treasury.debit_reversal.completed'), z.literal('treasury.debit_reversal.created'), z.literal('treasury.debit_reversal.initial_credit_granted'), z.literal('treasury.financial_account.closed'), z.literal('treasury.financial_account.created'), z.literal('treasury.financial_account.features_status_updated'), z.literal('treasury.inbound_transfer.canceled'), z.literal('treasury.inbound_transfer.created'), z.literal('treasury.inbound_transfer.failed'), z.literal('treasury.inbound_transfer.succeeded'), z.literal('treasury.outbound_payment.canceled'), z.literal('treasury.outbound_payment.created'), z.literal('treasury.outbound_payment.expected_arrival_date_updated'), z.literal('treasury.outbound_payment.failed'), z.literal('treasury.outbound_payment.posted'), z.literal('treasury.outbound_payment.returned'), z.literal('treasury.outbound_payment.tracking_details_updated'), z.literal('treasury.outbound_transfer.canceled'), z.literal('treasury.outbound_transfer.created'), z.literal('treasury.outbound_transfer.expected_arrival_date_updated'), z.literal('treasury.outbound_transfer.failed'), z.literal('treasury.outbound_transfer.posted'), z.literal('treasury.outbound_transfer.returned'), z.literal('treasury.outbound_transfer.tracking_details_updated'), z.literal('treasury.received_credit.created'), z.literal('treasury.received_credit.failed'), z.literal('treasury.received_credit.succeeded'), z.literal('treasury.received_debit.created'), ]), ), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), url: z.string(), }), }); export const postWebhookEndpointsResponseSchema = webhookEndpointSchema; export const deleteWebhookEndpointsWebhookEndpointDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ webhook_endpoint: z.string(), }), }); export const deleteWebhookEndpointsWebhookEndpointResponseSchema = deletedWebhookEndpointSchema; export const getWebhookEndpointsWebhookEndpointDataSchema = z.object({ body: z.record(z.unknown()).optional(), path: z.object({ webhook_endpoint: z.string(), }), query: z .object({ expand: z.array(z.string()).optional(), }) .optional(), }); export const getWebhookEndpointsWebhookEndpointResponseSchema = webhookEndpointSchema; export const postWebhookEndpointsWebhookEndpointDataSchema = z.object({ body: z .object({ description: z.union([z.string(), z.literal('')]).optional(), disabled: z.boolean().optional(), enabled_events: z .array( z.union([ z.literal('*'), z.literal('account.application.authorized'), z.literal('account.application.deauthorized'), z.literal('account.external_account.created'), z.literal('account.external_account.deleted'), z.literal('account.external_account.updated'), z.literal('account.updated'), z.literal('application_fee.created'), z.literal('application_fee.refund.updated'), z.literal('application_fee.refunded'), z.literal('balance.available'), z.literal('billing_portal.configuration.created'), z.literal('billing_portal.configuration.updated'), z.literal('billing_portal.session.created'), z.literal('capability.updated'), z.literal('cash_balance.funds_available'), z.literal('charge.captured'), z.literal('charge.dispute.closed'), z.literal('charge.dispute.created'), z.literal('charge.dispute.funds_reinstated'), z.literal('charge.dispute.funds_withdrawn'), z.literal('charge.dispute.updated'), z.literal('charge.expired'), z.literal('charge.failed'), z.literal('charge.pending'), z.literal('charge.refund.updated'), z.literal('charge.refunded'), z.literal('charge.succeeded'), z.literal('charge.updated'), z.literal('checkout.session.async_payment_failed'), z.literal('checkout.session.async_payment_succeeded'), z.literal('checkout.session.completed'), z.literal('checkout.session.expired'), z.literal('climate.order.canceled'), z.literal('climate.order.created'), z.literal('climate.order.delayed'), z.literal('climate.order.delivered'), z.literal('climate.order.product_substituted'), z.literal('climate.product.created'), z.literal('climate.product.pricing_updated'), z.literal('coupon.created'), z.literal('coupon.deleted'), z.literal('coupon.updated'), z.literal('credit_note.created'), z.literal('credit_note.updated'), z.literal('credit_note.voided'), z.literal('customer.created'), z.literal('customer.deleted'), z.literal('customer.discount.created'), z.literal('customer.discount.deleted'), z.literal('customer.discount.updated'), z.literal('customer.source.created'), z.literal('customer.source.deleted'), z.literal('customer.source.expiring'), z.literal('customer.source.updated'), z.literal('customer.subscription.created'), z.literal('customer.subscription.deleted'), z.literal('customer.subscription.paused'), z.literal('customer.subscription.pending_update_applied'), z.literal('customer.subscription.pending_update_expired'), z.literal('customer.subscription.resumed'), z.literal('customer.subscription.trial_will_end'), z.literal('customer.subscription.updated'), z.literal('customer.tax_id.created'), z.literal('customer.tax_id.deleted'), z.literal('customer.tax_id.updated'), z.literal('customer.updated'), z.literal('customer_cash_balance_transaction.created'), z.literal('entitlements.active_entitlement_summary.updated'), z.literal('file.created'), z.literal('financial_connections.account.created'), z.literal('financial_connections.account.deactivated'), z.literal('financial_connections.account.disconnected'), z.literal('financial_connections.account.reactivated'), z.literal('financial_connections.account.refreshed_balance'), z.literal('financial_connections.account.refreshed_ownership'), z.literal('financial_connections.account.refreshed_transactions'), z.literal('identity.verification_session.canceled'), z.literal('identity.verification_session.created'), z.literal('identity.verification_session.processing'), z.literal('identity.verification_session.redacted'), z.literal('identity.verification_session.requires_input'), z.literal('identity.verification_session.verified'), z.literal('invoice.created'), z.literal('invoice.deleted'), z.literal('invoice.finalization_failed'), z.literal('invoice.finalized'), z.literal('invoice.marked_uncollectible'), z.literal('invoice.paid'), z.literal('invoice.payment_action_required'), z.literal('invoice.payment_failed'), z.literal('invoice.payment_succeeded'), z.literal('invoice.sent'), z.literal('invoice.upcoming'), z.literal('invoice.updated'), z.literal('invoice.voided'), z.literal('invoiceitem.created'), z.literal('invoiceitem.deleted'), z.literal('issuing_authorization.created'), z.literal('issuing_authorization.request'), z.literal('issuing_authorization.updated'), z.literal('issuing_card.created'), z.literal('issuing_card.updated'), z.literal('issuing_cardholder.created'), z.literal('issuing_cardholder.updated'), z.literal('issuing_dispute.closed'), z.literal('issuing_dispute.created'), z.literal('issuing_dispute.funds_reinstated'), z.literal('issuing_dispute.submitted'), z.literal('issuing_dispute.updated'), z.literal('issuing_personalization_design.activated'), z.literal('issuing_personalization_design.deactivated'), z.literal('issuing_personalization_design.rejected'), z.literal('issuing_personalization_design.updated'), z.literal('issuing_token.created'), z.literal('issuing_token.updated'), z.literal('issuing_transaction.created'), z.literal('issuing_transaction.updated'), z.literal('mandate.updated'), z.literal('payment_intent.amount_capturable_updated'), z.literal('payment_intent.canceled'), z.literal('payment_intent.created'), z.literal('payment_intent.partially_funded'), z.literal('payment_intent.payment_failed'), z.literal('payment_intent.processing'), z.literal('payment_intent.requires_action'), z.literal('payment_intent.succeeded'), z.literal('payment_link.created'), z.literal('payment_link.updated'), z.literal('payment_method.attached'), z.literal('payment_method.automatically_updated'), z.literal('payment_method.detached'), z.literal('payment_method.updated'), z.literal('payout.canceled'), z.literal('payout.created'), z.literal('payout.failed'), z.literal('payout.paid'), z.literal('payout.reconciliation_completed'), z.literal('payout.updated'), z.literal('person.created'), z.literal('person.deleted'), z.literal('person.updated'), z.literal('plan.created'), z.literal('plan.deleted'), z.literal('plan.updated'), z.literal('price.created'), z.literal('price.deleted'), z.literal('price.updated'), z.literal('product.created'), z.literal('product.deleted'), z.literal('product.updated'), z.literal('promotion_code.created'), z.literal('promotion_code.updated'), z.literal('quote.accepted'), z.literal('quote.canceled'), z.literal('quote.created'), z.literal('quote.finalized'), z.literal('radar.early_fraud_warning.created'), z.literal('radar.early_fraud_warning.updated'), z.literal('refund.created'), z.literal('refund.updated'), z.literal('reporting.report_run.failed'), z.literal('reporting.report_run.succeeded'), z.literal('reporting.report_type.updated'), z.literal('review.closed'), z.literal('review.opened'), z.literal('setup_intent.canceled'), z.literal('setup_intent.created'), z.literal('setup_intent.requires_action'), z.literal('setup_intent.setup_failed'), z.literal('setup_intent.succeeded'), z.literal('sigma.scheduled_query_run.created'), z.literal('source.canceled'), z.literal('source.chargeable'), z.literal('source.failed'), z.literal('source.mandate_notification'), z.literal('source.refund_attributes_required'), z.literal('source.transaction.created'), z.literal('source.transaction.updated'), z.literal('subscription_schedule.aborted'), z.literal('subscription_schedule.canceled'), z.literal('subscription_schedule.completed'), z.literal('subscription_schedule.created'), z.literal('subscription_schedule.expiring'), z.literal('subscription_schedule.released'), z.literal('subscription_schedule.updated'), z.literal('tax.settings.updated'), z.literal('tax_rate.created'), z.literal('tax_rate.updated'), z.literal('terminal.reader.action_failed'), z.literal('terminal.reader.action_succeeded'), z.literal('test_helpers.test_clock.advancing'), z.literal('test_helpers.test_clock.created'), z.literal('test_helpers.test_clock.deleted'), z.literal('test_helpers.test_clock.internal_failure'), z.literal('test_helpers.test_clock.ready'), z.literal('topup.canceled'), z.literal('topup.created'), z.literal('topup.failed'), z.literal('topup.reversed'), z.literal('topup.succeeded'), z.literal('transfer.created'), z.literal('transfer.reversed'), z.literal('transfer.updated'), z.literal('treasury.credit_reversal.created'), z.literal('treasury.credit_reversal.posted'), z.literal('treasury.debit_reversal.completed'), z.literal('treasury.debit_reversal.created'), z.literal('treasury.debit_reversal.initial_credit_granted'), z.literal('treasury.financial_account.closed'), z.literal('treasury.financial_account.created'), z.literal('treasury.financial_account.features_status_updated'), z.literal('treasury.inbound_transfer.canceled'), z.literal('treasury.inbound_transfer.created'), z.literal('treasury.inbound_transfer.failed'), z.literal('treasury.inbound_transfer.succeeded'), z.literal('treasury.outbound_payment.canceled'), z.literal('treasury.outbound_payment.created'), z.literal('treasury.outbound_payment.expected_arrival_date_updated'), z.literal('treasury.outbound_payment.failed'), z.literal('treasury.outbound_payment.posted'), z.literal('treasury.outbound_payment.returned'), z.literal('treasury.outbound_payment.tracking_details_updated'), z.literal('treasury.outbound_transfer.canceled'), z.literal('treasury.outbound_transfer.created'), z.literal('treasury.outbound_transfer.expected_arrival_date_updated'), z.literal('treasury.outbound_transfer.failed'), z.literal('treasury.outbound_transfer.posted'), z.literal('treasury.outbound_transfer.returned'), z.literal('treasury.outbound_transfer.tracking_details_updated'), z.literal('treasury.received_credit.created'), z.literal('treasury.received_credit.failed'), z.literal('treasury.received_credit.succeeded'), z.literal('treasury.received_debit.created'), ]), ) .optional(), expand: z.array(z.string()).optional(), metadata: z.union([z.record(z.string()), z.literal('')]).optional(), url: z.string().optional(), }) .optional(), path: z.object({ webhook_endpoint: z.string(), }), }); export const postWebhookEndpointsWebhookEndpointResponseSchema = webhookEndpointSchema; export const accountBusinessProfileSchema = z.object({ annual_revenue: accountAnnualRevenueSchema.optional().nullable(), estimated_worker_count: z.number().optional().nullable(), mcc: z.string().optional().nullable(), monthly_estimated_revenue: accountMonthlyEstimatedRevenueSchema.optional(), name: z.string().optional().nullable(), product_description: z.string().optional().nullable(), support_address: addressSchema.optional().nullable(), support_email: z.string().optional().nullable(), support_phone: z.string().optional().nullable(), support_url: z.string().optional().nullable(), url: z.string().optional().nullable(), }); export const accountUnificationAccountControllerSchema = z.object({ fees: accountUnificationAccountControllerFeesSchema.optional(), is_controller: z.boolean().optional(), losses: accountUnificationAccountControllerLossesSchema.optional(), requirement_collection: z.union([z.literal('application'), z.literal('stripe')]).optional(), stripe_dashboard: accountUnificationAccountControllerStripeDashboardSchema.optional(), type: z.union([z.literal('account'), z.literal('application')]), }); export const balanceAmountNetSchema = z.object({ amount: z.number(), currency: z.string(), net_available: z.array(balanceNetAvailableSchema).optional(), source_types: balanceAmountBySourceTypeSchema.optional(), }); export const balanceDetailSchema = z.object({ available: z.array(balanceAmountSchema), }); export const paymentMethodDetailsCardPresentSchema = z.object({ amount_authorized: z.number().optional().nullable(), brand: z.string().optional().nullable(), capture_before: z.number().optional(), cardholder_name: z.string().optional().nullable(), country: z.string().optional().nullable(), emv_auth_data: z.string().optional().nullable(), exp_month: z.number(), exp_year: z.number(), fingerprint: z.string().optional().nullable(), funding: z.string().optional().nullable(), generated_card: z.string().optional().nullable(), incremental_authorization_supported: z.boolean(), last4: z.string().optional().nullable(), network: z.string().optional().nullable(), offline: paymentMethodDetailsCardPresentOfflineSchema.optional().nullable(), overcapture_supported: z.boolean(), preferred_locales: z.array(z.string()).optional().nullable(), read_method: z .union([ z.literal('contact_emv'), z.literal('contactless_emv'), z.literal('contactless_magstripe_mode'), z.literal('magnetic_stripe_fallback'), z.literal('magnetic_stripe_track2'), ]) .optional() .nullable(), receipt: paymentMethodDetailsCardPresentReceiptSchema.optional().nullable(), }); export const chargeOutcomeSchema = z.object({ network_status: z.string().optional().nullable(), reason: z.string().optional().nullable(), risk_level: z.string().optional(), risk_score: z.number().optional(), rule: z.union([z.string(), ruleSchema]).optional(), seller_message: z.string().optional().nullable(), type: z.string(), }); export const paymentPagesCheckoutSessionAfterExpirationSchema = z.object({ recovery: paymentPagesCheckoutSessionAfterExpirationRecoverySchema.optional().nullable(), }); export const paymentPagesCheckoutSessionConsentCollectionSchema = z.object({ payment_method_reuse_agreement: paymentPagesCheckoutSessionPaymentMethodReuseAgreementSchema.optional().nullable(), promotions: z .union([z.literal('auto'), z.literal('none')]) .optional() .nullable(), terms_of_service: z .union([z.literal('none'), z.literal('required')]) .optional() .nullable(), }); export const paymentPagesCheckoutSessionCustomTextSchema = z.object({ after_submit: paymentPagesCheckoutSessionCustomTextPositionSchema.optional().nullable(), shipping_address: paymentPagesCheckoutSessionCustomTextPositionSchema.optional().nullable(), submit: paymentPagesCheckoutSessionCustomTextPositionSchema.optional().nullable(), terms_of_service_acceptance: paymentPagesCheckoutSessionCustomTextPositionSchema.optional().nullable(), }); export const paymentPagesCheckoutSessionCustomerDetailsSchema = z.object({ address: addressSchema.optional().nullable(), email: z.string().optional().nullable(), name: z.string().optional().nullable(), phone: z.string().optional().nullable(), tax_exempt: z .union([z.literal('exempt'), z.literal('none'), z.literal('reverse')]) .optional() .nullable(), tax_ids: z.array(paymentPagesCheckoutSessionTaxIdSchema).optional().nullable(), }); export const checkoutUsBankAccountPaymentMethodOptionsSchema = z.object({ financial_connections: linkedAccountOptionsUsBankAccountSchema.optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), verification_method: z.union([z.literal('automatic'), z.literal('instant')]).optional(), }); export const climateRemovalsOrderDeliveriesSchema = z.object({ delivered_at: z.number(), location: climateRemovalsLocationSchema.optional().nullable(), metric_tons: z.string(), registry_url: z.string().optional().nullable(), supplier: climateSupplierSchema, }); export const confirmationTokensResourceMandateDataResourceCustomerAcceptanceSchema = z.object({ online: confirmationTokensResourceMandateDataResourceCustomerAcceptanceResourceOnlineSchema.optional().nullable(), type: z.string(), }); export const paymentMethodCardPresentSchema = z.object({ brand: z.string().optional().nullable(), cardholder_name: z.string().optional().nullable(), country: z.string().optional().nullable(), exp_month: z.number(), exp_year: z.number(), fingerprint: z.string().optional().nullable(), funding: z.string().optional().nullable(), last4: z.string().optional().nullable(), networks: paymentMethodCardPresentNetworksSchema.optional().nullable(), preferred_locales: z.array(z.string()).optional().nullable(), read_method: z .union([ z.literal('contact_emv'), z.literal('contactless_emv'), z.literal('contactless_magstripe_mode'), z.literal('magnetic_stripe_fallback'), z.literal('magnetic_stripe_track2'), ]) .optional() .nullable(), }); export const paymentMethodUsBankAccountSchema = z.object({ account_holder_type: z .union([z.literal('company'), z.literal('individual')]) .optional() .nullable(), account_type: z .union([z.literal('checking'), z.literal('savings')]) .optional() .nullable(), bank_name: z.string().optional().nullable(), financial_connections_account: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), networks: usBankAccountNetworksSchema.optional().nullable(), routing_number: z.string().optional().nullable(), status_details: paymentMethodUsBankAccountStatusDetailsSchema.optional().nullable(), }); export const connectEmbeddedPayoutsConfigClaimSchema = z.object({ enabled: z.boolean(), features: connectEmbeddedPayoutsFeaturesSchema, }); export const connectEmbeddedBaseConfigClaimSchema = z.object({ enabled: z.boolean(), features: connectEmbeddedBaseFeaturesSchema, }); export const connectEmbeddedPaymentsConfigClaimSchema = z.object({ enabled: z.boolean(), features: connectEmbeddedPaymentsFeaturesSchema, }); export const currencyOptionSchema = z.object({ custom_unit_amount: customUnitAmountSchema.optional().nullable(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional() .nullable(), tiers: z.array(priceTierSchema).optional(), unit_amount: z.number().optional().nullable(), unit_amount_decimal: z.string().optional().nullable(), }); export const customerTaxSchema = z.object({ automatic_tax: z.union([ z.literal('failed'), z.literal('not_collecting'), z.literal('supported'), z.literal('unrecognized_location'), ]), ip_address: z.string().optional().nullable(), location: customerTaxLocationSchema.optional().nullable(), }); export const customerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferSchema = z.object({ eu_bank_transfer: customerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceEuBankTransferSchema.optional(), gb_bank_transfer: customerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceGbBankTransferSchema.optional(), jp_bank_transfer: customerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceJpBankTransferSchema.optional(), reference: z.string().optional().nullable(), type: z.union([ z.literal('eu_bank_transfer'), z.literal('gb_bank_transfer'), z.literal('jp_bank_transfer'), z.literal('mx_bank_transfer'), z.literal('us_bank_transfer'), ]), us_bank_transfer: customerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceUsBankTransferSchema.optional(), }); export const customerBalanceResourceCashBalanceTransactionResourceFundedTransactionSchema = z.object({ bank_transfer: customerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferSchema, }); export const customerSessionResourceComponentsSchema = z.object({ buy_button: customerSessionResourceComponentsResourceBuyButtonSchema, pricing_table: customerSessionResourceComponentsResourcePricingTableSchema, }); export const disputePaymentMethodDetailsSchema = z.object({ card: disputePaymentMethodDetailsCardSchema.optional(), klarna: disputePaymentMethodDetailsKlarnaSchema.optional(), paypal: disputePaymentMethodDetailsPaypalSchema.optional(), type: z.union([z.literal('card'), z.literal('klarna'), z.literal('paypal')]), }); export const fundingInstructionsBankTransferSchema = z.object({ country: z.string(), financial_addresses: z.array(fundingInstructionsBankTransferFinancialAddressSchema), type: z.union([z.literal('eu_bank_transfer'), z.literal('jp_bank_transfer')]), }); export const invoicePaymentMethodOptionsCustomerBalanceBankTransferSchema = z.object({ eu_bank_transfer: invoicePaymentMethodOptionsCustomerBalanceBankTransferEuBankTransferSchema.optional(), type: z.string().optional().nullable(), }); export const invoicePaymentMethodOptionsCustomerBalanceSchema = z.object({ bank_transfer: invoicePaymentMethodOptionsCustomerBalanceBankTransferSchema.optional(), funding_type: z.literal('bank_transfer').optional().nullable(), }); export const invoicesPaymentMethodOptionsSchema = z.object({ acss_debit: invoicePaymentMethodOptionsAcssDebitSchema.optional().nullable(), bancontact: invoicePaymentMethodOptionsBancontactSchema.optional().nullable(), card: invoicePaymentMethodOptionsCardSchema.optional().nullable(), customer_balance: invoicePaymentMethodOptionsCustomerBalanceSchema.optional().nullable(), konbini: invoicePaymentMethodOptionsKonbiniSchema.optional().nullable(), sepa_debit: invoicePaymentMethodOptionsSepaDebitSchema.optional().nullable(), us_bank_account: invoicePaymentMethodOptionsUsBankAccountSchema.optional().nullable(), }); export const issuingCardShippingSchema = z.object({ address: addressSchema, carrier: z .union([z.literal('dhl'), z.literal('fedex'), z.literal('royal_mail'), z.literal('usps')]) .optional() .nullable(), customs: issuingCardShippingCustomsSchema.optional().nullable(), eta: z.number().optional().nullable(), name: z.string(), phone_number: z.string().optional().nullable(), require_signature: z.boolean().optional().nullable(), service: z.union([z.literal('express'), z.literal('priority'), z.literal('standard')]), status: z .union([ z.literal('canceled'), z.literal('delivered'), z.literal('failure'), z.literal('pending'), z.literal('returned'), z.literal('shipped'), ]) .optional() .nullable(), tracking_number: z.string().optional().nullable(), tracking_url: z.string().optional().nullable(), type: z.union([z.literal('bulk'), z.literal('individual')]), }); export const issuingCardAuthorizationControlsSchema = z.object({ allowed_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional() .nullable(), allowed_merchant_countries: z.array(z.string()).optional().nullable(), blocked_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional() .nullable(), blocked_merchant_countries: z.array(z.string()).optional().nullable(), spending_limits: z.array(issuingCardSpendingLimitSchema).optional().nullable(), spending_limits_currency: z.string().optional().nullable(), }); export const issuingCardholderAuthorizationControlsSchema = z.object({ allowed_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional() .nullable(), allowed_merchant_countries: z.array(z.string()).optional().nullable(), blocked_categories: z .array( z.union([ z.literal('ac_refrigeration_repair'), z.literal('accounting_bookkeeping_services'), z.literal('advertising_services'), z.literal('agricultural_cooperative'), z.literal('airlines_air_carriers'), z.literal('airports_flying_fields'), z.literal('ambulance_services'), z.literal('amusement_parks_carnivals'), z.literal('antique_reproductions'), z.literal('antique_shops'), z.literal('aquariums'), z.literal('architectural_surveying_services'), z.literal('art_dealers_and_galleries'), z.literal('artists_supply_and_craft_shops'), z.literal('auto_and_home_supply_stores'), z.literal('auto_body_repair_shops'), z.literal('auto_paint_shops'), z.literal('auto_service_shops'), z.literal('automated_cash_disburse'), z.literal('automated_fuel_dispensers'), z.literal('automobile_associations'), z.literal('automotive_parts_and_accessories_stores'), z.literal('automotive_tire_stores'), z.literal('bail_and_bond_payments'), z.literal('bakeries'), z.literal('bands_orchestras'), z.literal('barber_and_beauty_shops'), z.literal('betting_casino_gambling'), z.literal('bicycle_shops'), z.literal('billiard_pool_establishments'), z.literal('boat_dealers'), z.literal('boat_rentals_and_leases'), z.literal('book_stores'), z.literal('books_periodicals_and_newspapers'), z.literal('bowling_alleys'), z.literal('bus_lines'), z.literal('business_secretarial_schools'), z.literal('buying_shopping_services'), z.literal('cable_satellite_and_other_pay_television_and_radio'), z.literal('camera_and_photographic_supply_stores'), z.literal('candy_nut_and_confectionery_stores'), z.literal('car_and_truck_dealers_new_used'), z.literal('car_and_truck_dealers_used_only'), z.literal('car_rental_agencies'), z.literal('car_washes'), z.literal('carpentry_services'), z.literal('carpet_upholstery_cleaning'), z.literal('caterers'), z.literal('charitable_and_social_service_organizations_fundraising'), z.literal('chemicals_and_allied_products'), z.literal('child_care_services'), z.literal('childrens_and_infants_wear_stores'), z.literal('chiropodists_podiatrists'), z.literal('chiropractors'), z.literal('cigar_stores_and_stands'), z.literal('civic_social_fraternal_associations'), z.literal('cleaning_and_maintenance'), z.literal('clothing_rental'), z.literal('colleges_universities'), z.literal('commercial_equipment'), z.literal('commercial_footwear'), z.literal('commercial_photography_art_and_graphics'), z.literal('commuter_transport_and_ferries'), z.literal('computer_network_services'), z.literal('computer_programming'), z.literal('computer_repair'), z.literal('computer_software_stores'), z.literal('computers_peripherals_and_software'), z.literal('concrete_work_services'), z.literal('construction_materials'), z.literal('consulting_public_relations'), z.literal('correspondence_schools'), z.literal('cosmetic_stores'), z.literal('counseling_services'), z.literal('country_clubs'), z.literal('courier_services'), z.literal('court_costs'), z.literal('credit_reporting_agencies'), z.literal('cruise_lines'), z.literal('dairy_products_stores'), z.literal('dance_hall_studios_schools'), z.literal('dating_escort_services'), z.literal('dentists_orthodontists'), z.literal('department_stores'), z.literal('detective_agencies'), z.literal('digital_goods_applications'), z.literal('digital_goods_games'), z.literal('digital_goods_large_volume'), z.literal('digital_goods_media'), z.literal('direct_marketing_catalog_merchant'), z.literal('direct_marketing_combination_catalog_and_retail_merchant'), z.literal('direct_marketing_inbound_telemarketing'), z.literal('direct_marketing_insurance_services'), z.literal('direct_marketing_other'), z.literal('direct_marketing_outbound_telemarketing'), z.literal('direct_marketing_subscription'), z.literal('direct_marketing_travel'), z.literal('discount_stores'), z.literal('doctors'), z.literal('door_to_door_sales'), z.literal('drapery_window_covering_and_upholstery_stores'), z.literal('drinking_places'), z.literal('drug_stores_and_pharmacies'), z.literal('drugs_drug_proprietaries_and_druggist_sundries'), z.literal('dry_cleaners'), z.literal('durable_goods'), z.literal('duty_free_stores'), z.literal('eating_places_restaurants'), z.literal('educational_services'), z.literal('electric_razor_stores'), z.literal('electric_vehicle_charging'), z.literal('electrical_parts_and_equipment'), z.literal('electrical_services'), z.literal('electronics_repair_shops'), z.literal('electronics_stores'), z.literal('elementary_secondary_schools'), z.literal('emergency_services_gcas_visa_use_only'), z.literal('employment_temp_agencies'), z.literal('equipment_rental'), z.literal('exterminating_services'), z.literal('family_clothing_stores'), z.literal('fast_food_restaurants'), z.literal('financial_institutions'), z.literal('fines_government_administrative_entities'), z.literal('fireplace_fireplace_screens_and_accessories_stores'), z.literal('floor_covering_stores'), z.literal('florists'), z.literal('florists_supplies_nursery_stock_and_flowers'), z.literal('freezer_and_locker_meat_provisioners'), z.literal('fuel_dealers_non_automotive'), z.literal('funeral_services_crematories'), z.literal('furniture_home_furnishings_and_equipment_stores_except_appliances'), z.literal('furniture_repair_refinishing'), z.literal('furriers_and_fur_shops'), z.literal('general_services'), z.literal('gift_card_novelty_and_souvenir_shops'), z.literal('glass_paint_and_wallpaper_stores'), z.literal('glassware_crystal_stores'), z.literal('golf_courses_public'), z.literal('government_licensed_horse_dog_racing_us_region_only'), z.literal('government_licensed_online_casions_online_gambling_us_region_only'), z.literal('government_owned_lotteries_non_us_region'), z.literal('government_owned_lotteries_us_region_only'), z.literal('government_services'), z.literal('grocery_stores_supermarkets'), z.literal('hardware_equipment_and_supplies'), z.literal('hardware_stores'), z.literal('health_and_beauty_spas'), z.literal('hearing_aids_sales_and_supplies'), z.literal('heating_plumbing_a_c'), z.literal('hobby_toy_and_game_shops'), z.literal('home_supply_warehouse_stores'), z.literal('hospitals'), z.literal('hotels_motels_and_resorts'), z.literal('household_appliance_stores'), z.literal('industrial_supplies'), z.literal('information_retrieval_services'), z.literal('insurance_default'), z.literal('insurance_underwriting_premiums'), z.literal('intra_company_purchases'), z.literal('jewelry_stores_watches_clocks_and_silverware_stores'), z.literal('landscaping_services'), z.literal('laundries'), z.literal('laundry_cleaning_services'), z.literal('legal_services_attorneys'), z.literal('luggage_and_leather_goods_stores'), z.literal('lumber_building_materials_stores'), z.literal('manual_cash_disburse'), z.literal('marinas_service_and_supplies'), z.literal('marketplaces'), z.literal('masonry_stonework_and_plaster'), z.literal('massage_parlors'), z.literal('medical_and_dental_labs'), z.literal('medical_dental_ophthalmic_and_hospital_equipment_and_supplies'), z.literal('medical_services'), z.literal('membership_organizations'), z.literal('mens_and_boys_clothing_and_accessories_stores'), z.literal('mens_womens_clothing_stores'), z.literal('metal_service_centers'), z.literal('miscellaneous'), z.literal('miscellaneous_apparel_and_accessory_shops'), z.literal('miscellaneous_auto_dealers'), z.literal('miscellaneous_business_services'), z.literal('miscellaneous_food_stores'), z.literal('miscellaneous_general_merchandise'), z.literal('miscellaneous_general_services'), z.literal('miscellaneous_home_furnishing_specialty_stores'), z.literal('miscellaneous_publishing_and_printing'), z.literal('miscellaneous_recreation_services'), z.literal('miscellaneous_repair_shops'), z.literal('miscellaneous_specialty_retail'), z.literal('mobile_home_dealers'), z.literal('motion_picture_theaters'), z.literal('motor_freight_carriers_and_trucking'), z.literal('motor_homes_dealers'), z.literal('motor_vehicle_supplies_and_new_parts'), z.literal('motorcycle_shops_and_dealers'), z.literal('motorcycle_shops_dealers'), z.literal('music_stores_musical_instruments_pianos_and_sheet_music'), z.literal('news_dealers_and_newsstands'), z.literal('non_fi_money_orders'), z.literal('non_fi_stored_value_card_purchase_load'), z.literal('nondurable_goods'), z.literal('nurseries_lawn_and_garden_supply_stores'), z.literal('nursing_personal_care'), z.literal('office_and_commercial_furniture'), z.literal('opticians_eyeglasses'), z.literal('optometrists_ophthalmologist'), z.literal('orthopedic_goods_prosthetic_devices'), z.literal('osteopaths'), z.literal('package_stores_beer_wine_and_liquor'), z.literal('paints_varnishes_and_supplies'), z.literal('parking_lots_garages'), z.literal('passenger_railways'), z.literal('pawn_shops'), z.literal('pet_shops_pet_food_and_supplies'), z.literal('petroleum_and_petroleum_products'), z.literal('photo_developing'), z.literal('photographic_photocopy_microfilm_equipment_and_supplies'), z.literal('photographic_studios'), z.literal('picture_video_production'), z.literal('piece_goods_notions_and_other_dry_goods'), z.literal('plumbing_heating_equipment_and_supplies'), z.literal('political_organizations'), z.literal('postal_services_government_only'), z.literal('precious_stones_and_metals_watches_and_jewelry'), z.literal('professional_services'), z.literal('public_warehousing_and_storage'), z.literal('quick_copy_repro_and_blueprint'), z.literal('railroads'), z.literal('real_estate_agents_and_managers_rentals'), z.literal('record_stores'), z.literal('recreational_vehicle_rentals'), z.literal('religious_goods_stores'), z.literal('religious_organizations'), z.literal('roofing_siding_sheet_metal'), z.literal('secretarial_support_services'), z.literal('security_brokers_dealers'), z.literal('service_stations'), z.literal('sewing_needlework_fabric_and_piece_goods_stores'), z.literal('shoe_repair_hat_cleaning'), z.literal('shoe_stores'), z.literal('small_appliance_repair'), z.literal('snowmobile_dealers'), z.literal('special_trade_services'), z.literal('specialty_cleaning'), z.literal('sporting_goods_stores'), z.literal('sporting_recreation_camps'), z.literal('sports_and_riding_apparel_stores'), z.literal('sports_clubs_fields'), z.literal('stamp_and_coin_stores'), z.literal('stationary_office_supplies_printing_and_writing_paper'), z.literal('stationery_stores_office_and_school_supply_stores'), z.literal('swimming_pools_sales'), z.literal('t_ui_travel_germany'), z.literal('tailors_alterations'), z.literal('tax_payments_government_agencies'), z.literal('tax_preparation_services'), z.literal('taxicabs_limousines'), z.literal('telecommunication_equipment_and_telephone_sales'), z.literal('telecommunication_services'), z.literal('telegraph_services'), z.literal('tent_and_awning_shops'), z.literal('testing_laboratories'), z.literal('theatrical_ticket_agencies'), z.literal('timeshares'), z.literal('tire_retreading_and_repair'), z.literal('tolls_bridge_fees'), z.literal('tourist_attractions_and_exhibits'), z.literal('towing_services'), z.literal('trailer_parks_campgrounds'), z.literal('transportation_services'), z.literal('travel_agencies_tour_operators'), z.literal('truck_stop_iteration'), z.literal('truck_utility_trailer_rentals'), z.literal('typesetting_plate_making_and_related_services'), z.literal('typewriter_stores'), z.literal('u_s_federal_government_agencies_or_departments'), z.literal('uniforms_commercial_clothing'), z.literal('used_merchandise_and_secondhand_stores'), z.literal('utilities'), z.literal('variety_stores'), z.literal('veterinary_services'), z.literal('video_amusement_game_supplies'), z.literal('video_game_arcades'), z.literal('video_tape_rental_stores'), z.literal('vocational_trade_schools'), z.literal('watch_jewelry_repair'), z.literal('welding_repair'), z.literal('wholesale_clubs'), z.literal('wig_and_toupee_stores'), z.literal('wires_money_orders'), z.literal('womens_accessory_and_specialty_shops'), z.literal('womens_ready_to_wear_stores'), z.literal('wrecking_and_salvage_yards'), ]), ) .optional() .nullable(), blocked_merchant_countries: z.array(z.string()).optional().nullable(), spending_limits: z.array(issuingCardholderSpendingLimitSchema).optional().nullable(), spending_limits_currency: z.string().optional().nullable(), }); export const issuingTransactionPurchaseDetailsSchema = z.object({ flight: issuingTransactionFlightDataSchema.optional().nullable(), fuel: issuingTransactionFuelDataSchema.optional().nullable(), lodging: issuingTransactionLodgingDataSchema.optional().nullable(), receipt: z.array(issuingTransactionReceiptDataSchema).optional().nullable(), reference: z.string().optional().nullable(), }); export const mandatePaymentMethodDetailsSchema = z.object({ acss_debit: mandateAcssDebitSchema.optional(), amazon_pay: mandateAmazonPaySchema.optional(), au_becs_debit: mandateAuBecsDebitSchema.optional(), bacs_debit: mandateBacsDebitSchema.optional(), card: cardMandatePaymentMethodDetailsSchema.optional(), cashapp: mandateCashappSchema.optional(), link: mandateLinkSchema.optional(), paypal: mandatePaypalSchema.optional(), revolut_pay: mandateRevolutPaySchema.optional(), sepa_debit: mandateSepaDebitSchema.optional(), type: z.string(), us_bank_account: mandateUsBankAccountSchema.optional(), }); export const paymentIntentProcessingSchema = z.object({ card: paymentIntentCardProcessingSchema.optional(), type: z.literal('card'), }); export const paymentIntentNextActionDisplayBankTransferInstructionsSchema = z.object({ amount_remaining: z.number().optional().nullable(), currency: z.string().optional().nullable(), financial_addresses: z.array(fundingInstructionsBankTransferFinancialAddressSchema).optional(), hosted_instructions_url: z.string().optional().nullable(), reference: z.string().optional().nullable(), type: z.union([ z.literal('eu_bank_transfer'), z.literal('gb_bank_transfer'), z.literal('jp_bank_transfer'), z.literal('mx_bank_transfer'), z.literal('us_bank_transfer'), ]), }); export const paymentIntentNextActionKonbiniSchema = z.object({ expires_at: z.number(), hosted_voucher_url: z.string().optional().nullable(), stores: paymentIntentNextActionKonbiniStoresSchema, }); export const paymentIntentNextActionSwishHandleRedirectOrDisplayQrCodeSchema = z.object({ hosted_instructions_url: z.string(), qr_code: paymentIntentNextActionSwishQrCodeSchema, }); export const paymentIntentPaymentMethodOptionsAcssDebitSchema = z.object({ mandate_options: paymentIntentPaymentMethodOptionsMandateOptionsAcssDebitSchema.optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), verification_method: z.union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]).optional(), }); export const paymentIntentTypeSpecificPaymentMethodOptionsClientSchema = z.object({ capture_method: z.union([z.literal('manual'), z.literal('manual_preferred')]).optional(), installments: paymentFlowsInstallmentOptionsSchema.optional(), require_cvc_recollection: z.boolean().optional(), routing: paymentMethodOptionsCardPresentRoutingSchema.optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), verification_method: z.union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]).optional(), }); export const paymentIntentPaymentMethodOptionsCardSchema = z.object({ capture_method: z.literal('manual').optional(), installments: paymentMethodOptionsCardInstallmentsSchema.optional().nullable(), mandate_options: paymentMethodOptionsCardMandateOptionsSchema.optional().nullable(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional() .nullable(), request_extended_authorization: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_incremental_authorization: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_multicapture: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_overcapture: z.union([z.literal('if_available'), z.literal('never')]).optional(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional() .nullable(), require_cvc_recollection: z.boolean().optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), statement_descriptor_suffix_kana: z.string().optional(), statement_descriptor_suffix_kanji: z.string().optional(), }); export const paymentMethodOptionsCustomerBalanceSchema = z.object({ bank_transfer: paymentMethodOptionsCustomerBalanceBankTransferSchema.optional(), funding_type: z.literal('bank_transfer').optional().nullable(), setup_future_usage: z.literal('none').optional(), }); export const paymentIntentPaymentMethodOptionsUsBankAccountSchema = z.object({ financial_connections: linkedAccountOptionsUsBankAccountSchema.optional(), mandate_options: paymentMethodOptionsUsBankAccountMandateOptionsSchema.optional(), preferred_settlement_speed: z.union([z.literal('fastest'), z.literal('standard')]).optional(), setup_future_usage: z.union([z.literal('none'), z.literal('off_session'), z.literal('on_session')]).optional(), verification_method: z.union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]).optional(), }); export const paymentLinksResourceAfterCompletionSchema = z.object({ hosted_confirmation: paymentLinksResourceCompletionBehaviorConfirmationPageSchema.optional(), redirect: paymentLinksResourceCompletionBehaviorRedirectSchema.optional(), type: z.union([z.literal('hosted_confirmation'), z.literal('redirect')]), }); export const paymentLinksResourceConsentCollectionSchema = z.object({ payment_method_reuse_agreement: paymentLinksResourcePaymentMethodReuseAgreementSchema.optional().nullable(), promotions: z .union([z.literal('auto'), z.literal('none')]) .optional() .nullable(), terms_of_service: z .union([z.literal('none'), z.literal('required')]) .optional() .nullable(), }); export const paymentLinksResourceCustomTextSchema = z.object({ after_submit: paymentLinksResourceCustomTextPositionSchema.optional().nullable(), shipping_address: paymentLinksResourceCustomTextPositionSchema.optional().nullable(), submit: paymentLinksResourceCustomTextPositionSchema.optional().nullable(), terms_of_service_acceptance: paymentLinksResourceCustomTextPositionSchema.optional().nullable(), }); export const paymentLinksResourceCustomFieldsDropdownSchema = z.object({ options: z.array(paymentLinksResourceCustomFieldsDropdownOptionSchema), }); export const paymentMethodCardWalletSchema = z.object({ amex_express_checkout: paymentMethodCardWalletAmexExpressCheckoutSchema.optional(), apple_pay: paymentMethodCardWalletApplePaySchema.optional(), dynamic_last4: z.string().optional().nullable(), google_pay: paymentMethodCardWalletGooglePaySchema.optional(), link: paymentMethodCardWalletLinkSchema.optional(), masterpass: paymentMethodCardWalletMasterpassSchema.optional(), samsung_pay: paymentMethodCardWalletSamsungPaySchema.optional(), type: z.union([ z.literal('amex_express_checkout'), z.literal('apple_pay'), z.literal('google_pay'), z.literal('link'), z.literal('masterpass'), z.literal('samsung_pay'), z.literal('visa_checkout'), ]), visa_checkout: paymentMethodCardWalletVisaCheckoutSchema.optional(), }); export const cardGeneratedFromPaymentMethodDetailsSchema = z.object({ card_present: paymentMethodDetailsCardPresentSchema.optional(), type: z.string(), }); export const paymentMethodDetailsInteracPresentSchema = z.object({ brand: z.string().optional().nullable(), cardholder_name: z.string().optional().nullable(), country: z.string().optional().nullable(), emv_auth_data: z.string().optional().nullable(), exp_month: z.number(), exp_year: z.number(), fingerprint: z.string().optional().nullable(), funding: z.string().optional().nullable(), generated_card: z.string().optional().nullable(), last4: z.string().optional().nullable(), network: z.string().optional().nullable(), preferred_locales: z.array(z.string()).optional().nullable(), read_method: z .union([ z.literal('contact_emv'), z.literal('contactless_emv'), z.literal('contactless_magstripe_mode'), z.literal('magnetic_stripe_fallback'), z.literal('magnetic_stripe_track2'), ]) .optional() .nullable(), receipt: paymentMethodDetailsInteracPresentReceiptSchema.optional().nullable(), }); export const paymentMethodDetailsKonbiniSchema = z.object({ store: paymentMethodDetailsKonbiniStoreSchema.optional().nullable(), }); export const paymentMethodDetailsPaypalSchema = z.object({ payer_email: z.string().optional().nullable(), payer_id: z.string().optional().nullable(), payer_name: z.string().optional().nullable(), seller_protection: paypalSellerProtectionSchema.optional().nullable(), transaction_id: z.string().optional().nullable(), }); export const paymentMethodDetailsCardWalletSchema = z.object({ amex_express_checkout: paymentMethodDetailsCardWalletAmexExpressCheckoutSchema.optional(), apple_pay: paymentMethodDetailsCardWalletApplePaySchema.optional(), dynamic_last4: z.string().optional().nullable(), google_pay: paymentMethodDetailsCardWalletGooglePaySchema.optional(), link: paymentMethodDetailsCardWalletLinkSchema.optional(), masterpass: paymentMethodDetailsCardWalletMasterpassSchema.optional(), samsung_pay: paymentMethodDetailsCardWalletSamsungPaySchema.optional(), type: z.union([ z.literal('amex_express_checkout'), z.literal('apple_pay'), z.literal('google_pay'), z.literal('link'), z.literal('masterpass'), z.literal('samsung_pay'), z.literal('visa_checkout'), ]), visa_checkout: paymentMethodDetailsCardWalletVisaCheckoutSchema.optional(), }); export const paymentMethodDomainResourcePaymentMethodStatusSchema = z.object({ status: z.union([z.literal('active'), z.literal('inactive')]), status_details: paymentMethodDomainResourcePaymentMethodStatusDetailsSchema.optional(), }); export const paymentPagesCheckoutSessionCustomFieldsDropdownSchema = z.object({ default_value: z.string().optional().nullable(), options: z.array(paymentPagesCheckoutSessionCustomFieldsOptionSchema), value: z.string().optional().nullable(), }); export const portalSubscriptionCancelSchema = z.object({ cancellation_reason: portalSubscriptionCancellationReasonSchema, enabled: z.boolean(), mode: z.union([z.literal('at_period_end'), z.literal('immediately')]), proration_behavior: z.union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]), }); export const portalSubscriptionUpdateSchema = z.object({ default_allowed_updates: z.array(z.union([z.literal('price'), z.literal('promotion_code'), z.literal('quantity')])), enabled: z.boolean(), products: z.array(portalSubscriptionUpdateProductSchema).optional().nullable(), proration_behavior: z.union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]), }); export const portalFlowsFlowSubscriptionCancelSchema = z.object({ retention: portalFlowsRetentionSchema.optional().nullable(), subscription: z.string(), }); export const portalFlowsFlowSubscriptionUpdateConfirmSchema = z.object({ discounts: z.array(portalFlowsSubscriptionUpdateConfirmDiscountSchema).optional().nullable(), items: z.array(portalFlowsSubscriptionUpdateConfirmItemSchema), subscription: z.string(), }); export const refundDestinationDetailsSchema = z.object({ affirm: destinationDetailsUnimplementedSchema.optional(), afterpay_clearpay: destinationDetailsUnimplementedSchema.optional(), alipay: destinationDetailsUnimplementedSchema.optional(), amazon_pay: destinationDetailsUnimplementedSchema.optional(), au_bank_transfer: destinationDetailsUnimplementedSchema.optional(), blik: refundDestinationDetailsGenericSchema.optional(), br_bank_transfer: refundDestinationDetailsGenericSchema.optional(), card: refundDestinationDetailsCardSchema.optional(), cashapp: destinationDetailsUnimplementedSchema.optional(), customer_cash_balance: destinationDetailsUnimplementedSchema.optional(), eps: destinationDetailsUnimplementedSchema.optional(), eu_bank_transfer: refundDestinationDetailsGenericSchema.optional(), gb_bank_transfer: refundDestinationDetailsGenericSchema.optional(), giropay: destinationDetailsUnimplementedSchema.optional(), grabpay: destinationDetailsUnimplementedSchema.optional(), jp_bank_transfer: refundDestinationDetailsGenericSchema.optional(), klarna: destinationDetailsUnimplementedSchema.optional(), multibanco: refundDestinationDetailsGenericSchema.optional(), mx_bank_transfer: refundDestinationDetailsGenericSchema.optional(), p24: refundDestinationDetailsGenericSchema.optional(), paynow: destinationDetailsUnimplementedSchema.optional(), paypal: destinationDetailsUnimplementedSchema.optional(), pix: destinationDetailsUnimplementedSchema.optional(), revolut: destinationDetailsUnimplementedSchema.optional(), sofort: destinationDetailsUnimplementedSchema.optional(), swish: refundDestinationDetailsGenericSchema.optional(), th_bank_transfer: refundDestinationDetailsGenericSchema.optional(), type: z.string(), us_bank_transfer: refundDestinationDetailsGenericSchema.optional(), wechat_pay: destinationDetailsUnimplementedSchema.optional(), zip: destinationDetailsUnimplementedSchema.optional(), }); export const refundNextActionSchema = z.object({ display_details: refundNextActionDisplayDetailsSchema.optional().nullable(), type: z.string(), }); export const setupAttemptPaymentMethodDetailsCardSchema = z.object({ brand: z.string().optional().nullable(), checks: setupAttemptPaymentMethodDetailsCardChecksSchema.optional().nullable(), country: z.string().optional().nullable(), exp_month: z.number().optional().nullable(), exp_year: z.number().optional().nullable(), fingerprint: z.string().optional().nullable(), funding: z.string().optional().nullable(), last4: z.string().optional().nullable(), network: z.string().optional().nullable(), three_d_secure: threeDSecureDetailsSchema.optional().nullable(), wallet: setupAttemptPaymentMethodDetailsCardWalletSchema.optional().nullable(), }); export const setupIntentNextActionSchema = z.object({ cashapp_handle_redirect_or_display_qr_code: paymentIntentNextActionCashappHandleRedirectOrDisplayQrCodeSchema.optional(), redirect_to_url: setupIntentNextActionRedirectToUrlSchema.optional(), type: z.string(), use_stripe_sdk: z.record(z.unknown()).optional(), verify_with_microdeposits: setupIntentNextActionVerifyWithMicrodepositsSchema.optional(), }); export const setupIntentPaymentMethodOptionsAcssDebitSchema = z.object({ currency: z .union([z.literal('cad'), z.literal('usd')]) .optional() .nullable(), mandate_options: setupIntentPaymentMethodOptionsMandateOptionsAcssDebitSchema.optional(), verification_method: z.union([z.literal('automatic'), z.literal('instant'), z.literal('microdeposits')]).optional(), }); export const setupIntentPaymentMethodOptionsCardSchema = z.object({ mandate_options: setupIntentPaymentMethodOptionsCardMandateOptionsSchema.optional().nullable(), network: z .union([ z.literal('amex'), z.literal('cartes_bancaires'), z.literal('diners'), z.literal('discover'), z.literal('eftpos_au'), z.literal('interac'), z.literal('jcb'), z.literal('mastercard'), z.literal('unionpay'), z.literal('unknown'), z.literal('visa'), ]) .optional() .nullable(), request_three_d_secure: z .union([z.literal('any'), z.literal('automatic'), z.literal('challenge')]) .optional() .nullable(), }); export const shippingRateDeliveryEstimateSchema = z.object({ maximum: shippingRateDeliveryEstimateBoundSchema.optional().nullable(), minimum: shippingRateDeliveryEstimateBoundSchema.optional().nullable(), }); export const sourceOrderSchema = z.object({ amount: z.number(), currency: z.string(), email: z.string().optional(), items: z.array(sourceOrderItemSchema).optional().nullable(), shipping: shippingSchema.optional(), }); export const subscriptionsResourcePaymentMethodOptionsSchema = z.object({ acss_debit: invoicePaymentMethodOptionsAcssDebitSchema.optional().nullable(), bancontact: invoicePaymentMethodOptionsBancontactSchema.optional().nullable(), card: subscriptionPaymentMethodOptionsCardSchema.optional().nullable(), customer_balance: invoicePaymentMethodOptionsCustomerBalanceSchema.optional().nullable(), konbini: invoicePaymentMethodOptionsKonbiniSchema.optional().nullable(), sepa_debit: invoicePaymentMethodOptionsSepaDebitSchema.optional().nullable(), us_bank_account: invoicePaymentMethodOptionsUsBankAccountSchema.optional().nullable(), }); export const subscriptionsResourcePaymentSettingsSchema = z.object({ payment_method_options: subscriptionsResourcePaymentMethodOptionsSchema.optional().nullable(), payment_method_types: z .array( z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('acss_debit'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('konbini'), z.literal('link'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ) .optional() .nullable(), save_default_payment_method: z .union([z.literal('off'), z.literal('on_subscription')]) .optional() .nullable(), }); export const taxProductResourceTaxCalculationShippingCostSchema = z.object({ amount: z.number(), amount_tax: z.number(), shipping_rate: z.string().optional(), tax_behavior: z.union([z.literal('exclusive'), z.literal('inclusive')]), tax_breakdown: z.array(taxProductResourceLineItemTaxBreakdownSchema).optional(), tax_code: z.string(), }); export const taxProductResourceTaxBreakdownSchema = z.object({ amount: z.number(), inclusive: z.boolean(), tax_rate_details: taxProductResourceTaxRateDetailsSchema, taxability_reason: z.union([ z.literal('customer_exempt'), z.literal('not_collecting'), z.literal('not_subject_to_tax'), z.literal('not_supported'), z.literal('portion_product_exempt'), z.literal('portion_reduced_rated'), z.literal('portion_standard_rated'), z.literal('product_exempt'), z.literal('product_exempt_holiday'), z.literal('proportionally_rated'), z.literal('reduced_rated'), z.literal('reverse_charge'), z.literal('standard_rated'), z.literal('taxable_basis_reduced'), z.literal('zero_rated'), ]), taxable_amount: z.number(), }); export const taxProductRegistrationsResourceCountryOptionsUnitedStatesSchema = z.object({ local_amusement_tax: taxProductRegistrationsResourceCountryOptionsUsLocalAmusementTaxSchema.optional(), local_lease_tax: taxProductRegistrationsResourceCountryOptionsUsLocalLeaseTaxSchema.optional(), state: z.string(), type: z.union([ z.literal('local_amusement_tax'), z.literal('local_lease_tax'), z.literal('state_communications_tax'), z.literal('state_sales_tax'), ]), }); export const taxProductRegistrationsResourceCountryOptionsSchema = z.object({ ae: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), at: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), au: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), be: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), bg: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), bh: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), ca: taxProductRegistrationsResourceCountryOptionsCanadaSchema.optional(), ch: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), cl: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), co: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), cy: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), cz: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), de: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), dk: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), ee: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), eg: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), es: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), fi: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), fr: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), gb: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), ge: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), gr: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), hr: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), hu: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), id: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), ie: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), is: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), it: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), jp: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), ke: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), kr: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), kz: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), lt: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), lu: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), lv: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), mt: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), mx: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), my: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), ng: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), nl: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), no: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), nz: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), om: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), pl: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), pt: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), ro: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), sa: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), se: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), sg: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), si: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), sk: taxProductRegistrationsResourceCountryOptionsEuropeSchema.optional(), th: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), tr: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), us: taxProductRegistrationsResourceCountryOptionsUnitedStatesSchema.optional(), vn: taxProductRegistrationsResourceCountryOptionsSimplifiedSchema.optional(), za: taxProductRegistrationsResourceCountryOptionsDefaultSchema.optional(), }); export const terminalReaderReaderResourceSetReaderDisplayActionSchema = z.object({ cart: terminalReaderReaderResourceCartSchema.optional().nullable(), type: z.literal('cart'), }); export const treasuryFinancialAccountsResourceFinancialAddressesFeaturesSchema = z.object({ aba: treasuryFinancialAccountsResourceAbaToggleSettingsSchema.optional(), }); export const treasuryFinancialAccountsResourceOutboundPaymentsSchema = z.object({ ach: treasuryFinancialAccountsResourceAchToggleSettingsSchema.optional(), us_domestic_wire: treasuryFinancialAccountsResourceToggleSettingsSchema.optional(), }); export const treasuryOutboundPaymentsResourceOutboundPaymentResourceTrackingDetailsSchema = z.object({ ach: treasuryOutboundPaymentsResourceAchTrackingDetailsSchema.optional(), type: z.union([z.literal('ach'), z.literal('us_domestic_wire')]), us_domestic_wire: treasuryOutboundPaymentsResourceUsDomesticWireTrackingDetailsSchema.optional(), }); export const treasuryOutboundTransfersResourceOutboundTransferResourceTrackingDetailsSchema = z.object({ ach: treasuryOutboundTransfersResourceAchTrackingDetailsSchema.optional(), type: z.union([z.literal('ach'), z.literal('us_domestic_wire')]), us_domestic_wire: treasuryOutboundTransfersResourceUsDomesticWireTrackingDetailsSchema.optional(), }); export const treasurySharedResourceInitiatingPaymentMethodDetailsInitiatingPaymentMethodDetailsSchema = z.object({ balance: z.literal('payments').optional(), billing_details: treasurySharedResourceBillingDetailsSchema, financial_account: receivedPaymentMethodDetailsFinancialAccountSchema.optional(), issuing_card: z.string().optional(), type: z.union([ z.literal('balance'), z.literal('financial_account'), z.literal('issuing_card'), z.literal('stripe'), z.literal('us_bank_account'), ]), us_bank_account: treasurySharedResourceInitiatingPaymentMethodDetailsUsBankAccountSchema.optional(), }); export const getAppsSecretsResponseSchema = z.object({ data: z.array(appsSecretSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const balanceSchema = z.object({ available: z.array(balanceAmountSchema), connect_reserved: z.array(balanceAmountSchema).optional(), instant_available: z.array(balanceAmountNetSchema).optional(), issuing: balanceDetailSchema.optional(), livemode: z.boolean(), object: z.literal('balance'), pending: z.array(balanceAmountSchema), }); export const postBillingMeterEventAdjustmentsResponseSchema = billingMeterEventAdjustmentSchema; export const getBillingMetersResponseSchema = z.object({ data: z.array(billingMeterSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const climateOrderSchema = z.object({ amount_fees: z.number(), amount_subtotal: z.number(), amount_total: z.number(), beneficiary: climateRemovalsBeneficiarySchema.optional(), canceled_at: z.number().optional().nullable(), cancellation_reason: z .union([z.literal('expired'), z.literal('product_unavailable'), z.literal('requested')]) .optional() .nullable(), certificate: z.string().optional().nullable(), confirmed_at: z.number().optional().nullable(), created: z.number(), currency: z.string(), delayed_at: z.number().optional().nullable(), delivered_at: z.number().optional().nullable(), delivery_details: z.array(climateRemovalsOrderDeliveriesSchema), expected_delivery_year: z.number(), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), metric_tons: z.string(), object: z.literal('climate.order'), product: z.union([z.string(), climateProductSchema]), product_substituted_at: z.number().optional().nullable(), status: z.union([ z.literal('awaiting_funds'), z.literal('canceled'), z.literal('confirmed'), z.literal('delivered'), z.literal('open'), ]), }); export const postClimateOrdersResponseSchema = climateOrderSchema; export const getClimateOrdersOrderResponseSchema = climateOrderSchema; export const postClimateOrdersOrderResponseSchema = climateOrderSchema; export const postClimateOrdersOrderCancelResponseSchema = climateOrderSchema; export const getClimateProductsResponseSchema = z.object({ data: z.array(climateProductSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getCountrySpecsResponseSchema = z.object({ data: z.array(countrySpecSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const fundingInstructionsSchema = z.object({ bank_transfer: fundingInstructionsBankTransferSchema, currency: z.string(), funding_type: z.literal('bank_transfer'), livemode: z.boolean(), object: z.literal('funding_instructions'), }); export const getEntitlementsActiveEntitlementsResponseSchema = z.object({ data: z.array(entitlementsActiveEntitlementSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getEventsResponseSchema = z.object({ data: z.array(eventSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getForwardingRequestsResponseSchema = z.object({ data: z.array(forwardingRequestSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getIdentityVerificationSessionsResponseSchema = z.object({ data: z.array(identityVerificationSessionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getIssuingPhysicalBundlesResponseSchema = z.object({ data: z.array(issuingPhysicalBundleSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const paymentMethodDomainSchema = z.object({ apple_pay: paymentMethodDomainResourcePaymentMethodStatusSchema, created: z.number(), domain_name: z.string(), enabled: z.boolean(), google_pay: paymentMethodDomainResourcePaymentMethodStatusSchema, id: z.string(), link: paymentMethodDomainResourcePaymentMethodStatusSchema, livemode: z.boolean(), object: z.literal('payment_method_domain'), paypal: paymentMethodDomainResourcePaymentMethodStatusSchema, }); export const postPaymentMethodDomainsResponseSchema = paymentMethodDomainSchema; export const getPaymentMethodDomainsPaymentMethodDomainResponseSchema = paymentMethodDomainSchema; export const postPaymentMethodDomainsPaymentMethodDomainResponseSchema = paymentMethodDomainSchema; export const postPaymentMethodDomainsPaymentMethodDomainValidateResponseSchema = paymentMethodDomainSchema; export const getRadarValueListsResponseSchema = z.object({ data: z.array(radarValueListSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const shippingRateSchema = z.object({ active: z.boolean(), created: z.number(), delivery_estimate: shippingRateDeliveryEstimateSchema.optional().nullable(), display_name: z.string().optional().nullable(), fixed_amount: shippingRateFixedAmountSchema.optional(), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('shipping_rate'), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional() .nullable(), tax_code: z.union([z.string(), taxCodeSchema]).optional().nullable(), type: z.literal('fixed_amount'), }); export const postShippingRatesResponseSchema = shippingRateSchema; export const getShippingRatesShippingRateTokenResponseSchema = shippingRateSchema; export const postShippingRatesShippingRateTokenResponseSchema = shippingRateSchema; export const getSourcesSourceMandateNotificationsMandateNotificationResponseSchema = sourceMandateNotificationSchema; export const getSourcesSourceSourceTransactionsResponseSchema = z.object({ data: z.array(sourceTransactionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const taxCalculationSchema = z.object({ amount_total: z.number(), currency: z.string(), customer: z.string().optional().nullable(), customer_details: taxProductResourceCustomerDetailsSchema, expires_at: z.number().optional().nullable(), id: z.string().optional().nullable(), line_items: z .object({ data: z.array(taxCalculationLineItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional() .nullable(), livemode: z.boolean(), object: z.literal('tax.calculation'), ship_from_details: taxProductResourceShipFromDetailsSchema.optional().nullable(), shipping_cost: taxProductResourceTaxCalculationShippingCostSchema.optional().nullable(), tax_amount_exclusive: z.number(), tax_amount_inclusive: z.number(), tax_breakdown: z.array(taxProductResourceTaxBreakdownSchema), tax_date: z.number(), }); export const getTaxCalculationsCalculationLineItemsResponseSchema = z.object({ data: z.array(taxCalculationLineItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const taxRegistrationSchema = z.object({ active_from: z.number(), country: z.string(), country_options: taxProductRegistrationsResourceCountryOptionsSchema, created: z.number(), expires_at: z.number().optional().nullable(), id: z.string(), livemode: z.boolean(), object: z.literal('tax.registration'), status: z.union([z.literal('active'), z.literal('expired'), z.literal('scheduled')]), }); export const postTaxRegistrationsResponseSchema = taxRegistrationSchema; export const getTaxRegistrationsIdResponseSchema = taxRegistrationSchema; export const postTaxRegistrationsIdResponseSchema = taxRegistrationSchema; export const getTaxSettingsResponseSchema = taxSettingsSchema; export const postTaxTransactionsCreateFromCalculationResponseSchema = taxTransactionSchema; export const treasuryFinancialAccountFeaturesSchema = z.object({ card_issuing: treasuryFinancialAccountsResourceToggleSettingsSchema.optional(), deposit_insurance: treasuryFinancialAccountsResourceToggleSettingsSchema.optional(), financial_addresses: treasuryFinancialAccountsResourceFinancialAddressesFeaturesSchema.optional(), inbound_transfers: treasuryFinancialAccountsResourceInboundTransfersSchema.optional(), intra_stripe_flows: treasuryFinancialAccountsResourceToggleSettingsSchema.optional(), object: z.literal('treasury.financial_account_features'), outbound_payments: treasuryFinancialAccountsResourceOutboundPaymentsSchema.optional(), outbound_transfers: treasuryFinancialAccountsResourceOutboundTransfersSchema.optional(), }); export const postTreasuryFinancialAccountsFinancialAccountFeaturesResponseSchema = treasuryFinancialAccountFeaturesSchema; export const connectEmbeddedAccountSessionCreateComponentsSchema = z.object({ account_management: connectEmbeddedAccountConfigClaimSchema, account_onboarding: connectEmbeddedAccountConfigClaimSchema, balances: connectEmbeddedPayoutsConfigClaimSchema, documents: connectEmbeddedBaseConfigClaimSchema, notification_banner: connectEmbeddedAccountConfigClaimSchema, payment_details: connectEmbeddedPaymentsConfigClaimSchema, payments: connectEmbeddedPaymentsConfigClaimSchema, payouts: connectEmbeddedPayoutsConfigClaimSchema, payouts_list: connectEmbeddedBaseConfigClaimSchema, }); export const portalFeaturesSchema = z.object({ customer_update: portalCustomerUpdateSchema, invoice_history: portalInvoiceListSchema, payment_method_update: portalPaymentMethodUpdateSchema, subscription_cancel: portalSubscriptionCancelSchema, subscription_update: portalSubscriptionUpdateSchema, }); export const billingPortalConfigurationSchema = z.object({ active: z.boolean(), application: z.union([z.string(), applicationSchema, deletedApplicationSchema]).optional().nullable(), business_profile: portalBusinessProfileSchema, created: z.number(), default_return_url: z.string().optional().nullable(), features: portalFeaturesSchema, id: z.string(), is_default: z.boolean(), livemode: z.boolean(), login_page: portalLoginPageSchema, metadata: z.record(z.string()).optional().nullable(), object: z.literal('billing_portal.configuration'), updated: z.number(), }); export const portalFlowsFlowSchema = z.object({ after_completion: portalFlowsFlowAfterCompletionSchema, subscription_cancel: portalFlowsFlowSubscriptionCancelSchema.optional().nullable(), subscription_update: portalFlowsFlowSubscriptionUpdateSchema.optional().nullable(), subscription_update_confirm: portalFlowsFlowSubscriptionUpdateConfirmSchema.optional().nullable(), type: z.union([ z.literal('payment_method_update'), z.literal('subscription_cancel'), z.literal('subscription_update'), z.literal('subscription_update_confirm'), ]), }); export const paymentPagesCheckoutSessionCustomFieldsSchema = z.object({ dropdown: paymentPagesCheckoutSessionCustomFieldsDropdownSchema.optional(), key: z.string(), label: paymentPagesCheckoutSessionCustomFieldsLabelSchema, numeric: paymentPagesCheckoutSessionCustomFieldsNumericSchema.optional(), optional: z.boolean(), text: paymentPagesCheckoutSessionCustomFieldsTextSchema.optional(), type: z.union([z.literal('dropdown'), z.literal('numeric'), z.literal('text')]), }); export const checkoutSessionPaymentMethodOptionsSchema = z.object({ acss_debit: checkoutAcssDebitPaymentMethodOptionsSchema.optional(), affirm: checkoutAffirmPaymentMethodOptionsSchema.optional(), afterpay_clearpay: checkoutAfterpayClearpayPaymentMethodOptionsSchema.optional(), alipay: checkoutAlipayPaymentMethodOptionsSchema.optional(), amazon_pay: checkoutAmazonPayPaymentMethodOptionsSchema.optional(), au_becs_debit: checkoutAuBecsDebitPaymentMethodOptionsSchema.optional(), bacs_debit: checkoutBacsDebitPaymentMethodOptionsSchema.optional(), bancontact: checkoutBancontactPaymentMethodOptionsSchema.optional(), boleto: checkoutBoletoPaymentMethodOptionsSchema.optional(), card: checkoutCardPaymentMethodOptionsSchema.optional(), cashapp: checkoutCashappPaymentMethodOptionsSchema.optional(), customer_balance: checkoutCustomerBalancePaymentMethodOptionsSchema.optional(), eps: checkoutEpsPaymentMethodOptionsSchema.optional(), fpx: checkoutFpxPaymentMethodOptionsSchema.optional(), giropay: checkoutGiropayPaymentMethodOptionsSchema.optional(), grabpay: checkoutGrabPayPaymentMethodOptionsSchema.optional(), ideal: checkoutIdealPaymentMethodOptionsSchema.optional(), klarna: checkoutKlarnaPaymentMethodOptionsSchema.optional(), konbini: checkoutKonbiniPaymentMethodOptionsSchema.optional(), link: checkoutLinkPaymentMethodOptionsSchema.optional(), mobilepay: checkoutMobilepayPaymentMethodOptionsSchema.optional(), multibanco: checkoutMultibancoPaymentMethodOptionsSchema.optional(), oxxo: checkoutOxxoPaymentMethodOptionsSchema.optional(), p24: checkoutP24PaymentMethodOptionsSchema.optional(), paynow: checkoutPaynowPaymentMethodOptionsSchema.optional(), paypal: checkoutPaypalPaymentMethodOptionsSchema.optional(), pix: checkoutPixPaymentMethodOptionsSchema.optional(), revolut_pay: checkoutRevolutPayPaymentMethodOptionsSchema.optional(), sepa_debit: checkoutSepaDebitPaymentMethodOptionsSchema.optional(), sofort: checkoutSofortPaymentMethodOptionsSchema.optional(), swish: checkoutSwishPaymentMethodOptionsSchema.optional(), us_bank_account: checkoutUsBankAccountPaymentMethodOptionsSchema.optional(), }); export const paymentPagesCheckoutSessionShippingCostSchema = z.object({ amount_subtotal: z.number(), amount_tax: z.number(), amount_total: z.number(), shipping_rate: z.union([z.string(), shippingRateSchema]).optional().nullable(), taxes: z.array(lineItemsTaxAmountSchema).optional(), }); export const paymentPagesCheckoutSessionShippingOptionSchema = z.object({ shipping_amount: z.number(), shipping_rate: z.union([z.string(), shippingRateSchema]), }); export const confirmationTokensResourceMandateDataSchema = z.object({ customer_acceptance: confirmationTokensResourceMandateDataResourceCustomerAcceptanceSchema, }); export const invoicesResourceShippingCostSchema = z.object({ amount_subtotal: z.number(), amount_tax: z.number(), amount_total: z.number(), shipping_rate: z.union([z.string(), shippingRateSchema]).optional().nullable(), taxes: z.array(lineItemsTaxAmountSchema).optional(), }); export const invoicesPaymentSettingsSchema = z.object({ default_mandate: z.string().optional().nullable(), payment_method_options: invoicesPaymentMethodOptionsSchema.optional().nullable(), payment_method_types: z .array( z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('acss_debit'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('konbini'), z.literal('link'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ) .optional() .nullable(), }); export const paymentIntentNextActionSchema = z.object({ alipay_handle_redirect: paymentIntentNextActionAlipayHandleRedirectSchema.optional(), boleto_display_details: paymentIntentNextActionBoletoSchema.optional(), card_await_notification: paymentIntentNextActionCardAwaitNotificationSchema.optional(), cashapp_handle_redirect_or_display_qr_code: paymentIntentNextActionCashappHandleRedirectOrDisplayQrCodeSchema.optional(), display_bank_transfer_instructions: paymentIntentNextActionDisplayBankTransferInstructionsSchema.optional(), konbini_display_details: paymentIntentNextActionKonbiniSchema.optional(), multibanco_display_details: paymentIntentNextActionDisplayMultibancoDetailsSchema.optional(), oxxo_display_details: paymentIntentNextActionDisplayOxxoDetailsSchema.optional(), paynow_display_qr_code: paymentIntentNextActionPaynowDisplayQrCodeSchema.optional(), pix_display_qr_code: paymentIntentNextActionPixDisplayQrCodeSchema.optional(), promptpay_display_qr_code: paymentIntentNextActionPromptpayDisplayQrCodeSchema.optional(), redirect_to_url: paymentIntentNextActionRedirectToUrlSchema.optional(), swish_handle_redirect_or_display_qr_code: paymentIntentNextActionSwishHandleRedirectOrDisplayQrCodeSchema.optional(), type: z.string(), use_stripe_sdk: z.record(z.unknown()).optional(), verify_with_microdeposits: paymentIntentNextActionVerifyWithMicrodepositsSchema.optional(), wechat_pay_display_qr_code: paymentIntentNextActionWechatPayDisplayQrCodeSchema.optional(), wechat_pay_redirect_to_android_app: paymentIntentNextActionWechatPayRedirectToAndroidAppSchema.optional(), wechat_pay_redirect_to_ios_app: paymentIntentNextActionWechatPayRedirectToIosAppSchema.optional(), }); export const paymentIntentPaymentMethodOptionsSchema = z.object({ acss_debit: z .union([ paymentIntentPaymentMethodOptionsAcssDebitSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema, ]) .optional(), affirm: z .union([paymentMethodOptionsAffirmSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), afterpay_clearpay: z .union([paymentMethodOptionsAfterpayClearpaySchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), alipay: z .union([paymentMethodOptionsAlipaySchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), amazon_pay: z .union([paymentMethodOptionsAmazonPaySchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), au_becs_debit: z .union([ paymentIntentPaymentMethodOptionsAuBecsDebitSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema, ]) .optional(), bacs_debit: z .union([paymentMethodOptionsBacsDebitSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), bancontact: z .union([paymentMethodOptionsBancontactSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), blik: z .union([paymentIntentPaymentMethodOptionsBlikSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), boleto: z .union([paymentMethodOptionsBoletoSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), card: z .union([paymentIntentPaymentMethodOptionsCardSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), card_present: z .union([paymentMethodOptionsCardPresentSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), cashapp: z .union([paymentMethodOptionsCashappSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), customer_balance: z .union([paymentMethodOptionsCustomerBalanceSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), eps: z .union([paymentIntentPaymentMethodOptionsEpsSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), fpx: z.union([paymentMethodOptionsFpxSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]).optional(), giropay: z .union([paymentMethodOptionsGiropaySchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), grabpay: z .union([paymentMethodOptionsGrabpaySchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), ideal: z .union([paymentMethodOptionsIdealSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), interac_present: z .union([paymentMethodOptionsInteracPresentSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), klarna: z .union([paymentMethodOptionsKlarnaSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), konbini: z .union([paymentMethodOptionsKonbiniSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), link: z .union([paymentIntentPaymentMethodOptionsLinkSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), mobilepay: z .union([ paymentIntentPaymentMethodOptionsMobilepaySchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema, ]) .optional(), multibanco: z .union([paymentMethodOptionsMultibancoSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), oxxo: z.union([paymentMethodOptionsOxxoSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]).optional(), p24: z.union([paymentMethodOptionsP24Schema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]).optional(), paynow: z .union([paymentMethodOptionsPaynowSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), paypal: z .union([paymentMethodOptionsPaypalSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), pix: z.union([paymentMethodOptionsPixSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]).optional(), promptpay: z .union([paymentMethodOptionsPromptpaySchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), revolut_pay: z .union([paymentMethodOptionsRevolutPaySchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), sepa_debit: z .union([ paymentIntentPaymentMethodOptionsSepaDebitSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema, ]) .optional(), sofort: z .union([paymentMethodOptionsSofortSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), swish: z .union([paymentIntentPaymentMethodOptionsSwishSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), twint: z .union([paymentMethodOptionsTwintSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), us_bank_account: z .union([ paymentIntentPaymentMethodOptionsUsBankAccountSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema, ]) .optional(), wechat_pay: z .union([paymentMethodOptionsWechatPaySchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), zip: z.union([paymentMethodOptionsZipSchema, paymentIntentTypeSpecificPaymentMethodOptionsClientSchema]).optional(), }); export const paymentLinksResourceCustomFieldsSchema = z.object({ dropdown: paymentLinksResourceCustomFieldsDropdownSchema.optional(), key: z.string(), label: paymentLinksResourceCustomFieldsLabelSchema, numeric: paymentLinksResourceCustomFieldsNumericSchema.optional(), optional: z.boolean(), text: paymentLinksResourceCustomFieldsTextSchema.optional(), type: z.union([z.literal('dropdown'), z.literal('numeric'), z.literal('text')]), }); export const paymentLinksResourceShippingOptionSchema = z.object({ shipping_amount: z.number(), shipping_rate: z.union([z.string(), shippingRateSchema]), }); export const paymentMethodDetailsCardSchema = z.object({ amount_authorized: z.number().optional().nullable(), brand: z.string().optional().nullable(), capture_before: z.number().optional(), checks: paymentMethodDetailsCardChecksSchema.optional().nullable(), country: z.string().optional().nullable(), exp_month: z.number(), exp_year: z.number(), extended_authorization: paymentFlowsPrivatePaymentMethodsCardDetailsApiResourceEnterpriseFeaturesExtendedAuthorizationExtendedAuthorizationSchema.optional(), fingerprint: z.string().optional().nullable(), funding: z.string().optional().nullable(), incremental_authorization: paymentFlowsPrivatePaymentMethodsCardDetailsApiResourceEnterpriseFeaturesIncrementalAuthorizationIncrementalAuthorizationSchema.optional(), installments: paymentMethodDetailsCardInstallmentsSchema.optional().nullable(), last4: z.string().optional().nullable(), mandate: z.string().optional().nullable(), multicapture: paymentFlowsPrivatePaymentMethodsCardDetailsApiResourceMulticaptureSchema.optional(), network: z.string().optional().nullable(), network_token: paymentMethodDetailsCardNetworkTokenSchema.optional().nullable(), overcapture: paymentFlowsPrivatePaymentMethodsCardDetailsApiResourceEnterpriseFeaturesOvercaptureOvercaptureSchema.optional(), three_d_secure: threeDSecureDetailsChargeSchema.optional().nullable(), wallet: paymentMethodDetailsCardWalletSchema.optional().nullable(), }); export const setupIntentPaymentMethodOptionsSchema = z.object({ acss_debit: z .union([setupIntentPaymentMethodOptionsAcssDebitSchema, setupIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), amazon_pay: z .union([setupIntentPaymentMethodOptionsAmazonPaySchema, setupIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), card: setupIntentPaymentMethodOptionsCardSchema.optional(), card_present: z .union([setupIntentPaymentMethodOptionsCardPresentSchema, setupIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), link: z .union([setupIntentPaymentMethodOptionsLinkSchema, setupIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), paypal: z .union([setupIntentPaymentMethodOptionsPaypalSchema, setupIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), sepa_debit: z .union([setupIntentPaymentMethodOptionsSepaDebitSchema, setupIntentTypeSpecificPaymentMethodOptionsClientSchema]) .optional(), us_bank_account: z .union([ setupIntentPaymentMethodOptionsUsBankAccountSchema, setupIntentTypeSpecificPaymentMethodOptionsClientSchema, ]) .optional(), }); export const source2Schema = z.object({ ach_credit_transfer: sourceTypeAchCreditTransferSchema.optional(), ach_debit: sourceTypeAchDebitSchema.optional(), acss_debit: sourceTypeAcssDebitSchema.optional(), alipay: sourceTypeAlipaySchema.optional(), amount: z.number().optional().nullable(), au_becs_debit: sourceTypeAuBecsDebitSchema.optional(), bancontact: sourceTypeBancontactSchema.optional(), card: sourceTypeCardSchema.optional(), card_present: sourceTypeCardPresentSchema.optional(), client_secret: z.string(), code_verification: sourceCodeVerificationFlowSchema.optional(), created: z.number(), currency: z.string().optional().nullable(), customer: z.string().optional(), eps: sourceTypeEpsSchema.optional(), flow: z.string(), giropay: sourceTypeGiropaySchema.optional(), id: z.string(), ideal: sourceTypeIdealSchema.optional(), klarna: sourceTypeKlarnaSchema.optional(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), multibanco: sourceTypeMultibancoSchema.optional(), object: z.literal('source'), owner: sourceOwnerSchema.optional().nullable(), p24: sourceTypeP24Schema.optional(), receiver: sourceReceiverFlowSchema.optional(), redirect: sourceRedirectFlowSchema.optional(), sepa_debit: sourceTypeSepaDebitSchema.optional(), sofort: sourceTypeSofortSchema.optional(), source_order: sourceOrderSchema.optional(), statement_descriptor: z.string().optional().nullable(), status: z.string(), three_d_secure: sourceTypeThreeDSecureSchema.optional(), type: z.union([ z.literal('ach_credit_transfer'), z.literal('ach_debit'), z.literal('acss_debit'), z.literal('alipay'), z.literal('au_becs_debit'), z.literal('bancontact'), z.literal('card'), z.literal('card_present'), z.literal('eps'), z.literal('giropay'), z.literal('ideal'), z.literal('klarna'), z.literal('multibanco'), z.literal('p24'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('three_d_secure'), z.literal('wechat'), ]), usage: z.string().optional().nullable(), wechat: sourceTypeWechatSchema.optional(), }); export const treasuryFinancialAccountSchema = z.object({ active_features: z .array( z.union([ z.literal('card_issuing'), z.literal('deposit_insurance'), z.literal('financial_addresses.aba'), z.literal('inbound_transfers.ach'), z.literal('intra_stripe_flows'), z.literal('outbound_payments.ach'), z.literal('outbound_payments.us_domestic_wire'), z.literal('outbound_transfers.ach'), z.literal('outbound_transfers.us_domestic_wire'), z.literal('remote_deposit_capture'), ]), ) .optional(), balance: treasuryFinancialAccountsResourceBalanceSchema, country: z.string(), created: z.number(), features: treasuryFinancialAccountFeaturesSchema.optional(), financial_addresses: z.array(treasuryFinancialAccountsResourceFinancialAddressSchema), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('treasury.financial_account'), pending_features: z .array( z.union([ z.literal('card_issuing'), z.literal('deposit_insurance'), z.literal('financial_addresses.aba'), z.literal('inbound_transfers.ach'), z.literal('intra_stripe_flows'), z.literal('outbound_payments.ach'), z.literal('outbound_payments.us_domestic_wire'), z.literal('outbound_transfers.ach'), z.literal('outbound_transfers.us_domestic_wire'), z.literal('remote_deposit_capture'), ]), ) .optional(), platform_restrictions: treasuryFinancialAccountsResourcePlatformRestrictionsSchema.optional().nullable(), restricted_features: z .array( z.union([ z.literal('card_issuing'), z.literal('deposit_insurance'), z.literal('financial_addresses.aba'), z.literal('inbound_transfers.ach'), z.literal('intra_stripe_flows'), z.literal('outbound_payments.ach'), z.literal('outbound_payments.us_domestic_wire'), z.literal('outbound_transfers.ach'), z.literal('outbound_transfers.us_domestic_wire'), z.literal('remote_deposit_capture'), ]), ) .optional(), status: z.union([z.literal('closed'), z.literal('open')]), status_details: treasuryFinancialAccountsResourceStatusDetailsSchema, supported_currencies: z.array(z.string()), }); export const accountSessionSchema = z.object({ account: z.string(), client_secret: z.string(), components: connectEmbeddedAccountSessionCreateComponentsSchema, expires_at: z.number(), livemode: z.boolean(), object: z.literal('account_session'), }); export const getBalanceResponseSchema = balanceSchema; export const getBillingPortalConfigurationsResponseSchema = z.object({ data: z.array(billingPortalConfigurationSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postBillingPortalConfigurationsResponseSchema = billingPortalConfigurationSchema; export const getBillingPortalConfigurationsConfigurationResponseSchema = billingPortalConfigurationSchema; export const postBillingPortalConfigurationsConfigurationResponseSchema = billingPortalConfigurationSchema; export const billingPortalSessionSchema = z.object({ configuration: z.union([z.string(), billingPortalConfigurationSchema]), created: z.number(), customer: z.string(), flow: portalFlowsFlowSchema.optional().nullable(), id: z.string(), livemode: z.boolean(), locale: z .union([ z.literal('auto'), z.literal('bg'), z.literal('cs'), z.literal('da'), z.literal('de'), z.literal('el'), z.literal('en'), z.literal('en-AU'), z.literal('en-CA'), z.literal('en-GB'), z.literal('en-IE'), z.literal('en-IN'), z.literal('en-NZ'), z.literal('en-SG'), z.literal('es'), z.literal('es-419'), z.literal('et'), z.literal('fi'), z.literal('fil'), z.literal('fr'), z.literal('fr-CA'), z.literal('hr'), z.literal('hu'), z.literal('id'), z.literal('it'), z.literal('ja'), z.literal('ko'), z.literal('lt'), z.literal('lv'), z.literal('ms'), z.literal('mt'), z.literal('nb'), z.literal('nl'), z.literal('pl'), z.literal('pt'), z.literal('pt-BR'), z.literal('ro'), z.literal('ru'), z.literal('sk'), z.literal('sl'), z.literal('sv'), z.literal('th'), z.literal('tr'), z.literal('vi'), z.literal('zh'), z.literal('zh-HK'), z.literal('zh-TW'), ]) .optional() .nullable(), object: z.literal('billing_portal.session'), on_behalf_of: z.string().optional().nullable(), return_url: z.string().optional().nullable(), url: z.string(), }); export const getClimateOrdersResponseSchema = z.object({ data: z.array(climateOrderSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postCustomersCustomerFundingInstructionsResponseSchema = fundingInstructionsSchema; export const getPaymentMethodDomainsResponseSchema = z.object({ data: z.array(paymentMethodDomainSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getShippingRatesResponseSchema = z.object({ data: z.array(shippingRateSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postTaxCalculationsResponseSchema = taxCalculationSchema; export const getTaxRegistrationsResponseSchema = z.object({ data: z.array(taxRegistrationSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const getTreasuryFinancialAccountsResponseSchema = z.object({ data: z.array(treasuryFinancialAccountSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }); export const postTreasuryFinancialAccountsResponseSchema = treasuryFinancialAccountSchema; export const getTreasuryFinancialAccountsFinancialAccountResponseSchema = treasuryFinancialAccountSchema; export const postTreasuryFinancialAccountsFinancialAccountResponseSchema = treasuryFinancialAccountSchema; export const getTreasuryFinancialAccountsFinancialAccountFeaturesResponseSchema = treasuryFinancialAccountFeaturesSchema; export const postAccountSessionsResponseSchema = accountSessionSchema; export const postBillingPortalSessionsResponseSchema = billingPortalSessionSchema; export const accountSchema: z.ZodSchema = z.lazy(() => z.object({ business_profile: accountBusinessProfileSchema.optional().nullable(), business_type: z .union([z.literal('company'), z.literal('government_entity'), z.literal('individual'), z.literal('non_profit')]) .optional() .nullable(), capabilities: accountCapabilitiesSchema.optional(), charges_enabled: z.boolean().optional(), company: legalEntityCompanySchema.optional(), controller: accountUnificationAccountControllerSchema.optional(), country: z.string().optional(), created: z.number().optional(), default_currency: z.string().optional(), details_submitted: z.boolean().optional(), email: z.string().optional().nullable(), external_accounts: z .object({ data: z.array(z.union([bankAccountSchema, cardSchema])), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional(), future_requirements: accountFutureRequirementsSchema.optional(), id: z.string(), individual: personSchema.optional(), metadata: z.record(z.string()).optional(), object: z.literal('account'), payouts_enabled: z.boolean().optional(), requirements: accountRequirementsSchema.optional(), settings: accountSettingsSchema.optional().nullable(), tos_acceptance: accountTosAcceptanceSchema.optional(), type: z.union([z.literal('custom'), z.literal('express'), z.literal('none'), z.literal('standard')]).optional(), }), ); export const legalEntityCompanySchema: z.ZodSchema = z.lazy(() => z.object({ address: addressSchema.optional(), address_kana: legalEntityJapanAddressSchema.optional().nullable(), address_kanji: legalEntityJapanAddressSchema.optional().nullable(), directors_provided: z.boolean().optional(), executives_provided: z.boolean().optional(), export_license_id: z.string().optional(), export_purpose_code: z.string().optional(), name: z.string().optional().nullable(), name_kana: z.string().optional().nullable(), name_kanji: z.string().optional().nullable(), owners_provided: z.boolean().optional(), ownership_declaration: legalEntityUboDeclarationSchema.optional().nullable(), phone: z.string().optional().nullable(), structure: z .union([ z.literal('free_zone_establishment'), z.literal('free_zone_llc'), z.literal('government_instrumentality'), z.literal('governmental_unit'), z.literal('incorporated_non_profit'), z.literal('incorporated_partnership'), z.literal('limited_liability_partnership'), z.literal('llc'), z.literal('multi_member_llc'), z.literal('private_company'), z.literal('private_corporation'), z.literal('private_partnership'), z.literal('public_company'), z.literal('public_corporation'), z.literal('public_partnership'), z.literal('registered_charity'), z.literal('single_member_llc'), z.literal('sole_establishment'), z.literal('sole_proprietorship'), z.literal('tax_exempt_government_instrumentality'), z.literal('unincorporated_association'), z.literal('unincorporated_non_profit'), z.literal('unincorporated_partnership'), ]) .optional(), tax_id_provided: z.boolean().optional(), tax_id_registrar: z.string().optional(), vat_id_provided: z.boolean().optional(), verification: legalEntityCompanyVerificationSchema.optional().nullable(), }), ); export const bankAccountSchema: z.ZodSchema = z.lazy(() => z.object({ account: z.union([z.string(), accountSchema]).optional().nullable(), account_holder_name: z.string().optional().nullable(), account_holder_type: z.string().optional().nullable(), account_type: z.string().optional().nullable(), available_payout_methods: z .array(z.union([z.literal('instant'), z.literal('standard')])) .optional() .nullable(), bank_name: z.string().optional().nullable(), country: z.string(), currency: z.string(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), default_for_currency: z.boolean().optional().nullable(), fingerprint: z.string().optional().nullable(), future_requirements: externalAccountRequirementsSchema.optional().nullable(), id: z.string(), last4: z.string(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('bank_account'), requirements: externalAccountRequirementsSchema.optional().nullable(), routing_number: z.string().optional().nullable(), status: z.string(), }), ); export const cardSchema: z.ZodSchema = z.lazy(() => z.object({ account: z.union([z.string(), accountSchema]).optional().nullable(), address_city: z.string().optional().nullable(), address_country: z.string().optional().nullable(), address_line1: z.string().optional().nullable(), address_line1_check: z.string().optional().nullable(), address_line2: z.string().optional().nullable(), address_state: z.string().optional().nullable(), address_zip: z.string().optional().nullable(), address_zip_check: z.string().optional().nullable(), available_payout_methods: z .array(z.union([z.literal('instant'), z.literal('standard')])) .optional() .nullable(), brand: z.string(), country: z.string().optional().nullable(), currency: z.string().optional().nullable(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), cvc_check: z.string().optional().nullable(), default_for_currency: z.boolean().optional().nullable(), dynamic_last4: z.string().optional().nullable(), exp_month: z.number(), exp_year: z.number(), fingerprint: z.string().optional().nullable(), funding: z.string(), id: z.string(), last4: z.string(), metadata: z.record(z.string()).optional().nullable(), name: z.string().optional().nullable(), networks: tokenCardNetworksSchema.optional(), object: z.literal('card'), status: z.string().optional().nullable(), tokenization_method: z.string().optional().nullable(), }), ); export const personSchema: z.ZodSchema = z.lazy(() => z.object({ account: z.string(), additional_tos_acceptances: personAdditionalTosAcceptancesSchema.optional(), address: addressSchema.optional(), address_kana: legalEntityJapanAddressSchema.optional().nullable(), address_kanji: legalEntityJapanAddressSchema.optional().nullable(), created: z.number(), dob: legalEntityDobSchema.optional(), email: z.string().optional().nullable(), first_name: z.string().optional().nullable(), first_name_kana: z.string().optional().nullable(), first_name_kanji: z.string().optional().nullable(), full_name_aliases: z.array(z.string()).optional(), future_requirements: personFutureRequirementsSchema.optional().nullable(), gender: z.string().optional().nullable(), id: z.string(), id_number_provided: z.boolean().optional(), id_number_secondary_provided: z.boolean().optional(), last_name: z.string().optional().nullable(), last_name_kana: z.string().optional().nullable(), last_name_kanji: z.string().optional().nullable(), maiden_name: z.string().optional().nullable(), metadata: z.record(z.string()).optional(), nationality: z.string().optional().nullable(), object: z.literal('person'), phone: z.string().optional().nullable(), political_exposure: z.union([z.literal('existing'), z.literal('none')]).optional(), registered_address: addressSchema.optional(), relationship: personRelationshipSchema.optional(), requirements: personRequirementsSchema.optional().nullable(), ssn_last_4_provided: z.boolean().optional(), verification: legalEntityPersonVerificationSchema.optional(), }), ); export const accountSettingsSchema: z.ZodSchema = z.lazy(() => z.object({ bacs_debit_payments: accountBacsDebitPaymentsSettingsSchema.optional(), branding: accountBrandingSettingsSchema, card_issuing: accountCardIssuingSettingsSchema.optional(), card_payments: accountCardPaymentsSettingsSchema, dashboard: accountDashboardSettingsSchema, invoices: accountInvoicesSettingsSchema.optional(), payments: accountPaymentsSettingsSchema, payouts: accountPayoutSettingsSchema.optional(), sepa_debit_payments: accountSepaDebitPaymentsSettingsSchema.optional(), treasury: accountTreasurySettingsSchema.optional(), }), ); export const accountBrandingSettingsSchema: z.ZodSchema = z.lazy(() => z.object({ icon: z.union([z.string(), fileSchema]).optional().nullable(), logo: z.union([z.string(), fileSchema]).optional().nullable(), primary_color: z.string().optional().nullable(), secondary_color: z.string().optional().nullable(), }), ); export const fileSchema: z.ZodSchema = z.lazy(() => z.object({ created: z.number(), expires_at: z.number().optional().nullable(), filename: z.string().optional().nullable(), id: z.string(), links: z .object({ data: z.array(fileLinkSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional() .nullable(), object: z.literal('file'), purpose: z.union([ z.literal('account_requirement'), z.literal('additional_verification'), z.literal('business_icon'), z.literal('business_logo'), z.literal('customer_signature'), z.literal('dispute_evidence'), z.literal('document_provider_identity_document'), z.literal('finance_report_run'), z.literal('identity_document'), z.literal('identity_document_downloadable'), z.literal('pci_document'), z.literal('selfie'), z.literal('sigma_scheduled_query'), z.literal('tax_document_user_upload'), z.literal('terminal_reader_splashscreen'), ]), size: z.number(), title: z.string().optional().nullable(), type: z.string().optional().nullable(), url: z.string().optional().nullable(), }), ); export const accountInvoicesSettingsSchema: z.ZodSchema = z.lazy(() => z.object({ default_account_tax_ids: z .array(z.union([z.string(), taxIdSchema])) .optional() .nullable(), }), ); export const taxIdSchema: z.ZodSchema = z.lazy(() => z.object({ country: z.string().optional().nullable(), created: z.number(), customer: z.union([z.string(), customerSchema]).optional().nullable(), id: z.string(), livemode: z.boolean(), object: z.literal('tax_id'), owner: taxIDsOwnerSchema.optional().nullable(), type: z.union([ z.literal('ad_nrt'), z.literal('ae_trn'), z.literal('ar_cuit'), z.literal('au_abn'), z.literal('au_arn'), z.literal('bg_uic'), z.literal('bh_vat'), z.literal('bo_tin'), z.literal('br_cnpj'), z.literal('br_cpf'), z.literal('ca_bn'), z.literal('ca_gst_hst'), z.literal('ca_pst_bc'), z.literal('ca_pst_mb'), z.literal('ca_pst_sk'), z.literal('ca_qst'), z.literal('ch_vat'), z.literal('cl_tin'), z.literal('cn_tin'), z.literal('co_nit'), z.literal('cr_tin'), z.literal('de_stn'), z.literal('do_rcn'), z.literal('ec_ruc'), z.literal('eg_tin'), z.literal('es_cif'), z.literal('eu_oss_vat'), z.literal('eu_vat'), z.literal('gb_vat'), z.literal('ge_vat'), z.literal('hk_br'), z.literal('hu_tin'), z.literal('id_npwp'), z.literal('il_vat'), z.literal('in_gst'), z.literal('is_vat'), z.literal('jp_cn'), z.literal('jp_rn'), z.literal('jp_trn'), z.literal('ke_pin'), z.literal('kr_brn'), z.literal('kz_bin'), z.literal('li_uid'), z.literal('mx_rfc'), z.literal('my_frp'), z.literal('my_itn'), z.literal('my_sst'), z.literal('ng_tin'), z.literal('no_vat'), z.literal('no_voec'), z.literal('nz_gst'), z.literal('om_vat'), z.literal('pe_ruc'), z.literal('ph_tin'), z.literal('ro_tin'), z.literal('rs_pib'), z.literal('ru_inn'), z.literal('ru_kpp'), z.literal('sa_vat'), z.literal('sg_gst'), z.literal('sg_uen'), z.literal('si_tin'), z.literal('sv_nit'), z.literal('th_vat'), z.literal('tr_tin'), z.literal('tw_vat'), z.literal('ua_vat'), z.literal('unknown'), z.literal('us_ein'), z.literal('uy_ruc'), z.literal('ve_rif'), z.literal('vn_tin'), z.literal('za_vat'), ]), value: z.string(), verification: taxIdVerificationSchema.optional().nullable(), }), ); export const apiErrorsSchema: z.ZodSchema = z.lazy(() => z.object({ charge: z.string().optional(), code: z.string().optional(), decline_code: z.string().optional(), doc_url: z.string().optional(), message: z.string().optional(), param: z.string().optional(), payment_intent: paymentIntentSchema.optional(), payment_method: paymentMethodSchema.optional(), payment_method_type: z.string().optional(), request_log_url: z.string().optional(), setup_intent: setupIntentSchema.optional(), source: z.union([bankAccountSchema, cardSchema, sourceSchema]).optional(), type: z.union([ z.literal('api_error'), z.literal('card_error'), z.literal('idempotency_error'), z.literal('invalid_request_error'), ]), }), ); export const paymentIntentSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), amount_capturable: z.number().optional(), amount_details: paymentFlowsAmountDetailsSchema.optional(), amount_received: z.number().optional(), application: z.union([z.string(), applicationSchema]).optional().nullable(), application_fee_amount: z.number().optional().nullable(), automatic_payment_methods: paymentFlowsAutomaticPaymentMethodsPaymentIntentSchema.optional().nullable(), canceled_at: z.number().optional().nullable(), cancellation_reason: z .union([ z.literal('abandoned'), z.literal('automatic'), z.literal('duplicate'), z.literal('failed_invoice'), z.literal('fraudulent'), z.literal('requested_by_customer'), z.literal('void_invoice'), ]) .optional() .nullable(), capture_method: z.union([z.literal('automatic'), z.literal('automatic_async'), z.literal('manual')]), client_secret: z.string().optional().nullable(), confirmation_method: z.union([z.literal('automatic'), z.literal('manual')]), created: z.number(), currency: z.string(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), description: z.string().optional().nullable(), id: z.string(), invoice: z.union([z.string(), invoiceSchema]).optional().nullable(), last_payment_error: apiErrorsSchema.optional().nullable(), latest_charge: z.union([z.string(), chargeSchema]).optional().nullable(), livemode: z.boolean(), metadata: z.record(z.string()).optional(), next_action: paymentIntentNextActionSchema.optional().nullable(), object: z.literal('payment_intent'), on_behalf_of: z.union([z.string(), accountSchema]).optional().nullable(), payment_method: z.union([z.string(), paymentMethodSchema]).optional().nullable(), payment_method_configuration_details: paymentMethodConfigBizPaymentMethodConfigurationDetailsSchema .optional() .nullable(), payment_method_options: paymentIntentPaymentMethodOptionsSchema.optional().nullable(), payment_method_types: z.array(z.string()), processing: paymentIntentProcessingSchema.optional().nullable(), receipt_email: z.string().optional().nullable(), review: z.union([z.string(), reviewSchema]).optional().nullable(), setup_future_usage: z .union([z.literal('off_session'), z.literal('on_session')]) .optional() .nullable(), shipping: shippingSchema.optional().nullable(), statement_descriptor: z.string().optional().nullable(), statement_descriptor_suffix: z.string().optional().nullable(), status: z.union([ z.literal('canceled'), z.literal('processing'), z.literal('requires_action'), z.literal('requires_capture'), z.literal('requires_confirmation'), z.literal('requires_payment_method'), z.literal('succeeded'), ]), transfer_data: transferDataSchema.optional().nullable(), transfer_group: z.string().optional().nullable(), }), ); export const paymentMethodSchema: z.ZodSchema = z.lazy(() => z.object({ acss_debit: paymentMethodAcssDebitSchema.optional(), affirm: paymentMethodAffirmSchema.optional(), afterpay_clearpay: paymentMethodAfterpayClearpaySchema.optional(), alipay: paymentFlowsPrivatePaymentMethodsAlipaySchema.optional(), allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), amazon_pay: paymentMethodAmazonPaySchema.optional(), au_becs_debit: paymentMethodAuBecsDebitSchema.optional(), bacs_debit: paymentMethodBacsDebitSchema.optional(), bancontact: paymentMethodBancontactSchema.optional(), billing_details: billingDetailsSchema, blik: paymentMethodBlikSchema.optional(), boleto: paymentMethodBoletoSchema.optional(), card: paymentMethodCardSchema.optional(), card_present: paymentMethodCardPresentSchema.optional(), cashapp: paymentMethodCashappSchema.optional(), created: z.number(), customer: z.union([z.string(), customerSchema]).optional().nullable(), customer_balance: paymentMethodCustomerBalanceSchema.optional(), eps: paymentMethodEpsSchema.optional(), fpx: paymentMethodFpxSchema.optional(), giropay: paymentMethodGiropaySchema.optional(), grabpay: paymentMethodGrabpaySchema.optional(), id: z.string(), ideal: paymentMethodIdealSchema.optional(), interac_present: paymentMethodInteracPresentSchema.optional(), klarna: paymentMethodKlarnaSchema.optional(), konbini: paymentMethodKonbiniSchema.optional(), link: paymentMethodLinkSchema.optional(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), mobilepay: paymentMethodMobilepaySchema.optional(), multibanco: paymentMethodMultibancoSchema.optional(), object: z.literal('payment_method'), oxxo: paymentMethodOxxoSchema.optional(), p24: paymentMethodP24Schema.optional(), paynow: paymentMethodPaynowSchema.optional(), paypal: paymentMethodPaypalSchema.optional(), pix: paymentMethodPixSchema.optional(), promptpay: paymentMethodPromptpaySchema.optional(), radar_options: radarRadarOptionsSchema.optional(), revolut_pay: paymentMethodRevolutPaySchema.optional(), sepa_debit: paymentMethodSepaDebitSchema.optional(), sofort: paymentMethodSofortSchema.optional(), swish: paymentMethodSwishSchema.optional(), twint: paymentMethodTwintSchema.optional(), type: z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('card'), z.literal('card_present'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('interac_present'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]), us_bank_account: paymentMethodUsBankAccountSchema.optional(), wechat_pay: paymentMethodWechatPaySchema.optional(), zip: paymentMethodZipSchema.optional(), }), ); export const setupIntentSchema: z.ZodSchema = z.lazy(() => z.object({ application: z.union([z.string(), applicationSchema]).optional().nullable(), attach_to_self: z.boolean().optional(), automatic_payment_methods: paymentFlowsAutomaticPaymentMethodsSetupIntentSchema.optional().nullable(), cancellation_reason: z .union([z.literal('abandoned'), z.literal('duplicate'), z.literal('requested_by_customer')]) .optional() .nullable(), client_secret: z.string().optional().nullable(), created: z.number(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), description: z.string().optional().nullable(), flow_directions: z .array(z.union([z.literal('inbound'), z.literal('outbound')])) .optional() .nullable(), id: z.string(), last_setup_error: apiErrorsSchema.optional().nullable(), latest_attempt: z.union([z.string(), setupAttemptSchema]).optional().nullable(), livemode: z.boolean(), mandate: z.union([z.string(), mandateSchema]).optional().nullable(), metadata: z.record(z.string()).optional().nullable(), next_action: setupIntentNextActionSchema.optional().nullable(), object: z.literal('setup_intent'), on_behalf_of: z.union([z.string(), accountSchema]).optional().nullable(), payment_method: z.union([z.string(), paymentMethodSchema]).optional().nullable(), payment_method_configuration_details: paymentMethodConfigBizPaymentMethodConfigurationDetailsSchema .optional() .nullable(), payment_method_options: setupIntentPaymentMethodOptionsSchema.optional().nullable(), payment_method_types: z.array(z.string()), single_use_mandate: z.union([z.string(), mandateSchema]).optional().nullable(), status: z.union([ z.literal('canceled'), z.literal('processing'), z.literal('requires_action'), z.literal('requires_confirmation'), z.literal('requires_payment_method'), z.literal('succeeded'), ]), usage: z.string(), }), ); export const applicationFeeSchema: z.ZodSchema = z.lazy(() => z.object({ account: z.union([z.string(), accountSchema]), amount: z.number(), amount_refunded: z.number(), application: z.union([z.string(), applicationSchema]), balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), charge: z.union([z.string(), chargeSchema]), created: z.number(), currency: z.string(), fee_source: platformEarningFeeSourceSchema.optional().nullable(), id: z.string(), livemode: z.boolean(), object: z.literal('application_fee'), originating_transaction: z.union([z.string(), chargeSchema]).optional().nullable(), refunded: z.boolean(), refunds: z.object({ data: z.array(feeRefundSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), }), ); export const balanceTransactionSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), available_on: z.number(), created: z.number(), currency: z.string(), description: z.string().optional().nullable(), exchange_rate: z.number().optional().nullable(), fee: z.number(), fee_details: z.array(feeSchema), id: z.string(), net: z.number(), object: z.literal('balance_transaction'), reporting_category: z.string(), source: z .union([ z.string(), applicationFeeSchema, chargeSchema, connectCollectionTransferSchema, customerCashBalanceTransactionSchema, disputeSchema, feeRefundSchema, issuingAuthorizationSchema, issuingDisputeSchema, issuingTransactionSchema, payoutSchema, refundSchema, reserveTransactionSchema, taxDeductedAtSourceSchema, topupSchema, transferSchema, transferReversalSchema, ]) .optional() .nullable(), status: z.string(), type: z.union([ z.literal('adjustment'), z.literal('advance'), z.literal('advance_funding'), z.literal('anticipation_repayment'), z.literal('application_fee'), z.literal('application_fee_refund'), z.literal('charge'), z.literal('climate_order_purchase'), z.literal('climate_order_refund'), z.literal('connect_collection_transfer'), z.literal('contribution'), z.literal('issuing_authorization_hold'), z.literal('issuing_authorization_release'), z.literal('issuing_dispute'), z.literal('issuing_transaction'), z.literal('obligation_outbound'), z.literal('obligation_reversal_inbound'), z.literal('payment'), z.literal('payment_failure_refund'), z.literal('payment_network_reserve_hold'), z.literal('payment_network_reserve_release'), z.literal('payment_refund'), z.literal('payment_reversal'), z.literal('payment_unreconciled'), z.literal('payout'), z.literal('payout_cancel'), z.literal('payout_failure'), z.literal('refund'), z.literal('refund_failure'), z.literal('reserve_transaction'), z.literal('reserved_funds'), z.literal('stripe_fee'), z.literal('stripe_fx_fee'), z.literal('tax_fee'), z.literal('topup'), z.literal('topup_reversal'), z.literal('transfer'), z.literal('transfer_cancel'), z.literal('transfer_failure'), z.literal('transfer_refund'), ]), }), ); export const chargeSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), amount_captured: z.number(), amount_refunded: z.number(), application: z.union([z.string(), applicationSchema]).optional().nullable(), application_fee: z.union([z.string(), applicationFeeSchema]).optional().nullable(), application_fee_amount: z.number().optional().nullable(), balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), billing_details: billingDetailsSchema, calculated_statement_descriptor: z.string().optional().nullable(), captured: z.boolean(), created: z.number(), currency: z.string(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), description: z.string().optional().nullable(), disputed: z.boolean(), failure_balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), failure_code: z.string().optional().nullable(), failure_message: z.string().optional().nullable(), fraud_details: chargeFraudDetailsSchema.optional().nullable(), id: z.string(), invoice: z.union([z.string(), invoiceSchema]).optional().nullable(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('charge'), on_behalf_of: z.union([z.string(), accountSchema]).optional().nullable(), outcome: chargeOutcomeSchema.optional().nullable(), paid: z.boolean(), payment_intent: z.union([z.string(), paymentIntentSchema]).optional().nullable(), payment_method: z.string().optional().nullable(), payment_method_details: paymentMethodDetailsSchema.optional().nullable(), radar_options: radarRadarOptionsSchema.optional(), receipt_email: z.string().optional().nullable(), receipt_number: z.string().optional().nullable(), receipt_url: z.string().optional().nullable(), refunded: z.boolean(), refunds: z .object({ data: z.array(refundSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional() .nullable(), review: z.union([z.string(), reviewSchema]).optional().nullable(), shipping: shippingSchema.optional().nullable(), source_transfer: z.union([z.string(), transferSchema]).optional().nullable(), statement_descriptor: z.string().optional().nullable(), statement_descriptor_suffix: z.string().optional().nullable(), status: z.union([z.literal('failed'), z.literal('pending'), z.literal('succeeded')]), transfer: z.union([z.string(), transferSchema]).optional(), transfer_data: chargeTransferDataSchema.optional().nullable(), transfer_group: z.string().optional().nullable(), }), ); export const feeRefundSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), created: z.number(), currency: z.string(), fee: z.union([z.string(), applicationFeeSchema]), id: z.string(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('fee_refund'), }), ); export const automaticTaxSchema: z.ZodSchema = z.lazy(() => z.object({ enabled: z.boolean(), liability: connectAccountReferenceSchema.optional().nullable(), status: z .union([z.literal('complete'), z.literal('failed'), z.literal('requires_location_inputs')]) .optional() .nullable(), }), ); export const connectAccountReferenceSchema: z.ZodSchema = z.lazy(() => z.object({ account: z.union([z.string(), accountSchema]).optional(), type: z.union([z.literal('account'), z.literal('self')]), }), ); export const connectCollectionTransferSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), currency: z.string(), destination: z.union([z.string(), accountSchema]), id: z.string(), livemode: z.boolean(), object: z.literal('connect_collection_transfer'), }), ); export const customerCashBalanceTransactionSchema: z.ZodSchema = z.lazy(() => z.object({ adjusted_for_overdraft: customerBalanceResourceCashBalanceTransactionResourceAdjustedForOverdraftSchema.optional(), applied_to_payment: customerBalanceResourceCashBalanceTransactionResourceAppliedToPaymentTransactionSchema.optional(), created: z.number(), currency: z.string(), customer: z.union([z.string(), customerSchema]), ending_balance: z.number(), funded: customerBalanceResourceCashBalanceTransactionResourceFundedTransactionSchema.optional(), id: z.string(), livemode: z.boolean(), net_amount: z.number(), object: z.literal('customer_cash_balance_transaction'), refunded_from_payment: customerBalanceResourceCashBalanceTransactionResourceRefundedFromPaymentTransactionSchema.optional(), transferred_to_balance: customerBalanceResourceCashBalanceTransactionResourceTransferredToBalanceSchema.optional(), type: z.union([ z.literal('adjusted_for_overdraft'), z.literal('applied_to_payment'), z.literal('funded'), z.literal('funding_reversed'), z.literal('refunded_from_payment'), z.literal('return_canceled'), z.literal('return_initiated'), z.literal('transferred_to_balance'), z.literal('unapplied_from_payment'), ]), unapplied_from_payment: customerBalanceResourceCashBalanceTransactionResourceUnappliedFromPaymentTransactionSchema.optional(), }), ); export const disputeSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), balance_transactions: z.array(balanceTransactionSchema), charge: z.union([z.string(), chargeSchema]), created: z.number(), currency: z.string(), evidence: disputeEvidenceSchema, evidence_details: disputeEvidenceDetailsSchema, id: z.string(), is_charge_refundable: z.boolean(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('dispute'), payment_intent: z.union([z.string(), paymentIntentSchema]).optional().nullable(), payment_method_details: disputePaymentMethodDetailsSchema.optional(), reason: z.string(), status: z.union([ z.literal('lost'), z.literal('needs_response'), z.literal('under_review'), z.literal('warning_closed'), z.literal('warning_needs_response'), z.literal('warning_under_review'), z.literal('won'), ]), }), ); export const issuingAuthorizationSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), amount_details: issuingAuthorizationAmountDetailsSchema.optional().nullable(), approved: z.boolean(), authorization_method: z.union([ z.literal('chip'), z.literal('contactless'), z.literal('keyed_in'), z.literal('online'), z.literal('swipe'), ]), balance_transactions: z.array(balanceTransactionSchema), card: issuingCardSchema, cardholder: z.union([z.string(), issuingCardholderSchema]).optional().nullable(), created: z.number(), currency: z.string(), id: z.string(), livemode: z.boolean(), merchant_amount: z.number(), merchant_currency: z.string(), merchant_data: issuingAuthorizationMerchantDataSchema, metadata: z.record(z.string()), network_data: issuingAuthorizationNetworkDataSchema.optional().nullable(), object: z.literal('issuing.authorization'), pending_request: issuingAuthorizationPendingRequestSchema.optional().nullable(), request_history: z.array(issuingAuthorizationRequestSchema), status: z.union([z.literal('closed'), z.literal('pending'), z.literal('reversed')]), token: z.union([z.string(), issuingTokenSchema]).optional().nullable(), transactions: z.array(issuingTransactionSchema), treasury: issuingAuthorizationTreasurySchema.optional().nullable(), verification_data: issuingAuthorizationVerificationDataSchema, wallet: z.string().optional().nullable(), }), ); export const issuingDisputeSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), balance_transactions: z.array(balanceTransactionSchema).optional().nullable(), created: z.number(), currency: z.string(), evidence: issuingDisputeEvidenceSchema, id: z.string(), livemode: z.boolean(), loss_reason: z .union([ z.literal('cardholder_authentication_issuer_liability'), z.literal('eci5_token_transaction_with_tavv'), z.literal('excess_disputes_in_timeframe'), z.literal('has_not_met_the_minimum_dispute_amount_requirements'), z.literal('invalid_duplicate_dispute'), z.literal('invalid_incorrect_amount_dispute'), z.literal('invalid_no_authorization'), z.literal('invalid_use_of_disputes'), z.literal('merchandise_delivered_or_shipped'), z.literal('merchandise_or_service_as_described'), z.literal('not_cancelled'), z.literal('other'), z.literal('refund_issued'), z.literal('submitted_beyond_allowable_time_limit'), z.literal('transaction_3ds_required'), z.literal('transaction_approved_after_prior_fraud_dispute'), z.literal('transaction_authorized'), z.literal('transaction_electronically_read'), z.literal('transaction_qualifies_for_visa_easy_payment_service'), z.literal('transaction_unattended'), ]) .optional(), metadata: z.record(z.string()), object: z.literal('issuing.dispute'), status: z.union([ z.literal('expired'), z.literal('lost'), z.literal('submitted'), z.literal('unsubmitted'), z.literal('won'), ]), transaction: z.union([z.string(), issuingTransactionSchema]), treasury: issuingDisputeTreasurySchema.optional().nullable(), }), ); export const issuingTransactionSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), amount_details: issuingTransactionAmountDetailsSchema.optional().nullable(), authorization: z.union([z.string(), issuingAuthorizationSchema]).optional().nullable(), balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), card: z.union([z.string(), issuingCardSchema]), cardholder: z.union([z.string(), issuingCardholderSchema]).optional().nullable(), created: z.number(), currency: z.string(), dispute: z.union([z.string(), issuingDisputeSchema]).optional().nullable(), id: z.string(), livemode: z.boolean(), merchant_amount: z.number(), merchant_currency: z.string(), merchant_data: issuingAuthorizationMerchantDataSchema, metadata: z.record(z.string()), network_data: issuingTransactionNetworkDataSchema.optional().nullable(), object: z.literal('issuing.transaction'), purchase_details: issuingTransactionPurchaseDetailsSchema.optional().nullable(), token: z.union([z.string(), issuingTokenSchema]).optional().nullable(), treasury: issuingTransactionTreasurySchema.optional().nullable(), type: z.union([z.literal('capture'), z.literal('refund')]), wallet: z .union([z.literal('apple_pay'), z.literal('google_pay'), z.literal('samsung_pay')]) .optional() .nullable(), }), ); export const payoutSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), application_fee: z.union([z.string(), applicationFeeSchema]).optional().nullable(), application_fee_amount: z.number().optional().nullable(), arrival_date: z.number(), automatic: z.boolean(), balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), created: z.number(), currency: z.string(), description: z.string().optional().nullable(), destination: z .union([z.string(), bankAccountSchema, cardSchema, deletedBankAccountSchema, deletedCardSchema]) .optional() .nullable(), failure_balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), failure_code: z.string().optional().nullable(), failure_message: z.string().optional().nullable(), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), method: z.string(), object: z.literal('payout'), original_payout: z.union([z.string(), payoutSchema]).optional().nullable(), reconciliation_status: z.union([z.literal('completed'), z.literal('in_progress'), z.literal('not_applicable')]), reversed_by: z.union([z.string(), payoutSchema]).optional().nullable(), source_type: z.string(), statement_descriptor: z.string().optional().nullable(), status: z.string(), type: z.union([z.literal('bank_account'), z.literal('card')]), }), ); export const refundSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), charge: z.union([z.string(), chargeSchema]).optional().nullable(), created: z.number(), currency: z.string(), description: z.string().optional(), destination_details: refundDestinationDetailsSchema.optional(), failure_balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional(), failure_reason: z.string().optional(), id: z.string(), instructions_email: z.string().optional(), metadata: z.record(z.string()).optional().nullable(), next_action: refundNextActionSchema.optional(), object: z.literal('refund'), payment_intent: z.union([z.string(), paymentIntentSchema]).optional().nullable(), reason: z .union([ z.literal('duplicate'), z.literal('expired_uncaptured_charge'), z.literal('fraudulent'), z.literal('requested_by_customer'), ]) .optional() .nullable(), receipt_number: z.string().optional().nullable(), source_transfer_reversal: z.union([z.string(), transferReversalSchema]).optional().nullable(), status: z.string().optional().nullable(), transfer_reversal: z.union([z.string(), transferReversalSchema]).optional().nullable(), }), ); export const topupSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), created: z.number(), currency: z.string(), description: z.string().optional().nullable(), expected_availability_date: z.number().optional().nullable(), failure_code: z.string().optional().nullable(), failure_message: z.string().optional().nullable(), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('topup'), source: sourceSchema.optional().nullable(), statement_descriptor: z.string().optional().nullable(), status: z.union([ z.literal('canceled'), z.literal('failed'), z.literal('pending'), z.literal('reversed'), z.literal('succeeded'), ]), transfer_group: z.string().optional().nullable(), }), ); export const transferSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), amount_reversed: z.number(), balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), created: z.number(), currency: z.string(), description: z.string().optional().nullable(), destination: z.union([z.string(), accountSchema]).optional().nullable(), destination_payment: z.union([z.string(), chargeSchema]).optional(), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('transfer'), reversals: z.object({ data: z.array(transferReversalSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), reversed: z.boolean(), source_transaction: z.union([z.string(), chargeSchema]).optional().nullable(), source_type: z.string().optional(), transfer_group: z.string().optional().nullable(), }), ); export const transferReversalSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), balance_transaction: z.union([z.string(), balanceTransactionSchema]).optional().nullable(), created: z.number(), currency: z.string(), destination_payment_refund: z.union([z.string(), refundSchema]).optional().nullable(), id: z.string(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('transfer_reversal'), source_refund: z.union([z.string(), refundSchema]).optional().nullable(), transfer: z.union([z.string(), transferSchema]), }), ); export const customerSchema: z.ZodSchema = z.lazy(() => z.object({ address: addressSchema.optional().nullable(), balance: z.number().optional(), cash_balance: cashBalanceSchema.optional().nullable(), created: z.number(), currency: z.string().optional().nullable(), default_source: z.union([z.string(), bankAccountSchema, cardSchema, sourceSchema]).optional().nullable(), delinquent: z.boolean().optional().nullable(), description: z.string().optional().nullable(), discount: discountSchema.optional().nullable(), email: z.string().optional().nullable(), id: z.string(), invoice_credit_balance: z.record(z.number()).optional(), invoice_prefix: z.string().optional().nullable(), invoice_settings: invoiceSettingCustomerSettingSchema.optional(), livemode: z.boolean(), metadata: z.record(z.string()).optional(), name: z.string().optional().nullable(), next_invoice_sequence: z.number().optional(), object: z.literal('customer'), phone: z.string().optional().nullable(), preferred_locales: z.array(z.string()).optional().nullable(), shipping: shippingSchema.optional().nullable(), sources: z .object({ data: z.array(z.union([bankAccountSchema, cardSchema, sourceSchema])), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional(), subscriptions: z .object({ data: z.array(subscriptionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional(), tax: customerTaxSchema.optional(), tax_exempt: z .union([z.literal('exempt'), z.literal('none'), z.literal('reverse')]) .optional() .nullable(), tax_ids: z .object({ data: z.array(taxIdSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional(), test_clock: z.union([z.string(), testHelpersTestClockSchema]).optional().nullable(), }), ); export const bankConnectionsResourceAccountholderSchema: z.ZodSchema = z.lazy( () => z.object({ account: z.union([z.string(), accountSchema]).optional(), customer: z.union([z.string(), customerSchema]).optional(), type: z.union([z.literal('account'), z.literal('customer')]), }), ); export const capabilitySchema: z.ZodSchema = z.lazy(() => z.object({ account: z.union([z.string(), accountSchema]), future_requirements: accountCapabilityFutureRequirementsSchema.optional(), id: z.string(), object: z.literal('capability'), requested: z.boolean(), requested_at: z.number().optional().nullable(), requirements: accountCapabilityRequirementsSchema.optional(), status: z.union([ z.literal('active'), z.literal('disabled'), z.literal('inactive'), z.literal('pending'), z.literal('unrequested'), ]), }), ); export const invoiceSchema: z.ZodSchema = z.lazy(() => z.object({ account_country: z.string().optional().nullable(), account_name: z.string().optional().nullable(), account_tax_ids: z .array(z.union([z.string(), taxIdSchema, deletedTaxIdSchema])) .optional() .nullable(), amount_due: z.number(), amount_paid: z.number(), amount_remaining: z.number(), amount_shipping: z.number(), application: z.union([z.string(), applicationSchema, deletedApplicationSchema]).optional().nullable(), application_fee_amount: z.number().optional().nullable(), attempt_count: z.number(), attempted: z.boolean(), auto_advance: z.boolean().optional(), automatic_tax: automaticTaxSchema, billing_reason: z .union([ z.literal('automatic_pending_invoice_item_invoice'), z.literal('manual'), z.literal('quote_accept'), z.literal('subscription'), z.literal('subscription_create'), z.literal('subscription_cycle'), z.literal('subscription_threshold'), z.literal('subscription_update'), z.literal('upcoming'), ]) .optional() .nullable(), charge: z.union([z.string(), chargeSchema]).optional().nullable(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]), created: z.number(), currency: z.string(), custom_fields: z.array(invoiceSettingCustomFieldSchema).optional().nullable(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), customer_address: addressSchema.optional().nullable(), customer_email: z.string().optional().nullable(), customer_name: z.string().optional().nullable(), customer_phone: z.string().optional().nullable(), customer_shipping: shippingSchema.optional().nullable(), customer_tax_exempt: z .union([z.literal('exempt'), z.literal('none'), z.literal('reverse')]) .optional() .nullable(), customer_tax_ids: z.array(invoicesResourceInvoiceTaxIdSchema).optional().nullable(), default_payment_method: z.union([z.string(), paymentMethodSchema]).optional().nullable(), default_source: z.union([z.string(), bankAccountSchema, cardSchema, sourceSchema]).optional().nullable(), default_tax_rates: z.array(taxRateSchema), description: z.string().optional().nullable(), discount: discountSchema.optional().nullable(), discounts: z.array(z.union([z.string(), discountSchema, deletedDiscountSchema])), due_date: z.number().optional().nullable(), effective_at: z.number().optional().nullable(), ending_balance: z.number().optional().nullable(), footer: z.string().optional().nullable(), from_invoice: invoicesResourceFromInvoiceSchema.optional().nullable(), hosted_invoice_url: z.string().optional().nullable(), id: z.string().optional(), invoice_pdf: z.string().optional().nullable(), issuer: connectAccountReferenceSchema, last_finalization_error: apiErrorsSchema.optional().nullable(), latest_revision: z.union([z.string(), invoiceSchema]).optional().nullable(), lines: z.object({ data: z.array(lineItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), next_payment_attempt: z.number().optional().nullable(), number: z.string().optional().nullable(), object: z.literal('invoice'), on_behalf_of: z.union([z.string(), accountSchema]).optional().nullable(), paid: z.boolean(), paid_out_of_band: z.boolean(), payment_intent: z.union([z.string(), paymentIntentSchema]).optional().nullable(), payment_settings: invoicesPaymentSettingsSchema, period_end: z.number(), period_start: z.number(), post_payment_credit_notes_amount: z.number(), pre_payment_credit_notes_amount: z.number(), quote: z.union([z.string(), quoteSchema]).optional().nullable(), receipt_number: z.string().optional().nullable(), rendering: invoicesResourceInvoiceRenderingSchema.optional().nullable(), shipping_cost: invoicesResourceShippingCostSchema.optional().nullable(), shipping_details: shippingSchema.optional().nullable(), starting_balance: z.number(), statement_descriptor: z.string().optional().nullable(), status: z .union([z.literal('draft'), z.literal('open'), z.literal('paid'), z.literal('uncollectible'), z.literal('void')]) .optional() .nullable(), status_transitions: invoicesResourceStatusTransitionsSchema, subscription: z.union([z.string(), subscriptionSchema]).optional().nullable(), subscription_details: subscriptionDetailsDataSchema.optional().nullable(), subscription_proration_date: z.number().optional(), subtotal: z.number(), subtotal_excluding_tax: z.number().optional().nullable(), tax: z.number().optional().nullable(), test_clock: z.union([z.string(), testHelpersTestClockSchema]).optional().nullable(), threshold_reason: invoiceThresholdReasonSchema.optional(), total: z.number(), total_discount_amounts: z.array(discountsResourceDiscountAmountSchema).optional().nullable(), total_excluding_tax: z.number().optional().nullable(), total_tax_amounts: z.array(invoiceTaxAmountSchema), transfer_data: invoiceTransferDataSchema.optional().nullable(), webhooks_delivered_at: z.number().optional().nullable(), }), ); export const paymentMethodDetailsSchema: z.ZodSchema = z.lazy(() => z.object({ ach_credit_transfer: paymentMethodDetailsAchCreditTransferSchema.optional(), ach_debit: paymentMethodDetailsAchDebitSchema.optional(), acss_debit: paymentMethodDetailsAcssDebitSchema.optional(), affirm: paymentMethodDetailsAffirmSchema.optional(), afterpay_clearpay: paymentMethodDetailsAfterpayClearpaySchema.optional(), alipay: paymentFlowsPrivatePaymentMethodsAlipayDetailsSchema.optional(), amazon_pay: paymentMethodDetailsAmazonPaySchema.optional(), au_becs_debit: paymentMethodDetailsAuBecsDebitSchema.optional(), bacs_debit: paymentMethodDetailsBacsDebitSchema.optional(), bancontact: paymentMethodDetailsBancontactSchema.optional(), blik: paymentMethodDetailsBlikSchema.optional(), boleto: paymentMethodDetailsBoletoSchema.optional(), card: paymentMethodDetailsCardSchema.optional(), card_present: paymentMethodDetailsCardPresentSchema.optional(), cashapp: paymentMethodDetailsCashappSchema.optional(), customer_balance: paymentMethodDetailsCustomerBalanceSchema.optional(), eps: paymentMethodDetailsEpsSchema.optional(), fpx: paymentMethodDetailsFpxSchema.optional(), giropay: paymentMethodDetailsGiropaySchema.optional(), grabpay: paymentMethodDetailsGrabpaySchema.optional(), ideal: paymentMethodDetailsIdealSchema.optional(), interac_present: paymentMethodDetailsInteracPresentSchema.optional(), klarna: paymentMethodDetailsKlarnaSchema.optional(), konbini: paymentMethodDetailsKonbiniSchema.optional(), link: paymentMethodDetailsLinkSchema.optional(), mobilepay: paymentMethodDetailsMobilepaySchema.optional(), multibanco: paymentMethodDetailsMultibancoSchema.optional(), oxxo: paymentMethodDetailsOxxoSchema.optional(), p24: paymentMethodDetailsP24Schema.optional(), paynow: paymentMethodDetailsPaynowSchema.optional(), paypal: paymentMethodDetailsPaypalSchema.optional(), pix: paymentMethodDetailsPixSchema.optional(), promptpay: paymentMethodDetailsPromptpaySchema.optional(), revolut_pay: paymentMethodDetailsRevolutPaySchema.optional(), sepa_debit: paymentMethodDetailsSepaDebitSchema.optional(), sofort: paymentMethodDetailsSofortSchema.optional(), stripe_account: paymentMethodDetailsStripeAccountSchema.optional(), swish: paymentMethodDetailsSwishSchema.optional(), twint: paymentMethodDetailsTwintSchema.optional(), type: z.string(), us_bank_account: paymentMethodDetailsUsBankAccountSchema.optional(), wechat: paymentMethodDetailsWechatSchema.optional(), wechat_pay: paymentMethodDetailsWechatPaySchema.optional(), zip: paymentMethodDetailsZipSchema.optional(), }), ); export const reviewSchema: z.ZodSchema = z.lazy(() => z.object({ billing_zip: z.string().optional().nullable(), charge: z.union([z.string(), chargeSchema]).optional().nullable(), closed_reason: z .union([ z.literal('approved'), z.literal('disputed'), z.literal('redacted'), z.literal('refunded'), z.literal('refunded_as_fraud'), ]) .optional() .nullable(), created: z.number(), id: z.string(), ip_address: z.string().optional().nullable(), ip_address_location: radarReviewResourceLocationSchema.optional().nullable(), livemode: z.boolean(), object: z.literal('review'), open: z.boolean(), opened_reason: z.union([z.literal('manual'), z.literal('rule')]), payment_intent: z.union([z.string(), paymentIntentSchema]).optional(), reason: z.string(), session: radarReviewResourceSessionSchema.optional().nullable(), }), ); export const chargeTransferDataSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number().optional().nullable(), destination: z.union([z.string(), accountSchema]), }), ); export const checkoutSessionSchema: z.ZodSchema = z.lazy(() => z.object({ after_expiration: paymentPagesCheckoutSessionAfterExpirationSchema.optional().nullable(), allow_promotion_codes: z.boolean().optional().nullable(), amount_subtotal: z.number().optional().nullable(), amount_total: z.number().optional().nullable(), automatic_tax: paymentPagesCheckoutSessionAutomaticTaxSchema, billing_address_collection: z .union([z.literal('auto'), z.literal('required')]) .optional() .nullable(), cancel_url: z.string().optional().nullable(), client_reference_id: z.string().optional().nullable(), client_secret: z.string().optional().nullable(), consent: paymentPagesCheckoutSessionConsentSchema.optional().nullable(), consent_collection: paymentPagesCheckoutSessionConsentCollectionSchema.optional().nullable(), created: z.number(), currency: z.string().optional().nullable(), currency_conversion: paymentPagesCheckoutSessionCurrencyConversionSchema.optional().nullable(), custom_fields: z.array(paymentPagesCheckoutSessionCustomFieldsSchema), custom_text: paymentPagesCheckoutSessionCustomTextSchema, customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), customer_creation: z .union([z.literal('always'), z.literal('if_required')]) .optional() .nullable(), customer_details: paymentPagesCheckoutSessionCustomerDetailsSchema.optional().nullable(), customer_email: z.string().optional().nullable(), expires_at: z.number(), id: z.string(), invoice: z.union([z.string(), invoiceSchema]).optional().nullable(), invoice_creation: paymentPagesCheckoutSessionInvoiceCreationSchema.optional().nullable(), line_items: z .object({ data: z.array(itemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional(), livemode: z.boolean(), locale: z .union([ z.literal('auto'), z.literal('bg'), z.literal('cs'), z.literal('da'), z.literal('de'), z.literal('el'), z.literal('en'), z.literal('en-GB'), z.literal('es'), z.literal('es-419'), z.literal('et'), z.literal('fi'), z.literal('fil'), z.literal('fr'), z.literal('fr-CA'), z.literal('hr'), z.literal('hu'), z.literal('id'), z.literal('it'), z.literal('ja'), z.literal('ko'), z.literal('lt'), z.literal('lv'), z.literal('ms'), z.literal('mt'), z.literal('nb'), z.literal('nl'), z.literal('pl'), z.literal('pt'), z.literal('pt-BR'), z.literal('ro'), z.literal('ru'), z.literal('sk'), z.literal('sl'), z.literal('sv'), z.literal('th'), z.literal('tr'), z.literal('vi'), z.literal('zh'), z.literal('zh-HK'), z.literal('zh-TW'), ]) .optional() .nullable(), metadata: z.record(z.string()).optional().nullable(), mode: z.union([z.literal('payment'), z.literal('setup'), z.literal('subscription')]), object: z.literal('checkout.session'), payment_intent: z.union([z.string(), paymentIntentSchema]).optional().nullable(), payment_link: z.union([z.string(), paymentLinkSchema]).optional().nullable(), payment_method_collection: z .union([z.literal('always'), z.literal('if_required')]) .optional() .nullable(), payment_method_configuration_details: paymentMethodConfigBizPaymentMethodConfigurationDetailsSchema .optional() .nullable(), payment_method_options: checkoutSessionPaymentMethodOptionsSchema.optional().nullable(), payment_method_types: z.array(z.string()), payment_status: z.union([z.literal('no_payment_required'), z.literal('paid'), z.literal('unpaid')]), phone_number_collection: paymentPagesCheckoutSessionPhoneNumberCollectionSchema.optional(), recovered_from: z.string().optional().nullable(), redirect_on_completion: z.union([z.literal('always'), z.literal('if_required'), z.literal('never')]).optional(), return_url: z.string().optional(), saved_payment_method_options: paymentPagesCheckoutSessionSavedPaymentMethodOptionsSchema.optional().nullable(), setup_intent: z.union([z.string(), setupIntentSchema]).optional().nullable(), shipping_address_collection: paymentPagesCheckoutSessionShippingAddressCollectionSchema.optional().nullable(), shipping_cost: paymentPagesCheckoutSessionShippingCostSchema.optional().nullable(), shipping_details: shippingSchema.optional().nullable(), shipping_options: z.array(paymentPagesCheckoutSessionShippingOptionSchema), status: z .union([z.literal('complete'), z.literal('expired'), z.literal('open')]) .optional() .nullable(), submit_type: z .union([z.literal('auto'), z.literal('book'), z.literal('donate'), z.literal('pay')]) .optional() .nullable(), subscription: z.union([z.string(), subscriptionSchema]).optional().nullable(), success_url: z.string().optional().nullable(), tax_id_collection: paymentPagesCheckoutSessionTaxIdCollectionSchema.optional(), total_details: paymentPagesCheckoutSessionTotalDetailsSchema.optional().nullable(), ui_mode: z .union([z.literal('embedded'), z.literal('hosted')]) .optional() .nullable(), url: z.string().optional().nullable(), }), ); export const paymentPagesCheckoutSessionAutomaticTaxSchema: z.ZodSchema = z.lazy(() => z.object({ enabled: z.boolean(), liability: connectAccountReferenceSchema.optional().nullable(), status: z .union([z.literal('complete'), z.literal('failed'), z.literal('requires_location_inputs')]) .optional() .nullable(), }), ); export const paymentPagesCheckoutSessionInvoiceCreationSchema: z.ZodSchema = z.lazy(() => z.object({ enabled: z.boolean(), invoice_data: paymentPagesCheckoutSessionInvoiceSettingsSchema, }), ); export const itemSchema: z.ZodSchema = z.lazy(() => z.object({ amount_discount: z.number(), amount_subtotal: z.number(), amount_tax: z.number(), amount_total: z.number(), currency: z.string(), description: z.string(), discounts: z.array(lineItemsDiscountAmountSchema).optional(), id: z.string(), object: z.literal('item'), price: priceSchema.optional().nullable(), quantity: z.number().optional().nullable(), taxes: z.array(lineItemsTaxAmountSchema).optional(), }), ); export const paymentLinkSchema: z.ZodSchema = z.lazy(() => z.object({ active: z.boolean(), after_completion: paymentLinksResourceAfterCompletionSchema, allow_promotion_codes: z.boolean(), application: z.union([z.string(), applicationSchema, deletedApplicationSchema]).optional().nullable(), application_fee_amount: z.number().optional().nullable(), application_fee_percent: z.number().optional().nullable(), automatic_tax: paymentLinksResourceAutomaticTaxSchema, billing_address_collection: z.union([z.literal('auto'), z.literal('required')]), consent_collection: paymentLinksResourceConsentCollectionSchema.optional().nullable(), currency: z.string(), custom_fields: z.array(paymentLinksResourceCustomFieldsSchema), custom_text: paymentLinksResourceCustomTextSchema, customer_creation: z.union([z.literal('always'), z.literal('if_required')]), id: z.string(), inactive_message: z.string().optional().nullable(), invoice_creation: paymentLinksResourceInvoiceCreationSchema.optional().nullable(), line_items: z .object({ data: z.array(itemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('payment_link'), on_behalf_of: z.union([z.string(), accountSchema]).optional().nullable(), payment_intent_data: paymentLinksResourcePaymentIntentDataSchema.optional().nullable(), payment_method_collection: z.union([z.literal('always'), z.literal('if_required')]), payment_method_types: z .array( z.union([ z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('card'), z.literal('cashapp'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('us_bank_account'), z.literal('wechat_pay'), ]), ) .optional() .nullable(), phone_number_collection: paymentLinksResourcePhoneNumberCollectionSchema, restrictions: paymentLinksResourceRestrictionsSchema.optional().nullable(), shipping_address_collection: paymentLinksResourceShippingAddressCollectionSchema.optional().nullable(), shipping_options: z.array(paymentLinksResourceShippingOptionSchema), submit_type: z.union([z.literal('auto'), z.literal('book'), z.literal('donate'), z.literal('pay')]), subscription_data: paymentLinksResourceSubscriptionDataSchema.optional().nullable(), tax_id_collection: paymentLinksResourceTaxIdCollectionSchema, transfer_data: paymentLinksResourceTransferDataSchema.optional().nullable(), url: z.string(), }), ); export const subscriptionSchema: z.ZodSchema = z.lazy(() => z.object({ application: z.union([z.string(), applicationSchema, deletedApplicationSchema]).optional().nullable(), application_fee_percent: z.number().optional().nullable(), automatic_tax: subscriptionAutomaticTaxSchema, billing_cycle_anchor: z.number(), billing_cycle_anchor_config: subscriptionsResourceBillingCycleAnchorConfigSchema.optional().nullable(), billing_thresholds: subscriptionBillingThresholdsSchema.optional().nullable(), cancel_at: z.number().optional().nullable(), cancel_at_period_end: z.boolean(), canceled_at: z.number().optional().nullable(), cancellation_details: cancellationDetailsSchema.optional().nullable(), collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]), created: z.number(), currency: z.string(), current_period_end: z.number(), current_period_start: z.number(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]), days_until_due: z.number().optional().nullable(), default_payment_method: z.union([z.string(), paymentMethodSchema]).optional().nullable(), default_source: z.union([z.string(), bankAccountSchema, cardSchema, sourceSchema]).optional().nullable(), default_tax_rates: z.array(taxRateSchema).optional().nullable(), description: z.string().optional().nullable(), discount: discountSchema.optional().nullable(), discounts: z.array(z.union([z.string(), discountSchema])), ended_at: z.number().optional().nullable(), id: z.string(), invoice_settings: subscriptionsResourceSubscriptionInvoiceSettingsSchema, items: z.object({ data: z.array(subscriptionItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), latest_invoice: z.union([z.string(), invoiceSchema]).optional().nullable(), livemode: z.boolean(), metadata: z.record(z.string()), next_pending_invoice_item_invoice: z.number().optional().nullable(), object: z.literal('subscription'), on_behalf_of: z.union([z.string(), accountSchema]).optional().nullable(), pause_collection: subscriptionsResourcePauseCollectionSchema.optional().nullable(), payment_settings: subscriptionsResourcePaymentSettingsSchema.optional().nullable(), pending_invoice_item_interval: subscriptionPendingInvoiceItemIntervalSchema.optional().nullable(), pending_setup_intent: z.union([z.string(), setupIntentSchema]).optional().nullable(), pending_update: subscriptionsResourcePendingUpdateSchema.optional().nullable(), schedule: z.union([z.string(), subscriptionScheduleSchema]).optional().nullable(), start_date: z.number(), status: z.union([ z.literal('active'), z.literal('canceled'), z.literal('incomplete'), z.literal('incomplete_expired'), z.literal('past_due'), z.literal('paused'), z.literal('trialing'), z.literal('unpaid'), ]), test_clock: z.union([z.string(), testHelpersTestClockSchema]).optional().nullable(), transfer_data: subscriptionTransferDataSchema.optional().nullable(), trial_end: z.number().optional().nullable(), trial_settings: subscriptionsTrialsResourceTrialSettingsSchema.optional().nullable(), trial_start: z.number().optional().nullable(), }), ); export const paymentPagesCheckoutSessionTotalDetailsSchema: z.ZodSchema = z.lazy(() => z.object({ amount_discount: z.number(), amount_shipping: z.number().optional().nullable(), amount_tax: z.number(), breakdown: paymentPagesCheckoutSessionTotalDetailsResourceBreakdownSchema.optional(), }), ); export const confirmationTokenSchema: z.ZodSchema = z.lazy(() => z.object({ created: z.number(), expires_at: z.number().optional().nullable(), id: z.string(), livemode: z.boolean(), mandate_data: confirmationTokensResourceMandateDataSchema.optional().nullable(), object: z.literal('confirmation_token'), payment_intent: z.string().optional().nullable(), payment_method_preview: confirmationTokensResourcePaymentMethodPreviewSchema.optional().nullable(), return_url: z.string().optional().nullable(), setup_future_usage: z .union([z.literal('off_session'), z.literal('on_session')]) .optional() .nullable(), setup_intent: z.string().optional().nullable(), shipping: confirmationTokensResourceShippingSchema.optional().nullable(), use_stripe_sdk: z.boolean(), }), ); export const confirmationTokensResourcePaymentMethodPreviewSchema: z.ZodSchema = z.lazy(() => z.object({ acss_debit: paymentMethodAcssDebitSchema.optional(), affirm: paymentMethodAffirmSchema.optional(), afterpay_clearpay: paymentMethodAfterpayClearpaySchema.optional(), alipay: paymentFlowsPrivatePaymentMethodsAlipaySchema.optional(), allow_redisplay: z.union([z.literal('always'), z.literal('limited'), z.literal('unspecified')]).optional(), amazon_pay: paymentMethodAmazonPaySchema.optional(), au_becs_debit: paymentMethodAuBecsDebitSchema.optional(), bacs_debit: paymentMethodBacsDebitSchema.optional(), bancontact: paymentMethodBancontactSchema.optional(), billing_details: billingDetailsSchema, blik: paymentMethodBlikSchema.optional(), boleto: paymentMethodBoletoSchema.optional(), card: paymentMethodCardSchema.optional(), card_present: paymentMethodCardPresentSchema.optional(), cashapp: paymentMethodCashappSchema.optional(), customer_balance: paymentMethodCustomerBalanceSchema.optional(), eps: paymentMethodEpsSchema.optional(), fpx: paymentMethodFpxSchema.optional(), giropay: paymentMethodGiropaySchema.optional(), grabpay: paymentMethodGrabpaySchema.optional(), ideal: paymentMethodIdealSchema.optional(), interac_present: paymentMethodInteracPresentSchema.optional(), klarna: paymentMethodKlarnaSchema.optional(), konbini: paymentMethodKonbiniSchema.optional(), link: paymentMethodLinkSchema.optional(), mobilepay: paymentMethodMobilepaySchema.optional(), multibanco: paymentMethodMultibancoSchema.optional(), oxxo: paymentMethodOxxoSchema.optional(), p24: paymentMethodP24Schema.optional(), paynow: paymentMethodPaynowSchema.optional(), paypal: paymentMethodPaypalSchema.optional(), pix: paymentMethodPixSchema.optional(), promptpay: paymentMethodPromptpaySchema.optional(), revolut_pay: paymentMethodRevolutPaySchema.optional(), sepa_debit: paymentMethodSepaDebitSchema.optional(), sofort: paymentMethodSofortSchema.optional(), swish: paymentMethodSwishSchema.optional(), twint: paymentMethodTwintSchema.optional(), type: z.union([ z.literal('acss_debit'), z.literal('affirm'), z.literal('afterpay_clearpay'), z.literal('alipay'), z.literal('amazon_pay'), z.literal('au_becs_debit'), z.literal('bacs_debit'), z.literal('bancontact'), z.literal('blik'), z.literal('boleto'), z.literal('card'), z.literal('card_present'), z.literal('cashapp'), z.literal('customer_balance'), z.literal('eps'), z.literal('fpx'), z.literal('giropay'), z.literal('grabpay'), z.literal('ideal'), z.literal('interac_present'), z.literal('klarna'), z.literal('konbini'), z.literal('link'), z.literal('mobilepay'), z.literal('multibanco'), z.literal('oxxo'), z.literal('p24'), z.literal('paynow'), z.literal('paypal'), z.literal('pix'), z.literal('promptpay'), z.literal('revolut_pay'), z.literal('sepa_debit'), z.literal('sofort'), z.literal('swish'), z.literal('twint'), z.literal('us_bank_account'), z.literal('wechat_pay'), z.literal('zip'), ]), us_bank_account: paymentMethodUsBankAccountSchema.optional(), wechat_pay: paymentMethodWechatPaySchema.optional(), zip: paymentMethodZipSchema.optional(), }), ); export const paymentMethodCardSchema: z.ZodSchema = z.lazy(() => z.object({ brand: z.string(), checks: paymentMethodCardChecksSchema.optional().nullable(), country: z.string().optional().nullable(), display_brand: z.string().optional().nullable(), exp_month: z.number(), exp_year: z.number(), fingerprint: z.string().optional().nullable(), funding: z.string(), generated_from: paymentMethodCardGeneratedCardSchema.optional().nullable(), last4: z.string(), networks: networksSchema.optional().nullable(), three_d_secure_usage: threeDSecureUsageSchema.optional().nullable(), wallet: paymentMethodCardWalletSchema.optional().nullable(), }), ); export const paymentMethodSepaDebitSchema: z.ZodSchema = z.lazy(() => z.object({ bank_code: z.string().optional().nullable(), branch_code: z.string().optional().nullable(), country: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), generated_from: sepaDebitGeneratedFromSchema.optional().nullable(), last4: z.string().optional().nullable(), }), ); export const creditNoteSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), amount_shipping: z.number(), created: z.number(), currency: z.string(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]), customer_balance_transaction: z.union([z.string(), customerBalanceTransactionSchema]).optional().nullable(), discount_amount: z.number(), discount_amounts: z.array(discountsResourceDiscountAmountSchema), effective_at: z.number().optional().nullable(), id: z.string(), invoice: z.union([z.string(), invoiceSchema]), lines: z.object({ data: z.array(creditNoteLineItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), livemode: z.boolean(), memo: z.string().optional().nullable(), metadata: z.record(z.string()).optional().nullable(), number: z.string(), object: z.literal('credit_note'), out_of_band_amount: z.number().optional().nullable(), pdf: z.string(), reason: z .union([ z.literal('duplicate'), z.literal('fraudulent'), z.literal('order_change'), z.literal('product_unsatisfactory'), ]) .optional() .nullable(), refund: z.union([z.string(), refundSchema]).optional().nullable(), shipping_cost: invoicesResourceShippingCostSchema.optional().nullable(), status: z.union([z.literal('issued'), z.literal('void')]), subtotal: z.number(), subtotal_excluding_tax: z.number().optional().nullable(), tax_amounts: z.array(creditNoteTaxAmountSchema), total: z.number(), total_excluding_tax: z.number().optional().nullable(), type: z.union([z.literal('post_payment'), z.literal('pre_payment')]), voided_at: z.number().optional().nullable(), }), ); export const customerBalanceTransactionSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), created: z.number(), credit_note: z.union([z.string(), creditNoteSchema]).optional().nullable(), currency: z.string(), customer: z.union([z.string(), customerSchema]), description: z.string().optional().nullable(), ending_balance: z.number(), id: z.string(), invoice: z.union([z.string(), invoiceSchema]).optional().nullable(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('customer_balance_transaction'), type: z.union([ z.literal('adjustment'), z.literal('applied_to_invoice'), z.literal('credit_note'), z.literal('initial'), z.literal('invoice_overpaid'), z.literal('invoice_too_large'), z.literal('invoice_too_small'), z.literal('migration'), z.literal('unapplied_from_invoice'), z.literal('unspent_receiver_credit'), ]), }), ); export const discountsResourceDiscountAmountSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), discount: z.union([z.string(), discountSchema, deletedDiscountSchema]), }), ); export const creditNoteLineItemSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), amount_excluding_tax: z.number().optional().nullable(), description: z.string().optional().nullable(), discount_amount: z.number(), discount_amounts: z.array(discountsResourceDiscountAmountSchema), id: z.string(), invoice_line_item: z.string().optional(), livemode: z.boolean(), object: z.literal('credit_note_line_item'), quantity: z.number().optional().nullable(), tax_amounts: z.array(creditNoteTaxAmountSchema), tax_rates: z.array(taxRateSchema), type: z.union([z.literal('custom_line_item'), z.literal('invoice_line_item')]), unit_amount: z.number().optional().nullable(), unit_amount_decimal: z.string().optional().nullable(), unit_amount_excluding_tax: z.string().optional().nullable(), }), ); export const discountSchema: z.ZodSchema = z.lazy(() => z.object({ checkout_session: z.string().optional().nullable(), coupon: couponSchema, customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), end: z.number().optional().nullable(), id: z.string(), invoice: z.string().optional().nullable(), invoice_item: z.string().optional().nullable(), object: z.literal('discount'), promotion_code: z.union([z.string(), promotionCodeSchema]).optional().nullable(), start: z.number(), subscription: z.string().optional().nullable(), subscription_item: z.string().optional().nullable(), }), ); export const invoiceSettingCustomerSettingSchema: z.ZodSchema = z.lazy(() => z.object({ custom_fields: z.array(invoiceSettingCustomFieldSchema).optional().nullable(), default_payment_method: z.union([z.string(), paymentMethodSchema]).optional().nullable(), footer: z.string().optional().nullable(), rendering_options: invoiceSettingCustomerRenderingOptionsSchema.optional().nullable(), }), ); export const customerBalanceResourceCashBalanceTransactionResourceAdjustedForOverdraftSchema: z.ZodSchema = z.lazy(() => z.object({ balance_transaction: z.union([z.string(), balanceTransactionSchema]), linked_transaction: z.union([z.string(), customerCashBalanceTransactionSchema]), }), ); export const customerBalanceResourceCashBalanceTransactionResourceAppliedToPaymentTransactionSchema: z.ZodSchema = z.lazy(() => z.object({ payment_intent: z.union([z.string(), paymentIntentSchema]), }), ); export const customerBalanceResourceCashBalanceTransactionResourceRefundedFromPaymentTransactionSchema: z.ZodSchema = z.lazy(() => z.object({ refund: z.union([z.string(), refundSchema]), }), ); export const customerBalanceResourceCashBalanceTransactionResourceTransferredToBalanceSchema: z.ZodSchema = z.lazy(() => z.object({ balance_transaction: z.union([z.string(), balanceTransactionSchema]), }), ); export const customerBalanceResourceCashBalanceTransactionResourceUnappliedFromPaymentTransactionSchema: z.ZodSchema = z.lazy(() => z.object({ payment_intent: z.union([z.string(), paymentIntentSchema]), }), ); export const customerSessionSchema: z.ZodSchema = z.lazy(() => z.object({ client_secret: z.string(), components: customerSessionResourceComponentsSchema.optional(), created: z.number(), customer: z.union([z.string(), customerSchema]), expires_at: z.number(), livemode: z.boolean(), object: z.literal('customer_session'), }), ); export const deletedDiscountSchema: z.ZodSchema = z.lazy(() => z.object({ checkout_session: z.string().optional().nullable(), coupon: couponSchema, customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), deleted: z.boolean(), id: z.string(), invoice: z.string().optional().nullable(), invoice_item: z.string().optional().nullable(), object: z.literal('discount'), promotion_code: z.union([z.string(), promotionCodeSchema]).optional().nullable(), start: z.number(), subscription: z.string().optional().nullable(), subscription_item: z.string().optional().nullable(), }), ); export const promotionCodeSchema: z.ZodSchema = z.lazy(() => z.object({ active: z.boolean(), code: z.string(), coupon: couponSchema, created: z.number(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), expires_at: z.number().optional().nullable(), id: z.string(), livemode: z.boolean(), max_redemptions: z.number().optional().nullable(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('promotion_code'), restrictions: promotionCodesResourceRestrictionsSchema, times_redeemed: z.number(), }), ); export const discountsResourceStackableDiscountSchema: z.ZodSchema = z.lazy(() => z.object({ coupon: z.union([z.string(), couponSchema]).optional().nullable(), discount: z.union([z.string(), discountSchema]).optional().nullable(), promotion_code: z.union([z.string(), promotionCodeSchema]).optional().nullable(), }), ); export const disputeEvidenceSchema: z.ZodSchema = z.lazy(() => z.object({ access_activity_log: z.string().optional().nullable(), billing_address: z.string().optional().nullable(), cancellation_policy: z.union([z.string(), fileSchema]).optional().nullable(), cancellation_policy_disclosure: z.string().optional().nullable(), cancellation_rebuttal: z.string().optional().nullable(), customer_communication: z.union([z.string(), fileSchema]).optional().nullable(), customer_email_address: z.string().optional().nullable(), customer_name: z.string().optional().nullable(), customer_purchase_ip: z.string().optional().nullable(), customer_signature: z.union([z.string(), fileSchema]).optional().nullable(), duplicate_charge_documentation: z.union([z.string(), fileSchema]).optional().nullable(), duplicate_charge_explanation: z.string().optional().nullable(), duplicate_charge_id: z.string().optional().nullable(), product_description: z.string().optional().nullable(), receipt: z.union([z.string(), fileSchema]).optional().nullable(), refund_policy: z.union([z.string(), fileSchema]).optional().nullable(), refund_policy_disclosure: z.string().optional().nullable(), refund_refusal_explanation: z.string().optional().nullable(), service_date: z.string().optional().nullable(), service_documentation: z.union([z.string(), fileSchema]).optional().nullable(), shipping_address: z.string().optional().nullable(), shipping_carrier: z.string().optional().nullable(), shipping_date: z.string().optional().nullable(), shipping_documentation: z.union([z.string(), fileSchema]).optional().nullable(), shipping_tracking_number: z.string().optional().nullable(), uncategorized_file: z.union([z.string(), fileSchema]).optional().nullable(), uncategorized_text: z.string().optional().nullable(), }), ); export const errorSchema: z.ZodSchema = z.lazy(() => z.object({ error: apiErrorsSchema, }), ); export const externalAccountSchema: z.ZodSchema = z.lazy(() => z.union([bankAccountSchema, cardSchema]), ); export const fileLinkSchema: z.ZodSchema = z.lazy(() => z.object({ created: z.number(), expired: z.boolean(), expires_at: z.number().optional().nullable(), file: z.union([z.string(), fileSchema]), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('file_link'), url: z.string().optional().nullable(), }), ); export const financialConnectionsAccountSchema: z.ZodSchema = z.lazy(() => z.object({ account_holder: bankConnectionsResourceAccountholderSchema.optional().nullable(), balance: bankConnectionsResourceBalanceSchema.optional().nullable(), balance_refresh: bankConnectionsResourceBalanceRefreshSchema.optional().nullable(), category: z.union([z.literal('cash'), z.literal('credit'), z.literal('investment'), z.literal('other')]), created: z.number(), display_name: z.string().optional().nullable(), id: z.string(), institution_name: z.string(), last4: z.string().optional().nullable(), livemode: z.boolean(), object: z.literal('financial_connections.account'), ownership: z.union([z.string(), financialConnectionsAccountOwnershipSchema]).optional().nullable(), ownership_refresh: bankConnectionsResourceOwnershipRefreshSchema.optional().nullable(), permissions: z .array( z.union([ z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions'), ]), ) .optional() .nullable(), status: z.union([z.literal('active'), z.literal('disconnected'), z.literal('inactive')]), subcategory: z.union([ z.literal('checking'), z.literal('credit_card'), z.literal('line_of_credit'), z.literal('mortgage'), z.literal('other'), z.literal('savings'), ]), subscriptions: z.array(z.literal('transactions')).optional().nullable(), supported_payment_method_types: z.array(z.union([z.literal('link'), z.literal('us_bank_account')])), transaction_refresh: bankConnectionsResourceTransactionRefreshSchema.optional().nullable(), }), ); export const financialConnectionsSessionSchema: z.ZodSchema = z.lazy(() => z.object({ account_holder: bankConnectionsResourceAccountholderSchema.optional().nullable(), accounts: z.object({ data: z.array(financialConnectionsAccountSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), client_secret: z.string(), filters: bankConnectionsResourceLinkAccountSessionFiltersSchema.optional(), id: z.string(), livemode: z.boolean(), object: z.literal('financial_connections.session'), permissions: z.array( z.union([z.literal('balances'), z.literal('ownership'), z.literal('payment_method'), z.literal('transactions')]), ), prefetch: z .array(z.union([z.literal('balances'), z.literal('ownership'), z.literal('transactions')])) .optional() .nullable(), return_url: z.string().optional(), }), ); export const inboundTransfersSchema: z.ZodSchema = z.lazy(() => z.object({ billing_details: treasurySharedResourceBillingDetailsSchema, type: z.literal('us_bank_account'), us_bank_account: inboundTransfersPaymentMethodDetailsUsBankAccountSchema.optional(), }), ); export const inboundTransfersPaymentMethodDetailsUsBankAccountSchema: z.ZodSchema = z.lazy(() => z.object({ account_holder_type: z .union([z.literal('company'), z.literal('individual')]) .optional() .nullable(), account_type: z .union([z.literal('checking'), z.literal('savings')]) .optional() .nullable(), bank_name: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), mandate: z.union([z.string(), mandateSchema]).optional(), network: z.literal('ach'), routing_number: z.string().optional().nullable(), }), ); export const mandateSchema: z.ZodSchema = z.lazy(() => z.object({ customer_acceptance: customerAcceptanceSchema, id: z.string(), livemode: z.boolean(), multi_use: mandateMultiUseSchema.optional(), object: z.literal('mandate'), on_behalf_of: z.string().optional(), payment_method: z.union([z.string(), paymentMethodSchema]), payment_method_details: mandatePaymentMethodDetailsSchema, single_use: mandateSingleUseSchema.optional(), status: z.union([z.literal('active'), z.literal('inactive'), z.literal('pending')]), type: z.union([z.literal('multi_use'), z.literal('single_use')]), }), ); export const invoicesResourceFromInvoiceSchema: z.ZodSchema = z.lazy(() => z.object({ action: z.string(), invoice: z.union([z.string(), invoiceSchema]), }), ); export const lineItemSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), amount_excluding_tax: z.number().optional().nullable(), currency: z.string(), description: z.string().optional().nullable(), discount_amounts: z.array(discountsResourceDiscountAmountSchema).optional().nullable(), discountable: z.boolean(), discounts: z.array(z.union([z.string(), discountSchema])), id: z.string(), invoice: z.string().optional().nullable(), invoice_item: z.union([z.string(), invoiceitemSchema]).optional(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('line_item'), period: invoiceLineItemPeriodSchema, price: priceSchema.optional().nullable(), proration: z.boolean(), proration_details: invoicesResourceLineItemsProrationDetailsSchema.optional().nullable(), quantity: z.number().optional().nullable(), subscription: z.union([z.string(), subscriptionSchema]).optional().nullable(), subscription_item: z.union([z.string(), subscriptionItemSchema]).optional(), tax_amounts: z.array(invoiceTaxAmountSchema).optional(), tax_rates: z.array(taxRateSchema).optional(), type: z.union([z.literal('invoiceitem'), z.literal('subscription')]), unit_amount_excluding_tax: z.string().optional().nullable(), }), ); export const quoteSchema: z.ZodSchema = z.lazy(() => z.object({ amount_subtotal: z.number(), amount_total: z.number(), application: z.union([z.string(), applicationSchema, deletedApplicationSchema]).optional().nullable(), application_fee_amount: z.number().optional().nullable(), application_fee_percent: z.number().optional().nullable(), automatic_tax: quotesResourceAutomaticTaxSchema, collection_method: z.union([z.literal('charge_automatically'), z.literal('send_invoice')]), computed: quotesResourceComputedSchema, created: z.number(), currency: z.string().optional().nullable(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), default_tax_rates: z.array(z.union([z.string(), taxRateSchema])).optional(), description: z.string().optional().nullable(), discounts: z.array(z.union([z.string(), discountSchema])), expires_at: z.number(), footer: z.string().optional().nullable(), from_quote: quotesResourceFromQuoteSchema.optional().nullable(), header: z.string().optional().nullable(), id: z.string(), invoice: z.union([z.string(), invoiceSchema, deletedInvoiceSchema]).optional().nullable(), invoice_settings: invoiceSettingQuoteSettingSchema, line_items: z .object({ data: z.array(itemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional(), livemode: z.boolean(), metadata: z.record(z.string()), number: z.string().optional().nullable(), object: z.literal('quote'), on_behalf_of: z.union([z.string(), accountSchema]).optional().nullable(), status: z.union([z.literal('accepted'), z.literal('canceled'), z.literal('draft'), z.literal('open')]), status_transitions: quotesResourceStatusTransitionsSchema, subscription: z.union([z.string(), subscriptionSchema]).optional().nullable(), subscription_data: quotesResourceSubscriptionDataSubscriptionDataSchema, subscription_schedule: z.union([z.string(), subscriptionScheduleSchema]).optional().nullable(), test_clock: z.union([z.string(), testHelpersTestClockSchema]).optional().nullable(), total_details: quotesResourceTotalDetailsSchema, transfer_data: quotesResourceTransferDataSchema.optional().nullable(), }), ); export const invoiceTransferDataSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number().optional().nullable(), destination: z.union([z.string(), accountSchema]), }), ); export const invoiceSettingQuoteSettingSchema: z.ZodSchema = z.lazy(() => z.object({ days_until_due: z.number().optional().nullable(), issuer: connectAccountReferenceSchema, }), ); export const invoiceSettingSubscriptionSchedulePhaseSettingSchema: z.ZodSchema = z.lazy(() => z.object({ account_tax_ids: z .array(z.union([z.string(), taxIdSchema, deletedTaxIdSchema])) .optional() .nullable(), days_until_due: z.number().optional().nullable(), issuer: connectAccountReferenceSchema.optional().nullable(), }), ); export const invoiceSettingSubscriptionScheduleSettingSchema: z.ZodSchema = z.lazy(() => z.object({ account_tax_ids: z .array(z.union([z.string(), taxIdSchema, deletedTaxIdSchema])) .optional() .nullable(), days_until_due: z.number().optional().nullable(), issuer: connectAccountReferenceSchema, }), ); export const invoiceitemSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), currency: z.string(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]), date: z.number(), description: z.string().optional().nullable(), discountable: z.boolean(), discounts: z .array(z.union([z.string(), discountSchema])) .optional() .nullable(), id: z.string(), invoice: z.union([z.string(), invoiceSchema]).optional().nullable(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('invoiceitem'), period: invoiceLineItemPeriodSchema, price: priceSchema.optional().nullable(), proration: z.boolean(), quantity: z.number(), subscription: z.union([z.string(), subscriptionSchema]).optional().nullable(), subscription_item: z.string().optional(), tax_rates: z.array(taxRateSchema).optional().nullable(), test_clock: z.union([z.string(), testHelpersTestClockSchema]).optional().nullable(), unit_amount: z.number().optional().nullable(), unit_amount_decimal: z.string().optional().nullable(), }), ); export const priceSchema: z.ZodSchema = z.lazy(() => z.object({ active: z.boolean(), billing_scheme: z.union([z.literal('per_unit'), z.literal('tiered')]), created: z.number(), currency: z.string(), currency_options: z.record(currencyOptionSchema).optional(), custom_unit_amount: customUnitAmountSchema.optional().nullable(), id: z.string(), livemode: z.boolean(), lookup_key: z.string().optional().nullable(), metadata: z.record(z.string()), nickname: z.string().optional().nullable(), object: z.literal('price'), product: z.union([z.string(), productSchema, deletedProductSchema]), recurring: recurringSchema.optional().nullable(), tax_behavior: z .union([z.literal('exclusive'), z.literal('inclusive'), z.literal('unspecified')]) .optional() .nullable(), tiers: z.array(priceTierSchema).optional(), tiers_mode: z .union([z.literal('graduated'), z.literal('volume')]) .optional() .nullable(), transform_quantity: transformQuantitySchema.optional().nullable(), type: z.union([z.literal('one_time'), z.literal('recurring')]), unit_amount: z.number().optional().nullable(), unit_amount_decimal: z.string().optional().nullable(), }), ); export const issuingCardSchema: z.ZodSchema = z.lazy(() => z.object({ brand: z.string(), cancellation_reason: z .union([z.literal('design_rejected'), z.literal('lost'), z.literal('stolen')]) .optional() .nullable(), cardholder: issuingCardholderSchema, created: z.number(), currency: z.string(), cvc: z.string().optional(), exp_month: z.number(), exp_year: z.number(), financial_account: z.string().optional().nullable(), id: z.string(), last4: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), number: z.string().optional(), object: z.literal('issuing.card'), personalization_design: z.union([z.string(), issuingPersonalizationDesignSchema]).optional().nullable(), replaced_by: z.union([z.string(), issuingCardSchema]).optional().nullable(), replacement_for: z.union([z.string(), issuingCardSchema]).optional().nullable(), replacement_reason: z .union([z.literal('damaged'), z.literal('expired'), z.literal('lost'), z.literal('stolen')]) .optional() .nullable(), shipping: issuingCardShippingSchema.optional().nullable(), spending_controls: issuingCardAuthorizationControlsSchema, status: z.union([z.literal('active'), z.literal('canceled'), z.literal('inactive')]), type: z.union([z.literal('physical'), z.literal('virtual')]), wallets: issuingCardWalletsSchema.optional().nullable(), }), ); export const issuingCardholderSchema: z.ZodSchema = z.lazy(() => z.object({ billing: issuingCardholderAddressSchema, company: issuingCardholderCompanySchema.optional().nullable(), created: z.number(), email: z.string().optional().nullable(), id: z.string(), individual: issuingCardholderIndividualSchema.optional().nullable(), livemode: z.boolean(), metadata: z.record(z.string()), name: z.string(), object: z.literal('issuing.cardholder'), phone_number: z.string().optional().nullable(), preferred_locales: z .array(z.union([z.literal('de'), z.literal('en'), z.literal('es'), z.literal('fr'), z.literal('it')])) .optional() .nullable(), requirements: issuingCardholderRequirementsSchema, spending_controls: issuingCardholderAuthorizationControlsSchema.optional().nullable(), status: z.union([z.literal('active'), z.literal('blocked'), z.literal('inactive')]), type: z.union([z.literal('company'), z.literal('individual')]), }), ); export const issuingTokenSchema: z.ZodSchema = z.lazy(() => z.object({ card: z.union([z.string(), issuingCardSchema]), created: z.number(), device_fingerprint: z.string().optional().nullable(), id: z.string(), last4: z.string().optional(), livemode: z.boolean(), network: z.union([z.literal('mastercard'), z.literal('visa')]), network_data: issuingNetworkTokenNetworkDataSchema.optional(), network_updated_at: z.number(), object: z.literal('issuing.token'), status: z.union([z.literal('active'), z.literal('deleted'), z.literal('requested'), z.literal('suspended')]), wallet_provider: z.union([z.literal('apple_pay'), z.literal('google_pay'), z.literal('samsung_pay')]).optional(), }), ); export const issuingPersonalizationDesignSchema: z.ZodSchema = z.lazy(() => z.object({ card_logo: z.union([z.string(), fileSchema]).optional().nullable(), carrier_text: issuingPersonalizationDesignCarrierTextSchema.optional().nullable(), created: z.number(), id: z.string(), livemode: z.boolean(), lookup_key: z.string().optional().nullable(), metadata: z.record(z.string()), name: z.string().optional().nullable(), object: z.literal('issuing.personalization_design'), physical_bundle: z.union([z.string(), issuingPhysicalBundleSchema]), preferences: issuingPersonalizationDesignPreferencesSchema, rejection_reasons: issuingPersonalizationDesignRejectionReasonsSchema, status: z.union([z.literal('active'), z.literal('inactive'), z.literal('rejected'), z.literal('review')]), }), ); export const issuingCardholderIndividualSchema: z.ZodSchema = z.lazy(() => z.object({ card_issuing: issuingCardholderCardIssuingSchema.optional().nullable(), dob: issuingCardholderIndividualDobSchema.optional().nullable(), first_name: z.string().optional().nullable(), last_name: z.string().optional().nullable(), verification: issuingCardholderVerificationSchema.optional().nullable(), }), ); export const issuingCardholderIdDocumentSchema: z.ZodSchema = z.lazy(() => z.object({ back: z.union([z.string(), fileSchema]).optional().nullable(), front: z.union([z.string(), fileSchema]).optional().nullable(), }), ); export const issuingCardholderVerificationSchema: z.ZodSchema = z.lazy(() => z.object({ document: issuingCardholderIdDocumentSchema.optional().nullable(), }), ); export const issuingDisputeEvidenceSchema: z.ZodSchema = z.lazy(() => z.object({ canceled: issuingDisputeCanceledEvidenceSchema.optional(), duplicate: issuingDisputeDuplicateEvidenceSchema.optional(), fraudulent: issuingDisputeFraudulentEvidenceSchema.optional(), merchandise_not_as_described: issuingDisputeMerchandiseNotAsDescribedEvidenceSchema.optional(), no_valid_authorization: issuingDisputeNoValidAuthorizationEvidenceSchema.optional(), not_received: issuingDisputeNotReceivedEvidenceSchema.optional(), other: issuingDisputeOtherEvidenceSchema.optional(), reason: z.union([ z.literal('canceled'), z.literal('duplicate'), z.literal('fraudulent'), z.literal('merchandise_not_as_described'), z.literal('no_valid_authorization'), z.literal('not_received'), z.literal('other'), z.literal('service_not_as_described'), ]), service_not_as_described: issuingDisputeServiceNotAsDescribedEvidenceSchema.optional(), }), ); export const issuingDisputeCanceledEvidenceSchema: z.ZodSchema = z.lazy(() => z.object({ additional_documentation: z.union([z.string(), fileSchema]).optional().nullable(), canceled_at: z.number().optional().nullable(), cancellation_policy_provided: z.boolean().optional().nullable(), cancellation_reason: z.string().optional().nullable(), expected_at: z.number().optional().nullable(), explanation: z.string().optional().nullable(), product_description: z.string().optional().nullable(), product_type: z .union([z.literal('merchandise'), z.literal('service')]) .optional() .nullable(), return_status: z .union([z.literal('merchant_rejected'), z.literal('successful')]) .optional() .nullable(), returned_at: z.number().optional().nullable(), }), ); export const issuingDisputeDuplicateEvidenceSchema: z.ZodSchema = z.lazy(() => z.object({ additional_documentation: z.union([z.string(), fileSchema]).optional().nullable(), card_statement: z.union([z.string(), fileSchema]).optional().nullable(), cash_receipt: z.union([z.string(), fileSchema]).optional().nullable(), check_image: z.union([z.string(), fileSchema]).optional().nullable(), explanation: z.string().optional().nullable(), original_transaction: z.string().optional().nullable(), }), ); export const issuingDisputeFraudulentEvidenceSchema: z.ZodSchema = z.lazy(() => z.object({ additional_documentation: z.union([z.string(), fileSchema]).optional().nullable(), explanation: z.string().optional().nullable(), }), ); export const issuingDisputeMerchandiseNotAsDescribedEvidenceSchema: z.ZodSchema = z.lazy(() => z.object({ additional_documentation: z.union([z.string(), fileSchema]).optional().nullable(), explanation: z.string().optional().nullable(), received_at: z.number().optional().nullable(), return_description: z.string().optional().nullable(), return_status: z .union([z.literal('merchant_rejected'), z.literal('successful')]) .optional() .nullable(), returned_at: z.number().optional().nullable(), }), ); export const issuingDisputeNoValidAuthorizationEvidenceSchema: z.ZodSchema = z.lazy(() => z.object({ additional_documentation: z.union([z.string(), fileSchema]).optional().nullable(), explanation: z.string().optional().nullable(), }), ); export const issuingDisputeNotReceivedEvidenceSchema: z.ZodSchema = z.lazy(() => z.object({ additional_documentation: z.union([z.string(), fileSchema]).optional().nullable(), expected_at: z.number().optional().nullable(), explanation: z.string().optional().nullable(), product_description: z.string().optional().nullable(), product_type: z .union([z.literal('merchandise'), z.literal('service')]) .optional() .nullable(), }), ); export const issuingDisputeOtherEvidenceSchema: z.ZodSchema = z.lazy(() => z.object({ additional_documentation: z.union([z.string(), fileSchema]).optional().nullable(), explanation: z.string().optional().nullable(), product_description: z.string().optional().nullable(), product_type: z .union([z.literal('merchandise'), z.literal('service')]) .optional() .nullable(), }), ); export const issuingDisputeServiceNotAsDescribedEvidenceSchema: z.ZodSchema = z.lazy(() => z.object({ additional_documentation: z.union([z.string(), fileSchema]).optional().nullable(), canceled_at: z.number().optional().nullable(), cancellation_reason: z.string().optional().nullable(), explanation: z.string().optional().nullable(), received_at: z.number().optional().nullable(), }), ); export const lineItemsDiscountAmountSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), discount: discountSchema, }), ); export const legalEntityCompanyVerificationSchema: z.ZodSchema = z.lazy(() => z.object({ document: legalEntityCompanyVerificationDocumentSchema, }), ); export const legalEntityCompanyVerificationDocumentSchema: z.ZodSchema = z.lazy(() => z.object({ back: z.union([z.string(), fileSchema]).optional().nullable(), details: z.string().optional().nullable(), details_code: z.string().optional().nullable(), front: z.union([z.string(), fileSchema]).optional().nullable(), }), ); export const legalEntityPersonVerificationSchema: z.ZodSchema = z.lazy(() => z.object({ additional_document: legalEntityPersonVerificationDocumentSchema.optional().nullable(), details: z.string().optional().nullable(), details_code: z.string().optional().nullable(), document: legalEntityPersonVerificationDocumentSchema.optional(), status: z.string(), }), ); export const legalEntityPersonVerificationDocumentSchema: z.ZodSchema = z.lazy(() => z.object({ back: z.union([z.string(), fileSchema]).optional().nullable(), details: z.string().optional().nullable(), details_code: z.string().optional().nullable(), front: z.union([z.string(), fileSchema]).optional().nullable(), }), ); export const subscriptionItemSchema: z.ZodSchema = z.lazy(() => z.object({ billing_thresholds: subscriptionItemBillingThresholdsSchema.optional().nullable(), created: z.number(), discounts: z.array(z.union([z.string(), discountSchema])), id: z.string(), metadata: z.record(z.string()), object: z.literal('subscription_item'), price: priceSchema, quantity: z.number().optional(), subscription: z.string(), tax_rates: z.array(taxRateSchema).optional().nullable(), }), ); export const outboundPaymentsPaymentMethodDetailsSchema: z.ZodSchema = z.lazy( () => z.object({ billing_details: treasurySharedResourceBillingDetailsSchema, financial_account: outboundPaymentsPaymentMethodDetailsFinancialAccountSchema.optional(), type: z.union([z.literal('financial_account'), z.literal('us_bank_account')]), us_bank_account: outboundPaymentsPaymentMethodDetailsUsBankAccountSchema.optional(), }), ); export const outboundPaymentsPaymentMethodDetailsUsBankAccountSchema: z.ZodSchema = z.lazy(() => z.object({ account_holder_type: z .union([z.literal('company'), z.literal('individual')]) .optional() .nullable(), account_type: z .union([z.literal('checking'), z.literal('savings')]) .optional() .nullable(), bank_name: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), mandate: z.union([z.string(), mandateSchema]).optional(), network: z.union([z.literal('ach'), z.literal('us_domestic_wire')]), routing_number: z.string().optional().nullable(), }), ); export const outboundTransfersPaymentMethodDetailsSchema: z.ZodSchema = z.lazy(() => z.object({ billing_details: treasurySharedResourceBillingDetailsSchema, type: z.literal('us_bank_account'), us_bank_account: outboundTransfersPaymentMethodDetailsUsBankAccountSchema.optional(), }), ); export const outboundTransfersPaymentMethodDetailsUsBankAccountSchema: z.ZodSchema = z.lazy(() => z.object({ account_holder_type: z .union([z.literal('company'), z.literal('individual')]) .optional() .nullable(), account_type: z .union([z.literal('checking'), z.literal('savings')]) .optional() .nullable(), bank_name: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), mandate: z.union([z.string(), mandateSchema]).optional(), network: z.union([z.literal('ach'), z.literal('us_domestic_wire')]), routing_number: z.string().optional().nullable(), }), ); export const transferDataSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number().optional(), destination: z.union([z.string(), accountSchema]), }), ); export const paymentLinksResourceAutomaticTaxSchema: z.ZodSchema = z.lazy(() => z.object({ enabled: z.boolean(), liability: connectAccountReferenceSchema.optional().nullable(), }), ); export const paymentLinksResourceInvoiceCreationSchema: z.ZodSchema = z.lazy( () => z.object({ enabled: z.boolean(), invoice_data: paymentLinksResourceInvoiceSettingsSchema.optional().nullable(), }), ); export const paymentLinksResourceSubscriptionDataSchema: z.ZodSchema = z.lazy( () => z.object({ description: z.string().optional().nullable(), invoice_settings: paymentLinksResourceSubscriptionDataInvoiceSettingsSchema, metadata: z.record(z.string()), trial_period_days: z.number().optional().nullable(), trial_settings: subscriptionsTrialsResourceTrialSettingsSchema.optional().nullable(), }), ); export const paymentLinksResourceTransferDataSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number().optional().nullable(), destination: z.union([z.string(), accountSchema]), }), ); export const paymentLinksResourceInvoiceSettingsSchema: z.ZodSchema = z.lazy( () => z.object({ account_tax_ids: z .array(z.union([z.string(), taxIdSchema, deletedTaxIdSchema])) .optional() .nullable(), custom_fields: z.array(invoiceSettingCustomFieldSchema).optional().nullable(), description: z.string().optional().nullable(), footer: z.string().optional().nullable(), issuer: connectAccountReferenceSchema.optional().nullable(), metadata: z.record(z.string()).optional().nullable(), rendering_options: invoiceSettingRenderingOptionsSchema.optional().nullable(), }), ); export const paymentLinksResourceSubscriptionDataInvoiceSettingsSchema: z.ZodSchema = z.lazy(() => z.object({ issuer: connectAccountReferenceSchema, }), ); export const paymentMethodCardGeneratedCardSchema: z.ZodSchema = z.lazy(() => z.object({ charge: z.string().optional().nullable(), payment_method_details: cardGeneratedFromPaymentMethodDetailsSchema.optional().nullable(), setup_attempt: z.union([z.string(), setupAttemptSchema]).optional().nullable(), }), ); export const setupAttemptSchema: z.ZodSchema = z.lazy(() => z.object({ application: z.union([z.string(), applicationSchema]).optional().nullable(), attach_to_self: z.boolean().optional(), created: z.number(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]).optional().nullable(), flow_directions: z .array(z.union([z.literal('inbound'), z.literal('outbound')])) .optional() .nullable(), id: z.string(), livemode: z.boolean(), object: z.literal('setup_attempt'), on_behalf_of: z.union([z.string(), accountSchema]).optional().nullable(), payment_method: z.union([z.string(), paymentMethodSchema]), payment_method_details: setupAttemptPaymentMethodDetailsSchema, setup_error: apiErrorsSchema.optional().nullable(), setup_intent: z.union([z.string(), setupIntentSchema]), status: z.string(), usage: z.string(), }), ); export const paymentMethodDetailsBancontactSchema: z.ZodSchema = z.lazy(() => z.object({ bank_code: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), bic: z.string().optional().nullable(), generated_sepa_debit: z.union([z.string(), paymentMethodSchema]).optional().nullable(), generated_sepa_debit_mandate: z.union([z.string(), mandateSchema]).optional().nullable(), iban_last4: z.string().optional().nullable(), preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional() .nullable(), verified_name: z.string().optional().nullable(), }), ); export const paymentMethodDetailsIdealSchema: z.ZodSchema = z.lazy(() => z.object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional() .nullable(), bic: z .union([ z.literal('ABNANL2A'), z.literal('ASNBNL21'), z.literal('BITSNL2A'), z.literal('BUNQNL2A'), z.literal('FVLBNL22'), z.literal('HANDNL2A'), z.literal('INGBNL2A'), z.literal('KNABNL2H'), z.literal('MOYONL21'), z.literal('NNBANL2G'), z.literal('NTSBDEB1'), z.literal('RABONL2U'), z.literal('RBRBNL21'), z.literal('REVOIE23'), z.literal('REVOLT21'), z.literal('SNSBNL2A'), z.literal('TRIONL2U'), ]) .optional() .nullable(), generated_sepa_debit: z.union([z.string(), paymentMethodSchema]).optional().nullable(), generated_sepa_debit_mandate: z.union([z.string(), mandateSchema]).optional().nullable(), iban_last4: z.string().optional().nullable(), verified_name: z.string().optional().nullable(), }), ); export const paymentMethodDetailsSofortSchema: z.ZodSchema = z.lazy(() => z.object({ bank_code: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), bic: z.string().optional().nullable(), country: z.string().optional().nullable(), generated_sepa_debit: z.union([z.string(), paymentMethodSchema]).optional().nullable(), generated_sepa_debit_mandate: z.union([z.string(), mandateSchema]).optional().nullable(), iban_last4: z.string().optional().nullable(), preferred_language: z .union([ z.literal('de'), z.literal('en'), z.literal('es'), z.literal('fr'), z.literal('it'), z.literal('nl'), z.literal('pl'), ]) .optional() .nullable(), verified_name: z.string().optional().nullable(), }), ); export const paymentMethodDetailsUsBankAccountSchema: z.ZodSchema = z.lazy(() => z.object({ account_holder_type: z .union([z.literal('company'), z.literal('individual')]) .optional() .nullable(), account_type: z .union([z.literal('checking'), z.literal('savings')]) .optional() .nullable(), bank_name: z.string().optional().nullable(), fingerprint: z.string().optional().nullable(), last4: z.string().optional().nullable(), mandate: z.union([z.string(), mandateSchema]).optional(), payment_reference: z.string().optional().nullable(), routing_number: z.string().optional().nullable(), }), ); export const sepaDebitGeneratedFromSchema: z.ZodSchema = z.lazy(() => z.object({ charge: z.union([z.string(), chargeSchema]).optional().nullable(), setup_attempt: z.union([z.string(), setupAttemptSchema]).optional().nullable(), }), ); export const paymentPagesCheckoutSessionInvoiceSettingsSchema: z.ZodSchema = z.lazy(() => z.object({ account_tax_ids: z .array(z.union([z.string(), taxIdSchema, deletedTaxIdSchema])) .optional() .nullable(), custom_fields: z.array(invoiceSettingCustomFieldSchema).optional().nullable(), description: z.string().optional().nullable(), footer: z.string().optional().nullable(), issuer: connectAccountReferenceSchema.optional().nullable(), metadata: z.record(z.string()).optional().nullable(), rendering_options: invoiceSettingRenderingOptionsSchema.optional().nullable(), }), ); export const paymentPagesCheckoutSessionTotalDetailsResourceBreakdownSchema: z.ZodSchema = z.lazy(() => z.object({ discounts: z.array(lineItemsDiscountAmountSchema), taxes: z.array(lineItemsTaxAmountSchema), }), ); export const paymentSourceSchema: z.ZodSchema = z.lazy(() => z.union([accountSchema, bankAccountSchema, cardSchema, sourceSchema]), ); export const planSchema: z.ZodSchema = z.lazy(() => z.object({ active: z.boolean(), aggregate_usage: z .union([z.literal('last_during_period'), z.literal('last_ever'), z.literal('max'), z.literal('sum')]) .optional() .nullable(), amount: z.number().optional().nullable(), amount_decimal: z.string().optional().nullable(), billing_scheme: z.union([z.literal('per_unit'), z.literal('tiered')]), created: z.number(), currency: z.string(), id: z.string(), interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), meter: z.string().optional().nullable(), nickname: z.string().optional().nullable(), object: z.literal('plan'), product: z.union([z.string(), productSchema, deletedProductSchema]).optional().nullable(), tiers: z.array(planTierSchema).optional(), tiers_mode: z .union([z.literal('graduated'), z.literal('volume')]) .optional() .nullable(), transform_usage: transformUsageSchema.optional().nullable(), trial_period_days: z.number().optional().nullable(), usage_type: z.union([z.literal('licensed'), z.literal('metered')]), }), ); export const productSchema: z.ZodSchema = z.lazy(() => z.object({ active: z.boolean(), created: z.number(), default_price: z.union([z.string(), priceSchema]).optional().nullable(), description: z.string().optional().nullable(), id: z.string(), images: z.array(z.string()), livemode: z.boolean(), marketing_features: z.array(productMarketingFeatureSchema), metadata: z.record(z.string()), name: z.string(), object: z.literal('product'), package_dimensions: packageDimensionsSchema.optional().nullable(), shippable: z.boolean().optional().nullable(), statement_descriptor: z.string().optional().nullable(), tax_code: z.union([z.string(), taxCodeSchema]).optional().nullable(), unit_label: z.string().optional().nullable(), updated: z.number(), url: z.string().optional().nullable(), }), ); export const quotesResourceAutomaticTaxSchema: z.ZodSchema = z.lazy(() => z.object({ enabled: z.boolean(), liability: connectAccountReferenceSchema.optional().nullable(), status: z .union([z.literal('complete'), z.literal('failed'), z.literal('requires_location_inputs')]) .optional() .nullable(), }), ); export const quotesResourceComputedSchema: z.ZodSchema = z.lazy(() => z.object({ recurring: quotesResourceRecurringSchema.optional().nullable(), upfront: quotesResourceUpfrontSchema, }), ); export const quotesResourceFromQuoteSchema: z.ZodSchema = z.lazy(() => z.object({ is_revision: z.boolean(), quote: z.union([z.string(), quoteSchema]), }), ); export const subscriptionScheduleSchema: z.ZodSchema = z.lazy(() => z.object({ application: z.union([z.string(), applicationSchema, deletedApplicationSchema]).optional().nullable(), canceled_at: z.number().optional().nullable(), completed_at: z.number().optional().nullable(), created: z.number(), current_phase: subscriptionScheduleCurrentPhaseSchema.optional().nullable(), customer: z.union([z.string(), customerSchema, deletedCustomerSchema]), default_settings: subscriptionSchedulesResourceDefaultSettingsSchema, end_behavior: z.union([z.literal('cancel'), z.literal('none'), z.literal('release'), z.literal('renew')]), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()).optional().nullable(), object: z.literal('subscription_schedule'), phases: z.array(subscriptionSchedulePhaseConfigurationSchema), released_at: z.number().optional().nullable(), released_subscription: z.string().optional().nullable(), status: z.union([ z.literal('active'), z.literal('canceled'), z.literal('completed'), z.literal('not_started'), z.literal('released'), ]), subscription: z.union([z.string(), subscriptionSchema]).optional().nullable(), test_clock: z.union([z.string(), testHelpersTestClockSchema]).optional().nullable(), }), ); export const quotesResourceTotalDetailsSchema: z.ZodSchema = z.lazy(() => z.object({ amount_discount: z.number(), amount_shipping: z.number().optional().nullable(), amount_tax: z.number(), breakdown: quotesResourceTotalDetailsResourceBreakdownSchema.optional(), }), ); export const quotesResourceTransferDataSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number().optional().nullable(), amount_percent: z.number().optional().nullable(), destination: z.union([z.string(), accountSchema]), }), ); export const quotesResourceRecurringSchema: z.ZodSchema = z.lazy(() => z.object({ amount_subtotal: z.number(), amount_total: z.number(), interval: z.union([z.literal('day'), z.literal('month'), z.literal('week'), z.literal('year')]), interval_count: z.number(), total_details: quotesResourceTotalDetailsSchema, }), ); export const quotesResourceUpfrontSchema: z.ZodSchema = z.lazy(() => z.object({ amount_subtotal: z.number(), amount_total: z.number(), line_items: z .object({ data: z.array(itemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional(), total_details: quotesResourceTotalDetailsSchema, }), ); export const quotesResourceTotalDetailsResourceBreakdownSchema: z.ZodSchema = z.lazy(() => z.object({ discounts: z.array(lineItemsDiscountAmountSchema), taxes: z.array(lineItemsTaxAmountSchema), }), ); export const radarEarlyFraudWarningSchema: z.ZodSchema = z.lazy(() => z.object({ actionable: z.boolean(), charge: z.union([z.string(), chargeSchema]), created: z.number(), fraud_type: z.string(), id: z.string(), livemode: z.boolean(), object: z.literal('radar.early_fraud_warning'), payment_intent: z.union([z.string(), paymentIntentSchema]).optional(), }), ); export const reportingReportRunSchema: z.ZodSchema = z.lazy(() => z.object({ created: z.number(), error: z.string().optional().nullable(), id: z.string(), livemode: z.boolean(), object: z.literal('reporting.report_run'), parameters: financialReportingFinanceReportRunRunParametersSchema, report_type: z.string(), result: fileSchema.optional().nullable(), status: z.string(), succeeded_at: z.number().optional().nullable(), }), ); export const scheduledQueryRunSchema: z.ZodSchema = z.lazy(() => z.object({ created: z.number(), data_load_time: z.number(), error: sigmaScheduledQueryRunErrorSchema.optional(), file: fileSchema.optional().nullable(), id: z.string(), livemode: z.boolean(), object: z.literal('scheduled_query_run'), result_available_until: z.number(), sql: z.string(), status: z.string(), title: z.string(), }), ); export const schedulesPhaseAutomaticTaxSchema: z.ZodSchema = z.lazy(() => z.object({ enabled: z.boolean(), liability: connectAccountReferenceSchema.optional().nullable(), }), ); export const setupAttemptPaymentMethodDetailsSchema: z.ZodSchema = z.lazy(() => z.object({ acss_debit: setupAttemptPaymentMethodDetailsAcssDebitSchema.optional(), amazon_pay: setupAttemptPaymentMethodDetailsAmazonPaySchema.optional(), au_becs_debit: setupAttemptPaymentMethodDetailsAuBecsDebitSchema.optional(), bacs_debit: setupAttemptPaymentMethodDetailsBacsDebitSchema.optional(), bancontact: setupAttemptPaymentMethodDetailsBancontactSchema.optional(), boleto: setupAttemptPaymentMethodDetailsBoletoSchema.optional(), card: setupAttemptPaymentMethodDetailsCardSchema.optional(), card_present: setupAttemptPaymentMethodDetailsCardPresentSchema.optional(), cashapp: setupAttemptPaymentMethodDetailsCashappSchema.optional(), ideal: setupAttemptPaymentMethodDetailsIdealSchema.optional(), klarna: setupAttemptPaymentMethodDetailsKlarnaSchema.optional(), link: setupAttemptPaymentMethodDetailsLinkSchema.optional(), paypal: setupAttemptPaymentMethodDetailsPaypalSchema.optional(), revolut_pay: setupAttemptPaymentMethodDetailsRevolutPaySchema.optional(), sepa_debit: setupAttemptPaymentMethodDetailsSepaDebitSchema.optional(), sofort: setupAttemptPaymentMethodDetailsSofortSchema.optional(), type: z.string(), us_bank_account: setupAttemptPaymentMethodDetailsUsBankAccountSchema.optional(), }), ); export const setupAttemptPaymentMethodDetailsBancontactSchema: z.ZodSchema = z.lazy(() => z.object({ bank_code: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), bic: z.string().optional().nullable(), generated_sepa_debit: z.union([z.string(), paymentMethodSchema]).optional().nullable(), generated_sepa_debit_mandate: z.union([z.string(), mandateSchema]).optional().nullable(), iban_last4: z.string().optional().nullable(), preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional() .nullable(), verified_name: z.string().optional().nullable(), }), ); export const setupAttemptPaymentMethodDetailsCardPresentSchema: z.ZodSchema = z.lazy(() => z.object({ generated_card: z.union([z.string(), paymentMethodSchema]).optional().nullable(), offline: paymentMethodDetailsCardPresentOfflineSchema.optional().nullable(), }), ); export const setupAttemptPaymentMethodDetailsIdealSchema: z.ZodSchema = z.lazy(() => z.object({ bank: z .union([ z.literal('abn_amro'), z.literal('asn_bank'), z.literal('bunq'), z.literal('handelsbanken'), z.literal('ing'), z.literal('knab'), z.literal('moneyou'), z.literal('n26'), z.literal('nn'), z.literal('rabobank'), z.literal('regiobank'), z.literal('revolut'), z.literal('sns_bank'), z.literal('triodos_bank'), z.literal('van_lanschot'), z.literal('yoursafe'), ]) .optional() .nullable(), bic: z .union([ z.literal('ABNANL2A'), z.literal('ASNBNL21'), z.literal('BITSNL2A'), z.literal('BUNQNL2A'), z.literal('FVLBNL22'), z.literal('HANDNL2A'), z.literal('INGBNL2A'), z.literal('KNABNL2H'), z.literal('MOYONL21'), z.literal('NNBANL2G'), z.literal('NTSBDEB1'), z.literal('RABONL2U'), z.literal('RBRBNL21'), z.literal('REVOIE23'), z.literal('REVOLT21'), z.literal('SNSBNL2A'), z.literal('TRIONL2U'), ]) .optional() .nullable(), generated_sepa_debit: z.union([z.string(), paymentMethodSchema]).optional().nullable(), generated_sepa_debit_mandate: z.union([z.string(), mandateSchema]).optional().nullable(), iban_last4: z.string().optional().nullable(), verified_name: z.string().optional().nullable(), }), ); export const setupAttemptPaymentMethodDetailsSofortSchema: z.ZodSchema = z.lazy(() => z.object({ bank_code: z.string().optional().nullable(), bank_name: z.string().optional().nullable(), bic: z.string().optional().nullable(), generated_sepa_debit: z.union([z.string(), paymentMethodSchema]).optional().nullable(), generated_sepa_debit_mandate: z.union([z.string(), mandateSchema]).optional().nullable(), iban_last4: z.string().optional().nullable(), preferred_language: z .union([z.literal('de'), z.literal('en'), z.literal('fr'), z.literal('nl')]) .optional() .nullable(), verified_name: z.string().optional().nullable(), }), ); export const subscriptionAutomaticTaxSchema: z.ZodSchema = z.lazy(() => z.object({ enabled: z.boolean(), liability: connectAccountReferenceSchema.optional().nullable(), }), ); export const subscriptionsResourceSubscriptionInvoiceSettingsSchema: z.ZodSchema = z.lazy(() => z.object({ account_tax_ids: z .array(z.union([z.string(), taxIdSchema, deletedTaxIdSchema])) .optional() .nullable(), issuer: connectAccountReferenceSchema, }), ); export const subscriptionsResourcePendingUpdateSchema: z.ZodSchema = z.lazy(() => z.object({ billing_cycle_anchor: z.number().optional().nullable(), expires_at: z.number(), subscription_items: z.array(subscriptionItemSchema).optional().nullable(), trial_end: z.number().optional().nullable(), trial_from_plan: z.boolean().optional().nullable(), }), ); export const subscriptionTransferDataSchema: z.ZodSchema = z.lazy(() => z.object({ amount_percent: z.number().optional().nullable(), destination: z.union([z.string(), accountSchema]), }), ); export const subscriptionSchedulesResourceDefaultSettingsSchema: z.ZodSchema = z.lazy(() => z.object({ application_fee_percent: z.number().optional().nullable(), automatic_tax: subscriptionSchedulesResourceDefaultSettingsAutomaticTaxSchema.optional(), billing_cycle_anchor: z.union([z.literal('automatic'), z.literal('phase_start')]), billing_thresholds: subscriptionBillingThresholdsSchema.optional().nullable(), collection_method: z .union([z.literal('charge_automatically'), z.literal('send_invoice')]) .optional() .nullable(), default_payment_method: z.union([z.string(), paymentMethodSchema]).optional().nullable(), description: z.string().optional().nullable(), invoice_settings: invoiceSettingSubscriptionScheduleSettingSchema, on_behalf_of: z.union([z.string(), accountSchema]).optional().nullable(), transfer_data: subscriptionTransferDataSchema.optional().nullable(), }), ); export const subscriptionSchedulePhaseConfigurationSchema: z.ZodSchema = z.lazy(() => z.object({ add_invoice_items: z.array(subscriptionScheduleAddInvoiceItemSchema), application_fee_percent: z.number().optional().nullable(), automatic_tax: schedulesPhaseAutomaticTaxSchema.optional(), billing_cycle_anchor: z .union([z.literal('automatic'), z.literal('phase_start')]) .optional() .nullable(), billing_thresholds: subscriptionBillingThresholdsSchema.optional().nullable(), collection_method: z .union([z.literal('charge_automatically'), z.literal('send_invoice')]) .optional() .nullable(), coupon: z.union([z.string(), couponSchema, deletedCouponSchema]).optional().nullable(), currency: z.string(), default_payment_method: z.union([z.string(), paymentMethodSchema]).optional().nullable(), default_tax_rates: z.array(taxRateSchema).optional().nullable(), description: z.string().optional().nullable(), discounts: z.array(discountsResourceStackableDiscountSchema), end_date: z.number(), invoice_settings: invoiceSettingSubscriptionSchedulePhaseSettingSchema.optional().nullable(), items: z.array(subscriptionScheduleConfigurationItemSchema), metadata: z.record(z.string()).optional().nullable(), on_behalf_of: z.union([z.string(), accountSchema]).optional().nullable(), proration_behavior: z.union([z.literal('always_invoice'), z.literal('create_prorations'), z.literal('none')]), start_date: z.number(), transfer_data: subscriptionTransferDataSchema.optional().nullable(), trial_end: z.number().optional().nullable(), }), ); export const subscriptionScheduleAddInvoiceItemSchema: z.ZodSchema = z.lazy( () => z.object({ discounts: z.array(discountsResourceStackableDiscountSchema), price: z.union([z.string(), priceSchema, deletedPriceSchema]), quantity: z.number().optional().nullable(), tax_rates: z.array(taxRateSchema).optional().nullable(), }), ); export const subscriptionScheduleConfigurationItemSchema: z.ZodSchema = z.lazy(() => z.object({ billing_thresholds: subscriptionItemBillingThresholdsSchema.optional().nullable(), discounts: z.array(discountsResourceStackableDiscountSchema), metadata: z.record(z.string()).optional().nullable(), price: z.union([z.string(), priceSchema, deletedPriceSchema]), quantity: z.number().optional(), tax_rates: z.array(taxRateSchema).optional().nullable(), }), ); export const subscriptionSchedulesResourceDefaultSettingsAutomaticTaxSchema: z.ZodSchema = z.lazy(() => z.object({ enabled: z.boolean(), liability: connectAccountReferenceSchema.optional().nullable(), }), ); export const taxIDsOwnerSchema: z.ZodSchema = z.lazy(() => z.object({ account: z.union([z.string(), accountSchema]).optional(), application: z.union([z.string(), applicationSchema]).optional(), customer: z.union([z.string(), customerSchema]).optional(), type: z.union([z.literal('account'), z.literal('application'), z.literal('customer'), z.literal('self')]), }), ); export const terminalConfigurationSchema: z.ZodSchema = z.lazy(() => z.object({ bbpos_wisepos_e: terminalConfigurationConfigurationResourceDeviceTypeSpecificConfigSchema.optional(), id: z.string(), is_account_default: z.boolean().optional().nullable(), livemode: z.boolean(), name: z.string().optional().nullable(), object: z.literal('terminal.configuration'), offline: terminalConfigurationConfigurationResourceOfflineConfigSchema.optional(), stripe_s700: terminalConfigurationConfigurationResourceDeviceTypeSpecificConfigSchema.optional(), tipping: terminalConfigurationConfigurationResourceTippingSchema.optional(), verifone_p400: terminalConfigurationConfigurationResourceDeviceTypeSpecificConfigSchema.optional(), }), ); export const terminalConfigurationConfigurationResourceDeviceTypeSpecificConfigSchema: z.ZodSchema = z.lazy(() => z.object({ splashscreen: z.union([z.string(), fileSchema]).optional(), }), ); export const terminalReaderSchema: z.ZodSchema = z.lazy(() => z.object({ action: terminalReaderReaderResourceReaderActionSchema.optional().nullable(), device_sw_version: z.string().optional().nullable(), device_type: z.union([ z.literal('bbpos_chipper2x'), z.literal('bbpos_wisepad3'), z.literal('bbpos_wisepos_e'), z.literal('mobile_phone_reader'), z.literal('simulated_wisepos_e'), z.literal('stripe_m2'), z.literal('verifone_P400'), ]), id: z.string(), ip_address: z.string().optional().nullable(), label: z.string(), livemode: z.boolean(), location: z.union([z.string(), terminalLocationSchema]).optional().nullable(), metadata: z.record(z.string()), object: z.literal('terminal.reader'), serial_number: z.string(), status: z .union([z.literal('offline'), z.literal('online')]) .optional() .nullable(), }), ); export const terminalReaderReaderResourceReaderActionSchema: z.ZodSchema = z.lazy(() => z.object({ failure_code: z.string().optional().nullable(), failure_message: z.string().optional().nullable(), process_payment_intent: terminalReaderReaderResourceProcessPaymentIntentActionSchema.optional(), process_setup_intent: terminalReaderReaderResourceProcessSetupIntentActionSchema.optional(), refund_payment: terminalReaderReaderResourceRefundPaymentActionSchema.optional(), set_reader_display: terminalReaderReaderResourceSetReaderDisplayActionSchema.optional(), status: z.union([z.literal('failed'), z.literal('in_progress'), z.literal('succeeded')]), type: z.union([ z.literal('process_payment_intent'), z.literal('process_setup_intent'), z.literal('refund_payment'), z.literal('set_reader_display'), ]), }), ); export const terminalReaderReaderResourceProcessPaymentIntentActionSchema: z.ZodSchema = z.lazy(() => z.object({ payment_intent: z.union([z.string(), paymentIntentSchema]), process_config: terminalReaderReaderResourceProcessConfigSchema.optional(), }), ); export const terminalReaderReaderResourceProcessSetupIntentActionSchema: z.ZodSchema = z.lazy(() => z.object({ generated_card: z.string().optional(), process_config: terminalReaderReaderResourceProcessSetupConfigSchema.optional(), setup_intent: z.union([z.string(), setupIntentSchema]), }), ); export const terminalReaderReaderResourceRefundPaymentActionSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number().optional(), charge: z.union([z.string(), chargeSchema]).optional(), metadata: z.record(z.string()).optional(), payment_intent: z.union([z.string(), paymentIntentSchema]).optional(), reason: z.union([z.literal('duplicate'), z.literal('fraudulent'), z.literal('requested_by_customer')]).optional(), refund: z.union([z.string(), refundSchema]).optional(), refund_application_fee: z.boolean().optional(), refund_payment_config: terminalReaderReaderResourceRefundPaymentConfigSchema.optional(), reverse_transfer: z.boolean().optional(), }), ); export const tokenSchema: z.ZodSchema = z.lazy(() => z.object({ bank_account: bankAccountSchema.optional(), card: cardSchema.optional(), client_ip: z.string().optional().nullable(), created: z.number(), id: z.string(), livemode: z.boolean(), object: z.literal('token'), type: z.string(), used: z.boolean(), }), ); export const treasuryCreditReversalSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), created: z.number(), currency: z.string(), financial_account: z.string(), hosted_regulatory_receipt_url: z.string().optional().nullable(), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), network: z.union([z.literal('ach'), z.literal('stripe')]), object: z.literal('treasury.credit_reversal'), received_credit: z.string(), status: z.union([z.literal('canceled'), z.literal('posted'), z.literal('processing')]), status_transitions: treasuryReceivedCreditsResourceStatusTransitionsSchema, transaction: z.union([z.string(), treasuryTransactionSchema]).optional().nullable(), }), ); export const treasuryTransactionSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), balance_impact: treasuryTransactionsResourceBalanceImpactSchema, created: z.number(), currency: z.string(), description: z.string(), entries: z .object({ data: z.array(treasuryTransactionEntrySchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }) .optional() .nullable(), financial_account: z.string(), flow: z.string().optional().nullable(), flow_details: treasuryTransactionsResourceFlowDetailsSchema.optional().nullable(), flow_type: z.union([ z.literal('credit_reversal'), z.literal('debit_reversal'), z.literal('inbound_transfer'), z.literal('issuing_authorization'), z.literal('other'), z.literal('outbound_payment'), z.literal('outbound_transfer'), z.literal('received_credit'), z.literal('received_debit'), ]), id: z.string(), livemode: z.boolean(), object: z.literal('treasury.transaction'), status: z.union([z.literal('open'), z.literal('posted'), z.literal('void')]), status_transitions: treasuryTransactionsResourceAbstractTransactionResourceStatusTransitionsSchema, }), ); export const treasuryDebitReversalSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), created: z.number(), currency: z.string(), financial_account: z.string().optional().nullable(), hosted_regulatory_receipt_url: z.string().optional().nullable(), id: z.string(), linked_flows: treasuryReceivedDebitsResourceDebitReversalLinkedFlowsSchema.optional().nullable(), livemode: z.boolean(), metadata: z.record(z.string()), network: z.union([z.literal('ach'), z.literal('card')]), object: z.literal('treasury.debit_reversal'), received_debit: z.string(), status: z.union([z.literal('failed'), z.literal('processing'), z.literal('succeeded')]), status_transitions: treasuryReceivedDebitsResourceStatusTransitionsSchema, transaction: z.union([z.string(), treasuryTransactionSchema]).optional().nullable(), }), ); export const treasuryInboundTransferSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), cancelable: z.boolean(), created: z.number(), currency: z.string(), description: z.string().optional().nullable(), failure_details: treasuryInboundTransfersResourceFailureDetailsSchema.optional().nullable(), financial_account: z.string(), hosted_regulatory_receipt_url: z.string().optional().nullable(), id: z.string(), linked_flows: treasuryInboundTransfersResourceInboundTransferResourceLinkedFlowsSchema, livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('treasury.inbound_transfer'), origin_payment_method: z.string(), origin_payment_method_details: inboundTransfersSchema.optional().nullable(), returned: z.boolean().optional().nullable(), statement_descriptor: z.string(), status: z.union([z.literal('canceled'), z.literal('failed'), z.literal('processing'), z.literal('succeeded')]), status_transitions: treasuryInboundTransfersResourceInboundTransferResourceStatusTransitionsSchema, transaction: z.union([z.string(), treasuryTransactionSchema]).optional().nullable(), }), ); export const treasuryOutboundPaymentSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), cancelable: z.boolean(), created: z.number(), currency: z.string(), customer: z.string().optional().nullable(), description: z.string().optional().nullable(), destination_payment_method: z.string().optional().nullable(), destination_payment_method_details: outboundPaymentsPaymentMethodDetailsSchema.optional().nullable(), end_user_details: treasuryOutboundPaymentsResourceOutboundPaymentResourceEndUserDetailsSchema.optional().nullable(), expected_arrival_date: z.number(), financial_account: z.string(), hosted_regulatory_receipt_url: z.string().optional().nullable(), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('treasury.outbound_payment'), returned_details: treasuryOutboundPaymentsResourceReturnedStatusSchema.optional().nullable(), statement_descriptor: z.string(), status: z.union([ z.literal('canceled'), z.literal('failed'), z.literal('posted'), z.literal('processing'), z.literal('returned'), ]), status_transitions: treasuryOutboundPaymentsResourceOutboundPaymentResourceStatusTransitionsSchema, tracking_details: treasuryOutboundPaymentsResourceOutboundPaymentResourceTrackingDetailsSchema .optional() .nullable(), transaction: z.union([z.string(), treasuryTransactionSchema]), }), ); export const treasuryOutboundPaymentsResourceReturnedStatusSchema: z.ZodSchema = z.lazy(() => z.object({ code: z.union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('bank_account_restricted'), z.literal('bank_ownership_changed'), z.literal('declined'), z.literal('incorrect_account_holder_name'), z.literal('invalid_account_number'), z.literal('invalid_currency'), z.literal('no_account'), z.literal('other'), ]), transaction: z.union([z.string(), treasuryTransactionSchema]), }), ); export const treasuryOutboundTransferSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), cancelable: z.boolean(), created: z.number(), currency: z.string(), description: z.string().optional().nullable(), destination_payment_method: z.string().optional().nullable(), destination_payment_method_details: outboundTransfersPaymentMethodDetailsSchema, expected_arrival_date: z.number(), financial_account: z.string(), hosted_regulatory_receipt_url: z.string().optional().nullable(), id: z.string(), livemode: z.boolean(), metadata: z.record(z.string()), object: z.literal('treasury.outbound_transfer'), returned_details: treasuryOutboundTransfersResourceReturnedDetailsSchema.optional().nullable(), statement_descriptor: z.string(), status: z.union([ z.literal('canceled'), z.literal('failed'), z.literal('posted'), z.literal('processing'), z.literal('returned'), ]), status_transitions: treasuryOutboundTransfersResourceStatusTransitionsSchema, tracking_details: treasuryOutboundTransfersResourceOutboundTransferResourceTrackingDetailsSchema .optional() .nullable(), transaction: z.union([z.string(), treasuryTransactionSchema]), }), ); export const treasuryOutboundTransfersResourceReturnedDetailsSchema: z.ZodSchema = z.lazy(() => z.object({ code: z.union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('bank_account_restricted'), z.literal('bank_ownership_changed'), z.literal('declined'), z.literal('incorrect_account_holder_name'), z.literal('invalid_account_number'), z.literal('invalid_currency'), z.literal('no_account'), z.literal('other'), ]), transaction: z.union([z.string(), treasuryTransactionSchema]), }), ); export const treasuryReceivedCreditSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), created: z.number(), currency: z.string(), description: z.string(), failure_code: z .union([z.literal('account_closed'), z.literal('account_frozen'), z.literal('other')]) .optional() .nullable(), financial_account: z.string().optional().nullable(), hosted_regulatory_receipt_url: z.string().optional().nullable(), id: z.string(), initiating_payment_method_details: treasurySharedResourceInitiatingPaymentMethodDetailsInitiatingPaymentMethodDetailsSchema, linked_flows: treasuryReceivedCreditsResourceLinkedFlowsSchema, livemode: z.boolean(), network: z.union([z.literal('ach'), z.literal('card'), z.literal('stripe'), z.literal('us_domestic_wire')]), object: z.literal('treasury.received_credit'), reversal_details: treasuryReceivedCreditsResourceReversalDetailsSchema.optional().nullable(), status: z.union([z.literal('failed'), z.literal('succeeded')]), transaction: z.union([z.string(), treasuryTransactionSchema]).optional().nullable(), }), ); export const treasuryReceivedCreditsResourceLinkedFlowsSchema: z.ZodSchema = z.lazy(() => z.object({ credit_reversal: z.string().optional().nullable(), issuing_authorization: z.string().optional().nullable(), issuing_transaction: z.string().optional().nullable(), source_flow: z.string().optional().nullable(), source_flow_details: treasuryReceivedCreditsResourceSourceFlowsDetailsSchema.optional().nullable(), source_flow_type: z.string().optional().nullable(), }), ); export const treasuryReceivedCreditsResourceSourceFlowsDetailsSchema: z.ZodSchema = z.lazy(() => z.object({ credit_reversal: treasuryCreditReversalSchema.optional(), outbound_payment: treasuryOutboundPaymentSchema.optional(), payout: payoutSchema.optional(), type: z.union([ z.literal('credit_reversal'), z.literal('other'), z.literal('outbound_payment'), z.literal('payout'), ]), }), ); export const treasuryReceivedDebitSchema: z.ZodSchema = z.lazy(() => z.object({ amount: z.number(), created: z.number(), currency: z.string(), description: z.string(), failure_code: z .union([ z.literal('account_closed'), z.literal('account_frozen'), z.literal('insufficient_funds'), z.literal('other'), ]) .optional() .nullable(), financial_account: z.string().optional().nullable(), hosted_regulatory_receipt_url: z.string().optional().nullable(), id: z.string(), initiating_payment_method_details: treasurySharedResourceInitiatingPaymentMethodDetailsInitiatingPaymentMethodDetailsSchema.optional(), linked_flows: treasuryReceivedDebitsResourceLinkedFlowsSchema, livemode: z.boolean(), network: z.union([z.literal('ach'), z.literal('card'), z.literal('stripe')]), object: z.literal('treasury.received_debit'), reversal_details: treasuryReceivedDebitsResourceReversalDetailsSchema.optional().nullable(), status: z.union([z.literal('failed'), z.literal('succeeded')]), transaction: z.union([z.string(), treasuryTransactionSchema]).optional().nullable(), }), ); export const treasuryTransactionEntrySchema: z.ZodSchema = z.lazy(() => z.object({ balance_impact: treasuryTransactionsResourceBalanceImpactSchema, created: z.number(), currency: z.string(), effective_at: z.number(), financial_account: z.string(), flow: z.string().optional().nullable(), flow_details: treasuryTransactionsResourceFlowDetailsSchema.optional().nullable(), flow_type: z.union([ z.literal('credit_reversal'), z.literal('debit_reversal'), z.literal('inbound_transfer'), z.literal('issuing_authorization'), z.literal('other'), z.literal('outbound_payment'), z.literal('outbound_transfer'), z.literal('received_credit'), z.literal('received_debit'), ]), id: z.string(), livemode: z.boolean(), object: z.literal('treasury.transaction_entry'), transaction: z.union([z.string(), treasuryTransactionSchema]), type: z.union([ z.literal('credit_reversal'), z.literal('credit_reversal_posting'), z.literal('debit_reversal'), z.literal('inbound_transfer'), z.literal('inbound_transfer_return'), z.literal('issuing_authorization_hold'), z.literal('issuing_authorization_release'), z.literal('other'), z.literal('outbound_payment'), z.literal('outbound_payment_cancellation'), z.literal('outbound_payment_failure'), z.literal('outbound_payment_posting'), z.literal('outbound_payment_return'), z.literal('outbound_transfer'), z.literal('outbound_transfer_cancellation'), z.literal('outbound_transfer_failure'), z.literal('outbound_transfer_posting'), z.literal('outbound_transfer_return'), z.literal('received_credit'), z.literal('received_debit'), ]), }), ); export const treasuryTransactionsResourceFlowDetailsSchema: z.ZodSchema = z.lazy(() => z.object({ credit_reversal: treasuryCreditReversalSchema.optional(), debit_reversal: treasuryDebitReversalSchema.optional(), inbound_transfer: treasuryInboundTransferSchema.optional(), issuing_authorization: issuingAuthorizationSchema.optional(), outbound_payment: treasuryOutboundPaymentSchema.optional(), outbound_transfer: treasuryOutboundTransferSchema.optional(), received_credit: treasuryReceivedCreditSchema.optional(), received_debit: treasuryReceivedDebitSchema.optional(), type: z.union([ z.literal('credit_reversal'), z.literal('debit_reversal'), z.literal('inbound_transfer'), z.literal('issuing_authorization'), z.literal('other'), z.literal('outbound_payment'), z.literal('outbound_transfer'), z.literal('received_credit'), z.literal('received_debit'), ]), }), ); export const getAccountResponseSchema: z.ZodSchema = z.lazy(() => accountSchema); export const getAccountErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAccountLinksErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAccountSessionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getAccountsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(accountSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getAccountsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAccountsResponseSchema: z.ZodSchema = z.lazy(() => accountSchema); export const postAccountsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteAccountsAccountErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getAccountsAccountResponseSchema: z.ZodSchema = z.lazy(() => accountSchema); export const getAccountsAccountErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAccountsAccountResponseSchema: z.ZodSchema = z.lazy(() => accountSchema); export const postAccountsAccountErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAccountsAccountBankAccountsResponseSchema: z.ZodSchema = z.lazy(() => externalAccountSchema); export const postAccountsAccountBankAccountsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteAccountsAccountBankAccountsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getAccountsAccountBankAccountsIdResponseSchema: z.ZodSchema = z.lazy(() => externalAccountSchema); export const getAccountsAccountBankAccountsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postAccountsAccountBankAccountsIdResponseSchema: z.ZodSchema = z.lazy(() => externalAccountSchema); export const postAccountsAccountBankAccountsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getAccountsAccountCapabilitiesResponseSchema: z.ZodSchema = z.lazy( () => z.object({ data: z.array(capabilitySchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getAccountsAccountCapabilitiesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getAccountsAccountCapabilitiesCapabilityResponseSchema: z.ZodSchema = z.lazy(() => capabilitySchema); export const getAccountsAccountCapabilitiesCapabilityErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAccountsAccountCapabilitiesCapabilityResponseSchema: z.ZodSchema = z.lazy(() => capabilitySchema); export const postAccountsAccountCapabilitiesCapabilityErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getAccountsAccountExternalAccountsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(z.union([bankAccountSchema, cardSchema])), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getAccountsAccountExternalAccountsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAccountsAccountExternalAccountsResponseSchema: z.ZodSchema = z.lazy(() => externalAccountSchema); export const postAccountsAccountExternalAccountsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteAccountsAccountExternalAccountsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getAccountsAccountExternalAccountsIdResponseSchema: z.ZodSchema = z.lazy(() => externalAccountSchema); export const getAccountsAccountExternalAccountsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAccountsAccountExternalAccountsIdResponseSchema: z.ZodSchema = z.lazy(() => externalAccountSchema); export const postAccountsAccountExternalAccountsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAccountsAccountLoginLinksErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getAccountsAccountPeopleResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(personSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getAccountsAccountPeopleErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postAccountsAccountPeopleResponseSchema: z.ZodSchema = z.lazy( () => personSchema, ); export const postAccountsAccountPeopleErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteAccountsAccountPeoplePersonErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getAccountsAccountPeoplePersonResponseSchema: z.ZodSchema = z.lazy( () => personSchema, ); export const getAccountsAccountPeoplePersonErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postAccountsAccountPeoplePersonResponseSchema: z.ZodSchema = z.lazy(() => personSchema); export const postAccountsAccountPeoplePersonErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getAccountsAccountPersonsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(personSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getAccountsAccountPersonsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postAccountsAccountPersonsResponseSchema: z.ZodSchema = z.lazy( () => personSchema, ); export const postAccountsAccountPersonsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteAccountsAccountPersonsPersonErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getAccountsAccountPersonsPersonResponseSchema: z.ZodSchema = z.lazy(() => personSchema); export const getAccountsAccountPersonsPersonErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postAccountsAccountPersonsPersonResponseSchema: z.ZodSchema = z.lazy(() => personSchema); export const postAccountsAccountPersonsPersonErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postAccountsAccountRejectResponseSchema: z.ZodSchema = z.lazy( () => accountSchema, ); export const postAccountsAccountRejectErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getApplePayDomainsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postApplePayDomainsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteApplePayDomainsDomainErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getApplePayDomainsDomainErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getApplicationFeesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(applicationFeeSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getApplicationFeesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getApplicationFeesFeeRefundsIdResponseSchema: z.ZodSchema = z.lazy( () => feeRefundSchema, ); export const getApplicationFeesFeeRefundsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postApplicationFeesFeeRefundsIdResponseSchema: z.ZodSchema = z.lazy(() => feeRefundSchema); export const postApplicationFeesFeeRefundsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getApplicationFeesIdResponseSchema: z.ZodSchema = z.lazy( () => applicationFeeSchema, ); export const getApplicationFeesIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postApplicationFeesIdRefundResponseSchema: z.ZodSchema = z.lazy( () => applicationFeeSchema, ); export const postApplicationFeesIdRefundErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getApplicationFeesIdRefundsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(feeRefundSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getApplicationFeesIdRefundsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postApplicationFeesIdRefundsResponseSchema: z.ZodSchema = z.lazy( () => feeRefundSchema, ); export const postApplicationFeesIdRefundsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getAppsSecretsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAppsSecretsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postAppsSecretsDeleteErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getAppsSecretsFindErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getBalanceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getBalanceHistoryResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(balanceTransactionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getBalanceHistoryErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getBalanceHistoryIdResponseSchema: z.ZodSchema = z.lazy( () => balanceTransactionSchema, ); export const getBalanceHistoryIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getBalanceTransactionsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(balanceTransactionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getBalanceTransactionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getBalanceTransactionsIdResponseSchema: z.ZodSchema = z.lazy( () => balanceTransactionSchema, ); export const getBalanceTransactionsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postBillingMeterEventAdjustmentsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postBillingMeterEventsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getBillingMetersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postBillingMetersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getBillingMetersIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postBillingMetersIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postBillingMetersIdDeactivateErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getBillingMetersIdEventSummariesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postBillingMetersIdReactivateErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getBillingPortalConfigurationsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postBillingPortalConfigurationsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getBillingPortalConfigurationsConfigurationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postBillingPortalConfigurationsConfigurationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postBillingPortalSessionsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getChargesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(chargeSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getChargesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postChargesResponseSchema: z.ZodSchema = z.lazy(() => chargeSchema); export const postChargesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getChargesSearchResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(chargeSchema), has_more: z.boolean(), next_page: z.string().optional().nullable(), object: z.literal('search_result'), total_count: z.number().optional(), url: z.string(), }), ); export const getChargesSearchErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getChargesChargeResponseSchema: z.ZodSchema = z.lazy(() => chargeSchema); export const getChargesChargeErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postChargesChargeResponseSchema: z.ZodSchema = z.lazy(() => chargeSchema); export const postChargesChargeErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postChargesChargeCaptureResponseSchema: z.ZodSchema = z.lazy( () => chargeSchema, ); export const postChargesChargeCaptureErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getChargesChargeDisputeResponseSchema: z.ZodSchema = z.lazy( () => disputeSchema, ); export const getChargesChargeDisputeErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postChargesChargeDisputeResponseSchema: z.ZodSchema = z.lazy( () => disputeSchema, ); export const postChargesChargeDisputeErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postChargesChargeDisputeCloseResponseSchema: z.ZodSchema = z.lazy( () => disputeSchema, ); export const postChargesChargeDisputeCloseErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postChargesChargeRefundResponseSchema: z.ZodSchema = z.lazy( () => chargeSchema, ); export const postChargesChargeRefundErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getChargesChargeRefundsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(refundSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getChargesChargeRefundsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postChargesChargeRefundsResponseSchema: z.ZodSchema = z.lazy( () => refundSchema, ); export const postChargesChargeRefundsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getChargesChargeRefundsRefundResponseSchema: z.ZodSchema = z.lazy( () => refundSchema, ); export const getChargesChargeRefundsRefundErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postChargesChargeRefundsRefundResponseSchema: z.ZodSchema = z.lazy( () => refundSchema, ); export const postChargesChargeRefundsRefundErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getCheckoutSessionsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(checkoutSessionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCheckoutSessionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCheckoutSessionsResponseSchema: z.ZodSchema = z.lazy( () => checkoutSessionSchema, ); export const postCheckoutSessionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCheckoutSessionsSessionResponseSchema: z.ZodSchema = z.lazy( () => checkoutSessionSchema, ); export const getCheckoutSessionsSessionErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCheckoutSessionsSessionExpireResponseSchema: z.ZodSchema = z.lazy(() => checkoutSessionSchema); export const postCheckoutSessionsSessionExpireErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getCheckoutSessionsSessionLineItemsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(itemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCheckoutSessionsSessionLineItemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getClimateOrdersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postClimateOrdersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getClimateOrdersOrderErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postClimateOrdersOrderErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postClimateOrdersOrderCancelErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getClimateProductsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getClimateProductsProductErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getClimateSuppliersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getClimateSuppliersSupplierErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getConfirmationTokensConfirmationTokenResponseSchema: z.ZodSchema = z.lazy(() => confirmationTokenSchema); export const getConfirmationTokensConfirmationTokenErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCountrySpecsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCountrySpecsCountryErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCouponsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCouponsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteCouponsCouponErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCouponsCouponErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCouponsCouponErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCreditNotesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(creditNoteSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCreditNotesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCreditNotesResponseSchema: z.ZodSchema = z.lazy(() => creditNoteSchema); export const postCreditNotesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCreditNotesPreviewResponseSchema: z.ZodSchema = z.lazy( () => creditNoteSchema, ); export const getCreditNotesPreviewErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCreditNotesPreviewLinesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(creditNoteLineItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCreditNotesPreviewLinesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getCreditNotesCreditNoteLinesResponseSchema: z.ZodSchema = z.lazy( () => z.object({ data: z.array(creditNoteLineItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCreditNotesCreditNoteLinesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getCreditNotesIdResponseSchema: z.ZodSchema = z.lazy(() => creditNoteSchema); export const getCreditNotesIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCreditNotesIdResponseSchema: z.ZodSchema = z.lazy(() => creditNoteSchema); export const postCreditNotesIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCreditNotesIdVoidResponseSchema: z.ZodSchema = z.lazy( () => creditNoteSchema, ); export const postCreditNotesIdVoidErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCustomerSessionsResponseSchema: z.ZodSchema = z.lazy( () => customerSessionSchema, ); export const postCustomerSessionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(customerSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCustomersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCustomersResponseSchema: z.ZodSchema = z.lazy(() => customerSchema); export const postCustomersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersSearchResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(customerSchema), has_more: z.boolean(), next_page: z.string().optional().nullable(), object: z.literal('search_result'), total_count: z.number().optional(), url: z.string(), }), ); export const getCustomersSearchErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteCustomersCustomerErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerResponseSchema: z.ZodSchema = z.lazy(() => z.union([customerSchema, deletedCustomerSchema]), ); export const getCustomersCustomerErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCustomersCustomerResponseSchema: z.ZodSchema = z.lazy( () => customerSchema, ); export const postCustomersCustomerErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerBalanceTransactionsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(customerBalanceTransactionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCustomersCustomerBalanceTransactionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCustomersCustomerBalanceTransactionsResponseSchema: z.ZodSchema = z.lazy(() => customerBalanceTransactionSchema); export const postCustomersCustomerBalanceTransactionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerBalanceTransactionsTransactionResponseSchema: z.ZodSchema = z.lazy(() => customerBalanceTransactionSchema); export const getCustomersCustomerBalanceTransactionsTransactionErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCustomersCustomerBalanceTransactionsTransactionResponseSchema: z.ZodSchema = z.lazy(() => customerBalanceTransactionSchema); export const postCustomersCustomerBalanceTransactionsTransactionErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerBankAccountsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(bankAccountSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCustomersCustomerBankAccountsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCustomersCustomerBankAccountsResponseSchema: z.ZodSchema = z.lazy(() => paymentSourceSchema); export const postCustomersCustomerBankAccountsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteCustomersCustomerBankAccountsIdResponseSchema: z.ZodSchema = z.lazy(() => z.union([paymentSourceSchema, deletedPaymentSourceSchema])); export const deleteCustomersCustomerBankAccountsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerBankAccountsIdResponseSchema: z.ZodSchema = z.lazy(() => bankAccountSchema); export const getCustomersCustomerBankAccountsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCustomersCustomerBankAccountsIdResponseSchema: z.ZodSchema = z.lazy(() => z.union([cardSchema, bankAccountSchema, sourceSchema])); export const postCustomersCustomerBankAccountsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCustomersCustomerBankAccountsIdVerifyResponseSchema: z.ZodSchema = z.lazy(() => bankAccountSchema); export const postCustomersCustomerBankAccountsIdVerifyErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerCardsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(cardSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCustomersCustomerCardsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCustomersCustomerCardsResponseSchema: z.ZodSchema = z.lazy( () => paymentSourceSchema, ); export const postCustomersCustomerCardsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteCustomersCustomerCardsIdResponseSchema: z.ZodSchema = z.lazy( () => z.union([paymentSourceSchema, deletedPaymentSourceSchema]), ); export const deleteCustomersCustomerCardsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getCustomersCustomerCardsIdResponseSchema: z.ZodSchema = z.lazy( () => cardSchema, ); export const getCustomersCustomerCardsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCustomersCustomerCardsIdResponseSchema: z.ZodSchema = z.lazy( () => z.union([cardSchema, bankAccountSchema, sourceSchema]), ); export const postCustomersCustomerCardsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getCustomersCustomerCashBalanceErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCustomersCustomerCashBalanceErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getCustomersCustomerCashBalanceTransactionsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(customerCashBalanceTransactionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCustomersCustomerCashBalanceTransactionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerCashBalanceTransactionsTransactionResponseSchema: z.ZodSchema = z.lazy(() => customerCashBalanceTransactionSchema); export const getCustomersCustomerCashBalanceTransactionsTransactionErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteCustomersCustomerDiscountResponseSchema: z.ZodSchema = z.lazy(() => deletedDiscountSchema); export const deleteCustomersCustomerDiscountErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getCustomersCustomerDiscountResponseSchema: z.ZodSchema = z.lazy( () => discountSchema, ); export const getCustomersCustomerDiscountErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCustomersCustomerFundingInstructionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerPaymentMethodsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(paymentMethodSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCustomersCustomerPaymentMethodsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerPaymentMethodsPaymentMethodResponseSchema: z.ZodSchema = z.lazy(() => paymentMethodSchema); export const getCustomersCustomerPaymentMethodsPaymentMethodErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerSourcesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(z.union([bankAccountSchema, cardSchema, sourceSchema])), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCustomersCustomerSourcesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCustomersCustomerSourcesResponseSchema: z.ZodSchema = z.lazy( () => paymentSourceSchema, ); export const postCustomersCustomerSourcesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteCustomersCustomerSourcesIdResponseSchema: z.ZodSchema = z.lazy(() => z.union([paymentSourceSchema, deletedPaymentSourceSchema])); export const deleteCustomersCustomerSourcesIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getCustomersCustomerSourcesIdResponseSchema: z.ZodSchema = z.lazy( () => paymentSourceSchema, ); export const getCustomersCustomerSourcesIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCustomersCustomerSourcesIdResponseSchema: z.ZodSchema = z.lazy( () => z.union([cardSchema, bankAccountSchema, sourceSchema]), ); export const postCustomersCustomerSourcesIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCustomersCustomerSourcesIdVerifyResponseSchema: z.ZodSchema = z.lazy(() => bankAccountSchema); export const postCustomersCustomerSourcesIdVerifyErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerSubscriptionsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(subscriptionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCustomersCustomerSubscriptionsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCustomersCustomerSubscriptionsResponseSchema: z.ZodSchema = z.lazy(() => subscriptionSchema); export const postCustomersCustomerSubscriptionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteCustomersCustomerSubscriptionsSubscriptionExposedIdResponseSchema: z.ZodSchema = z.lazy(() => subscriptionSchema); export const deleteCustomersCustomerSubscriptionsSubscriptionExposedIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerSubscriptionsSubscriptionExposedIdResponseSchema: z.ZodSchema = z.lazy(() => subscriptionSchema); export const getCustomersCustomerSubscriptionsSubscriptionExposedIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postCustomersCustomerSubscriptionsSubscriptionExposedIdResponseSchema: z.ZodSchema = z.lazy(() => subscriptionSchema); export const postCustomersCustomerSubscriptionsSubscriptionExposedIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountResponseSchema: z.ZodSchema = z.lazy(() => deletedDiscountSchema); export const deleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountResponseSchema: z.ZodSchema = z.lazy(() => discountSchema); export const getCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getCustomersCustomerTaxIdsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(taxIdSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getCustomersCustomerTaxIdsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postCustomersCustomerTaxIdsResponseSchema: z.ZodSchema = z.lazy( () => taxIdSchema, ); export const postCustomersCustomerTaxIdsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteCustomersCustomerTaxIdsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getCustomersCustomerTaxIdsIdResponseSchema: z.ZodSchema = z.lazy( () => taxIdSchema, ); export const getCustomersCustomerTaxIdsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getDisputesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(disputeSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getDisputesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getDisputesDisputeResponseSchema: z.ZodSchema = z.lazy(() => disputeSchema); export const getDisputesDisputeErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postDisputesDisputeResponseSchema: z.ZodSchema = z.lazy(() => disputeSchema); export const postDisputesDisputeErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postDisputesDisputeCloseResponseSchema: z.ZodSchema = z.lazy( () => disputeSchema, ); export const postDisputesDisputeCloseErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getEntitlementsActiveEntitlementsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getEntitlementsActiveEntitlementsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getEntitlementsFeaturesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postEntitlementsFeaturesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getEntitlementsFeaturesIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postEntitlementsFeaturesIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postEphemeralKeysErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteEphemeralKeysKeyErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getEventsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getEventsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getExchangeRatesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getExchangeRatesRateIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getFileLinksResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(fileLinkSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getFileLinksErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postFileLinksResponseSchema: z.ZodSchema = z.lazy(() => fileLinkSchema); export const postFileLinksErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getFileLinksLinkResponseSchema: z.ZodSchema = z.lazy(() => fileLinkSchema); export const getFileLinksLinkErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postFileLinksLinkResponseSchema: z.ZodSchema = z.lazy(() => fileLinkSchema); export const postFileLinksLinkErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getFilesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(fileSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getFilesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postFilesResponseSchema: z.ZodSchema = z.lazy(() => fileSchema); export const postFilesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getFilesFileResponseSchema: z.ZodSchema = z.lazy(() => fileSchema); export const getFilesFileErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getFinancialConnectionsAccountsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(financialConnectionsAccountSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getFinancialConnectionsAccountsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getFinancialConnectionsAccountsAccountResponseSchema: z.ZodSchema = z.lazy(() => financialConnectionsAccountSchema); export const getFinancialConnectionsAccountsAccountErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postFinancialConnectionsAccountsAccountDisconnectResponseSchema: z.ZodSchema = z.lazy(() => financialConnectionsAccountSchema); export const postFinancialConnectionsAccountsAccountDisconnectErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getFinancialConnectionsAccountsAccountOwnersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postFinancialConnectionsAccountsAccountRefreshResponseSchema: z.ZodSchema = z.lazy(() => financialConnectionsAccountSchema); export const postFinancialConnectionsAccountsAccountRefreshErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postFinancialConnectionsAccountsAccountSubscribeResponseSchema: z.ZodSchema = z.lazy(() => financialConnectionsAccountSchema); export const postFinancialConnectionsAccountsAccountSubscribeErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postFinancialConnectionsAccountsAccountUnsubscribeResponseSchema: z.ZodSchema = z.lazy(() => financialConnectionsAccountSchema); export const postFinancialConnectionsAccountsAccountUnsubscribeErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postFinancialConnectionsSessionsResponseSchema: z.ZodSchema = z.lazy(() => financialConnectionsSessionSchema); export const postFinancialConnectionsSessionsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getFinancialConnectionsSessionsSessionResponseSchema: z.ZodSchema = z.lazy(() => financialConnectionsSessionSchema); export const getFinancialConnectionsSessionsSessionErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getFinancialConnectionsTransactionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getFinancialConnectionsTransactionsTransactionErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getForwardingRequestsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postForwardingRequestsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getForwardingRequestsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIdentityVerificationReportsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getIdentityVerificationReportsReportErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIdentityVerificationSessionsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postIdentityVerificationSessionsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getIdentityVerificationSessionsSessionErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIdentityVerificationSessionsSessionErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIdentityVerificationSessionsSessionCancelErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIdentityVerificationSessionsSessionRedactErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getInvoiceitemsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(invoiceitemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getInvoiceitemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postInvoiceitemsResponseSchema: z.ZodSchema = z.lazy(() => invoiceitemSchema); export const postInvoiceitemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteInvoiceitemsInvoiceitemErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getInvoiceitemsInvoiceitemResponseSchema: z.ZodSchema = z.lazy( () => invoiceitemSchema, ); export const getInvoiceitemsInvoiceitemErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postInvoiceitemsInvoiceitemResponseSchema: z.ZodSchema = z.lazy( () => invoiceitemSchema, ); export const postInvoiceitemsInvoiceitemErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getInvoicesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(invoiceSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getInvoicesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postInvoicesResponseSchema: z.ZodSchema = z.lazy(() => invoiceSchema); export const postInvoicesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postInvoicesCreatePreviewResponseSchema: z.ZodSchema = z.lazy( () => invoiceSchema, ); export const postInvoicesCreatePreviewErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getInvoicesSearchResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(invoiceSchema), has_more: z.boolean(), next_page: z.string().optional().nullable(), object: z.literal('search_result'), total_count: z.number().optional(), url: z.string(), }), ); export const getInvoicesSearchErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getInvoicesUpcomingResponseSchema: z.ZodSchema = z.lazy(() => invoiceSchema); export const getInvoicesUpcomingErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getInvoicesUpcomingLinesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(lineItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getInvoicesUpcomingLinesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteInvoicesInvoiceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getInvoicesInvoiceResponseSchema: z.ZodSchema = z.lazy(() => invoiceSchema); export const getInvoicesInvoiceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postInvoicesInvoiceResponseSchema: z.ZodSchema = z.lazy(() => invoiceSchema); export const postInvoicesInvoiceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postInvoicesInvoiceFinalizeResponseSchema: z.ZodSchema = z.lazy( () => invoiceSchema, ); export const postInvoicesInvoiceFinalizeErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getInvoicesInvoiceLinesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(lineItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getInvoicesInvoiceLinesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postInvoicesInvoiceLinesLineItemIdResponseSchema: z.ZodSchema = z.lazy(() => lineItemSchema); export const postInvoicesInvoiceLinesLineItemIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postInvoicesInvoiceMarkUncollectibleResponseSchema: z.ZodSchema = z.lazy(() => invoiceSchema); export const postInvoicesInvoiceMarkUncollectibleErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postInvoicesInvoicePayResponseSchema: z.ZodSchema = z.lazy( () => invoiceSchema, ); export const postInvoicesInvoicePayErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postInvoicesInvoiceSendResponseSchema: z.ZodSchema = z.lazy( () => invoiceSchema, ); export const postInvoicesInvoiceSendErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postInvoicesInvoiceVoidResponseSchema: z.ZodSchema = z.lazy( () => invoiceSchema, ); export const postInvoicesInvoiceVoidErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingAuthorizationsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(issuingAuthorizationSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getIssuingAuthorizationsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getIssuingAuthorizationsAuthorizationResponseSchema: z.ZodSchema = z.lazy(() => issuingAuthorizationSchema); export const getIssuingAuthorizationsAuthorizationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIssuingAuthorizationsAuthorizationResponseSchema: z.ZodSchema = z.lazy(() => issuingAuthorizationSchema); export const postIssuingAuthorizationsAuthorizationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIssuingAuthorizationsAuthorizationApproveResponseSchema: z.ZodSchema = z.lazy(() => issuingAuthorizationSchema); export const postIssuingAuthorizationsAuthorizationApproveErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIssuingAuthorizationsAuthorizationDeclineResponseSchema: z.ZodSchema = z.lazy(() => issuingAuthorizationSchema); export const postIssuingAuthorizationsAuthorizationDeclineErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingCardholdersResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(issuingCardholderSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getIssuingCardholdersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIssuingCardholdersResponseSchema: z.ZodSchema = z.lazy( () => issuingCardholderSchema, ); export const postIssuingCardholdersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingCardholdersCardholderResponseSchema: z.ZodSchema = z.lazy(() => issuingCardholderSchema); export const getIssuingCardholdersCardholderErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postIssuingCardholdersCardholderResponseSchema: z.ZodSchema = z.lazy(() => issuingCardholderSchema); export const postIssuingCardholdersCardholderErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getIssuingCardsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(issuingCardSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getIssuingCardsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIssuingCardsResponseSchema: z.ZodSchema = z.lazy(() => issuingCardSchema); export const postIssuingCardsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingCardsCardResponseSchema: z.ZodSchema = z.lazy( () => issuingCardSchema, ); export const getIssuingCardsCardErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIssuingCardsCardResponseSchema: z.ZodSchema = z.lazy( () => issuingCardSchema, ); export const postIssuingCardsCardErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingDisputesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(issuingDisputeSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getIssuingDisputesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIssuingDisputesResponseSchema: z.ZodSchema = z.lazy( () => issuingDisputeSchema, ); export const postIssuingDisputesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingDisputesDisputeResponseSchema: z.ZodSchema = z.lazy( () => issuingDisputeSchema, ); export const getIssuingDisputesDisputeErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postIssuingDisputesDisputeResponseSchema: z.ZodSchema = z.lazy( () => issuingDisputeSchema, ); export const postIssuingDisputesDisputeErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postIssuingDisputesDisputeSubmitResponseSchema: z.ZodSchema = z.lazy(() => issuingDisputeSchema); export const postIssuingDisputesDisputeSubmitErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getIssuingPersonalizationDesignsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(issuingPersonalizationDesignSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getIssuingPersonalizationDesignsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postIssuingPersonalizationDesignsResponseSchema: z.ZodSchema = z.lazy(() => issuingPersonalizationDesignSchema); export const postIssuingPersonalizationDesignsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getIssuingPersonalizationDesignsPersonalizationDesignResponseSchema: z.ZodSchema = z.lazy(() => issuingPersonalizationDesignSchema); export const getIssuingPersonalizationDesignsPersonalizationDesignErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIssuingPersonalizationDesignsPersonalizationDesignResponseSchema: z.ZodSchema = z.lazy(() => issuingPersonalizationDesignSchema); export const postIssuingPersonalizationDesignsPersonalizationDesignErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingPhysicalBundlesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getIssuingPhysicalBundlesPhysicalBundleErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingSettlementsSettlementErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postIssuingSettlementsSettlementErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getIssuingTokensResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(issuingTokenSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getIssuingTokensErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingTokensTokenResponseSchema: z.ZodSchema = z.lazy( () => issuingTokenSchema, ); export const getIssuingTokensTokenErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postIssuingTokensTokenResponseSchema: z.ZodSchema = z.lazy( () => issuingTokenSchema, ); export const postIssuingTokensTokenErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingTransactionsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(issuingTransactionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getIssuingTransactionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getIssuingTransactionsTransactionResponseSchema: z.ZodSchema = z.lazy(() => issuingTransactionSchema); export const getIssuingTransactionsTransactionErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postIssuingTransactionsTransactionResponseSchema: z.ZodSchema = z.lazy(() => issuingTransactionSchema); export const postIssuingTransactionsTransactionErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postLinkAccountSessionsResponseSchema: z.ZodSchema = z.lazy( () => financialConnectionsSessionSchema, ); export const postLinkAccountSessionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getLinkAccountSessionsSessionResponseSchema: z.ZodSchema = z.lazy( () => financialConnectionsSessionSchema, ); export const getLinkAccountSessionsSessionErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getLinkedAccountsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(financialConnectionsAccountSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getLinkedAccountsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getLinkedAccountsAccountResponseSchema: z.ZodSchema = z.lazy( () => financialConnectionsAccountSchema, ); export const getLinkedAccountsAccountErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postLinkedAccountsAccountDisconnectResponseSchema: z.ZodSchema = z.lazy(() => financialConnectionsAccountSchema); export const postLinkedAccountsAccountDisconnectErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getLinkedAccountsAccountOwnersErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postLinkedAccountsAccountRefreshResponseSchema: z.ZodSchema = z.lazy(() => financialConnectionsAccountSchema); export const postLinkedAccountsAccountRefreshErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getMandatesMandateResponseSchema: z.ZodSchema = z.lazy(() => mandateSchema); export const getMandatesMandateErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPaymentIntentsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(paymentIntentSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getPaymentIntentsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentIntentsResponseSchema: z.ZodSchema = z.lazy( () => paymentIntentSchema, ); export const postPaymentIntentsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPaymentIntentsSearchResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(paymentIntentSchema), has_more: z.boolean(), next_page: z.string().optional().nullable(), object: z.literal('search_result'), total_count: z.number().optional(), url: z.string(), }), ); export const getPaymentIntentsSearchErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPaymentIntentsIntentResponseSchema: z.ZodSchema = z.lazy( () => paymentIntentSchema, ); export const getPaymentIntentsIntentErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentIntentsIntentResponseSchema: z.ZodSchema = z.lazy( () => paymentIntentSchema, ); export const postPaymentIntentsIntentErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postPaymentIntentsIntentApplyCustomerBalanceResponseSchema: z.ZodSchema = z.lazy(() => paymentIntentSchema); export const postPaymentIntentsIntentApplyCustomerBalanceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentIntentsIntentCancelResponseSchema: z.ZodSchema = z.lazy( () => paymentIntentSchema, ); export const postPaymentIntentsIntentCancelErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postPaymentIntentsIntentCaptureResponseSchema: z.ZodSchema = z.lazy(() => paymentIntentSchema); export const postPaymentIntentsIntentCaptureErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postPaymentIntentsIntentConfirmResponseSchema: z.ZodSchema = z.lazy(() => paymentIntentSchema); export const postPaymentIntentsIntentConfirmErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postPaymentIntentsIntentIncrementAuthorizationResponseSchema: z.ZodSchema = z.lazy(() => paymentIntentSchema); export const postPaymentIntentsIntentIncrementAuthorizationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentIntentsIntentVerifyMicrodepositsResponseSchema: z.ZodSchema = z.lazy(() => paymentIntentSchema); export const postPaymentIntentsIntentVerifyMicrodepositsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPaymentLinksResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(paymentLinkSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getPaymentLinksErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentLinksResponseSchema: z.ZodSchema = z.lazy(() => paymentLinkSchema); export const postPaymentLinksErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPaymentLinksPaymentLinkResponseSchema: z.ZodSchema = z.lazy( () => paymentLinkSchema, ); export const getPaymentLinksPaymentLinkErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postPaymentLinksPaymentLinkResponseSchema: z.ZodSchema = z.lazy( () => paymentLinkSchema, ); export const postPaymentLinksPaymentLinkErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getPaymentLinksPaymentLinkLineItemsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(itemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getPaymentLinksPaymentLinkLineItemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPaymentMethodConfigurationsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postPaymentMethodConfigurationsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getPaymentMethodConfigurationsConfigurationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentMethodConfigurationsConfigurationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPaymentMethodDomainsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentMethodDomainsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getPaymentMethodDomainsPaymentMethodDomainErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentMethodDomainsPaymentMethodDomainErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentMethodDomainsPaymentMethodDomainValidateErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPaymentMethodsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(paymentMethodSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getPaymentMethodsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentMethodsResponseSchema: z.ZodSchema = z.lazy( () => paymentMethodSchema, ); export const postPaymentMethodsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPaymentMethodsPaymentMethodResponseSchema: z.ZodSchema = z.lazy( () => paymentMethodSchema, ); export const getPaymentMethodsPaymentMethodErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postPaymentMethodsPaymentMethodResponseSchema: z.ZodSchema = z.lazy(() => paymentMethodSchema); export const postPaymentMethodsPaymentMethodErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postPaymentMethodsPaymentMethodAttachResponseSchema: z.ZodSchema = z.lazy(() => paymentMethodSchema); export const postPaymentMethodsPaymentMethodAttachErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPaymentMethodsPaymentMethodDetachResponseSchema: z.ZodSchema = z.lazy(() => paymentMethodSchema); export const postPaymentMethodsPaymentMethodDetachErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPayoutsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(payoutSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getPayoutsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPayoutsResponseSchema: z.ZodSchema = z.lazy(() => payoutSchema); export const postPayoutsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPayoutsPayoutResponseSchema: z.ZodSchema = z.lazy(() => payoutSchema); export const getPayoutsPayoutErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPayoutsPayoutResponseSchema: z.ZodSchema = z.lazy(() => payoutSchema); export const postPayoutsPayoutErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPayoutsPayoutCancelResponseSchema: z.ZodSchema = z.lazy( () => payoutSchema, ); export const postPayoutsPayoutCancelErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPayoutsPayoutReverseResponseSchema: z.ZodSchema = z.lazy( () => payoutSchema, ); export const postPayoutsPayoutReverseErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getPlansResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(planSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getPlansErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPlansResponseSchema: z.ZodSchema = z.lazy(() => planSchema); export const postPlansErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deletePlansPlanErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPlansPlanResponseSchema: z.ZodSchema = z.lazy(() => planSchema); export const getPlansPlanErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPlansPlanResponseSchema: z.ZodSchema = z.lazy(() => planSchema); export const postPlansPlanErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPricesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(priceSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getPricesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPricesResponseSchema: z.ZodSchema = z.lazy(() => priceSchema); export const postPricesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPricesSearchResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(priceSchema), has_more: z.boolean(), next_page: z.string().optional().nullable(), object: z.literal('search_result'), total_count: z.number().optional(), url: z.string(), }), ); export const getPricesSearchErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPricesPriceResponseSchema: z.ZodSchema = z.lazy(() => priceSchema); export const getPricesPriceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPricesPriceResponseSchema: z.ZodSchema = z.lazy(() => priceSchema); export const postPricesPriceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getProductsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(productSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getProductsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postProductsResponseSchema: z.ZodSchema = z.lazy(() => productSchema); export const postProductsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getProductsSearchResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(productSchema), has_more: z.boolean(), next_page: z.string().optional().nullable(), object: z.literal('search_result'), total_count: z.number().optional(), url: z.string(), }), ); export const getProductsSearchErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteProductsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getProductsIdResponseSchema: z.ZodSchema = z.lazy(() => productSchema); export const getProductsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postProductsIdResponseSchema: z.ZodSchema = z.lazy(() => productSchema); export const postProductsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getProductsProductFeaturesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postProductsProductFeaturesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteProductsProductFeaturesIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getProductsProductFeaturesIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getPromotionCodesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(promotionCodeSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getPromotionCodesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postPromotionCodesResponseSchema: z.ZodSchema = z.lazy( () => promotionCodeSchema, ); export const postPromotionCodesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getPromotionCodesPromotionCodeResponseSchema: z.ZodSchema = z.lazy( () => promotionCodeSchema, ); export const getPromotionCodesPromotionCodeErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postPromotionCodesPromotionCodeResponseSchema: z.ZodSchema = z.lazy(() => promotionCodeSchema); export const postPromotionCodesPromotionCodeErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getQuotesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(quoteSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getQuotesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postQuotesResponseSchema: z.ZodSchema = z.lazy(() => quoteSchema); export const postQuotesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getQuotesQuoteResponseSchema: z.ZodSchema = z.lazy(() => quoteSchema); export const getQuotesQuoteErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postQuotesQuoteResponseSchema: z.ZodSchema = z.lazy(() => quoteSchema); export const postQuotesQuoteErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postQuotesQuoteAcceptResponseSchema: z.ZodSchema = z.lazy( () => quoteSchema, ); export const postQuotesQuoteAcceptErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postQuotesQuoteCancelResponseSchema: z.ZodSchema = z.lazy( () => quoteSchema, ); export const postQuotesQuoteCancelErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getQuotesQuoteComputedUpfrontLineItemsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(itemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getQuotesQuoteComputedUpfrontLineItemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postQuotesQuoteFinalizeResponseSchema: z.ZodSchema = z.lazy( () => quoteSchema, ); export const postQuotesQuoteFinalizeErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getQuotesQuoteLineItemsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(itemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getQuotesQuoteLineItemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getQuotesQuotePdfErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getRadarEarlyFraudWarningsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(radarEarlyFraudWarningSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getRadarEarlyFraudWarningsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getRadarEarlyFraudWarningsEarlyFraudWarningResponseSchema: z.ZodSchema = z.lazy(() => radarEarlyFraudWarningSchema); export const getRadarEarlyFraudWarningsEarlyFraudWarningErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getRadarValueListItemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postRadarValueListItemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteRadarValueListItemsItemErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getRadarValueListItemsItemErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getRadarValueListsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postRadarValueListsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteRadarValueListsValueListErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getRadarValueListsValueListErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postRadarValueListsValueListErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getRefundsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(refundSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getRefundsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postRefundsResponseSchema: z.ZodSchema = z.lazy(() => refundSchema); export const postRefundsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getRefundsRefundResponseSchema: z.ZodSchema = z.lazy(() => refundSchema); export const getRefundsRefundErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postRefundsRefundResponseSchema: z.ZodSchema = z.lazy(() => refundSchema); export const postRefundsRefundErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postRefundsRefundCancelResponseSchema: z.ZodSchema = z.lazy( () => refundSchema, ); export const postRefundsRefundCancelErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getReportingReportRunsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(reportingReportRunSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getReportingReportRunsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postReportingReportRunsResponseSchema: z.ZodSchema = z.lazy( () => reportingReportRunSchema, ); export const postReportingReportRunsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getReportingReportRunsReportRunResponseSchema: z.ZodSchema = z.lazy(() => reportingReportRunSchema); export const getReportingReportRunsReportRunErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getReportingReportTypesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getReportingReportTypesReportTypeErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getReviewsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(reviewSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getReviewsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getReviewsReviewResponseSchema: z.ZodSchema = z.lazy(() => reviewSchema); export const getReviewsReviewErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postReviewsReviewApproveResponseSchema: z.ZodSchema = z.lazy( () => reviewSchema, ); export const postReviewsReviewApproveErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getSetupAttemptsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(setupAttemptSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getSetupAttemptsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSetupIntentsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(setupIntentSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getSetupIntentsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSetupIntentsResponseSchema: z.ZodSchema = z.lazy(() => setupIntentSchema); export const postSetupIntentsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSetupIntentsIntentResponseSchema: z.ZodSchema = z.lazy( () => setupIntentSchema, ); export const getSetupIntentsIntentErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSetupIntentsIntentResponseSchema: z.ZodSchema = z.lazy( () => setupIntentSchema, ); export const postSetupIntentsIntentErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSetupIntentsIntentCancelResponseSchema: z.ZodSchema = z.lazy( () => setupIntentSchema, ); export const postSetupIntentsIntentCancelErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postSetupIntentsIntentConfirmResponseSchema: z.ZodSchema = z.lazy( () => setupIntentSchema, ); export const postSetupIntentsIntentConfirmErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postSetupIntentsIntentVerifyMicrodepositsResponseSchema: z.ZodSchema = z.lazy(() => setupIntentSchema); export const postSetupIntentsIntentVerifyMicrodepositsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getShippingRatesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postShippingRatesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getShippingRatesShippingRateTokenErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postShippingRatesShippingRateTokenErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSigmaScheduledQueryRunsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(scheduledQueryRunSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getSigmaScheduledQueryRunsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getSigmaScheduledQueryRunsScheduledQueryRunResponseSchema: z.ZodSchema = z.lazy(() => scheduledQueryRunSchema); export const getSigmaScheduledQueryRunsScheduledQueryRunErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSourcesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSourcesSourceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSourcesSourceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSourcesSourceMandateNotificationsMandateNotificationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSourcesSourceSourceTransactionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSourcesSourceSourceTransactionsSourceTransactionErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSourcesSourceVerifyErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSubscriptionItemsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(subscriptionItemSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getSubscriptionItemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSubscriptionItemsResponseSchema: z.ZodSchema = z.lazy( () => subscriptionItemSchema, ); export const postSubscriptionItemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteSubscriptionItemsItemErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getSubscriptionItemsItemResponseSchema: z.ZodSchema = z.lazy( () => subscriptionItemSchema, ); export const getSubscriptionItemsItemErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postSubscriptionItemsItemResponseSchema: z.ZodSchema = z.lazy( () => subscriptionItemSchema, ); export const postSubscriptionItemsItemErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getSubscriptionItemsSubscriptionItemUsageRecordSummariesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSubscriptionItemsSubscriptionItemUsageRecordsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSubscriptionSchedulesResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(subscriptionScheduleSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getSubscriptionSchedulesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postSubscriptionSchedulesResponseSchema: z.ZodSchema = z.lazy( () => subscriptionScheduleSchema, ); export const postSubscriptionSchedulesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getSubscriptionSchedulesScheduleResponseSchema: z.ZodSchema = z.lazy(() => subscriptionScheduleSchema); export const getSubscriptionSchedulesScheduleErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postSubscriptionSchedulesScheduleResponseSchema: z.ZodSchema = z.lazy(() => subscriptionScheduleSchema); export const postSubscriptionSchedulesScheduleErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postSubscriptionSchedulesScheduleCancelResponseSchema: z.ZodSchema = z.lazy(() => subscriptionScheduleSchema); export const postSubscriptionSchedulesScheduleCancelErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSubscriptionSchedulesScheduleReleaseResponseSchema: z.ZodSchema = z.lazy(() => subscriptionScheduleSchema); export const postSubscriptionSchedulesScheduleReleaseErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSubscriptionsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(subscriptionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getSubscriptionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSubscriptionsResponseSchema: z.ZodSchema = z.lazy(() => subscriptionSchema); export const postSubscriptionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSubscriptionsSearchResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(subscriptionSchema), has_more: z.boolean(), next_page: z.string().optional().nullable(), object: z.literal('search_result'), total_count: z.number().optional(), url: z.string(), }), ); export const getSubscriptionsSearchErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteSubscriptionsSubscriptionExposedIdResponseSchema: z.ZodSchema = z.lazy(() => subscriptionSchema); export const deleteSubscriptionsSubscriptionExposedIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getSubscriptionsSubscriptionExposedIdResponseSchema: z.ZodSchema = z.lazy(() => subscriptionSchema); export const getSubscriptionsSubscriptionExposedIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSubscriptionsSubscriptionExposedIdResponseSchema: z.ZodSchema = z.lazy(() => subscriptionSchema); export const postSubscriptionsSubscriptionExposedIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteSubscriptionsSubscriptionExposedIdDiscountResponseSchema: z.ZodSchema = z.lazy(() => deletedDiscountSchema); export const deleteSubscriptionsSubscriptionExposedIdDiscountErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postSubscriptionsSubscriptionResumeResponseSchema: z.ZodSchema = z.lazy(() => subscriptionSchema); export const postSubscriptionsSubscriptionResumeErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTaxCalculationsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTaxCalculationsCalculationLineItemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTaxRegistrationsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTaxRegistrationsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTaxRegistrationsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTaxRegistrationsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTaxSettingsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTaxSettingsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTaxTransactionsCreateFromCalculationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTaxTransactionsCreateReversalErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTaxTransactionsTransactionErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTaxTransactionsTransactionLineItemsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTaxCodesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTaxCodesIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTaxIdsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(taxIdSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTaxIdsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTaxIdsResponseSchema: z.ZodSchema = z.lazy(() => taxIdSchema); export const postTaxIdsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteTaxIdsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTaxIdsIdResponseSchema: z.ZodSchema = z.lazy(() => taxIdSchema); export const getTaxIdsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTaxRatesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTaxRatesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTaxRatesTaxRateErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTaxRatesTaxRateErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTerminalConfigurationsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(terminalConfigurationSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTerminalConfigurationsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTerminalConfigurationsResponseSchema: z.ZodSchema = z.lazy( () => terminalConfigurationSchema, ); export const postTerminalConfigurationsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteTerminalConfigurationsConfigurationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTerminalConfigurationsConfigurationResponseSchema: z.ZodSchema = z.lazy(() => z.union([terminalConfigurationSchema, deletedTerminalConfigurationSchema])); export const getTerminalConfigurationsConfigurationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTerminalConfigurationsConfigurationResponseSchema: z.ZodSchema = z.lazy(() => z.union([terminalConfigurationSchema, deletedTerminalConfigurationSchema])); export const postTerminalConfigurationsConfigurationErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTerminalConnectionTokensErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTerminalLocationsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTerminalLocationsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteTerminalLocationsLocationErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTerminalLocationsLocationErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTerminalLocationsLocationErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTerminalReadersResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(terminalReaderSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTerminalReadersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTerminalReadersResponseSchema: z.ZodSchema = z.lazy( () => terminalReaderSchema, ); export const postTerminalReadersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteTerminalReadersReaderErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTerminalReadersReaderResponseSchema: z.ZodSchema = z.lazy(() => z.union([terminalReaderSchema, deletedTerminalReaderSchema]), ); export const getTerminalReadersReaderErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTerminalReadersReaderResponseSchema: z.ZodSchema = z.lazy(() => z.union([terminalReaderSchema, deletedTerminalReaderSchema]), ); export const postTerminalReadersReaderErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTerminalReadersReaderCancelActionResponseSchema: z.ZodSchema = z.lazy(() => terminalReaderSchema); export const postTerminalReadersReaderCancelActionErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTerminalReadersReaderProcessPaymentIntentResponseSchema: z.ZodSchema = z.lazy(() => terminalReaderSchema); export const postTerminalReadersReaderProcessPaymentIntentErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTerminalReadersReaderProcessSetupIntentResponseSchema: z.ZodSchema = z.lazy(() => terminalReaderSchema); export const postTerminalReadersReaderProcessSetupIntentErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTerminalReadersReaderRefundPaymentResponseSchema: z.ZodSchema = z.lazy(() => terminalReaderSchema); export const postTerminalReadersReaderRefundPaymentErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTerminalReadersReaderSetReaderDisplayResponseSchema: z.ZodSchema = z.lazy(() => terminalReaderSchema); export const postTerminalReadersReaderSetReaderDisplayErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersConfirmationTokensResponseSchema: z.ZodSchema = z.lazy(() => confirmationTokenSchema); export const postTestHelpersConfirmationTokensErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTestHelpersCustomersCustomerFundCashBalanceResponseSchema: z.ZodSchema = z.lazy(() => customerCashBalanceTransactionSchema); export const postTestHelpersCustomersCustomerFundCashBalanceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingAuthorizationsResponseSchema: z.ZodSchema = z.lazy(() => issuingAuthorizationSchema); export const postTestHelpersIssuingAuthorizationsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingAuthorizationsAuthorizationCaptureResponseSchema: z.ZodSchema = z.lazy(() => issuingAuthorizationSchema); export const postTestHelpersIssuingAuthorizationsAuthorizationCaptureErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingAuthorizationsAuthorizationExpireResponseSchema: z.ZodSchema = z.lazy(() => issuingAuthorizationSchema); export const postTestHelpersIssuingAuthorizationsAuthorizationExpireErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingAuthorizationsAuthorizationIncrementResponseSchema: z.ZodSchema = z.lazy(() => issuingAuthorizationSchema); export const postTestHelpersIssuingAuthorizationsAuthorizationIncrementErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingAuthorizationsAuthorizationReverseResponseSchema: z.ZodSchema = z.lazy(() => issuingAuthorizationSchema); export const postTestHelpersIssuingAuthorizationsAuthorizationReverseErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingCardsCardShippingDeliverResponseSchema: z.ZodSchema = z.lazy(() => issuingCardSchema); export const postTestHelpersIssuingCardsCardShippingDeliverErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingCardsCardShippingFailResponseSchema: z.ZodSchema = z.lazy(() => issuingCardSchema); export const postTestHelpersIssuingCardsCardShippingFailErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingCardsCardShippingReturnResponseSchema: z.ZodSchema = z.lazy(() => issuingCardSchema); export const postTestHelpersIssuingCardsCardShippingReturnErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingCardsCardShippingShipResponseSchema: z.ZodSchema = z.lazy(() => issuingCardSchema); export const postTestHelpersIssuingCardsCardShippingShipErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingPersonalizationDesignsPersonalizationDesignActivateResponseSchema: z.ZodSchema = z.lazy(() => issuingPersonalizationDesignSchema); export const postTestHelpersIssuingPersonalizationDesignsPersonalizationDesignActivateErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingPersonalizationDesignsPersonalizationDesignDeactivateResponseSchema: z.ZodSchema = z.lazy(() => issuingPersonalizationDesignSchema); export const postTestHelpersIssuingPersonalizationDesignsPersonalizationDesignDeactivateErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingPersonalizationDesignsPersonalizationDesignRejectResponseSchema: z.ZodSchema = z.lazy(() => issuingPersonalizationDesignSchema); export const postTestHelpersIssuingPersonalizationDesignsPersonalizationDesignRejectErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingTransactionsCreateForceCaptureResponseSchema: z.ZodSchema = z.lazy(() => issuingTransactionSchema); export const postTestHelpersIssuingTransactionsCreateForceCaptureErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingTransactionsCreateUnlinkedRefundResponseSchema: z.ZodSchema = z.lazy(() => issuingTransactionSchema); export const postTestHelpersIssuingTransactionsCreateUnlinkedRefundErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersIssuingTransactionsTransactionRefundResponseSchema: z.ZodSchema = z.lazy(() => issuingTransactionSchema); export const postTestHelpersIssuingTransactionsTransactionRefundErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersRefundsRefundExpireResponseSchema: z.ZodSchema = z.lazy(() => refundSchema); export const postTestHelpersRefundsRefundExpireErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTerminalReadersReaderPresentPaymentMethodResponseSchema: z.ZodSchema = z.lazy(() => terminalReaderSchema); export const postTestHelpersTerminalReadersReaderPresentPaymentMethodErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTestHelpersTestClocksErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTestHelpersTestClocksErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const deleteTestHelpersTestClocksTestClockErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTestHelpersTestClocksTestClockErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTestHelpersTestClocksTestClockAdvanceErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryInboundTransfersIdFailResponseSchema: z.ZodSchema = z.lazy(() => treasuryInboundTransferSchema); export const postTestHelpersTreasuryInboundTransfersIdFailErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryInboundTransfersIdReturnResponseSchema: z.ZodSchema = z.lazy(() => treasuryInboundTransferSchema); export const postTestHelpersTreasuryInboundTransfersIdReturnErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryInboundTransfersIdSucceedResponseSchema: z.ZodSchema = z.lazy(() => treasuryInboundTransferSchema); export const postTestHelpersTreasuryInboundTransfersIdSucceedErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryOutboundPaymentsIdResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundPaymentSchema); export const postTestHelpersTreasuryOutboundPaymentsIdErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryOutboundPaymentsIdFailResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundPaymentSchema); export const postTestHelpersTreasuryOutboundPaymentsIdFailErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryOutboundPaymentsIdPostResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundPaymentSchema); export const postTestHelpersTreasuryOutboundPaymentsIdPostErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryOutboundPaymentsIdReturnResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundPaymentSchema); export const postTestHelpersTreasuryOutboundPaymentsIdReturnErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundTransferSchema); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferFailResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundTransferSchema); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferFailErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferPostResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundTransferSchema); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferPostErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferReturnResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundTransferSchema); export const postTestHelpersTreasuryOutboundTransfersOutboundTransferReturnErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryReceivedCreditsResponseSchema: z.ZodSchema = z.lazy(() => treasuryReceivedCreditSchema); export const postTestHelpersTreasuryReceivedCreditsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTestHelpersTreasuryReceivedDebitsResponseSchema: z.ZodSchema = z.lazy(() => treasuryReceivedDebitSchema); export const postTestHelpersTreasuryReceivedDebitsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTokensResponseSchema: z.ZodSchema = z.lazy(() => tokenSchema); export const postTokensErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTokensTokenResponseSchema: z.ZodSchema = z.lazy(() => tokenSchema); export const getTokensTokenErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTopupsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(topupSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTopupsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTopupsResponseSchema: z.ZodSchema = z.lazy(() => topupSchema); export const postTopupsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTopupsTopupResponseSchema: z.ZodSchema = z.lazy(() => topupSchema); export const getTopupsTopupErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTopupsTopupResponseSchema: z.ZodSchema = z.lazy(() => topupSchema); export const postTopupsTopupErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTopupsTopupCancelResponseSchema: z.ZodSchema = z.lazy( () => topupSchema, ); export const postTopupsTopupCancelErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTransfersResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(transferSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTransfersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTransfersResponseSchema: z.ZodSchema = z.lazy(() => transferSchema); export const postTransfersErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTransfersIdReversalsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(transferReversalSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTransfersIdReversalsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTransfersIdReversalsResponseSchema: z.ZodSchema = z.lazy( () => transferReversalSchema, ); export const postTransfersIdReversalsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTransfersTransferResponseSchema: z.ZodSchema = z.lazy( () => transferSchema, ); export const getTransfersTransferErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTransfersTransferResponseSchema: z.ZodSchema = z.lazy( () => transferSchema, ); export const postTransfersTransferErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTransfersTransferReversalsIdResponseSchema: z.ZodSchema = z.lazy(() => transferReversalSchema); export const getTransfersTransferReversalsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTransfersTransferReversalsIdResponseSchema: z.ZodSchema = z.lazy(() => transferReversalSchema); export const postTransfersTransferReversalsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryCreditReversalsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(treasuryCreditReversalSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTreasuryCreditReversalsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTreasuryCreditReversalsResponseSchema: z.ZodSchema = z.lazy( () => treasuryCreditReversalSchema, ); export const postTreasuryCreditReversalsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryCreditReversalsCreditReversalResponseSchema: z.ZodSchema = z.lazy(() => treasuryCreditReversalSchema); export const getTreasuryCreditReversalsCreditReversalErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTreasuryDebitReversalsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(treasuryDebitReversalSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTreasuryDebitReversalsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTreasuryDebitReversalsResponseSchema: z.ZodSchema = z.lazy( () => treasuryDebitReversalSchema, ); export const postTreasuryDebitReversalsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryDebitReversalsDebitReversalResponseSchema: z.ZodSchema = z.lazy(() => treasuryDebitReversalSchema); export const getTreasuryDebitReversalsDebitReversalErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTreasuryFinancialAccountsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTreasuryFinancialAccountsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryFinancialAccountsFinancialAccountErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTreasuryFinancialAccountsFinancialAccountErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTreasuryFinancialAccountsFinancialAccountFeaturesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTreasuryFinancialAccountsFinancialAccountFeaturesErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTreasuryInboundTransfersResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(treasuryInboundTransferSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTreasuryInboundTransfersErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTreasuryInboundTransfersResponseSchema: z.ZodSchema = z.lazy( () => treasuryInboundTransferSchema, ); export const postTreasuryInboundTransfersErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryInboundTransfersIdResponseSchema: z.ZodSchema = z.lazy( () => treasuryInboundTransferSchema, ); export const getTreasuryInboundTransfersIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTreasuryInboundTransfersInboundTransferCancelResponseSchema: z.ZodSchema = z.lazy(() => treasuryInboundTransferSchema); export const postTreasuryInboundTransfersInboundTransferCancelErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTreasuryOutboundPaymentsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(treasuryOutboundPaymentSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTreasuryOutboundPaymentsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTreasuryOutboundPaymentsResponseSchema: z.ZodSchema = z.lazy( () => treasuryOutboundPaymentSchema, ); export const postTreasuryOutboundPaymentsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryOutboundPaymentsIdResponseSchema: z.ZodSchema = z.lazy( () => treasuryOutboundPaymentSchema, ); export const getTreasuryOutboundPaymentsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTreasuryOutboundPaymentsIdCancelResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundPaymentSchema); export const postTreasuryOutboundPaymentsIdCancelErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTreasuryOutboundTransfersResponseSchema: z.ZodSchema = z.lazy( () => z.object({ data: z.array(treasuryOutboundTransferSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTreasuryOutboundTransfersErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const postTreasuryOutboundTransfersResponseSchema: z.ZodSchema = z.lazy( () => treasuryOutboundTransferSchema, ); export const postTreasuryOutboundTransfersErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryOutboundTransfersOutboundTransferResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundTransferSchema); export const getTreasuryOutboundTransfersOutboundTransferErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postTreasuryOutboundTransfersOutboundTransferCancelResponseSchema: z.ZodSchema = z.lazy(() => treasuryOutboundTransferSchema); export const postTreasuryOutboundTransfersOutboundTransferCancelErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTreasuryReceivedCreditsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(treasuryReceivedCreditSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTreasuryReceivedCreditsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryReceivedCreditsIdResponseSchema: z.ZodSchema = z.lazy( () => treasuryReceivedCreditSchema, ); export const getTreasuryReceivedCreditsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryReceivedDebitsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(treasuryReceivedDebitSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTreasuryReceivedDebitsErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryReceivedDebitsIdResponseSchema: z.ZodSchema = z.lazy( () => treasuryReceivedDebitSchema, ); export const getTreasuryReceivedDebitsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryTransactionEntriesResponseSchema: z.ZodSchema = z.lazy( () => z.object({ data: z.array(treasuryTransactionEntrySchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTreasuryTransactionEntriesErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryTransactionEntriesIdResponseSchema: z.ZodSchema = z.lazy(() => treasuryTransactionEntrySchema); export const getTreasuryTransactionEntriesIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getTreasuryTransactionsResponseSchema: z.ZodSchema = z.lazy(() => z.object({ data: z.array(treasuryTransactionSchema), has_more: z.boolean(), object: z.literal('list'), url: z.string(), }), ); export const getTreasuryTransactionsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getTreasuryTransactionsIdResponseSchema: z.ZodSchema = z.lazy( () => treasuryTransactionSchema, ); export const getTreasuryTransactionsIdErrorSchema: z.ZodSchema = z.lazy( () => errorSchema, ); export const getWebhookEndpointsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postWebhookEndpointsErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const deleteWebhookEndpointsWebhookEndpointErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const getWebhookEndpointsWebhookEndpointErrorSchema: z.ZodSchema = z.lazy(() => errorSchema); export const postWebhookEndpointsWebhookEndpointErrorSchema: z.ZodSchema = z.lazy(() => errorSchema);