diff --git a/stripe/index.d.ts b/stripe/index.d.ts index a7d887c747..918f5c8551 100644 --- a/stripe/index.d.ts +++ b/stripe/index.d.ts @@ -12,13 +12,13 @@ interface StripeStatic { validateExpiry(month: string, year: string): boolean; validateCVC(cardCVC: string): boolean; cardType(cardNumber: string): StripeCardDataBrand; - getToken(token: string, responseHandler: (status: number, response: StripeTokenResponse) => void): void; - card: StripeCardData; - createToken(data: StripeTokenData, responseHandler: (status: number, response: StripeTokenResponse) => void): void; + getToken(token: string, responseHandler: (status: number, response: StripeCardTokenResponse) => void): void; + card: StripeCard; + createToken(data: StripeCardTokenData, responseHandler: (status: number, response: StripeCardTokenResponse) => void): void; bankAccount: StripeBankAccount; } -interface StripeTokenData { +interface StripeCardTokenData { number: string; exp_month?: number; exp_year?: number; @@ -35,7 +35,6 @@ interface StripeTokenData { interface StripeTokenResponse { id: string; - card: StripeCardData; created: number; livemode: boolean; object: string; @@ -44,6 +43,10 @@ interface StripeTokenResponse { error?: StripeError; } +interface StripeCardTokenResponse extends StripeTokenResponse { + card: StripeCard; +} + interface StripeError { type: string; code: string; @@ -53,7 +56,7 @@ interface StripeError { type StripeCardDataBrand = 'Visa' | 'American Express' | 'MasterCard' | 'Discover' | 'JCB' | 'Diners Club' | 'Unknown'; -interface StripeCardData { +interface StripeCard { object: string; last4: string; exp_month: number; @@ -67,7 +70,10 @@ interface StripeCardData { address_zip?: string; address_country?: string; brand?: StripeCardDataBrand; - createToken(data: StripeTokenData, responseHandler: (status: number, response: StripeTokenResponse) => void): void; + createToken(data: StripeCardTokenData, responseHandler: (status: number, response: StripeCardTokenResponse) => void): void; + validateCardNumber(cardNumber: string): boolean; + validateExpiry(month: string, year: string): boolean; + validateCVC(cardCVC: string): boolean; } interface StripeBankAccount { @@ -85,8 +91,7 @@ interface StripeBankTokenParams { account_holder_type: string; } -interface StripeBankTokenResponse { - id: string; +interface StripeBankTokenResponse extends StripeTokenResponse { bank_account: { country: string; bank_name: string; @@ -94,12 +99,6 @@ interface StripeBankTokenResponse { validated: boolean; object: string; }; - created: number; - livemode: boolean; - type: string; - object: string; - used: boolean; - error?: StripeError; } interface StripeApplePay { @@ -134,7 +133,7 @@ interface StripeApplePayLineItem { } interface StripeApplePaySessionResult { - token: StripeTokenResponse; + token: StripeCardTokenResponse; shippingContact?: StripeApplePayPaymentContact; shippingMethod?: StripeApplePayShippingMethod; } diff --git a/stripe/stripe-tests.ts b/stripe/stripe-tests.ts index 44aa09d216..56e6343f5c 100644 --- a/stripe/stripe-tests.ts +++ b/stripe/stripe-tests.ts @@ -1,4 +1,4 @@ -function success(card: StripeCardData) { +function success(card: StripeCard) { console.log(card.brand && card.brand.toString()); } @@ -6,7 +6,7 @@ const cardNumber = '4242424242424242'; const isValid = Stripe.validateCardNumber(cardNumber); if (isValid) { - const tokenData: StripeTokenData = { + const tokenData: StripeCardTokenData = { number: cardNumber, exp_month: 1, exp_year: 2100,