node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »

stripi

Stripi

NPM version build status Test coverage Gittip

Simpler Stripe API. An alternative to node-stripe where:

  • Error responses matches Stripe's responses exactly
  • Does not wrap around the API - you set the method, route, and request body yourself Thus, you're not limited to this repo keeping up with Stripe's API
  • Uses Bluebird for promises
  • Must smaller library overall

In other words, READ THE STRIPE API YOURSELF.

API

new Stripe(key, version)

var stripe = Stripe(key, 1)

key is your secret API key. version is the API version, by default 1. You don't need to set the version, but this is in case Stripe upgrades their API version in the future - no updated to this repo would be necesasry.

Stripe#{method}(route [, requestBody] [, callback])

stripe.post('/tokens', {
  card: {
    number: 4242424242424242,
    exp_month: 12,
    exp_year: 2014,
    cvc: 123
  }
}, function (err, card) {
  assert.ifError(err)
  assert(card.id)
})
 
// also returns a promise 
stripe.post('/tokens', {
  card: {
    number: 4242424242424242,
    exp_month: 12,
    exp_year: 2014,
    cvc: 123
  }
}).then(function (card) {
  assert(card.id)
})
  • method - the request method
  • route - the route after the version. Leading / is optional. For example, for https://api.stripe.com/v1/tokens, you only need to put in /tokens or tokens.
  • request (optional) - the request body. Should be an object or null (GET requests).
  • err - the error if the response was not a 200 status code.
  • response - the response body. Should be an object.

Errors

Errors match Stripe's errors exactly.

  • err.message
  • err.type
  • err.code
  • err.param
  • err.status - The status code, so you know whether its a 4xx error or a 5xx error.