Merchant Integration Guide OSCommerce Shopping Cart Version 2.2



Similar documents
Credomatic Integration Resources. Browser Redirect API Documentation June 2007

Process Transaction API

ANZ egate Virtual Payment Client

Merchant One Payment Systems Integration Resources. Direct Post API Documentation June 2007

Credit Card Overview & Processing Guide entrée Version 3

ANZ egate Merchant Administration. Quick Reference Guide

Setup Guide for Magento and BlueSnap

GENERAL ADMINISTRATION - SHOPPING CART

itransact Gateway Fast Start Guide

MySagePay. User Manual. Page 1 of 48

Gateway Direct Post API

Virtual Terminal & Online Portal

Network Merchants Inc (NMI) Integration Resources. Direct Post API Documentation April 2010

Setting up your Moneris Payment Gateway

Open-Source Shopping Cart Solutions. Installation information for integrating a shopping cart with Checkout by Amazon using open-source solutions

Refer to the Integration Guides for the Connect solution and the Web Service API for integration instructions and issues.

MasterCard In tern et Gateway Service (MIGS)

MasterCard In tern et Gatew ay Service (MIGS)

INTEGRATION PROCEDURES AND SPECIFICATIONS

Authorize.Net. Advanced Integration Method. Miva Merchant Module. Documentation for module version Last Updated: 5/07/03

Setting Up a CyberSource Web Payment Account

PAYLINE USER GUIDE LOGGING INTO PAYLINE PROCESSING A PURCHASE

Setup Guide for PrestaShop and BlueSnap

Online Shop Frequently Asked Questions

MiGS Virtual Payment Client Integration Guide. July 2011 Software version: MR 27

PAYLINE USER GUIDE. 1 Logging into Payline. 2 - Processing a Purchase

TABLE OF CONTENTS. ipay / Magento Implementation Guide 2 Copyright 2012 Planet Payment, Inc. All Rights Reserved.

LiteCommerce 2Checkout.com Module

INTRODUCTION MERCHANT INTEGRATION. Ha noi, 10/7/2012

GSPAY Merchant Manual

Secure Payment Form User s Guide

Web Services Credit Card Errors A Troubleshooter

Volume PLANETAUTHORIZE PAYMENT GATEWAY. vtiger CRM Payment Module. User Guide

USA epay Gateway Commonly Asked Questions

Elavon Payment Gateway- Reporting User Guide

PROCESS TRANSACTION API

Direct Post. Integration Guide

Using Your Terminal for UnionPay Cards (05/15)

Web Services Credit Card Errors A Troubleshooter

Virtual Terminal User s Guide

Processing Payments in MCE

Virtual Terminal User s Guide

Table of Contents. 1 P a g e

SPARROW Gateway. Developer API. Version 2.00

Secure Link Internet Merchant Services

Paya Card Services Payment Gateway Extension. Magento Extension User Guide

API For Chopstickpay Merchants Configuration: Server-to-server Version: 3.4 Status: Published

CHARGE Anywhere Universal Shopping Cart

Internet Payment Gateway

3. From the Merchant Administration drop down select VCS Interfacing (page1)

Virtual Terminal User s Guide

RealControl. User Guide. Version: v3.3

My Sage Pay User Manual

ipayment Gateway API (IPG API)

Skipjack Merchant Services Guide

First Data Merchant Solutions Virtual Terminal & Manager

First Data Global Gateway Virtual Terminal User Manual. Version 1.0

Magento Extension User Guide: Payment Pages. This document explains how to install the official Secure Trading extension on your Magento store.

The Wells Fargo Payment Gateway Business Center. User Guide

Merchant Integration Guide

MyGate Response Codes. Version 2.1

WEB TERMINAL AND RECURRING BILLING

Bank and SecurePay Response Codes

Programming for the Netregistry E-commerce Gateway

A: This will depend on a number of factors. Things to consider and discuss with a member of our ANZ Merchant Services team are:

