mongoose-stripe-customers
A mongoose.js A mongoose plugin that creates a stripe customer when a new document is created and stores the Stripe customer ID to that document.
Use Case
If you are running an ecommerce type application using Stripe and create your own customer/user database objects, as well as Stripe customer objects, use this plugin to simultaneously aggregate your customer information to Stripe when a new customer is created within your database.
This plugin is configurable to allow enough flexibility to work with various schema setups. Just provide the names of your fields such as email
or phone
and the plugin will map those over to Stripe meta data objects.
Installation
npm install --save mongoose-stripe-customers
API Reference
Example
var mongooseStripeCustomers = require('mongoose-stripe-customers');
var schema = Schema({...});
schema.plugin(authPlugin, {
stripeApiKey: 'XXXXXXXXXXXXXXXX',
hook: 'save',
firstNameField: 'first_name',
lastNameField: 'last_name',
emailField: 'email',
metaData: [ '_id', 'phone', 'customerType' ]
});
mongoose-stripe-customers~options
Kind: inner property of mongoose-stripe-customers
Param | Type | Default | Description |
---|
options | object | | |
options.stripeApiKey | string | | The Stripe secret key used to access the Stripe API. |
[options.hook] | string | "save" | The document hook you want this to run before. |
[options.fieldNames] | object | | Response field overrides. |
[options.stripeCustomerIdField] | string | "stripe_customer_id" | The field in which you want the Stripe customer ID value to be stored. |
[options.firstNameField] | string | | The field in which the customer's first name is stored. |
[options.lastNameField] | string | | The field in which the customer's last name is stored. |
[options.emailField] | string | | The field in which the customer's email address is stored. |
[options.metaData[]] | Array.<string> | | If you want any extra data stored with the customer on Stripe, provide an array of field names. |