1.5.0 • Published 11 months ago

opennode v1.5.0

Weekly downloads
81
License
MIT
Repository
github
Last release
11 months ago

OpenNode Node.js Library

Version Build Status npm.io Try opennode on RunKit

The OpenNode Node library provides convenient access to the OpenNode API from applications written in server-side JavaScript.

Documentation

You can find examples here. For more information refer to our API docs.

Installation

Install the package with:

npm install opennode --save
or
yarn add opennode

Usage

The package needs to be configured with your account's secret key which is available in your OpenNode Dashboard. value:

const opennode = require('opennode');
opennode.setCredentials('MY_API_KEY', 'dev'); //if no parameter given, default environment is 'live'

try {
  const charge = await opennode.createCharge({
    amount: 10.5,
    currency: "USD",
    callback_url: "https://example.com/webhook/opennode",
    auto_settle: false
  });
}
catch (error) {
  console.error(`${error.status} | ${error.message}`);
}

Using Promises

Every method returns a chainable promise which can be used instead of a regular callback:

// Create a new charge
opennode.createCharge({
  amount: 10.5,
  currency: "USD",
  callback_url: "https://example.com/webhook/opennode",
  auto_settle: false
}).then(charge => {
  console.log(charge);
})
.catch(error => {
  console.error(`${error.status} | ${error.message}`);
});

Webhook signing

OpenNode can send signed webhook events that notify your application any time a specific event occurs. You can read more about it here.

You can verify if a webhook was sent by OpenNode by comparing the signatures.

function handleWebhook (req, res) {
  const charge = req.body;
  const isValid = await opennode.signatureIsValid(charge);

  if (isValid){
    //Handle event
  }

  return res.sendStatus(200);
}