Package Exports
- nodejs-maib
- nodejs-maib/index.js
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 (nodejs-maib) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
MAIB Payment Gateway for Node.js
Table of Contents
Installation
Get started by installing the package:
npm install --save nodejs-maibUsage
- Setup
- Create SMS Transaction
- Create DMS Transaction
- Commit DMS Transaction
- Transaction Status
- Reverse Transaction
- Close Day
- Card Registration (regular payments)
- Regular Payments
- Delete Regular Payment
Setup
First, require the package in your file:
const MAIB = require('nodejs-maib');Then, instantiate the class providing the cert file and passphrase:
const maib = new MAIB('certificate_path', 'certificate_pass', 'merchanthandler_endpoint');Test certificate: 0149583.pem
Password: Za86DuC$
Test MerchantHandler URL: https://maib.ecommerce.md:21440/ecomm/MerchantHandler
Test ClientHandler URL: https://maib.ecommerce.md:21443/ecomm/ClientHandler
Use openssl to convert certificate in .pem format from .pfx and password provided by bank:
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodesYou can now start working with the payment gateway.
Create SMS Transaction
const smstrans = async function() {
const result = await maib
.setDescription('Test Transaction')
.setClientIpAddress('127.0.0.1')
.setLanguage('ro')
.setCurrency(498)
.setAmount(1)
.createTransaction();
console.log(result);
}
smstrans();
/*
{
TRANSACTION_ID: 'TRANSACTION_ID_HERE'
}
*/To enter card details redirect transaction ID to ClientHandler URL. Ex:
https://maib.ecommerce.md:21443/ecomm/ClientHandler?trans_id=rEsfhyIk8s9ypxkcS9fjo3C8FqA=Create DMS Transaction
const dmstrans = async function() {
const result = await maib
.setDescription('Test Transaction')
.setClientIpAddress('127.0.0.1')
.setLanguage('ro')
.setCurrency(498)
.setAmount(1)
.createTransaction(type = 'DMS');
console.log(result);
}
dmstrans();
/*
{
TRANSACTION_ID: 'TRANSACTION_ID_HERE'
}
*/To enter card details redirect transaction ID to ClientHandler URL.
Commit DMS Transaction
const commitdms = async function() {
const result = await maib
.setDescription('Test Transaction')
.setClientIpAddress('127.0.0.1')
.setCurrency(498)
.setAmount(1)
.commitTransaction('TRANSACTION_ID_HERE');
console.log(result);
}
commitdms();
/*
{
RESULT: '...',
RESULT_CODE: '...',
RRN: '...',
APPROVAL_CODE: '...',
CARD_NUMBER: '...'
}
*/Transaction Status
const status = async function() {
const result = await maib.getTransactionStatus('TRANSACTION_ID_HERE');
console.log(result);
}
status();
/*
{
RESULT: '...',
RESULT_CODE: '...',
3DSECURE: '...',
RRN: '...',
APPROVAL_CODE: '...',
CARD_NUMBER: '...'
RECC_PMNT_ID: '...'
RECC_PMNT_EXPIRY: '...'
MRCH_TRANSACTION_ID: '...'
}
*/Reverse Transaction
const revers = async function() {
const result = await maib
.setAmount(1)
.reverseTransaction('TRANSACTION_ID_HERE');
console.log(result);
}
revers();
/*
{
RESULT: '...',
RESULT_CODE: '...',
}
*/Close Day
const closeday = async function() {
const result = await maib.closeDay();
console.log(result);
}
closeday();
/*
{
RESULT: '...',
RESULT_CODE: '...',
FLD_074: '...',
FLD_075: '...',
FLD_076: '...',
FLD_077: '...',
FLD_086: '...',
FLD_087: '...',
FLD_088: '...',
FLD_089: '...',
}
*/Card Registration
const cardregist = async function() {
const result = await maib
.setCurrency(498)
.setClientIpAddress('127.0.0.1')
.setDescription('Card Registration Test')
.registerCard('CARD_ID');
console.log(result);
}
cardregist();
/*
{
TRANSACTION_ID: '...',
}
*/To enter card details redirect transaction ID to ClientHandler URL.
Regular Payments
const regularpayment = async function() {
const result = await maib
.setCurrency(498)
.setClientIpAddress('127.0.0.1')
.setDescription('Regular Payment Test')
.setAmount(1)
.makeRegularPayment('CARD_ID');
console.log(result);
}
regularpayment();
/*
{
TRANSACTION_ID: '...',
RESULT: '...',
RESULT_CODE: '...',
RRN: '...',
APPROVAL_CODE: '...',
}
*/Delete Regular Payment
const deleterec = async function() {
const result = await maib
.deleteRegularPayment('CARD_ID');
console.log(result);
}
deleterec();
/*
{
RESULT: '...',
}
*/