Signatures/Hash
A signature is a rule used to verify either merchants' requests to a payment platform or the callbacks from the payment platform to merchants' system.
caution
Resultant Signature/Hash value should be lowercase.
Authentication Signature/Hash
- Javascript
- PHP
Example Using CryptoJSvar Javascript library
/*
* Library Source: https://www.npmjs.com/package/crypto-js
*/
// Step 1: Generate string
var requestString = order.number + order.amount + order.currency + order.description + merchant.password;
// Step 2: Convert generated string to UpperCase.
requestString = requestString.toUpperCase();
// Step 3: Calculate md5 of resultant string from step 2.
var md5String = CryptoJS.MD5(requestString).toString();
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
var sha1String = CryptoJS.SHA1(md5String)
// Step 5: Convert SHA1 string to ciphertext
var hashString = CryptoJS.enc.Hex.stringify(sha1String);
Example Using PHP
// Step 1: Generate string
$requestString = $order->number . $order->amount . $order->currency . $order->description . $merchant->password;
// Step 2: Convert generated string to UpperCase.
$requestString = strtoupper(requestString);
// Step 3: Calculate md5 of resultant string from step 2.
$md5String = md5(requestString);
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
$sha1String = sha1(md5String);
Recurring Signature/Hash
- Javascript
- PHP
Example Using CryptoJSvar Javascript library
/*
* Library Source: https://www.npmjs.com/package/crypto-js
*/
// Step 1: Generate string
var requestString = recurring_init_trans_id + recurring_token + order.number + order.amount + order.description + merchant.password;
// Step 2: Convert generated string to UpperCase.
requestString = requestString.toUpperCase();
// Step 3: Calculate md5 of resultant string from step 2.
var md5String = CryptoJS.MD5(requestString).toString();
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
var sha1String = CryptoJS.SHA1(md5String)
// Step 5: Convert SHA1 string to ciphertext
var hashString = CryptoJS.enc.Hex.stringify(sha1String);
Example Using PHP
// Step 1: Generate string
$requestString = $recurring_init_trans_id . $recurring_token . $order->number . $order->amount . $order->description . $merchant->password;
// Step 2: Convert generated string to UpperCase.
$requestString = strtoupper(requestString);
// Step 3: Calculate md5 of resultant string from step 2.
$md5String = md5(requestString);
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
$sha1String = sha1(md5String);
Refund Signature/Hash
- Javascript
- PHP
Example Using CryptoJSvar Javascript library
/*
* Library Source: https://www.npmjs.com/package/crypto-js
*/
// Step 1: Generate string
var requestString = payment.id + order.amount + merchant.password;
// Step 2: Convert generated string to UpperCase.
requestString = requestString.toUpperCase();
// Step 3: Calculate md5 of resultant string from step 2.
var md5String = CryptoJS.MD5(requestString).toString();
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
var sha1String = CryptoJS.SHA1(md5String)
// Step 5: Convert SHA1 string to ciphertext
var hashString = CryptoJS.enc.Hex.stringify(sha1String);
Example Using PHP
// Step 1: Generate string
$requestString = $payment->id . $order->amount . $merchant->password;
// Step 2: Convert generated string to UpperCase.
$requestString = strtoupper(requestString);
// Step 3: Calculate md5 of resultant string from step 2.
$md5String = md5(requestString);
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
$sha1String = sha1(md5String);
Void Signature/Hash
- Javascript
- PHP
Example Using CryptoJSvar Javascript library
/*
* Library Source: https://www.npmjs.com/package/crypto-js
*/
// Step 1: Generate string
var requestString = payment.id + order.amount + merchant.password;
// Step 2: Convert generated string to UpperCase.
requestString = requestString.toUpperCase();
// Step 3: Calculate md5 of resultant string from step 2.
var md5String = CryptoJS.MD5(requestString).toString();
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
var sha1String = CryptoJS.SHA1(md5String)
// Step 5: Convert SHA1 string to ciphertext
var hashString = CryptoJS.enc.Hex.stringify(sha1String);
Example Using PHP
// Step 1: Generate string
$requestString = $payment->id . $order->amount . $merchant->password;
// Step 2: Convert generated string to UpperCase.
$requestString = strtoupper(requestString);
// Step 3: Calculate md5 of resultant string from step 2.
$md5String = md5(requestString);
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
$sha1String = sha1(md5String);
Check Status Signature/Hash
- Javascript
- PHP
Example Using CryptoJSvar Javascript library
/*
* Library Source: https://www.npmjs.com/package/crypto-js
*/
// Step 1: Generate string
var requestString = payment.id + merchant.pass;
// Step 2: Convert generated string to UpperCase.
requestString = requestString.toUpperCase();
// Step 3: Calculate md5 of resultant string from step 2.
var md5String = CryptoJS.MD5(requestString).toString();
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
var sha1String = CryptoJS.SHA1(md5String)
// Step 5: Convert SHA1 string to ciphertext
var hashString = CryptoJS.enc.Hex.stringify(sha1String);
Example Using PHP
// Step 1: Generate string
$requestString = $payment->id . $merchant->password;
// Step 2: Convert generated string to UpperCase.
$requestString = strtoupper(requestString);
// Step 3: Calculate md5 of resultant string from step 2.
$md5String = md5(requestString);
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
$sha1String = sha1(md5String);
Callback Notification Signature/Hash
- Javascript
- PHP
Example Using CryptoJSvar Javascript library
/*
* Library Source: https://www.npmjs.com/package/crypto-js
*/
// Step 1: Generate string
var requestString = payment_id + order.number + order.amount + order.currency + order.description + merchant.password;
// Step 2: Convert generated string to UpperCase.
requestString = requestString.toUpperCase();
// Step 3: Calculate md5 of resultant string from step 2.
var md5String = CryptoJS.MD5(requestString).toString();
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
var sha1String = CryptoJS.SHA1(md5String)
// Step 5: Convert SHA1 string to ciphertext
var hashString = CryptoJS.enc.Hex.stringify(sha1String);
Example Using PHP
// Step 1: Generate string
$requestString = $payment->id . $order->number . $order->amount . $order->currency . $order->description . $merchant->password;
// Step 2: Convert generated string to UpperCase.
$requestString = strtoupper(requestString);
// Step 3: Calculate md5 of resultant string from step 2.
$md5String = md5(requestString);
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
$sha1String = sha1(md5String);
Success/Cancel Url Signature/Hash
- Javascript
- PHP
Example Using CryptoJSvar Javascript library
/*
* Library Source: https://www.npmjs.com/package/crypto-js
*/
// Step 1: Generate string
var requestString = payment_public_id + order.number + order.amount + order.currency + order.description + merchant.password;
// Step 2: Convert generated string to UpperCase.
requestString = requestString.toUpperCase();
// Step 3: Calculate md5 of resultant string from step 2.
var md5String = CryptoJS.MD5(requestString).toString();
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
var sha1String = CryptoJS.SHA1(md5String)
// Step 5: Convert SHA1 string to ciphertext
var hashString = CryptoJS.enc.Hex.stringify(sha1String);
Example Using PHP
// Step 1: Generate string
$requestString = $payment->public_id . $order->number . $order->amount . $order->currency . $order->description . $merchant->password;
// Step 2: Convert generated string to UpperCase.
$requestString = strtoupper(requestString);
// Step 3: Calculate md5 of resultant string from step 2.
$md5String = md5(requestString);
// Step 4: Calculate SHA1 of resultant MD5 String from step 3.
$sha1String = sha1(md5String);