about eSelect Plus (similar to authorize.net AIM):
eSELECTplus is the first e-payment system to be developed by a Canadian acquirer. As the first solution completely developed and managed by a Canadian Acquirer/Processor. Moneris’ Payment Gateway will bring stability and support to the Canadian eCommerce market. It also supports batch and call centre environments. Through the payment gateway we are providing solutions that address issues unique to the Canadian market as well as ensure compliance to international payment regulations.
———————–
I developed a very simple and straightforward php class (also modified classes provided by eselect) to integrate eselect payment gateway in one of my project. If you are thinking to integrate eselect payment gateway in your web site then you can use my class which is here. An example given below how to use this script.
Pre-requisite: php>=5
<?php /*----- Including Main Class --------*/ require_once ("IWMoneris.php"); /* # # Transaction Array # */ $transactionArray = array( /*@--- TRUE = test mode :: FALSE = live mode ----*/ 'test_mode' => TRUE, /*@------ TRUE = ssl enabled :: FALSE = ssl disabled ----*/ 'ssl_enabled' => FALSE, /*@------- API strore id used to submit transactions.----*/ 'store_id' => 'monusqa002', /*@------- API Token id used to submit transactions.----*/ 'api_token' => 'qatoken', /*@Merchant defined unique transaction identifier - must be unique for every Purchase. Characters allowed for Order ID: a-z A-Z 0-9 _ - : . @ spaces.... Max Size: 50*/ 'order_id' => 'ord-'.date("dmy-G:i:s"), /*@ Max Size: 50 */ 'customer_id' => 'cust_123', /*@ Max Size: 20. Credit Card Number - no spaces or dashes. Most credit card numbers today are 16 digits in length but some 13 digits are still accepted by some issuers. This field has been intentionally expanded to 20 digits in consideration for future expansion and/or potential support of private label card ranges. */ 'cc_card_number' => '5454545454545454', /*@ Max Size: 4. Expiry Date - format YYMM no spaces or slashes. */ 'cc_exp_date' => '0909', /*@ Max Size: 9/decimal. Amount of the transaction. This must contain 3 digits with two penny values. The minimum value passed can be 0.01 and the maximum 9999999.99 */ 'amount' => '12.00', /*@ Max Size: 17. Level 2 Invoice Number for the transaction. Used for Corporate Credit Card transactions (Commercial Purchasing Cards). Characters allowed for commcard_invoice: a-z A-Z 0-9 spaces */ 'invoice_number' => 'inv 123', /*@ Max Size: 9/decimal. Level 2 Tax Amount of the transaction. Used for Corporate Credit Card transactions (Commercial Purchasing Cards). This must contain 3 digits with two penny values. The minimum value passed can be 0.01 and the maximum is 9999999.99 */ 'tax_amount' => '0.00' ); /* # # Initiating payment gateway class # constructor param: transaction array # */ $moduleObj = new IWMoneris($transactionArray); /* # # Creating Items # At list one item needed # */ $item1 = array( /*@ Product Item Name */ 'item_name' => 'Registration1', /*@ Product Item Quantity */ 'item_quantity' => '1', /*@ Product Item Code */ 'item_code' => '416-555-555511', /*@ Product Item Price. Max Size: 9/decimal */ "item_amount" => '12.00' ); $item2 = array( /*@ Product Item Name */ 'item_name' => 'Registration2', /*@ Product Item Quantity */ 'item_quantity' => '1', /*@ Product Item Code */ 'item_code' => '416-555-555512', /*@ Product Item Price. Max Size: 9/decimal */ "item_amount" => '12.00' ); /*------ Adding items to transaction object ----------*/ $moduleObj->SetItem($item1); $moduleObj->SetItem($item2); /* # # Customer email notification (optional) # */ $email = array( /*@ Customer email address */ 'email' => 'email@email.com', /*@ email instructions */ 'instructions' => 'make it first', ); /*------ Adding email notifications array to transaction object ----------*/ /*------ Comments/Remove this if not needed ------------------------------*/ $moduleObj->SetEmailInstruction($email); /* # # Customer billing information (optional) # */ $billingArray = array( 'first_name' => 'Joe', 'last_name' => 'Thompson', 'company_name' => 'Widget Company Inc.', 'address' => '111 Bolts Ave.', 'city' => 'Toronto', 'province' => 'Ontario', 'postal_code' => 'M8T 1T8', 'country' => 'Canada', 'phone_number' => '416-555-5555', 'fax' => '416-555-5555', 'tax1' => '0.00', 'tax2' => '0.00', 'tax3' => '0.00', 'shipping_cost' => '0.00' ); /*------ Adding billing information to transaction object ----------*/ /*------ Comments/Remove this if not needed -------------------------*/ $moduleObj->SetBillingInfo($billingArray); /* # # Customer shipping information (optional) # */ $shippingArray = array( 'first_name' => 'Joe', 'last_name' => 'Thompson', 'company_name' => 'Widget Company Inc.', 'address' => '111 Bolts Ave.', 'city' => 'Toronto', 'province' => 'Ontario', 'postal_code' => 'M8T 1T8', 'country' => 'Canada', 'phone_number' => '416-555-5555', 'fax' => '416-555-5555' ); /*------ Adding Shipping information to transaction object ----------*/ /*------ Comments/Remove this if not needed -------------------------*/ $moduleObj->SetShippingInfo($shippingArray); /* # # Sending request to payment gateway server # Returns an array. Array keys: # success = true/false, code = transaction code, message = response message # */ $response = $moduleObj->Process(); if($response['success']) { echo 'Transaction Successfull::<br />'; } else { echo 'Transaction Failed::<br />'; } echo 'Code:: '.$response['code'].'<br />'; echo 'Msg:: '.$response['message'].'<br />'; echo '<br />Details response is given below:<br />'; $moduleObj->DumpResponse(); ?>
As I developed this script very urgently so many things are skiped which are also necessary. Hope you will make it more reliable when you will use it.
For any advise/help please contact with me.
Thanks…

Recent Comments