Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
174 lines (146 sloc) 8.51 KB

Stripe node.js bindings Build Status

Version 2 Update Notice

Read about Version 2 here (Released October 18th, 2013)


npm install stripe


Documentation is available at

API Overview

Every resource is accessed via your stripe instance:

var stripe = require('stripe')(' your stripe API key ');

Every resource method accepts an optional callback as the last argument:

  { email: '' },
  function(err, customer) {
    err; // null if no error occurred
    customer; // the created customer object

Additionally, every resource method returns a promise, so you don't have to use the regular callback. E.g.

// Create a new customer and then a new charge for that customer:
  email: ''
}).then(function(customer) {
  return stripe.charges.create({
    amount: 1600,
    currency: 'usd',
}).then(function(charge) {
  // New charge created on a new customer
}, function(err) {
  // Deal with an error

Available resources & methods

Where you see params it is a plain JavaScript object, e.g. { email: '' }


  • stripe.setApiKey(' your secret api key ');
  • stripe.setTimeout(20000); // in ms (default is node's default: 120000ms)

More information / wikis


To run the tests you'll need a Stripe Test API key (from your Stripe Dashboard):

$ npm install -g mocha
$ npm test

Note: On Windows use SET isntead of export for setting the STRIPE_TEST_API_KEY environment variable.

If you don't have a prefixed key (in the form sk_test_...) you can get one by rolling your "Test Secret Key". This can be done under your dashboard (Account Setting -> API Keys -> Click the roll icon next to the "test secret key"). This should give you a new prefixed key ('sk_test_..'), which will then be usable by the node mocha tests.


Originally by Ask Bjørn Hansen ( Development was sponsored by YellowBot. Now officially maintained by Stripe.

Jump to Line
Something went wrong with that request. Please try again.