Code Monkey home page Code Monkey logo

node-recurly's Introduction

Node-Recurly

node-recurly is a node.js library for using the recurly recurring billing service. This library is intended to follow very closely the recurly documentation found at: http://dev.recurly.com/

Installation

git clone https://github.com/cgerrior/node-recurly.git

or you can install with NPM

npm install https://github.com/cgerrior/node-recurly.git --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
	};

Usage

	var Recurly = require('node-recurly');
	var recurly = new Recurly(require('./config'));

After that, just call the methods below:

Accounts

https://dev.recurly.com/docs/list-accounts

recurly.accounts.list(filter, callback)

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)

Adjustments

https://dev.recurly.com/docs/list-an-accounts-adjustments

recurly.adjustments.list(accountcode, callback)

recurly.adjustments.get(uuid, callback)

recurly.adjustments.create(accountcode, details, callback)

recurly.adjustments.remove(uuid, callback)

Billing Information

https://dev.recurly.com/docs/lookup-an-accounts-billing-info

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

recurly.billingInfo.create(accountcode, details, callback) 

recurly.billingInfo.get(accountcode, callback) 

recurly.billingInfo.remove(accountcode, callback) 

Coupons

https://dev.recurly.com/docs/list-active-coupons

recurly.coupons.list(filter, callback)

recurly.coupons.get(couponcode, callback)

recurly.coupons.create(details, callback)

recurly.coupons.deactivate(couponcode, callback)

Coupon Redemptions

https://dev.recurly.com/docs/lookup-a-coupon-redemption-on-an-account

recurly.couponRedemption.redeem(couponcode, details, callback)

recurly.couponRedemption.get(accountcode, callback)

recurly.couponRedemption.remove(accountcode, callback)

recurly.couponRedemption.getByInvoice(invoicenumber, callback)

Invoices

https://dev.recurly.com/docs/list-invoices

recurly.invoices.list(filter, callback)

recurly.invoices.listByAccount(accountcode, filter, callback)

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)

(Subscription) Plans

https://dev.recurly.com/docs/list-plans

recurly.plans.list(filter, callback)

recurly.plans.get(plancode, callback) 

recurly.plans.create(details, callback)

recurly.plans.update(plancode, details, callback)

recurly.plans.remove(plancode, callback)

Plan Add-ons

https://dev.recurly.com/docs/list-add-ons-for-a-plan

recurly.planAddons.list(plancode, filter, callback)

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)

Subscriptions

https://dev.recurly.com/docs/list-subscriptions

recurly.subscriptions.list(filter, callback)

recurly.subscriptions.listByAccount(accountcode, filter, callback) 

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 Usage

https://dev.recurly.com/docs/list-add-ons-usage

recurly.usage.list(uuid, addOnCode, billingStatus, callback)

recurly.usage.log(uuid, addOnCode, details, callback)

recurly.usage.get(uuid, addOnCode, usageId, callback)

recurly.usage.update(uuid, addOnCode, usageId, details, callback)

recurly.usage.remove(uuid, addOnCode, usageId, callback)

Transactions

https://dev.recurly.com/docs/list-transactions

recurly.transactions.list(filter, callback)

recurly.transactions.listByAccount(accountcode, filter, callback)

recurly.transactions.get(id, callback) 

recurly.transactions.create(details, callback) 

recurly.transactions.refund(id, amount, callback)

node-recurly's People

Contributors

blakmatrix avatar breadbaker avatar cgerrior avatar cheesington avatar clarkeash avatar elijahparker avatar ivanguardado avatar robrighter avatar timbotnik avatar valorkin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

node-recurly's Issues

Is this still recommended?

What's going on with this project?

Recurly's docs link here, but it doesn't look like there's been a git release since 2015, or a commit since Oct 2016.

There seems to be at least three node-recurly versions, all forks of each other.

https://github.com/umayr/recurly-js seems like it's far more up to date, but again forks this. Issues here seem to be ignored now.

Is this lib still recommended? One of the child forks? Or is it better just to use the XML REST interface directly?

add multiple addons on a single subscription

I'm trying to add multiple add ons on a single subscription call.

...
subscription_add_ons:
      {
        subscription_add_on: {
          add_on_code: 'silver',
          quantity: 3
        },
        subscription_add_on: {
          add_on_code: 'gold',
          quantity: 5
        }
      }
...

but only the second add_on is getting added.

"subscription_add_ons": {
          "$": {
            "type": "array"
          },
          "subscription_add_on": {
            "add_on_code": "gold",
            "unit_amount_in_cents": {
              "_": "2900",
              "$": {
                "type": "integer"
              }
            },
            "quantity": {
              "_": "5",
              "$": {
                "type": "integer"
              }
            }
          }
        },

any idea why only the second one is getting created? I might be missing something very basic.

Create releases and npm mpdule

Could you please make releases and publish npm modules as you make changes?

This is still the unofficial node sdk for Recurly, and it deserves that much.

Additionally, this would help reduce the number of forks as folks would not have to worry about their app breaking every time there are backwards-breaking changes (like a few days ago).

Support for Webhook

Hi,

May I ask if this library will provide API to handle webhooks in Recurly?

Thanks,

Connie

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.