@cellulant/checkout_encryption

1.0.4 • Public • Published

Cellulant.io : Checkout Encryption

Node Module to Encrypt Payload Get Started


To ensure the highest level of security, Cellulant accepts encrypted data in checkout request.

Node.js is a run-time environment that only runs on a server. Encrpted module/library can be use with any node Js framework. In below example, we will use the Express framework to create a realistic use case.

Project setup instructions

Create an Express app if you do not have one using the following commands. A more in-depth guide can be found here.

Step 1: Create a project directory

$ mkdir checkout-demo

Step 2: Go into the project directory.

$ cd checkout-demo

Step 3: Initialize an NPM project accepting all prompts.

$ npm init -y . 

Step 4: Install the express framework.

$ npm install express --save 

Step 5: Install the encryption library.

$ npm install @cellulant/checkout_encryption

Step 6: Sample code to encrpt the payload.

// File name : CheckoutEncryptionTest.js

let checkoutEncrypt = require('@cellulant/checkout_encryption');

const accessKey = "<YOUR_ACCESS_KEY>"
const IVKey = "<YOUR_IV_KEY>";
const secretKey = "<YOUR_SECRET_KEY>";
const algorithm = "aes-256-cbc";

// sample payload object 
var payloadObj = {
		"merchant_transaction_id":"TXN10001",
		"customer_first_name":"Test",
		"customer_last_name":"User",
		"msisdn":123456,
		"customer_email":"testuser@gmail.com",
		"request_amount":10.0,
		"currency_code":"KSH"
		"account_number":"12345",
		"service_code":"DEMOSERVICE",
		"due_date":"2021-11-21 12:49:36",
		"request_description":"Test payment",
		"country_code":"KEN",
		"language_code":"EN",
		"payment_option_code":"Mpesa",
		"success_redirect_url":"http://abc.com/success",
		"fail_redirect_url":"http://abc.com/fail",
		"pending_redirect_url":"http://abc.com/pending",
		"callback_url":"http://abc.com/callback",
		"charge_beneficiaries":null};
};

const payloadStr = JSON.stringify(payloadObj);
 
  // Create object of the Encryption class  
  let encryption = new checkoutEncrypt.Encryption(IVKey, secretKey, algorithm);

 // call encrypt method
 var result = encryption.encrypt(payloadStr);

 // print the result
 console.log(result);

Step 7: Open a terminal session in your project directory and run the application using the command

$ node CheckoutEncryptionTest.js

References

Package Sidebar

Install

npm i @cellulant/checkout_encryption

Weekly Downloads

186

Version

1.0.4

License

ISC

Unpacked Size

4.58 kB

Total Files

3

Last publish

Collaborators

  • kelvin.macharia
  • workerthread
  • cellulantafrica