Node Library

Merchant Service API Library

Merchant Services is a NodeJS module that helps you make API calls when processing Paga Transactions.

1. Installation

Use the package manager npm to install paga-merchant.

npm install paga-merchant

2. Usage

To use PagaMerchantClient, you would need to import it

const PagaMerchant = require('paga-merchant');

To Initialize the module, you use a builder to set all required values

var pagaMerchantClient = PagaMerchant.Builder()
      .setPrincipal("<Paga_Merchant_Public_ID>")
      .setCredential("<Paga_Merchant_Credentials>")
      .setApiKey("<Merchant_Api_Key>")
      .setIsTest(true)
      .build();

As shown above, you set the principal and credential given to you by Paga, If you pass true as the value for setIsTest(), the library will use the test url as the base for all calls. Otherwise setting it to false will use the live url value you pass as the base.

Merchant Service Functions

Get Transaction Details

To verify the status and details of an executed process or to determine if a transaction was indeed executed on the system using the pre-shared transaction reference number, you call getTransactionDetails function inside PagaMerchantClient and it returns JSON.

pagaMerchantClient.getTransactionDetails('referenceNumber').then(resp => 
 {
    console.log(resp);
 }).catch(function(error) {
    console.log(error);
})

Get Transaction Details by Invoice Number

To verify the status and details of an executed process or to determine if a transaction was indeed executed on the system using the pre-shared transaction invoice number, call getTransactionDetailByInvoiceNumber function in PagaMerchantClient and it returns JSON.

pagaMerchantClient.getTransactionDetailByInvoiceNumber('invoiceNumber').then(resp => 
 {
    console.log(resp);
 }).catch(function(error) {
    console.log(error);
})

Get Process Details

To determine if a process was indeed executed on the system using the pre-shared process code, call getProcessDetail function inside PagaMerchantClient and it returns a JSON.

pagaMerchantClient.getProcessDetail('processCode').then(resp => 
 {
    console.log(resp);
 }).catch(function(error) {
    console.log(error);
})

Reconciliation Report

To retrieve reconciled reports on the date range provided containing list of processes and transactions call reconciliationReport function inside PagaMerchantClient and it returns a JSON. Take note that your dates parameter should pass dates in this format: "YYYY-MM-DD".

pagaMerchantClient.reconciliationReport(periodStartDateTimeUTC, periodEndDateTimeUTC).then(resp => 
 {
    console.log(resp);
 }).catch(function(error) {
    console.log(error);
})

Get Foreign Exchange Rate

To determine the exchange rate call getForeignExchange function inside PagaMerchantClient and it returns a JSON.

pagaMerchantClient.getForeignExchangeRate('baseCurrency', 'foreignCurrency').then(resp => 
 {
    console.log(resp);
 }).catch(function(error) {
    console.log(error);
})

Refund Bill Pay

To fully or partially refund bill payment previously made by a customer call refundBillPay function inside PagaMerchantClient and it returns a JSON.

pagaMerchantClient.refundBillPay('referenceNumber', includesCustomerFee,fullRefund,'refundAmount','currencyCode','reason','customerPhoneNumber').then(resp => 
 {
    console.log(resp);
 }).catch(function(error) {
    console.log(error);
})

Get Transaction Details By Merchant Reference Number

To verify the status and details of an executed transaction or to determine if a transaction was indeed executed on the system using the merchant reference number call getTransactionDetailsByMerchantReference method inside MerchantServiceClient and it returns a JSON.

pagaMerchantClient.getTransactionDetailsByMerchantReferenceNumber("merchantReference").then(resp => {
	console.log(resp)
}).catch(function(error) {
    console.log(error);
})

What’s Next