Create an encryption endpoint and use it to encrypt the express checkout data.
npm install @cellulant/checkout_encryptionGet Started
$ 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 = ""
const IVKey = "";
const secretKey = "";
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
``