GitHub - boyko/epaybg-node-utils: Node.js utilities for communication with epay.bg payment system.

Node.js functions for epay.bg

Build Status

An unofficial library for parsing payment status messages and for creating payment requests with epay.bg. See their API documentation for details.

Installation

// npm
npm install epaybg-node-utils --save

// yarn
yarn add epaybg-node-utils

Create a payment request

const { createPaymentRequestData } = require('epaybg-node-utils');

const secret = 'epaybg-secret';
const data = {
  min: 'some-merchant-id',
  amount: '32.30',
  exp_time: '201902011230',
  currency: 'BGN',
  invoice: '0001',
};

createPaymentRequestData(data, secret);

Validate a message

const {validate} = require('epaybg-node-utils');

const message = {
  encoded: "SU5WT0lDRT0xMTpTVEFUVVM9UEFJRDpQQVlfVElNRT0yMDE4MDYwMjEyMzA6U1RBTj0xMjM0NTY6QkNPREU9MTIzNDU2CgogICAgICAgIElOVk9JQ0U9MTI6U1RBVFVTPURFTklFRAoKICAgICAgICBJTlZPSUNFPTEzOlNUQVRVUz1FWFBJUkVE",
  checksum: "16b98ed563cafb2fc5b60d8d8f44e8c2e7cf66c9"
}

validate(message);

Parse a payment status message

const { parseMessage } = require('epaybg-node-utils');

// Data encoded in message.encoded
//`INVOICE=11:STATUS=PAID:PAY_TIME=201806021230:STAN=123456:BCODE=123456\n
//INVOICE=12:STATUS=DENIED\n
//INVOICE=13:STATUS=EXPIRED`

const message = {
  encoded: "SU5WT0lDRT0xMTpTVEFUVVM9UEFJRDpQQVlfVElNRT0yMDE4MDYwMjEyMzA6U1RBTj0xMjM0NTY6QkNPREU9MTIzNDU2CgogICAgICAgIElOVk9JQ0U9MTI6U1RBVFVTPURFTklFRAoKICAgICAgICBJTlZPSUNFPTEzOlNUQVRVUz1FWFBJUkVE",
  checksum: "16b98ed563cafb2fc5b60d8d8f44e8c2e7cf66c9"
}

parseMessage(message);