Skip to content

Types and errors ​

The TypeScript types and error classes that @vue-stripe/vue-stripe exports. Import every type from the package, not from @stripe/stripe-js: the Stripe.js types below are re-exported under their original names, so one import covers both.

ts
// Listing: how to import types, not a complete sample
import type { UsePaymentIntentReturn, StripePaymentElementOptions } from '@vue-stripe/vue-stripe'

Vue Stripe types ​

Types defined by Vue Stripe.

Configuration and props ​

TypeDescription
VueStripeOptionsOptions of createVueStripe()
VueStripeConfigThe resolved config (publishableKey, stripeAccount, apiVersion, locale) that the provider and the plugin provide under stripeConfigInjectionKey
VueStripeProviderPropsProps of VueStripeProvider
VueStripeElementsPropsProps of VueStripeElements
VueStripeCheckoutElementsProviderPropsProps of VueStripeCheckoutElementsProvider
VueStripeCheckoutProviderPropsSame type under the deprecated alias name
VueStripeCheckoutFormProviderPropsProps of VueStripeCheckoutFormProvider
VueStripeEmbeddedCheckoutPropsProps of VueStripeEmbeddedCheckout
VueStripePricingTablePropsProps of VueStripePricingTable
PaymentElementTypePayment method type names the Payment Element can show
ExpressCheckoutType'apple_pay' | 'google_pay' | 'paypal' | 'amazon_pay' | 'link'

Composable return values and options ​

TypeUsed by
UseStripeReturnuseStripe
UseStripeElementsReturn, ElementsSubmitResultuseStripeElements
UsePaymentIntentReturn, ConfirmPaymentOptions, ConfirmPaymentResultusePaymentIntent
UseSetupIntentReturn, ConfirmSetupOptions, ConfirmSetupResultuseSetupIntent
UseStripeCheckoutReturn, CheckoutRedirectOptionsuseStripeCheckout
UseCheckoutSessionReturnuseCheckoutSession
UseCheckoutFormReturnuseCheckoutForm
UseCreatePaymentMethodReturn, CreatePaymentMethodOptions, CreatePaymentMethodResultuseCreatePaymentMethod
UseCreateConfirmationTokenReturn, CreateConfirmationTokenOptionsuseCreateConfirmationToken
UseHandleNextActionReturn, HandleNextActionOptions, HandleNextActionResultuseHandleNextAction
UseFinancialConnectionsReturn, CollectFinancialConnectionsAccountsOptions, CollectFinancialConnectionsAccountsResult, CollectBankAccountForPaymentOptions, CollectBankAccountForPaymentResult, CollectBankAccountForSetupOptions, CollectBankAccountForSetupResult, CollectBankAccountTokenOptions, CollectBankAccountTokenResultuseFinancialConnections
UseIdentityReturn, VerifyIdentityResultuseIdentity
UsePaymentRequestReturn, PaymentRequestEventMap, PaymentRequestEventType, PaymentRequestEventHandlerusePaymentRequest
UseStripeMethodReturn<K>, StripeMethodNameThe method composables (useConfirm<Method>Payment / Setup, useCreateToken, useRadarSession, ...): the Stripe method K under its own name plus loading and error
VueStripeErrorResultThe { error: { message } } result a composable resolves to when Stripe.js has not loaded or the Stripe call threw. See return value

Components and context ​

TypeDescription
StripeElementComponent<TOptions, TElement, TExtra, TEvents>Public type of every element component; use it with InstanceType<typeof ...> for template refs
StripeElementExposed<TElement>Members every element component exposes: element, loading, error, focus(), blur(), clear()
BaseElementEvents<TElement, TChange>Payloads of the ready, change, focus, blur and escape events. focus, blur and escape carry { elementType }, with the element type taken from TChange
VueStripeElement, VueStripeElementEventsElement state (stripe, element, loading, error) and the ready / change handler signatures
StripeDisclosureComponent<TOptions>Public type of the disclosure components
DisclosureStripePropThe disclosures' stripe prop: a Stripe instance, a Promise of one, or null
DisclosureErrorPayload of a disclosure's error event: a StripeError, or { message }
FinancialAccountDisclosureOptions, IssuingDisclosureOptions, TreasuryDisclosureOptionsoptions of the three disclosure components
VueStripeContextWhat VueStripeProvider provides: stripe, loading, error refs
VueStripeElementsContextWhat VueStripeElements provides: elements, loading, error refs
VueStripeErrorShape of a Stripe error: type, code, message, decline_code, param

