Library for accessing the api for the Recurly recurring billing service.
Last updated 3 years ago by umayr .
ISC · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install recurly-js 
SYNC missed versions from official npm registry.


npm Known Vulnerabilities

This is a fork of original node-recurly library by Rob Righter for the recurly recurring billing service.

This library is intended to follow very closely the recurly documentation found at: Recurly Docs


npm install recurly-js --save

Add a config file to your project that has contents similar to:

	module.exports = {
		API_KEY: 'secret',
		SUBDOMAIN:    '[your_account]',
		ENVIRONMENT:  'sandbox',
		DEBUG: false,
		API_VERSION: 2.7 // optional


Using callbacks

var Recurly = require('recurly-js');
var recurly = new Recurly(require('./config'));
recurly.accounts.get('account_code_123', function (errResponse, response) {

Or a promises based version

var Recurly = require('recurly-js/promise');
var recurly = new Recurly(require('./config'));
  .then(function (response) {})
  .catch(function (errorResponse) {})

For convenience the original callback version of every method is available with Callback suffix

var callback = function () {};

var filter = {
  state: 'active'

    .listByAccountCallback('account_code_123', callback, filter)


recurly.accounts.list(callback, filter)
recurly.accounts.create(details, callback)
recurly.accounts.update(accountcode, details, callback) 
recurly.accounts.get(accountcode, callback) 
recurly.accounts.close(accountcode, callback) 
recurly.accounts.reopen(accountcode, callback)
recurly.accounts.notes(accountcode, callback)

Billing Information

recurly.billingInfo.update(accountcode, details, callback) 
recurly.billingInfo.get(accountcode, callback) 
recurly.billingInfo.remove(accountcode, callback) 


recurly.adjustments.list(accountcode, callback)
recurly.adjustments.get(uuid, callback)
recurly.adjustments.create(accountcode, details, callback)
recurly.adjustments.remove(uuid, callback)

Coupons, filter), callback), callback), callback)

Coupon Redemption

recurly.couponRedemption.redeem(couponcode, details, callback)
recurly.couponRedemption.get(accountcode, callback)
recurly.couponRedemption.remove(accountcode, callback)
recurly.couponRedemption.getByInvoice(invoicenumber, callback) // Deprecated
recurly.couponRedemption.getAllByInvoice(invoicenumber, callback)


recurly.invoices.list(callback, filter)
recurly.invoices.listByAccount(accountcode, callback, filter)
recurly.invoices.get(invoicenumber, callback)
recurly.invoices.create(accountcode, details, callback)
recurly.invoices.preview(accountcode, callback)
recurly.invoices.refundLineItems(invoicenumber, details, callback)
recurly.invoices.refundOpenAmount(invoicenumber, details, callback)
recurly.invoices.markSuccessful(invoicenumber, callback)
recurly.invoices.markFailed(invoicenumber, callback)
recurly.invoices.enterOfflinePayment(invoicenumber, details, callback)

Special pdf method - callback will contain a pdf document as Buffer You should send the buffer to the client with content type of application/pdf

recurly.invoices.retrievePdf(invoicenumber, details, callback)


recurly.subscriptions.list(callback, filter) 
recurly.subscriptions.listByAccount(accountcode, callback, filter) 
recurly.subscriptions.get(uuid, callback) 
recurly.subscriptions.create(details, callback) 
recurly.subscriptions.preview(details, callback) 
recurly.subscriptions.update(uuid, details, callback) 
recurly.subscriptions.updateNotes(uuid, details, callback)
recurly.subscriptions.updatePreview(uuid, details, callback)
recurly.subscriptions.cancel(uuid, callback) 
recurly.subscriptions.reactivate(uuid, callback) 
recurly.subscriptions.terminate(uuid, refundType, callback) 
recurly.subscriptions.postpone(uuid, nextRenewalDate, callback) 

Subscription Plans

recurly.plans.list(callback, filter) 
recurly.plans.get(plancode, callback) 
recurly.plans.create(details, callback)
recurly.plans.update(plancode, details, callback)
recurly.plans.remove(plancode, callback)

Plan Add-ons

recurly.planAddons.list(plancode, callback, filter) 
recurly.planAddons.get(plancode, addoncode, callback) 
recurly.planAddons.create(plancode, details, callback)
recurly.planAddons.update(plancode, addoncode, details, callback)
recurly.planAddons.remove(plancode, addoncode, callback)


recurly.purchases.create(details, callback)

The purchase endpoint requires API version v2.6. Creating multiple subscriptions requires API v2.8, and some extra feature flags enabled. Contact Recurly support for more details.


recurly.transactions.list(callback, filter) 
recurly.transactions.listByAccount(accountcode, callback, filter) 
recurly.transactions.get(id, callback) 
recurly.transactions.create(details, callback) 
recurly.transactions.refund(id, callback, amount) 

Usage Records

recurly.usageRecords.list(subscription_uuid, add_on_code, callback, filter) 
recurly.usageRecords.lookup(subscription_uuid, add_on_code, usage_id, callback) 
recurly.usageRecords.log(subscription_uuid, add_on_code, details, callback) 
recurly.usageRecords.update(subscription_uuid, add_on_code, usage_id, details, callback) 
recurly.usageRecords.delete(subscription_uuid, add_on_code, usage_id, callback) 

Custom api calls

var options = {
  url: '/v2/accounts/' + account_code + '/invoices',
  method: 'POST',
  headers: {
    "My-Custom_header": "Value"
  bodyRoot: 'invoice', // xml root element
  body: {} // content to convert to xml using js2xmlparser

recurly.api(options, callback)

Current Tags

  • 3.2.0                                ...           latest (a year ago)

15 Versions

  • 3.2.0                                ...           a year ago
  • 3.1.1                                ...           a year ago
  • 3.1.0                                ...           2 years ago
  • 3.0.0                                ...           2 years ago
  • 2.7.0                                ...           2 years ago
  • 2.6.0                                ...           2 years ago
  • 2.5.0                                ...           3 years ago
  • 2.4.3                                ...           3 years ago
  • 2.4.2                                ...           3 years ago
  • 2.4.1                                ...           4 years ago
  • 2.4.0                                ...           4 years ago
  • 2.3.0                                ...           4 years ago
  • 2.1.3                                ...           5 years ago
  • 2.1.2                                ...           5 years ago
  • 2.1.1                                ...           5 years ago
Maintainers (2)
Today 0
This Week 0
This Month 15
Last Day 0
Last Week 15
Last Month 0
Dependencies (3)
Dev Dependencies (0)

Copyright 2014 - 2016 © |