0.4.0 • Published 7 years ago

mongoose-stripe-customers v0.4.0

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
7 years ago

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

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

ParamTypeDefaultDescription
optionsobject
options.stripeApiKeystringThe Stripe secret key used to access the Stripe API.
options.hookstring"save"The document hook you want this to run before.
options.fieldNamesobjectResponse field overrides.
options.stripeCustomerIdFieldstring"stripe_customer_id"The field in which you want the Stripe customer ID value to be stored.
options.firstNameFieldstringThe field in which the customer's first name is stored.
options.lastNameFieldstringThe field in which the customer's last name is stored.
options.emailFieldstringThe 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.