npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

scanpay

v1.3.0

Published

A node.js client library for Scanpay

Downloads

3

Readme

Scanpay node.js client

Node.js client library for the Scanpay API. You can always e-mail us at [email protected] or chat with us on irc.scanpay.dk:6697 or #scanpay at Freenode (webchat)

Installation

This package works with Node.js >= 6.6. Install the package with npm:

npm install scanpay --save

and include it in your project.

const scanpay = require('scanpay')('API key');

Manual installation

Download the latest release and include in into your project:

const scanpay = require('lib/scanpay.js')('API key');

Methods

All methods, except handlePing, will return a Promise. Note that some methods accept an optional per-request options object.

newURL(Object, options) => String

Create a payment link by passing the order details through newURL. Strictly speaking, only the following data is required, but we strongly encourage you to use the entire spec (example).

const order = {
    items: [{ total: '6000 DKK' }]
};
scanpay.newURL(order, options)
    .then(url => console.log(url))
    .catch(err => { /* handle errors */ });

handlePing(String, String)

Securely and efficiently validate pings. This method accepts two arguments from the received ping request, the HTTP message body and the X-Signature HTTP header. The return value is a JSON object (example).

try {
    const json = scanpay.handlePing(body, req.headers['x-signature']);
} catch (e) { /* handle errors */ }

seq(Int, options) => Object

Make a sequence request to get an object with a number of changes since the supplied sequence number (example).

const localSeq = 921;
scanpay.seq(localSeq, options)
    .then(obj => console.log(obj.changes))
    .catch(err => { /* handle errors */ });

Options

All methods, except handlePing, accept an optional per-request options object. You can use it to:

  • Set the API key for this request (example)
  • Set HTTP headers, e.g. the highly recommended X-Cardholder-IP (example)
  • Change the hostname to use our test environment api.test.scanpay.dk (example)

Compatibility table

Nodejs compatibility table for this library.

| Feature | Version | | :-------------------------------- | :-----: | | crypto.timingSafeEqual | 6.6 | | Arrow functions | 6.0 | | Default function parameters | 6.0 | | Array.isArray | 6.0 | | Buffer.from | 5.10 |

License

Everything in this repository is licensed under the MIT license.