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

dibs

v0.1.2

Published

a simple wrapper for the DIBS Payment Services

Downloads

2

Readme

#dibs A simple wrapper for the DIBS Payment Services API.

Installation

$ npm install dibs

Docs

Please note the following:

  • a basic understanding of the DIBS API is required to use this library
  • the DIBS payment services gateway is NOT a free service and this library is useless without a DIBS account - please see www.dibspayment.com for further information.
  • an HMAC key is used to encode the requests. That key can be found on the DIBS account adminstration page under Integration > HMAC Key.

Usage

var dibs = require('dibs');

hmacKey

The HMAC key can be set per request or globally. To set a default HMAC Key use:

dibs.hmacKey = '355a26 . . . 35c48d';

Methods

With the exception of pingSatellite, all methods recieve the same arguments and returns a promise.

dibs.[methodName](options, hmacKey)
.then(callback);

options - object with the request parameters.

  • check http://tech.dibs.dk/dibs_api/dibs_payment_window/ for a list of mandatory and optional parameters to use in the options object, for each of the available methods.
  • the parameter types must be followed or a MAC error will be returned.
  • please note: the MAC string should not be included. It is calculated internally by the module.

hmacKey - the HMAC key to encode the request or null (if set globally).

callback - a callback function that receives a data object. The data object contains the answer from DIBS.

authorizeCard

This service performs the first part of a credit card transaction (the authorisation). The authorisation includes credit and debit card control and reservation of the required amount for later capture.

dibs.authorizeCard(options, hmacKey);

Please note: the cvc, expMonth and expYear are mandatory fields in the options object, despite being listed as optional in the API docs.

createTicket

This service performs a credit and debit card check and saves the credit card information for recurring payments.

dibs.createTicket(options, hmacKey);

Please note: the cvc, expMonth and expYear are mandatory fields in the options object, despite being listed as optional in the API docs.

authorizeTicket

Make a recurring payment using a ticket previously created via the createTicket service.

dibs.authorizeTicket(options, hmacKey);

captureTransaction

The second part of any transaction is the capture process. Usually this take place at the time of shipping the goods to the customer.

dibs.captureTransaction(options, hmacKey);

cancelTransaction

The cancelTransaction service cancels an authorization. If the acquirer used supports reversals, the system automatically sends one such along and thereby releasing any reserved amounts.

dibs.cancelTransaction(options, hmacKey);

refundTransaction

The refundTransaction service refunds a captured transaction and transfers the money back to the card holders account.

dibs.refundTransaction(options, hmacKey);

pingSatellite

The ping service checks if the satellite system is up and running.

dibs.pingSatellite(function (err, data){ ... });

Promises

dibs uses the q library. It allows the following syntax:

dibs.authorizeCard(cardInfo)
.then(function(data){
	...
	return dibs.captureTransaction(transInfo);
})
.then(function onSuccess(data){
	...
}, function onError(err){
	...
});

License

MIT