stripi

Simpler Stripe API

Stripi

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.

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.post('/tokens', {
  card: {
    number: 4242424242424242,
    exp_month: 12,
    exp_year: 2014,
    cvc: 123
  }
}, function (errcard) {
  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 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.