stripe
Version:
Stripe API wrapper
1,311 lines (1,068 loc) • 464 kB
TypeScript
// File generated from our OpenAPI spec
declare module 'stripe' {
namespace Stripe {
interface PaymentIntentCreateParams {
/**
* Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
*/
amount: number;
/**
* Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
*/
currency: string;
/**
* The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
*/
application_fee_amount?: number;
/**
* When you enable this parameter, this PaymentIntent accepts payment methods that you enable in the Dashboard and that are compatible with this PaymentIntent's other parameters.
*/
automatic_payment_methods?: PaymentIntentCreateParams.AutomaticPaymentMethods;
/**
* Controls when the funds will be captured from the customer's account.
*/
capture_method?: PaymentIntentCreateParams.CaptureMethod;
/**
* Set to `true` to attempt to [confirm this PaymentIntent](https://stripe.com/docs/api/payment_intents/confirm) immediately. This parameter defaults to `false`. When creating and confirming a PaymentIntent at the same time, you can also provide the parameters available in the [Confirm API](https://stripe.com/docs/api/payment_intents/confirm).
*/
confirm?: boolean;
/**
* Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment.
*/
confirmation_method?: PaymentIntentCreateParams.ConfirmationMethod;
/**
* ID of the ConfirmationToken used to confirm this PaymentIntent.
*
* If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence.
*/
confirmation_token?: string;
/**
* ID of the Customer this PaymentIntent belongs to, if one exists.
*
* Payment methods attached to other Customers cannot be used with this PaymentIntent.
*
* If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead.
*/
customer?: string;
/**
* An arbitrary string attached to the object. Often useful for displaying to users.
*/
description?: string;
/**
* Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. Use this parameter for simpler integrations that don't handle customer actions, such as [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
*/
error_on_requires_action?: boolean;
/**
* Specifies which fields in the response should be expanded.
*/
expand?: Array<string>;
/**
* ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
*/
mandate?: string;
/**
* This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
*/
mandate_data?: Stripe.Emptyable<PaymentIntentCreateParams.MandateData>;
/**
* Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
*/
metadata?: Stripe.MetadataParam;
/**
* Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
*/
off_session?: boolean | PaymentIntentCreateParams.OffSession;
/**
* The Stripe account ID that these funds are intended for. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
*/
on_behalf_of?: string;
/**
* ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods#compatibility) object) to attach to this PaymentIntent.
*
* If you don't provide the `payment_method` parameter or the `source` parameter with `confirm=true`, `source` automatically populates with `customer.default_source` to improve migration for users of the Charges API. We recommend that you explicitly provide the `payment_method` moving forward.
* If the payment method is attached to a Customer, you must also provide the ID of that Customer as the [customer](https://stripe.com/docs/api#create_payment_intent-customer) parameter of this PaymentIntent.
* end
*/
payment_method?: string;
/**
* The ID of the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) to use with this PaymentIntent.
*/
payment_method_configuration?: string;
/**
* If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear
* in the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method)
* property on the PaymentIntent.
*/
payment_method_data?: PaymentIntentCreateParams.PaymentMethodData;
/**
* Payment method-specific configuration for this PaymentIntent.
*/
payment_method_options?: PaymentIntentCreateParams.PaymentMethodOptions;
/**
* The list of payment method types (for example, a card) that this PaymentIntent can use. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type).
*/
payment_method_types?: Array<string>;
/**
* Options to configure Radar. Learn more about [Radar Sessions](https://stripe.com/docs/radar/radar-session).
*/
radar_options?: PaymentIntentCreateParams.RadarOptions;
/**
* Email address to send the receipt to. If you specify `receipt_email` for a payment in live mode, you send a receipt regardless of your [email settings](https://dashboard.stripe.com/account/emails).
*/
receipt_email?: string;
/**
* The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
*/
return_url?: string;
/**
* Indicates that you intend to make future payments with this PaymentIntent's payment method.
*
* If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
*
* If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
*
* When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication).
*/
setup_future_usage?: PaymentIntentCreateParams.SetupFutureUsage;
/**
* Shipping information for this PaymentIntent.
*/
shipping?: PaymentIntentCreateParams.Shipping;
/**
* Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).
*
* Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead.
*/
statement_descriptor?: string;
/**
* Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement.
*/
statement_descriptor_suffix?: string;
/**
* The parameters that you can use to automatically create a Transfer.
* Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
*/
transfer_data?: PaymentIntentCreateParams.TransferData;
/**
* A string that identifies the resulting payment as part of a group. Learn more about the [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers).
*/
transfer_group?: string;
/**
* Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.
*/
use_stripe_sdk?: boolean;
}
namespace PaymentIntentCreateParams {
interface AutomaticPaymentMethods {
/**
* Controls whether this PaymentIntent will accept redirect-based payment methods.
*
* Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the payment.
*/
allow_redirects?: AutomaticPaymentMethods.AllowRedirects;
/**
* Whether this feature is enabled.
*/
enabled: boolean;
}
namespace AutomaticPaymentMethods {
type AllowRedirects = 'always' | 'never';
}
type CaptureMethod = 'automatic' | 'automatic_async' | 'manual';
type ConfirmationMethod = 'automatic' | 'manual';
interface MandateData {
/**
* This hash contains details about the customer acceptance of the Mandate.
*/
customer_acceptance: MandateData.CustomerAcceptance;
}
namespace MandateData {
interface CustomerAcceptance {
/**
* The time at which the customer accepted the Mandate.
*/
accepted_at?: number;
/**
* If this is a Mandate accepted offline, this hash contains details about the offline acceptance.
*/
offline?: CustomerAcceptance.Offline;
/**
* If this is a Mandate accepted online, this hash contains details about the online acceptance.
*/
online?: CustomerAcceptance.Online;
/**
* The type of customer acceptance information included with the Mandate. One of `online` or `offline`.
*/
type: CustomerAcceptance.Type;
}
namespace CustomerAcceptance {
interface Offline {}
interface Online {
/**
* The IP address from which the Mandate was accepted by the customer.
*/
ip_address: string;
/**
* The user agent of the browser from which the Mandate was accepted by the customer.
*/
user_agent: string;
}
type Type = 'offline' | 'online';
}
}
type OffSession = 'one_off' | 'recurring';
interface PaymentMethodData {
/**
* If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.
*/
acss_debit?: PaymentMethodData.AcssDebit;
/**
* If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
*/
affirm?: PaymentMethodData.Affirm;
/**
* If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method.
*/
afterpay_clearpay?: PaymentMethodData.AfterpayClearpay;
/**
* If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method.
*/
alipay?: PaymentMethodData.Alipay;
/**
* This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`.
*/
allow_redisplay?: PaymentMethodData.AllowRedisplay;
/**
* If this is a Alma PaymentMethod, this hash contains details about the Alma payment method.
*/
alma?: PaymentMethodData.Alma;
/**
* If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method.
*/
amazon_pay?: PaymentMethodData.AmazonPay;
/**
* If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account.
*/
au_becs_debit?: PaymentMethodData.AuBecsDebit;
/**
* If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.
*/
bacs_debit?: PaymentMethodData.BacsDebit;
/**
* If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.
*/
bancontact?: PaymentMethodData.Bancontact;
/**
* If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method.
*/
billie?: PaymentMethodData.Billie;
/**
* Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
*/
billing_details?: PaymentMethodData.BillingDetails;
/**
* If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.
*/
blik?: PaymentMethodData.Blik;
/**
* If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method.
*/
boleto?: PaymentMethodData.Boleto;
/**
* If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
*/
cashapp?: PaymentMethodData.Cashapp;
/**
* If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method.
*/
crypto?: PaymentMethodData.Crypto;
/**
* If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
*/
customer_balance?: PaymentMethodData.CustomerBalance;
/**
* If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.
*/
eps?: PaymentMethodData.Eps;
/**
* If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method.
*/
fpx?: PaymentMethodData.Fpx;
/**
* If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method.
*/
giropay?: PaymentMethodData.Giropay;
/**
* If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method.
*/
grabpay?: PaymentMethodData.Grabpay;
/**
* If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method.
*/
ideal?: PaymentMethodData.Ideal;
/**
* If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method.
*/
interac_present?: PaymentMethodData.InteracPresent;
/**
* If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method.
*/
kakao_pay?: PaymentMethodData.KakaoPay;
/**
* If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method.
*/
klarna?: PaymentMethodData.Klarna;
/**
* If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method.
*/
konbini?: PaymentMethodData.Konbini;
/**
* If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method.
*/
kr_card?: PaymentMethodData.KrCard;
/**
* If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
*/
link?: PaymentMethodData.Link;
/**
* Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
*/
metadata?: Stripe.MetadataParam;
/**
* If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method.
*/
mobilepay?: PaymentMethodData.Mobilepay;
/**
* If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method.
*/
multibanco?: PaymentMethodData.Multibanco;
/**
* If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method.
*/
naver_pay?: PaymentMethodData.NaverPay;
/**
* If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method.
*/
nz_bank_account?: PaymentMethodData.NzBankAccount;
/**
* If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method.
*/
oxxo?: PaymentMethodData.Oxxo;
/**
* If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method.
*/
p24?: PaymentMethodData.P24;
/**
* If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method.
*/
pay_by_bank?: PaymentMethodData.PayByBank;
/**
* If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method.
*/
payco?: PaymentMethodData.Payco;
/**
* If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method.
*/
paynow?: PaymentMethodData.Paynow;
/**
* If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
*/
paypal?: PaymentMethodData.Paypal;
/**
* If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
*/
pix?: PaymentMethodData.Pix;
/**
* If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method.
*/
promptpay?: PaymentMethodData.Promptpay;
/**
* Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
*/
radar_options?: PaymentMethodData.RadarOptions;
/**
* If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
*/
revolut_pay?: PaymentMethodData.RevolutPay;
/**
* If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method.
*/
samsung_pay?: PaymentMethodData.SamsungPay;
/**
* If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method.
*/
satispay?: PaymentMethodData.Satispay;
/**
* If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
*/
sepa_debit?: PaymentMethodData.SepaDebit;
/**
* If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.
*/
sofort?: PaymentMethodData.Sofort;
/**
* If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method.
*/
swish?: PaymentMethodData.Swish;
/**
* If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method.
*/
twint?: PaymentMethodData.Twint;
/**
* The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
*/
type: PaymentMethodData.Type;
/**
* If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
*/
us_bank_account?: PaymentMethodData.UsBankAccount;
/**
* If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method.
*/
wechat_pay?: PaymentMethodData.WechatPay;
/**
* If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method.
*/
zip?: PaymentMethodData.Zip;
}
namespace PaymentMethodData {
interface AcssDebit {
/**
* Customer's bank account number.
*/
account_number: string;
/**
* Institution number of the customer's bank.
*/
institution_number: string;
/**
* Transit number of the customer's bank.
*/
transit_number: string;
}
interface Affirm {}
interface AfterpayClearpay {}
interface Alipay {}
type AllowRedisplay = 'always' | 'limited' | 'unspecified';
interface Alma {}
interface AmazonPay {}
interface AuBecsDebit {
/**
* The account number for the bank account.
*/
account_number: string;
/**
* Bank-State-Branch number of the bank account.
*/
bsb_number: string;
}
interface BacsDebit {
/**
* Account number of the bank account that the funds will be debited from.
*/
account_number?: string;
/**
* Sort code of the bank account. (e.g., `10-20-30`)
*/
sort_code?: string;
}
interface Bancontact {}
interface Billie {}
interface BillingDetails {
/**
* Billing address.
*/
address?: Stripe.Emptyable<Stripe.AddressParam>;
/**
* Email address.
*/
email?: Stripe.Emptyable<string>;
/**
* Full name.
*/
name?: Stripe.Emptyable<string>;
/**
* Billing phone number (including extension).
*/
phone?: Stripe.Emptyable<string>;
/**
* Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
*/
tax_id?: string;
}
interface Blik {}
interface Boleto {
/**
* The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers)
*/
tax_id: string;
}
interface Cashapp {}
interface Crypto {}
interface CustomerBalance {}
interface Eps {
/**
* The customer's bank.
*/
bank?: Eps.Bank;
}
namespace Eps {
type Bank =
| 'arzte_und_apotheker_bank'
| 'austrian_anadi_bank_ag'
| 'bank_austria'
| 'bankhaus_carl_spangler'
| 'bankhaus_schelhammer_und_schattera_ag'
| 'bawag_psk_ag'
| 'bks_bank_ag'
| 'brull_kallmus_bank_ag'
| 'btv_vier_lander_bank'
| 'capital_bank_grawe_gruppe_ag'
| 'deutsche_bank_ag'
| 'dolomitenbank'
| 'easybank_ag'
| 'erste_bank_und_sparkassen'
| 'hypo_alpeadriabank_international_ag'
| 'hypo_bank_burgenland_aktiengesellschaft'
| 'hypo_noe_lb_fur_niederosterreich_u_wien'
| 'hypo_oberosterreich_salzburg_steiermark'
| 'hypo_tirol_bank_ag'
| 'hypo_vorarlberg_bank_ag'
| 'marchfelder_bank'
| 'oberbank_ag'
| 'raiffeisen_bankengruppe_osterreich'
| 'schoellerbank_ag'
| 'sparda_bank_wien'
| 'volksbank_gruppe'
| 'volkskreditbank_ag'
| 'vr_bank_braunau';
}
interface Fpx {
/**
* Account holder type for FPX transaction
*/
account_holder_type?: Fpx.AccountHolderType;
/**
* The customer's bank.
*/
bank: Fpx.Bank;
}
namespace Fpx {
type AccountHolderType = 'company' | 'individual';
type Bank =
| 'affin_bank'
| 'agrobank'
| 'alliance_bank'
| 'ambank'
| 'bank_islam'
| 'bank_muamalat'
| 'bank_of_china'
| 'bank_rakyat'
| 'bsn'
| 'cimb'
| 'deutsche_bank'
| 'hong_leong_bank'
| 'hsbc'
| 'kfh'
| 'maybank2e'
| 'maybank2u'
| 'ocbc'
| 'pb_enterprise'
| 'public_bank'
| 'rhb'
| 'standard_chartered'
| 'uob';
}
interface Giropay {}
interface Grabpay {}
interface Ideal {
/**
* The customer's bank. Only use this parameter for existing customers. Don't use it for new customers.
*/
bank?: Ideal.Bank;
}
namespace Ideal {
type Bank =
| 'abn_amro'
| 'asn_bank'
| 'bunq'
| 'buut'
| 'handelsbanken'
| 'ing'
| 'knab'
| 'moneyou'
| 'n26'
| 'nn'
| 'rabobank'
| 'regiobank'
| 'revolut'
| 'sns_bank'
| 'triodos_bank'
| 'van_lanschot'
| 'yoursafe';
}
interface InteracPresent {}
interface KakaoPay {}
interface Klarna {
/**
* Customer's date of birth
*/
dob?: Klarna.Dob;
}
namespace Klarna {
interface Dob {
/**
* The day of birth, between 1 and 31.
*/
day: number;
/**
* The month of birth, between 1 and 12.
*/
month: number;
/**
* The four-digit year of birth.
*/
year: number;
}
}
interface Konbini {}
interface KrCard {}
interface Link {}
interface Mobilepay {}
interface Multibanco {}
interface NaverPay {
/**
* Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`.
*/
funding?: NaverPay.Funding;
}
namespace NaverPay {
type Funding = 'card' | 'points';
}
interface NzBankAccount {
/**
* The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details.
*/
account_holder_name?: string;
/**
* The account number for the bank account.
*/
account_number: string;
/**
* The numeric code for the bank account's bank.
*/
bank_code: string;
/**
* The numeric code for the bank account's bank branch.
*/
branch_code: string;
reference?: string;
/**
* The suffix of the bank account number.
*/
suffix: string;
}
interface Oxxo {}
interface P24 {
/**
* The customer's bank.
*/
bank?: P24.Bank;
}
namespace P24 {
type Bank =
| 'alior_bank'
| 'bank_millennium'
| 'bank_nowy_bfg_sa'
| 'bank_pekao_sa'
| 'banki_spbdzielcze'
| 'blik'
| 'bnp_paribas'
| 'boz'
| 'citi_handlowy'
| 'credit_agricole'
| 'envelobank'
| 'etransfer_pocztowy24'
| 'getin_bank'
| 'ideabank'
| 'ing'
| 'inteligo'
| 'mbank_mtransfer'
| 'nest_przelew'
| 'noble_pay'
| 'pbac_z_ipko'
| 'plus_bank'
| 'santander_przelew24'
| 'tmobile_usbugi_bankowe'
| 'toyota_bank'
| 'velobank'
| 'volkswagen_bank';
}
interface PayByBank {}
interface Payco {}
interface Paynow {}
interface Paypal {}
interface Pix {}
interface Promptpay {}
interface RadarOptions {
/**
* A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
*/
session?: string;
}
interface RevolutPay {}
interface SamsungPay {}
interface Satispay {}
interface SepaDebit {
/**
* IBAN of the bank account.
*/
iban: string;
}
interface Sofort {
/**
* Two-letter ISO code representing the country the bank account is located in.
*/
country: Sofort.Country;
}
namespace Sofort {
type Country = 'AT' | 'BE' | 'DE' | 'ES' | 'IT' | 'NL';
}
interface Swish {}
interface Twint {}
type Type =
| 'acss_debit'
| 'affirm'
| 'afterpay_clearpay'
| 'alipay'
| 'alma'
| 'amazon_pay'
| 'au_becs_debit'
| 'bacs_debit'
| 'bancontact'
| 'billie'
| 'blik'
| 'boleto'
| 'cashapp'
| 'crypto'
| 'customer_balance'
| 'eps'
| 'fpx'
| 'giropay'
| 'grabpay'
| 'ideal'
| 'kakao_pay'
| 'klarna'
| 'konbini'
| 'kr_card'
| 'link'
| 'mobilepay'
| 'multibanco'
| 'naver_pay'
| 'nz_bank_account'
| 'oxxo'
| 'p24'
| 'pay_by_bank'
| 'payco'
| 'paynow'
| 'paypal'
| 'pix'
| 'promptpay'
| 'revolut_pay'
| 'samsung_pay'
| 'satispay'
| 'sepa_debit'
| 'sofort'
| 'swish'
| 'twint'
| 'us_bank_account'
| 'wechat_pay'
| 'zip';
interface UsBankAccount {
/**
* Account holder type: individual or company.
*/
account_holder_type?: UsBankAccount.AccountHolderType;
/**
* Account number of the bank account.
*/
account_number?: string;
/**
* Account type: checkings or savings. Defaults to checking if omitted.
*/
account_type?: UsBankAccount.AccountType;
/**
* The ID of a Financial Connections Account to use as a payment method.
*/
financial_connections_account?: string;
/**
* Routing number of the bank account.
*/
routing_number?: string;
}
namespace UsBankAccount {
type AccountHolderType = 'company' | 'individual';
type AccountType = 'checking' | 'savings';
}
interface WechatPay {}
interface Zip {}
}
interface PaymentMethodOptions {
/**
* If this is a `acss_debit` PaymentMethod, this sub-hash contains details about the ACSS Debit payment method options.
*/
acss_debit?: Stripe.Emptyable<PaymentMethodOptions.AcssDebit>;
/**
* If this is an `affirm` PaymentMethod, this sub-hash contains details about the Affirm payment method options.
*/
affirm?: Stripe.Emptyable<PaymentMethodOptions.Affirm>;
/**
* If this is a `afterpay_clearpay` PaymentMethod, this sub-hash contains details about the Afterpay Clearpay payment method options.
*/
afterpay_clearpay?: Stripe.Emptyable<
PaymentMethodOptions.AfterpayClearpay
>;
/**
* If this is a `alipay` PaymentMethod, this sub-hash contains details about the Alipay payment method options.
*/
alipay?: Stripe.Emptyable<PaymentMethodOptions.Alipay>;
/**
* If this is a `alma` PaymentMethod, this sub-hash contains details about the Alma payment method options.
*/
alma?: Stripe.Emptyable<PaymentMethodOptions.Alma>;
/**
* If this is a `amazon_pay` PaymentMethod, this sub-hash contains details about the Amazon Pay payment method options.
*/
amazon_pay?: Stripe.Emptyable<PaymentMethodOptions.AmazonPay>;
/**
* If this is a `au_becs_debit` PaymentMethod, this sub-hash contains details about the AU BECS Direct Debit payment method options.
*/
au_becs_debit?: Stripe.Emptyable<PaymentMethodOptions.AuBecsDebit>;
/**
* If this is a `bacs_debit` PaymentMethod, this sub-hash contains details about the BACS Debit payment method options.
*/
bacs_debit?: Stripe.Emptyable<PaymentMethodOptions.BacsDebit>;
/**
* If this is a `bancontact` PaymentMethod, this sub-hash contains details about the Bancontact payment method options.
*/
bancontact?: Stripe.Emptyable<PaymentMethodOptions.Bancontact>;
/**
* If this is a `billie` PaymentMethod, this sub-hash contains details about the Billie payment method options.
*/
billie?: Stripe.Emptyable<PaymentMethodOptions.Billie>;
/**
* If this is a `blik` PaymentMethod, this sub-hash contains details about the BLIK payment method options.
*/
blik?: Stripe.Emptyable<PaymentMethodOptions.Blik>;
/**
* If this is a `boleto` PaymentMethod, this sub-hash contains details about the Boleto payment method options.
*/
boleto?: Stripe.Emptyable<PaymentMethodOptions.Boleto>;
/**
* Configuration for any card payments attempted on this PaymentIntent.
*/
card?: Stripe.Emptyable<PaymentMethodOptions.Card>;
/**
* If this is a `card_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options.
*/
card_present?: Stripe.Emptyable<PaymentMethodOptions.CardPresent>;
/**
* If this is a `cashapp` PaymentMethod, this sub-hash contains details about the Cash App Pay payment method options.
*/
cashapp?: Stripe.Emptyable<PaymentMethodOptions.Cashapp>;
/**
* If this is a `crypto` PaymentMethod, this sub-hash contains details about the Crypto payment method options.
*/
crypto?: Stripe.Emptyable<PaymentMethodOptions.Crypto>;
/**
* If this is a `customer balance` PaymentMethod, this sub-hash contains details about the customer balance payment method options.
*/
customer_balance?: Stripe.Emptyable<
PaymentMethodOptions.CustomerBalance
>;
/**
* If this is a `eps` PaymentMethod, this sub-hash contains details about the EPS payment method options.
*/
eps?: Stripe.Emptyable<PaymentMethodOptions.Eps>;
/**
* If this is a `fpx` PaymentMethod, this sub-hash contains details about the FPX payment method options.
*/
fpx?: Stripe.Emptyable<PaymentMethodOptions.Fpx>;
/**
* If this is a `giropay` PaymentMethod, this sub-hash contains details about the Giropay payment method options.
*/
giropay?: Stripe.Emptyable<PaymentMethodOptions.Giropay>;
/**
* If this is a `grabpay` PaymentMethod, this sub-hash contains details about the Grabpay payment method options.
*/
grabpay?: Stripe.Emptyable<PaymentMethodOptions.Grabpay>;
/**
* If this is a `ideal` PaymentMethod, this sub-hash contains details about the Ideal payment method options.
*/
ideal?: Stripe.Emptyable<PaymentMethodOptions.Ideal>;
/**
* If this is a `interac_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options.
*/
interac_present?: Stripe.Emptyable<PaymentMethodOptions.InteracPresent>;
/**
* If this is a `kakao_pay` PaymentMethod, this sub-hash contains details about the Kakao Pay payment method options.
*/
kakao_pay?: Stripe.Emptyable<PaymentMethodOptions.KakaoPay>;
/**
* If this is a `klarna` PaymentMethod, this sub-hash contains details about the Klarna payment method options.
*/
klarna?: Stripe.Emptyable<PaymentMethodOptions.Klarna>;
/**
* If this is a `konbini` PaymentMethod, this sub-hash contains details about the Konbini payment method options.
*/
konbini?: Stripe.Emptyable<PaymentMethodOptions.Konbini>;
/**
* If this is a `kr_card` PaymentMethod, this sub-hash contains details about the KR Card payment method options.
*/
kr_card?: Stripe.Emptyable<PaymentMethodOptions.KrCard>;
/**
* If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options.
*/
link?: Stripe.Emptyable<PaymentMethodOptions.Link>;
/**
* If this is a `MobilePay` PaymentMethod, this sub-hash contains details about the MobilePay payment method options.
*/
mobilepay?: Stripe.Emptyable<PaymentMethodOptions.Mobilepay>;
/**
* If this is a `multibanco` PaymentMethod, this sub-hash contains details about the Multibanco payment method options.
*/
multibanco?: Stripe.Emptyable<PaymentMethodOptions.Multibanco>;
/**
* If this is a `naver_pay` PaymentMethod, this sub-hash contains details about the Naver Pay payment method options.
*/
naver_pay?: Stripe.Emptyable<PaymentMethodOptions.NaverPay>;
/**
* If this is a `nz_bank_account` PaymentMethod, this sub-hash contains details about the NZ BECS Direct Debit payment method options.
*/
nz_bank_account?: Stripe.Emptyable<PaymentMethodOptions.NzBankAccount>;
/**
* If this is a `oxxo` PaymentMethod, this sub-hash contains details about the OXXO payment method options.
*/
oxxo?: Stripe.Emptyable<PaymentMethodOptions.Oxxo>;
/**
* If this is a `p24` PaymentMethod, this sub-hash contains details about the Przelewy24 payment method options.
*/
p24?: Stripe.Emptyable<PaymentMethodOptions.P24>;
/**
* If this is a `pay_by_bank` PaymentMethod, this sub-hash contains details about the PayByBank payment method options.
*/
pay_by_bank?: Stripe.Emptyable<PaymentMethodOptions.PayByBank>;
/**
* If this is a `payco` PaymentMethod, this sub-hash contains details about the PAYCO payment method options.
*/
payco?: Stripe.Emptyable<PaymentMethodOptions.Payco>;
/**
* If this is a `paynow` PaymentMethod, this sub-hash contains details about the PayNow payment method options.
*/
paynow?: Stripe.Emptyable<PaymentMethodOptions.Paynow>;
/**
* If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
*/
paypal?: Stripe.Emptyable<PaymentMethodOptions.Paypal>;
/**
* If this is a `pix` PaymentMethod, this sub-hash contains details about the Pix payment method options.
*/
pix?: Stripe.Emptyable<PaymentMethodOptions.Pix>;
/**
* If this is a `promptpay` PaymentMethod, this sub-hash contains details about the PromptPay payment method options.
*/
promptpay?: Stripe.Emptyable<PaymentMethodOptions.Promptpay>;
/**
* If this is a `revolut_pay` PaymentMethod, this sub-hash contains details about the Revolut Pay payment method options.
*/
revolut_pay?: Stripe.Emptyable<PaymentMethodOptions.RevolutPay>;
/**
* If this is a `samsung_pay` PaymentMethod, this sub-hash contains details about the Samsung Pay payment method options.
*/
samsung_pay?: Stripe.Emptyable<PaymentMethodOptions.SamsungPay>;
/**
* If this is a `satispay` PaymentMethod, this sub-hash contains details about the Satispay payment method options.
*/
satispay?: Stripe.Emptyable<PaymentMethodOptions.Satispay>;
/**
* If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options.
*/
sepa_debit?: Stripe.Emptyable<PaymentMethodOptions.SepaDebit>;
/**
* If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options.
*/
sofort?: Stripe.Emptyable<PaymentMethodOptions.Sofort>;
/**
* If this is a `Swish` PaymentMethod, this sub-hash contains details about the Swish payment method options.
*/
swish?: Stripe.Emptyable<PaymentMethodOptions.Swish>;
/**
* If this is a `twint` PaymentMethod, this sub-hash contains details about the TWINT payment method options.
*/
twint?: Stripe.Emptyable<PaymentMethodOptions.Twint>;
/**
* If this is a `us_bank_account` PaymentMethod, this sub-hash contains details about the US bank account payment method options.
*/
us_bank_account?: Stripe.Emptyable<PaymentMethodOptions.UsBankAccount>;
/**
* If this is a `wechat_pay` PaymentMethod, this sub-hash contains details about the WeChat Pay payment method options.
*/
wechat_pay?: Stripe.Emptyable<PaymentMethodOptions.WechatPay>;
/**
* If this is a `zip` PaymentMethod, this sub-hash contains details about the Zip payment method options.
*/
zip?: Stripe.Emptyable<PaymentMethodOptions.Zip>;
}
namespace PaymentMethodOptions {
interface AcssDebit {
/**
* Additional fields for Mandate creation
*/
mandate_options?: AcssDebit.MandateOptions;
/**
* Indicates that you intend to make future payments with this PaymentIntent's payment method.
*
* If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
*
* If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
*
* When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication).
*
* If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
*/
setup_future_usage?: Stripe.Emptyable<AcssDebit.SetupFutureUsage>;
/**
* Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
*/
target_date?: string;
/**
* Bank account verification method.
*/
verification_method?: AcssDebit.VerificationMethod;
}
namespace AcssDebit {
interface MandateOptions {
/**
* A URL for custom mandate text to render during confirmation step.
* The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent,
* or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent.
*/
custom_mandate_url?: Stripe.Emptyable<string>;
/**
* Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'.
*/
interval_description?: string;
/**
* Payment schedule for the mandate.
*/
payment_schedule?: MandateOptions.PaymentSchedule;
/**
* Transaction type of the mandate.
*/
transaction_type?: MandateOptions.TransactionType;
}
namespace MandateOptions {
type PaymentSchedule = 'combined' | 'interval' | 'sporadic';
type TransactionType = 'business' | 'personal';
}
type SetupFutureUsage = 'none' | 'off_session' | 'on_sessi