XML Messenger API Document Version: Issue Date: 03/05/2014

Merchant Integration Guide

Server-to-Server Credit Card Implementation Guide

Google Trusted Stores Setup in Magento

CHEXpedite - Online Electronic Check (OEC) (Online Payment Option Internet Check) User s Guide and Technical Specifications

Global Transport Secure ecommerce Decision Tree

1. Version Control Introduction Prerequisites Payment Submission Workflow Return Parameter for CallbackURL...

Response Code Details

New Customer Workbook

I. Simplifying Payment Processing. II. Authorizing Your Transactions Correctly page 6

How To Set Up The Barclaycard Epdq Cardholder Payment Interface (Cpi) On Papercut (Barclay Card) On A Microsoft Card (For A Credit Card) With A Creditcard (For An Account)

Realex Payments. Magento Community / Enterprise Plugin. Configuration Guide. Version: 1.1

PaperCut Payment Gateway Module CommWeb Quick Start Guide

Virtual Terminal User Guide

MAGENTO - SETUP PAYMENT PLANS

Installation Guide MAGENTO PAYMENT PLUGIN. release 1.0.1

Plugin Integration Guide

Web Services Credit Card Errors A Troubleshooter

ANZ Secure Gateway Virtual Terminal QUICK REFERENCE GUIDE NOVEMBER 2015

Hosted Credit Card Forms Implementation Guide

Form Protocol and Integration Guideline. Form Protocol and Integration Guideline (Protocol v3.00)

Quick Reference Guide PAYMENT GATEWAY (Virtual Terminal)

Swedbank Payment Portal Implementation Overview

PayWay. API Developer's Guide

PaperCut Payment Gateway Module - PayPal Payflow Link - Quick Start Guide

Overview of Credit Card Payment Processing in Digital StoreFront

A Reseller s Guide to Using Helm

Merchant Account Service

Skipjack Merchant User Guide. Quick Guide. (a supplement to the Merchant User Guide)

MERCHANT MANAGEMENT SYSTEM

Increase revenue. Reduce operating costs. Improve efficiencies. Accomplish all this and more with eselectplus.

Advanced Credit Card processing Service

Virtual Payment Client Integration Reference. April 2009 Software version:

Transcription:

Merchant Integration Guide OSCommerce Shopping Cart Version 2.2

Table of Contents 1. Introduction... 3 2. About this Documentation... 3 3. System and Skill Requirements... 3 4. What is the Process I will need to follow?... 3 5. How Do I Test My Solution?... 6 6. What Information Will I get as a Response to My Transaction Request?... 6 7. What Do I Need to Include in the Receipt?... 7 8. How Do I Activate My Store?... 7 9. How Do I Configure My Store For Production?... 7 10. How Do I Get Help?... 7 Appendix A: Development Response Codes... 9 Appendix B: Definitions of Response Fields... 12 Appendix C: Sample Receipt... 13 Page 2 of 13

