Pay.nl NodeJS SDK
SDK for pay.nl allowing you to manage your pay.nl transactions in nodeJS
##Installation
npm install paynl-sdk --save
##Usage
- Require 'paynl-sdk' in your file.
var Paynl = require('paynl-sdk');
- Register for a pay.nl account at: pay.nl/registreren
- In the pay.nl admin, navigate to Manage -> Services and click the SL-code on the left.
- From the popup use the apitoken and serviceId, and configure them in the SDK.
Paynl.Config.setApiToken('Your-api-token');
Paynl.Config.setServiceId('SL-0123-4567');
Examples
Some of the basic examples are listed here, for the full list of examples, please take a look at the samples directory here
All examples start with requiring paynl-sdk and setting the apitoken and serviceId.
var Paynl = require('paynl-sdk');
Paynl.Config.setApiToken('Your-api-token');
Paynl.Config.setServiceId('SL-0123-4567');
Getting the available payment methods
This example shows how to fetch a list of the available payment methods.
The method Paynl.Paymentmethods.getList()
returns an observable array.
For more information about observables see reactivex.io
Paynl.Paymentmethods.getList().forEach(
function(paymentmethod) {
console.log(paymentmethod.id + ' ' + paymentmethod.visibleName);
}
)
.catch(error => {
console.error(error)
});
Starting a transaction
This example shows the minimum required attributes to start a transaction.
The full version with all supported options is located here
Paynl.Transaction.start({
amount: 19.95,
returnUrl: "https://my-return-url.com/return",
ipAddress: '10.20.30.40'
})
.subscribe(
function (result) {
console.log(result.paymentURL);
console.log(result.transactionId);
},
function (error) {
console.error(error);
}
);
Fetching a transaction
The following example shows how to fetch a transaction.
Paynl.Transaction.get('715844054X85729e').subscribe(
function(result){
if (result.isPaid()) {
console.log('The transaction is paid');
result.refund({
amount: 0.5,
description: '50 cents refund'
});
}
if (result.isCanceled()) {
console.log('Tranasaction is canceled, restock the items');
}
if (result.isBeingVerified()) {
console.log('Transaction needs to be verified first, possible fraud');
result.decline();
result.approve();
}
},
function(error){
console.error(error);
}
);