Package Exports
- pin-subscriptions-node
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pin-subscriptions-node) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
pin-subscriptions-node
This is a node.js module for http://https://subs.pinpayments.com Payments API. It aims to be compatible with API v4 - https://https://subs.pinpayments.com/manual/integration-reference/.
Installation
npm install pin-subscriptions-nodeUsage
var Pin = require("pin-subscriptions-node").Pin;
…
var cli = new Pin( site_name, api_key );Handling errors
Every operation that takes a callback, except of
- getSubscriptionPlans( callback )
- getTransactions( since, callback )
- testSite_deleteSubscribers( callback )
- testSite_deleteSubscriber( subscriber_id, callback )calls the callback with max two arguments. First argument is always an error object. Every error object contains at least a code field and may but not must contain a text description of the error under a message field.
What's different from the API
There is 1 implementation detail that differs from the original Payments API.
- fields use
_instead of-; for example:customer_idinstead ofcustomer-id; these are automatically translated to the correct format while constructing the XML ; this was implemented to simplify properties access
Sample app
var Pin = require("pin-subscriptions-node").Pin
util = require("util");
var cli = new Pin(site_name, api_key);
var subscriber = { customer_id: 100, screen_name: "some name", email: "some@email.com" };
cli.getSubscriptionPlans( function(result) {
var plans = result;
cli.createSubscriber( subscriber, function( error, result ) {
if ( !error ) {
cli.raiseInvoice( plans[0].id, subscriber, function( error, invoice ) {
if ( !error ) {
cli.payWithCreditCard( invoice.token, { … }, { … }, function( error, invoice ) {
if ( !error ) {
util.puts("Payment went through.");
} else {
util.puts("Error while putting a payment through: " + error.code + " :: " + error.message);
}
});
}
});
}
} );
} );License
Apache License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0