1. Introduction OSCommerce is an online store-front shop solution that is available for free. It is an open-source software released under the GNU General Public License. The software has a shopping cart component and a payment module component that allow online customers to make payment for contents of their cart using a payment method of their choice. 2. About this Documentation This document contains the instructions for integrating eselectplus into OSCommerce as a payment processor. It also describes the required administration of OSCommerce to configure it for eselectplus. 3. System and Skill Requirements In order to support this online store-front solution your system will need to have the following: 1. A web server with an SSL certificate. 2. OSCommerce version 2.2 software. 3. MySQL Server Version 3 As well, you will need to have the following knowledge and/or skill set for the integration: 1. OSCommerce software configuration and administration. 2. PHP. 4. What is the Process I will need to follow? Note: Some of the following code may not correspond exactly to the code in your installation since oscommerce versions may differ. You will need to follow these steps: 1. Run the "Moneris.sql" script to create the required moneris_orderids table in your database. 2. Copy the "moneriseselectplus.php1" file to the "\catalog\includes\modules\payment" folder on your web server and rename it to "moneriseselectplus.php" (without "1" at the end). 3. Copy the "moneriseselectplus.php2" file to the "\catalog\includes\languages\english\modules\payment" folder on your web server and rename it to "moneriseselectplus.php" (without "2" at the end). 4. Create a "moneris" folder in the "\catalog\includes\" folder. 5. Copy the "insert_moneris_orderid.php" file to the "\catalog\includes\moneris" folder. 6. Add line "define('table_moneris_orderids', 'moneris_orderids');" into the following files: \catalog\includes\application_top.php \catalog\admin\includes\application_top.php 7. Add line "define('dir_ws_moneris', DIR_WS_INCLUDES. 'moneris/');" into the "\catalog\includes\configure.php" file. 8. Add code $selected_processor = $payment_modules->selection(); Page 3 of 13

