PHP code example of luniumall / moneris-api
1. Go to this page and download the library: Download luniumall/moneris-api library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
luniumall / moneris-api example snippets
composer
use LuniuMall\Moneris\Moneris;
...
$id = 'store1';
$token = 'yesguy';
// optional
$params = [
'environment' => Moneris::ENV_TESTING, // default: Moneris::ENV_LIVE
'avs' => true, // default: false
'cvd' => true, // default: false
'cof' => true, // default: false
'cavv' => false, // default: false
];
$gateway = (new Moneris($id, $token, $params))->connect();
use LuniuMall\Moneris\Moneris;
...
$id = 'store1';
$token = 'yesguy';
// optional
$params = [
'environment' => Moneris::ENV_TESTING, // default: Moneris::ENV_LIVE
'avs' => true, // default: false
'cvd' => true, // default: false
'cof' => true, // default: false
'cavv' => false, // default: false
];
$gateway = Moneris::create($id, $token, $params);
$params = [
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'credit_card' => '4242424242424242',
'expiry_month' => '12',
'expiry_year' => '20',
];
$response = $gateway->purchase($params);
$params = [
'order_id' => '1234-56789',
'amount' => '1.00', // optional: can search for specific order with amount
'status_check' => 'true' // Status Check is a connection object value that allows merchants to verify whether a previously sent transaction was processed successfully.
];
$response = $gateway->purchase($params);
$params = [
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'credit_card' => '4242424242424242',
'expiry_month' => '12',
'expiry_year' => '20',
];
$response = $gateway->preauth($params);
$params = [
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'credit_card' => '4242424242424242',
'expiry_month' => '12',
'expiry_year' => '20',
];
$response = $gateway->preauth($params);
$response = $gateway->capture($response->transaction);
$params = [
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'credit_card' => '4242424242424242',
'expiry_month' => '12',
'expiry_year' => '20',
];
$response = $gateway->purchase($params);
$response = $gateway->void($response->transaction);
$params = [
'order_id' => uniqid('1234-56789', true),
'credit_card' => '4242424242424242',
// 'data_key' => 'abcdefghkdml', // vault key
'notification_url' => 'https://yournotificationurl.com',
];
$response = $gateway->mpiCardLookup($params);
$params = [
'order_id' => uniqid('1234-56789', true),
'cardholder_name' => 'CardHolder Name',
'credit_card' => '4242424242424242',
// 'data_key' => 'xxxxxx', // Vault
'amount' => '1.00',
'notification_url' => 'https://yournotificationurl.com',
'browser_useragent' => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36\\",
'browser_java_enabled' => "true",
'browser_screen_height' => '800',
'browser_screen_width' => '1920',
'browser_language' => 'en_US',
'threeds_completion_ind' => 'Y', //(Y|N|U) indicates whether 3ds method mpiThreeDSAuthentication was successfully completed
'request_type' => '01', // (01=payment|02=recur)
'browser_java_enabled' => "true",
'challenge_windowsize' => '02' //(01 = 250 x 400, 02 = 390 x 400, 03 = 500 x 600, 04 = 600 x 400, 05 = Full screen)
];
$response = $gateway->mpiThreeDSAuthentication($params);
$params = [
'cres' => "eyJhY3NUcmFuc0lEIjoiNzQ0ZDI2NjUtNjU2Yy00ZGNiLTg3MWUtYTBkYmMwODA0OTYzIiwibWVzc2FnZVR5cGUiOiJDUmVzIiwiY2hhbGxlbmdlQ29tcGxldGlvbkluZCI6IlkiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidHJhbnNTdGF0dXMiOiJZIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiJlMTFkNDk4NS04ZDI1LTQwZWQtOTlkNi1jMzgwM2ZlNWU2OGYifQ=="
];
$response = $gateway->mpiCavvLookup($params);
$params = [
'cavv' => 'AAABBJg0VhI0VniQEjRWAAAAAAA=',
'cvd' => '111',
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'credit_card' => '4242424242424242',
'expiry_month' => '12', // or using 'expdate' => '2012',
'expiry_year' => '20'
];
$response = $gateway->cavvPurchase($params);
$params = [
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'credit_card' => '4242424242424242',
'expiry_month' => '12',
'expiry_year' => '20',
];
$response = $gateway->purchase($params);
$response = $gateway->refund($response->transaction);
$params = [
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'credit_card' => '4242424242424242',
'expiry_month' => '12',
'expiry_year' => '20',
];
$response = $gateway->verify($params);
$params = [
// `cvd` needs to be > uniqid('1234-56789', true),
'amount' => '1.00',
'credit_card' => $this->visa,
'expdate' => '2012',
];
$response = $gateway->verify($params); // could be purchase, preauth, etc.
$params = [
// `avs_*` keys need to be _street_name' => 'Fake Street',
'avs_zipcode' => 'X0X0X0',
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'credit_card' => $this->visa,
'expdate' => '2012',
];
$response = $gateway->verify($params); // could be purchase, preauth, etc.
$response = $gateway->verify($params);
if ($response->successful && !$response->failedAvs && !$response->failedCvd) {
$response = $gateway->purchase($params);
if ($response->successful) {
$receipt = $response->receipt();
} else {
$errors = $response->errors;
}
}
$response = $gateway->purchase($params);
if ($response->successful && ($response->failedAvs || $response->failedCvd)) {
$errors = $response->errors;
$response = $gateway->void($response->transaction);
} elseif (!$response->successful) {
$errors = $response->errors;
} else {
$receipt = $response->receipt();
}
$params = [
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'data_key' => $key,
'payment_indicator' => 'U',
'payment_information' => '2',
'issuer_id' => $issuer_id // this is optional
];
$response = $vault->purchase($params); // could be purchase, preauth, etc.
$vault = $gateway->cards();
use LuniuMall\Moneris\CreditCard;
...
$card = CreditCard::create('4242424242424242', '2012');
$response = $vault->add($card);
$card = CreditCard::create('4242424242424242', '2012');
$response = $vault->add($card);
$key = $response->receipt()->read('key');
$card->expiry = '2112';
$response = $vault->update($key, $card);
$card = CreditCard::create('4242424242424242', '2012');
$response = $vault->add($card);
$key = $response->receipt()->read('key');
$response = $vault->delete($key);
use LuniuMall\Moneris\Customer;
...
$params = [
'id' => uniqid('customer-', true),
'email' => '[email protected] ',
'phone' => '555-555-5555',
'note' => 'Customer note',
];
$customer = Customer::create($params);
$card = CreditCard::create('4242424242424242', '2012');
$card = $card->attach($customer);
$response = $vault->add($card);
use LuniuMall\Moneris\Customer;
...
$params = [
'id' => uniqid('customer-', true),
'email' => '[email protected] ',
'phone' => '555-555-5555',
'note' => 'Customer note',
];
$customer = Customer::create($params);
$card = CreditCard::create('4242424242424242', '2012');
$card = $card->attach($customer);
$response = $vault->add($card);
$key = $response->receipt()->read('key');
$card->customer->email = '[email protected] ';
$response = $vault->update($key, $card);
$params = [
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'credit_card' => '4242424242424242',
'expiry_month' => '12',
'expiry_year' => '20',
];
$response = $gateway->purchase($params);
$response = $vault->tokenize($response->transaction);
$card = CreditCard::create('4242424242424242', '2012');
$response = $vault->add($card);
$key = $response->receipt()->read('key');
$response = $vault->peek($key);
$receipt = $response->receipt();
$masked = $receipt->read('data')['masked_pan'];
$response = $vault->expiring();
$card = CreditCard::create('4242424242424242', '2012');
$response = $vault->add($card);
$key = $response->receipt()->read('key');
$params = [
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'data_key' => $key,
];
$response = $vault->purchase($params); //
$card = CreditCard::create('4242424242424242', '2012');
$response = $vault->add($card);
$key = $response->receipt()->read('key');
$params = [
'order_id' => uniqid('1234-56789', true),
'amount' => '1.00',
'data_key' => $key,
];
$response = $vault->preauth($params); //
$errors = $response->errors;
// The following example would be returned when you forget to set the `order_id` on your transaction.
$errors = [
[
'field' => 'order_id',
'code' => self::PARAMETER_NOT_SET, // 2
'title' => 'not_set'
],
];
$status = $response->status;
ERROR = -23;
INVALID_TRANSACTION_DATA = 0;
FAILED_ATTEMPT = -1;
CREATE_TRANSACTION_RECORD = -2;
GLOBAL_ERROR_RECEIPT = -3;
SYSTEM_UNAVAILABLE = -14;
CARD_EXPIRED = -15;
INVALID_CARD = -16;
INSUFFICIENT_FUNDS = -17;
PREAUTH_FULL = -18;
DUPLICATE_TRANSACTION = -19;
DECLINED = -20;
NOT_AUTHORIZED = -21;
INVALID_EXPIRY_DATE = -22;
CVD = -4;
CVD_NO_MATCH = -5;
CVD_NOT_PROCESSED = -6;
CVD_MISSING = -7;
CVD_NOT_SUPPORTED = -8;
AVS = -9;
AVS_POSTAL_CODE = -10;
AVS_ADDRESS = -11;
AVS_NO_MATCH = -12;
AVS_TIMEOUT = -13;
POST_FRAUD = -22;
$success = $response->successful
$response = $gateway->purchase($params);
$receipt = $response->receipt();
$amount = $receipt->read('amount');
amount - The amount of the transaction. (string)
authorization - The authorization code for the transaction. (string)
avs_result - The avs result code for the transaction. (string)
card - The card type used for the transaction. (string)
code - The response code for the transaction. (string)
complete - Whether the transaction had completed correctly or not. (boolean)
cvd_result - The cvd result code. (string)
data - The data related to the customer and card for the transaction. (array)
date - The date of the transaction. (string)
id - The Moneris id of the receipt. (string)
iso - The ISO code for the transaction. (string)
key - The data key used for vault transactions. (string)
message - Any relevant message provided for the transaction. (string)
reference - The reference number for the transaction. (string)
time - The time of the transaction. (string)
transaction - The Moneris id of the transaction. (string)
type - The transaction type. (string)