Re-exported Stripe.js types ​

These come from @stripe/stripe-js 10 unchanged. Stripe documents them in the Stripe.js reference.

ts
// Listing of the re-exported Stripe.js types, not a sample
import type {
  // Core
  Stripe,
  StripeConstructorOptions,
  StripeError,
  ReleaseTrain,
  PaymentIntent,
  SetupIntent,
  ConfirmPaymentData,
  ConfirmSetupData,
  ConfirmCardSetupData,
  ConfirmationTokenResult,
  CreatePaymentMethodData,
  CreatePaymentMethodFromElements,

  // Elements group
  StripeElements,
  StripeElement,
  StripeElementType,
  StripeElementsOptions,
  StripeElementsOptionsClientSecret,
  StripeElementsOptionsMode,
  StripeElementsUpdateOptions,
  StripeElementChangeEvent,
  Appearance,
  CssFontSource,
  CustomFontSource,

  // Elements, their options and events
  StripePaymentElement,
  StripePaymentElementOptions,
  StripePaymentElementChangeEvent,
  StripePaymentElementAvailablePaymentMethodsChangeEvent,
  StripePaymentElementCardDetailsChangeEvent,
  StripePaymentElementSavedPaymentMethodRemoveEvent,
  StripePaymentElementSavedPaymentMethodUpdateEvent,
  StripeExpressCheckoutElement,
  StripeExpressCheckoutElementOptions,
  StripeExpressCheckoutElementReadyEvent,
  StripeExpressCheckoutElementClickEvent,
  StripeExpressCheckoutElementConfirmEvent,
  StripeExpressCheckoutElementShippingAddressChangeEvent,
  StripeExpressCheckoutElementShippingRateChangeEvent,
  StripeExpressCheckoutElementAvailablePaymentMethodsChangeEvent,
  StripeCardElement,
  StripeCardElementOptions,
  StripeCardElementChangeEvent,
  StripeCardNumberElement,
  StripeCardNumberElementOptions,
  StripeCardNumberElementChangeEvent,
  StripeCardExpiryElement,
  StripeCardExpiryElementOptions,
  StripeCardExpiryElementChangeEvent,
  StripeCardCvcElement,
  StripeCardCvcElementOptions,
  StripeCardCvcElementChangeEvent,
  StripeAddressElement,
  StripeAddressElementOptions,
  StripeAddressElementChangeEvent,
  StripeLinkAuthenticationElement,
  StripeLinkAuthenticationElementOptions,
  StripeLinkAuthenticationElementChangeEvent,
  StripePaymentMethodMessagingElement,
  StripePaymentMethodMessagingElementOptions,
  StripeIbanElement,
  StripeIbanElementOptions,
  StripeIbanElementChangeEvent,
  StripeAuBankAccountElement,
  StripeAuBankAccountElementOptions,
  StripeAuBankAccountElementChangeEvent,
  StripeTaxIdElement,
  StripeTaxIdElementOptions,
  StripeTaxIdElementChangeEvent,
  StripeCurrencySelectorElement,
  StripeContactDetailsElement,
  StripeContactDetailsElementOptions,
  StripeContactDetailsElementChangeEvent,
  StripeTermsElement,
  StripeTermsElementOptions,
  StripeLinkSignupElement,
  StripeLinkSignupElementOptions,

  // Issuing elements
  StripeIssuingCardNumberDisplayElement,
  StripeIssuingCardNumberDisplayElementOptions,
  StripeIssuingCardCvcDisplayElement,
  StripeIssuingCardCvcDisplayElementOptions,
  StripeIssuingCardExpiryDisplayElement,
  StripeIssuingCardExpiryDisplayElementOptions,
  StripeIssuingCardPinDisplayElement,
  StripeIssuingCardPinDisplayElementOptions,
  StripeIssuingCardCopyButtonElement,
  StripeIssuingCardCopyButtonElementOptions,
  StripeIssuingAddToWalletButtonElement,
  StripeIssuingAddToWalletButtonElementOptions,

  // Checkout Elements SDK
  StripeCheckoutElementsSdk,
  StripeCheckoutElementsSdkOptions,
  StripeCheckoutElementsOptions,
  StripeCheckoutLoadActionsSuccess,
  StripeCheckoutLoadActionsResult,
  StripeCheckoutSession,
  StripeCheckoutContact,
  StripeCheckoutLineItem,
  StripeCheckoutConfirmResult,

  // Checkout Form SDK (beta)
  StripeCheckoutFormSdk,
  StripeCheckoutFormSdkOptions,
  StripeCheckoutFormLoadActionsSuccess,
  StripeCheckoutFormLoadActionsResult,
  StripeCheckoutForm,
  StripeCheckoutFormOptions,
  StripeCheckoutFormChangeEvent,
  StripeCheckoutFormConfirmEvent,
  StripeCheckoutFormValue,

  // Embedded Checkout
  StripeEmbeddedCheckout,
  StripeEmbeddedCheckoutOptions,
  StripeEmbeddedCheckoutAnalyticsEventUnion,
  StripeEmbeddedCheckoutLineItemsChangeEvent,

  // Financial Connections
  PreCollectedConsent,

  // Payment Request API
  PaymentRequest,
  PaymentRequestOptions,
  PaymentRequestUpdateOptions,
  PaymentRequestItem,
  PaymentRequestShippingOption,
  PaymentRequestShippingAddress,
  PaymentRequestWallet,
  PaymentRequestCompleteStatus,
  PaymentRequestUpdateDetails,
  CanMakePaymentResult,
  PaymentRequestTokenEvent,
  PaymentRequestPaymentMethodEvent,
  PaymentRequestSourceEvent,
  PaymentRequestShippingAddressEvent,
  PaymentRequestShippingOptionEvent
} from '@vue-stripe/vue-stripe'

