mongoose-stripe-customers

A mongoose plugin that creates a stripe customer when a new document is created and stores the Stripe customer id to that document.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
mongoose-stripe-customers
890.4.07 years ago9 years agoMinified + gzip package size for mongoose-stripe-customers in KB

Readme

mongoose-stripe-customers
Greenkeeper badge Build Status Coverage Status Dependency Status npm version
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
```js var mongooseStripeCustomers = require('mongoose-stripe-customers');
var schema = Schema({...});
schema.plugin(mongooseStripeCustomers, {
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 | "stripecustomerid" | 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. |