NuxtJS module for Stripe.js
npm install nuxt-stripe-module


> A NuxtJS module to import the StripeJS client script.
* Requirements
* Install
* Getting Started
* Options
* Usage
* Typescript
* License
* npm
* NuxtJS
* NodeJS
``bashnpm
$ npm install --save nuxt-stripe-module
Getting Started
Add
'nuxt-stripe-module' to the modules section of your nuxt.config.js file. #### Method 1 : Inline configuration entry
`javascript
{
modules: [
['nuxt-stripe-module', {
publishableKey: 'YOUR_STRIPE_PUBLISHABLE_KEY',
}],
]
}
`#### Method 2 : External configuration entry
`js
{
modules: [
'nuxt-stripe-module',
],
stripe: {
publishableKey: 'YOUR_STRIPE_PUBLISHABLE_KEY',
},
}
`#### Method 3 : Runtime config
`js
{
modules: [
'nuxt-stripe-module',
],
publicRuntimeConfig: {
stripe: {
publishableKey: 'YOUR_STRIPE_PUBLISHABLE_KEY',
}
}
}
`
Options
The following options can be configured in the module's configuration entry in your
nuxt.config.js file.#### Publishable key -
publishableKey- Required
- Default:
nullYour publishable key.
https://stripe.com/docs/js/initializing#init_stripe_js-publishableKey
#### API version -
apiVersion- Optional
- Default:
nullOverride your account's API version.
https://stripe.com/docs/js/initializing#init_stripe_js-options-apiVersion
#### Locale -
locale- Optional
- Default:
'en'A locale used to globally configure localization in Stripe. Setting the locale here will localize
error strings for all Stripe.js methods. It will also configure the locale for Elements and Checkout. Default is auto (Stripe detects the locale of the browser).
#### Stripe Account -
stripeAccount- Optional
- Default:
''Usage
1. Inject the module in your
nuxt.config.js file. See Getting Started.
2. this.$stripe is now available in your components. Note that $stripe can be null if the script fails to load.`js
{
...
mounted() {
if (this.$stripe) {
const elements = this.$stripe.elements();
const card = elements.create('card', {});
// Add an instance of the card Element into the card-element
card.mount('#card-element');
}
},
...
}
`
For more details, please refer to the official Stripe documentation.TypeScript
Add the types to your "types" array in
tsconfig.json after the @nuxt/types (Nuxt 2.9.0+) or @nuxt/vue-app entry`json{}[tsconfig.json]
{
"compilerOptions": {
"types": [
"@nuxt/types",
"nuxt-stripe-module"
]
}
}
`
> Why?
>
> Because of the way Nuxt works the $stripe property on the context has to be merged into the Nuxt Context interface via declaration merging. Adding nuxt-stripe-module to your types will import the types from the package and make typescript aware of the additions to the Context` interface.
License