if( $selected_processor[0]['id'] == 'moneriseselectplus' ) { include( DIR_WS_MONERIS. 'insert_moneris_orderid.php'); to line 111 of the "\catalog\checkout_process.php" file (After this section of code): --------------------------------------------------------------- for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { $sql_data_array = array('orders_id' => $insert_id, 'title' => $order_totals[$i]['title'], 'text' => $order_totals[$i]['text'], 'value' => $order_totals[$i]['value'], 'class' => $order_totals[$i]['code'], 'sort_order' => $order_totals[$i]['sort_order']); tep_db_perform(table_orders_total, $sql_data_array); --------------------------------------------------------------- 9. Add code <?php //Phet - Show eselect Plus Order ID. $eselectplus_order_id_query = tep_db_query("select moneris_orderid from ". TABLE_MONERIS_ORDERIDS. " where orders_id = ". tep_db_input($oid) ); if (tep_db_num_rows($eselectplus_order_id_query)) { echo ' <tr>'. "\n". ' <td class="main">'. "\n". ' <table border="1" cellspacing="0" cellpadding="5">'. "\n". ' <tr>'. "\n". ' <td class="smalltext" align="center"><b>eselect Plus Order ID</b></td>'. "\n". ' </tr>'; while ($eselectplus_order_id = tep_db_fetch_array($eselectplus_order_id_query)) { echo ' <tr>'. "\n". ' <td class="smalltext" align="center">'. $eselectplus_order_id['moneris_orderid']. '</td>'. "\n". ' </tr>'. "\n"; echo ' </table>'. "\n". ' </td>'. "\n". ' </tr>';?> to line 251 of the "\catalog\admin\orders.php" file (After this section of code): --------------------------------------------------------------- <?php for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) { echo ' <tr>'. "\n". ' <td align="right" class="smalltext">'. $order->totals[$i]['title']. '</td>'. "\n".?> ' <td align="right" class="smalltext">'. $order->totals[$i]['text']. '</td>'. "\n". ' </tr>'. "\n"; </table></td> </tr> Page 4 of 13

</table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10');?></td> </tr> 10. Replace the following block of code: // lets start our session if (isset($http_post_vars[tep_session_name()])) { tep_session_id($http_post_vars[tep_session_name()]); elseif ( (getenv('https') == 'on') && isset($http_get_vars[tep_session_name()]) ) { tep_session_id($http_get_vars[tep_session_name()]); if (function_exists('session_set_cookie_params')) { session_set_cookie_params(0, substr(dir_ws_catalog, 0, -1)); tep_session_start(); with the following block of code: --------------------------------------------------------------- // lets start our session if (isset($http_post_vars[tep_session_name()])) { tep_session_id($http_post_vars[tep_session_name()]); elseif ( (getenv('https') == 'on') && isset($http_get_vars[tep_session_name()]) ) { tep_session_id($http_get_vars[tep_session_name()]); elseif( isset($http_post_vars['rvaroscsid']) ) { //two lines that need to be added to existing tep_session_id($http_post_vars['rvaroscsid']); //oscommerce code if (function_exists('session_set_cookie_params')) { session_set_cookie_params(0, substr(dir_ws_catalog, 0, -1)); tep_session_start(); within the \catalog\includes\application_top.php file. 11. Log into the eselectplus Merchant Resource Center and create a DirectPost configuration (Admin DirectPost Config). Please select the POST response method and set the Approved and Declined URL s to your catalog\checkout_process.php file location. Select no for all other options. For more information about our DirectPost method of integration, please refer to our DirectPost Integration Guide at https://www3.moneris.com/connect/en/documents/index.html. 12. Log into the OSCommerce s administrative tool to enable the Moneris Solutions' eselectplus payment module and configure it to use your DirectPost configuration s ps_store_id and hpp_key values. Page 5 of 13

5. How Do I Test My Solution? A testing (QA) environment is available for you to connect to while you are integrating your site to our payment gateway. The QA environment is available 7x24, however since it is a test environment we cannot guarantee 100% availability. The QA Store Ids that are available for use are store1, store2, and store3. The test URL that you will need, when configuring OSCommerce to use eselectplus as the payment gateway, is https://esqa.moneris.com/hppdp/index.php. Once you are logged into one of the QA stores, proceed to the menu on the left and click on Admin, then Directpost Config, and then click on the Generate a New Configuration button. To set up the Directpost configuration, please follow the instructions in steps 11 and 12 of section 4 above. The QA environment will approve and decline transactions based on the penny value of the amount.,00,.01, and.04 will approve, other values will decline (i.e. 37.01 will approve and 37.10 will decline). Please see Appendix A for details on the values you must send to simulate the various responses. When testing, you can use any card number with any expiry date. The following test card numbers can be used as well with any expiry date. Card Plan Test Card Numbers Card Number Mastercard 5454545454545454 Visa 4242424242424242 Once your transactions are processed, reports can be generated in the Moneris Merchant Resource Center (MRC). The test MRC environment is located at https://esqa.moneris.com/mpg/index.php. You can use the User ID s and passwords in the table below to log in and view your transactions. Test IDs Store Ids API Tokens User ID Password Store1 yesguy DemoUser password Store2 yesguy DemoUser password Store3 yesguy DemoUser password The QA environment has been designed to replicate our production environment as closely as possible. One major difference is that we are unable to send test transactions onto the authorization network and thus Issuer responses are simulated. Additionally, the requirement to emulate approval, decline and error situations dictates that we use certain transaction variables to initiate various response and error situations. 6. What Information Will I get as a Response to My Transaction Request? For each approved payment transaction using eselectplus as the payment processor you will receive a response message. This message will be stored in the response_variables field of the moneris_orderids table created in step 1 of section 3 above. The individual fields of the response message are described in Appendix B. Due to the design nature of OSCommerce and eselectplus Order Id generations, the moneris_orderids table is required to link the Order Ids of the 2 systems. The eselect Plus Order Id of a particular order can be viewed Page 6 of 13

in the Orders detail page in the administration side of OSCommerce. This Order Id is required if a follow-on transaction needs to be performed in the Merchant Resource Center. 7. What Do I Need to Include in the Receipt? Visa and Mastercard expect certain variables be returned to the cardholder and presented as a receipt when a transaction is approved. These 12 fields are listed below. A sample receipt is provided in Appendix F. 1. Amount 2. Transaction Type 3. Date and Time 4. Auth Code 5. Response Code 6. ISO Code 7. Response Message 8. Reference Number 9. Goods and Services Order 10. Merchant Name 11. Merchant URL 12. Cardholder Name 8. How Do I Activate My Store? Once you have received your activation letter/fax, go to https://www3.moneris.com/connect/en/index.html and click on I want to activate my store. You will need to have your Store Id and Merchant Id/number on-hand. Once this is confirmed you will need to create an administrator account that you will use to log into the production Merchant Resource Centre (https://www3.moneris.com/mpg/) to access and administer your eselectplus store. 9. How Do I Configure My Store For Production? Once you have activated your store and completed your testing you are ready to point your store to the production host. You will need to change the Gateway URL field in OSCommerce s administration page for the eselectplus payment module to https://www3.moneris.com/hppdp/index.php. You will also need to change the ps_store_id and hpp_key values to reflect your production Directpost configurations. For more information please log into your production store and proceed to the menu on the left and click on Admin, then Directpost Config, and then click on the Generate a New Configuration button. To set up the Directpost configuration, please follow the instructions in steps 11 and 12 of section 4 above. For further information on how to use the Merchant Resource Centre please see the eselectplus Merchant Interface User s Guide which is available at https://www3.moneris.com/connect/en/documents/index.html. 10. How Do I Get Help? If you require technical assistance during integration, please contact the eselect Plus Helpdesk: Phone: 1-866-562-4354 Email: eselectplus@moneris.com Page 7 of 13

When sending an email, be sure to include your name and phone number as well as a clear description of the problem. For security reasons, please do not send us your API Token combined with your Store Id, or your Merchant Id number and Device number in the same email. Page 8 of 13

Appendix A: Development Response Codes The following table illustrates the various responses you will receive by altering the transaction penny value when sending transactions to Moneris development system. Amount Sent Response Codes.00 APPROVED * =.01 APPROVED * =.02 APPROVED * =.03 APPROVED * =.04 APPROVED * =.05 DECLINED * =.06 DECLINED * INVALID EXPIRY DATE=.07 DECLINED * =.08 DECLINED * =.09 DECLINED * =.10 DECLINED * =.11 DECLINED * =.12 DECLINED * =.13 DECLINED * =.14 CALL FOR * AUTHORIZATION =.15 DECLINED * =.16 DECLINED * =.17 DECLINED * =.18 DECLINED * =.19 DECLINED * =.20 DECLINED * =.21 DECLINED * =.22 DECLINED * =.23 DECLINED * =.24 DECLINED * SYSTEM PROBLEM =CANNOT PROCESS*SYSTEM PROBLEM.25 DECLINED * =.26 DECLINED * =.27 DECLINED * =.28 DECLINED * =.29 DECLINED * =.30 DECLINED * SYSTEM PROBLEM =CANNOT PROCESS*SYSTEM PROBLEM Page 9 of 13

.31 DECLINED * SYSTEM PROBLEM =CANNOT PROCESS*SYSTEM PROBLEM.32 DECLINED * SYSTEM PROBLEM =CANNOT PROCESS*SYSTEM PROBLEM.33 DECLINED * =.34 DECLINED * =.35 DECLINED * =.36 DECLINED * =.37 DECLINED * =.38 DECLINED * =.39 DECLINED * =.40 DECLINED * =.41 HOLD CARD * CALL =.42 PICK UP CARD * CALL BANK =.43 HOLD CARD * CALL =.44 DECLINED * =.45 DECLINED * =.46 DECLINED * =.47 DECLINED * =.48 DECLINED * =.49 DECLINED * =.50 DECLINED * =.51 DECLINED * =.52 DECLINED * =.53 DECLINED * =.54 DECLINED * EXPIRED CARD =.55 DECLINED * =.56 DECLINED * =.57 DECLINED * =.58 DECLINED * =.59 DECLINED * =.60 CALL FOR * AUTHORIZATION =.61 DECLINED * =.62 DECLINED * =.63 DECLINED * =.64 DECLINED * =.65 DECLINED * =.66 DECLINED * =.67 DECLINED * = Page 10 of 13

.68 DECLINED * =.69 CALL FOR * AUTHORIZATION =.70 DECLINED * SYSTEM PROBLEM =CANNOT PROCESS*SYSTEM PROBLEM.71 DECLINED * =.72 DECLINED * =.73 DECLINED * =.74 DECLINED * =.75 DECLINED * =.76 DECLINED * =.77 DECLINED * =.78 DECLINED * =.79 DECLINED * =.80 APPROVED * =.81 APPROVED * =.82 APPROVED * =.83 APPROVED * =.84 APPROVED * =.85 DECLINED * SYSTEM PROBLEM =CANNOT PROCESS*SYSTEM PROBLEM.86 CALL FOR * AUTHORIZATION =.87 CALL FOR * AUTHORIZATION =.88 DECLINED * SYSTEM PROBLEM =CANNOT PROCESS*SYSTEM PROBLEM.89 DECLINED * SYSTEM PROBLEM =CANNOT PROCESS*SYSTEM PROBLEM.90 DECLINED * SYSTEM PROBLEM =CANNOT PROCESS*SYSTEM PROBLEM.91 =.92 =.93 =.94 =.95 =.96 =.97 =.98 =.99 = NOTE: The value of any transaction should not exceed $1,000.00. The cent value of the transaction is what determines the response code. For example, a transaction made with a Visa card for an amount of $1.01 will be approved while a transaction value of $1.20 would result in a decline. Page 11 of 13

Appendix B: Definitions of Response Fields Variable Name Size/Type Description Response Fields order_id 99 / an order_id specified in request ReferenceNum 18 / num The reference number is an 18 character string that references the terminal used to process the transaction as well as the shift, batch and sequence number, This data is typically used to refernce transactions on the host systems and must be displayed on any receipt presented to the customer. This information should be stored by the merchant. The following illustrates the breakdown of this field where "660123450010690030 is the reference number returned in the message, "66012345" is the terminal id, "001" is the shift number, "069" is the batch number and "003" is the transaction number within the batch. Moneris Host Transaction identifier ReponseCode 3 / num Transaction Response Code < 50: Transaction approved >= 50: Transaction declined NULL: Transaction was not sent for authorization ISO 2 / num ISO response code * If you would like further details on the response codes that are returned please see the Response Codes document available at https://www3.moneris.com AuthCode 8 / an Authorization code returned from the issuing institution TransTime ##:##:## Processing host time stamp TransDate yyyy-mmdd Processing host date stamp TransType an Type of transaction that was performed Complete True/False Transaction was sent to authorization host and a response was received Message 100 / an Response description returned from issuing institution. TransAmount CardType 2 / alpha Credit Card Type Txn_number 20 / an Gateway Transaction identifier TimedOut True/False Transaction failed due to a process timing out Ticket n/a reserved Page 12 of 13

Appendix C: Sample Receipt Your order has been Approved Print this receipt for your records QA Merchant #1 3250 Bloor St West Toronto Ontario M8X2X9 Transaction Type: Purchase Order ID: mhp3495435587 Date/Time: 2002-10-18 11:27:48 Sequence Number: 660021630012090020 Amount: 12.04 1 800 987 1234 www.moneris.com Approval Code: 030012 Response / ISO Code: 028/04 APPROVED * = Item Description Qty Amount Subtotal cir-001 Med Circle 1 2.01 2.01 tri-002 Big triangle 1 1.01 1.01 squ-003 small square 2 1.01 3.02 Shipping: 4.00 GST : 1.00 PST : 1.00 Total: 12.04 CAD Bill To: Test Customer 123 Main St Springfield ON Canada M1M 1M1 tel: 416 555 1111 fax: 416 555 1111 Ship To: Test 1 King St Bakersville ON Canda M1M 1M1 tel: 416 555 2222 fax: 416 555 2222 Special Instructions Knock on Back door when delivering E-Mail Address:eselectsupport@moneris.com Refund Policy 30 Days - Must be unopened, 10% restocking charge. Page 13 of 13