Files
Shifted/node_modules/@stripe/stripe-js/dist/api/payment-methods.d.mts
2026-02-10 01:14:19 +00:00

706 lines
16 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import {StripeElement, StripeElements} from '../stripe-js';
import {Metadata, MetadataParam, Address} from './shared';
/**
* The PaymentMethod object.
*/
export interface PaymentMethod {
/**
* Unique identifier for the object.
*/
id: string;
/**
* String representing the object's type. Objects of the same type share the same value.
*/
object: 'payment_method';
affirm?: PaymentMethod.Affirm;
afterpay_clearpay?: PaymentMethod.AfterpayClearpay;
acss_debit?: PaymentMethod.AcssDebit;
alipay?: PaymentMethod.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. Can be `always`, `limited` or `unspecified`.
*/
allow_redisplay: string | null;
alma?: PaymentMethod.Alma;
amazon_pay?: PaymentMethod.AmazonPay;
au_becs_debit?: PaymentMethod.AuBecsDebit;
bacs_debit?: PaymentMethod.BacsDebit;
bancontact?: PaymentMethod.Bancontact;
billie?: PaymentMethod.Billie;
blik?: PaymentMethod.Blik;
boleto?: PaymentMethod.Boleto;
billing_details: PaymentMethod.BillingDetails;
card?: PaymentMethod.Card;
card_present?: PaymentMethod.CardPresent;
/**
* Time at which the object was created. Measured in seconds since the Unix epoch.
*/
created: number;
crypto?: PaymentMethod.Crypto;
/**
* The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer.
*/
customer: string | null;
eps?: PaymentMethod.Eps;
fpx?: PaymentMethod.Fpx;
grabpay?: PaymentMethod.GrabPay;
ideal?: PaymentMethod.Ideal;
kakao_pay?: PaymentMethod.KakaoPay;
klarna?: PaymentMethod.Klarna;
konbini?: PaymentMethod.Konbini;
link?: PaymentMethod.Link;
/**
* Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
*/
livemode: boolean;
/**
* Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
*/
metadata: Metadata;
mobile_pay?: PaymentMethod.MobilePay;
multibanco?: PaymentMethod.Multibanco;
naver_pay?: PaymentMethod.NaverPay;
nz_bank_account?: PaymentMethod.NzBankAccount;
oxxo?: PaymentMethod.Oxxo;
p24?: PaymentMethod.P24;
pay_by_bank?: PaymentMethod.PayByBank;
payco?: PaymentMethod.Payco;
paynow?: PaymentMethod.Paynow;
paypal?: PaymentMethod.Paypal;
pix?: PaymentMethod.Pix;
promptpay?: PaymentMethod.PromptPay;
revolut_pay?: PaymentMethod.RevolutPay;
samsun_pay?: PaymentMethod.SamsungPay;
satispay?: PaymentMethod.Satispay;
sepa_debit?: PaymentMethod.SepaDebit;
swish?: PaymentMethod.Swish;
twint?: PaymentMethod.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: string;
us_bank_account?: PaymentMethod.UsBankAccount;
wechat_pay?: PaymentMethod.WechatPay;
zip?: PaymentMethod.Zip;
}
export namespace PaymentMethod {
export interface AcssDebit {
/**
* The name of the bank.
*/
bank_name: string;
/**
* Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
*/
fingerprint: string | null;
/**
* Institution number of the customers bank.
*/
institution_number: string;
/**
* Last four digits of the bank account number.
*/
last4: string;
/**
* Transit number of the customers bank.
*/
transit_number: string;
}
export interface Affirm {}
export interface AfterpayClearpay {}
export interface Alipay {}
export interface Alma {}
export interface AmazonPay {}
export interface AuBecsDebit {
/**
* Bank State Branch
*/
bsb_number: string | null;
/**
* Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
*/
fingerprint: string | null;
/**
* Last four characters of the account number.
*/
last4: string | null;
}
export interface BacsDebit {
/**
* Last four characters of the account number.
*/
last4: string | null;
/**
* Sort code of the bank account. (e.g., 10-20-30).
*/
sort_code: string | null;
}
export interface Bancontact {}
export interface Billie {}
export interface BillingDetails {
/**
* Billing address.
*/
address: Address | null;
/**
* Email address.
*/
email: string | null;
/**
* Full name.
*/
name: string | null;
/**
* Billing phone number (including extension).
*/
phone: string | null;
}
export interface Blik {}
export interface Boleto {}
export interface Card {
/**
* Card brand. Can be `amex`, `diners`, `discover`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
*/
brand: string;
/**
* Checks on Card address and CVC if provided.
*/
checks: Card.Checks | null;
/**
* Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
*/
country: string | null;
/**
* The brand to use when displaying the card, this accounts for customers brand choice on dual-branded cards. Can be `american_express`, `cartes_bancaires`, `diners_club`, `discover`, `eftpos_australia`, `interac`, `jcb`, `mastercard`, `union_pay`, `visa`, or other and may contain more values in the future.
*/
display_brand: string | null;
/**
* Two-digit number representing the card's expiration month.
*/
exp_month: number;
/**
* Four-digit number representing the card's expiration year.
*/
exp_year: number;
/**
* Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number.
*/
fingerprint?: string | null;
/**
* Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
*/
funding: string;
/**
* The last four digits of the card.
*/
last4: string;
/**
* Contains information about card networks that can be used to process the payment.
*/
networks: {
/**
* The preferred network for co-branded cards.
*/
preferred: string | null;
/**
* All available networks for the card.
*/
available: string[];
} | null;
/**
* Status of a card based on the card issuer. Can be `regulated` or `unregulated`.
*/
regulated_status: string | null;
/**
* Contains details on how this Card maybe be used for 3D Secure authentication.
*/
three_d_secure_usage: Card.ThreeDSecureUsage | null;
/**
* If this Card is part of a card wallet, this contains the details of the card wallet.
*/
wallet: null | {[k: string]: any};
}
export namespace Card {
export interface Checks {
/**
* If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
*/
address_line1_check: string | null;
/**
* If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
*/
address_postal_code_check: string | null;
/**
* If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
*/
cvc_check: string | null;
}
export interface ThreeDSecureUsage {
/**
* Whether 3D Secure is supported on this card.
*/
supported: boolean;
}
}
export interface CardPresent {}
export interface CashApp {
/**
* A unique and immutable identifier assigned by Cash App to every buyer.
*/
buyer_id: string | null;
/**
* A public identifier for buyers using Cash App.
*/
cashtag: string | null;
}
export interface Crypto {}
export interface Eps {
/**
* The customer's bank.
*/
bank: string;
}
export interface Fpx {
/**
* The customer's bank.
*/
bank: string;
}
export interface GrabPay {}
export interface Ideal {
/**
* The customer's bank, if provided.
*/
bank: string | null;
/**
* The Bank Identifier Code of the customer's bank, if the bank was provided.
*/
bic: string | null;
}
export interface KakaoPay {}
export interface Klarna {}
export interface Konbini {}
export interface KrCard {
/**
* The local credit or debit card brand.
*/
brand: string | null;
/**
* Last four characters of the IBAN.
*/
last4: string | null;
}
export interface Link {
/**
* Account owners email address.
*/
email: string | null;
}
export interface MobilePay {}
export interface Multibanco {}
export interface NaverPay {}
export interface NzBankAccount {
/**
* The name on the bank account. Only present if the account holder name is different from the name of the authorized signatory collected in the PaymentMethods billing details.
*/
account_holder_name: string | null;
/**
* The numeric code for the bank accounts bank.
*/
bank_code: string | null;
/**
* The name of the bank.
*/
bank_name: string | null;
/**
* Branch code of bank associated with the bank account.
*/
branch_code: string | null;
/**
* Last four digits of the bank account number.
*/
last4: string | null;
/**
* The suffix of the bank account number.
*/
suffix: string | null;
}
export interface Oxxo {}
export interface P24 {
/**
* The customer's bank.
*/
bank: string;
}
export interface PayByBank {}
export interface Payco {}
export interface Paynow {}
export interface Paypal {
/**
* Two-letter ISO code representing the buyers country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
*/
country: string | null;
/**
* Owners email. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
*/
payer_name: string | null;
/**
* PayPal account PayerID. This identifier uniquely identifies the PayPal customer.
*/
payer_id: string | null;
}
export interface Pix {}
export interface PromptPay {}
export interface RevolutPay {}
export interface SamsungPay {}
export interface Satispay {}
export interface SepaDebit {
/**
* Bank code of bank associated with the bank account.
*/
bank_code: string | null;
/**
* Branch code of bank associated with the bank account.
*/
branch_code: string | null;
/**
* Two-letter ISO code representing the country the bank account is located in.
*/
country: string | null;
/**
* Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
*/
fingerprint: string | null;
/**
* Last four characters of the IBAN.
*/
last4: string | null;
}
export interface Swish {}
export interface Twint {}
export interface UsBankAccount {
/**
* Customers bank account number.
*/
account_number: string;
/**
* The routing transit number for the bank account.
*/
routing_number: string;
/**
* The type of entity that holds the account. This can be either `individual` or `company`.
*/
account_holder_type: string;
/**
* Account type: checkings or savings. Defaults to checking if omitted.
*/
account_type: string;
/**
* The name of the bank.
*/
bank_name: string;
/**
* The ID of the Financial Connections Account used to create the payment method.
*/
financial_connections_account: string;
/**
* Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
*/
fingerprint: string;
/**
* Last four digits of the bank account number.
*/
last4: string;
/**
* Contains information about US bank account networks that can be used.
*/
networks: {
/**
* The preferred network.
*/
preferred: string;
/**
* All supported networks.
*/
supported: string[];
};
}
export interface WechatPay {}
export interface Zip {}
}
export interface PaymentMethodCreateParams {
/**
* Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
*/
billing_details?: PaymentMethodCreateParams.BillingDetails;
/**
* Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. 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?: MetadataParam;
/**
* The PaymentMethod to share.
*/
payment_method?: string;
/**
* 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. Required unless `payment_method` is specified (see the [Cloning PaymentMethods](https://stripe.com/docs/payments/payment-methods/connect#cloning-payment-methods) guide)
*/
type?: string;
/**
* Specifies if the PaymentMethod should be redisplayed when using the Saved Payment Method feature.
*/
allow_redisplay?: 'always' | 'limited' | 'unspecified';
}
export interface CreatePaymentMethodFromElements {
/**
* The Elements instance
*
* @docs https://stripe.com/docs/js/elements_object
*/
elements: StripeElements;
/**
* Parameters that will be passed on to the PaymentMethod API
*
* @docs https://stripe.com/docs/api/payment_methods/create
*/
params?: PaymentMethodCreateParams;
/**
* Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. 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?: MetadataParam;
}
export interface CreatePaymentMethodFromElement {
/**
* The specific Element used to collect payment details
*
* @docs https://stripe.com/docs/js/element
*/
element: StripeElement;
/**
* Parameters that will be passed on to the PaymentMethod API
*
* @docs https://stripe.com/docs/api/payment_methods/create
*/
params?: PaymentMethodCreateParams;
/**
* Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. 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?: MetadataParam;
}
export namespace PaymentMethodCreateParams {
export interface BillingDetails {
/**
* Billing address.
*/
address?: BillingDetails.Address;
/**
* Email address.
*/
email?: string | null;
/**
* Full name.
*/
name?: string | null;
/**
* Billing phone number (including extension).
*/
phone?: string | null;
}
export namespace BillingDetails {
export interface Address {
/**
* City, district, suburb, town, or village.
*/
city?: string | null;
/**
* Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
*/
country?: string | null;
/**
* Address line 1 (e.g., street, PO Box, or company name).
*/
line1?: string | null;
/**
* Address line 2 (e.g., apartment, suite, unit, or building).
*/
line2?: string | null;
/**
* ZIP or postal code.
*/
postal_code?: string | null;
/**
* State, county, province, or region.
*/
state?: string | null;
}
}
}