The package's src/index.ts is the source of this list.

Error classes ​

ts
// Listing of the error classes, not a sample
import {
  VueStripeProviderError,
  VueStripeElementsError,
  VueStripeCheckoutError
} from '@vue-stripe/vue-stripe'

All three extend Error and set name to the class name. They signal integration mistakes and are thrown during component setup or when the composable is called, except where the table says a call rejects. Stripe's own errors (declines, validation) come back as { error } results; return value lists which calls resolve and which reject.

ClassThrown when
VueStripeProviderErrorNo Stripe context: a composable or component that needs Stripe runs outside VueStripeProvider (and without the plugin); VueStripeProvider has neither publishableKey nor stripeKey; a call of a method composable (useConfirm*, useCreateToken, useRadarSession, ...) made before Stripe.js has loaded rejects with it
VueStripeElementsErrorAn element component or Elements composable (useStripeElements, the element flow of useCreateConfirmationToken) runs outside VueStripeElements or a Checkout provider, or the element can't be created there
VueStripeCheckoutErroruseCheckoutSession runs outside VueStripeCheckoutElementsProvider, useCheckoutForm outside VueStripeCheckoutFormProvider, or useStripeCheckout().redirectToCheckout() gets no url (it rejects with this error)

Removed in v6 ​

Removed exportReplacement
StripeCheckout (type)StripeCheckoutElementsSdk
LegacyCheckoutOptionsCheckoutRedirectOptions ({ url }); create the Checkout Session on your server
VueStripeLoadError, createVueStripeErrorThe typed error classes above (VueStripeProviderError, VueStripeElementsError, VueStripeCheckoutError)

Upgrade from v5 to v6 lists every breaking change.