Java Web Services SDK Version 1.5.1 September 2005
This manual and accompanying electronic media are proprietary products of Optimal Payments Inc. They are to be used only by licensed users of the product. 1999 2006 Optimal Payments Inc. All rights reserved. The information within this document is subject to change without notice. The software described in this document is provided under a license agreement, and may be used or copied only in accordance with this agreement. No part of this manual may be reproduced or transferred in any form or by any means without the express written consent of Optimal Payments Inc. FirePay and FireCash are registered trademarks of Optimal Payments Inc. All other names, trademarks, and registered trademarks are the property of their respective owners. Optimal Payments Inc. makes no warranty, either express or implied, with respect to this product, its merchantability or fitness for a particular purpose, other than as expressly provided in the license agreement of this product. For further information, please contact Optimal Payments Inc. International Head Office Optimal Payments Inc. 2 Place Alexis Nihon, Suite 700 Westmount, Quebec H3Z 3C1 Canada Tel.: (514) 380-2700 Fax: (514) 380-2760 Email: info@optimalpayments.com Technical support: support@optimalpayments.com Web: www.optimalpayments.com U.K. Office Optimal Payments Ltd. Quern House, Mill Court Hinton Way, Great Shelford Cambridge CB2 5LD United Kingdom Email: info@optimalpayments.co.uk Technical Support: support@optimalpayments.co.uk Web: www.optimalpayments.co.uk U.S. Office Optimal Payments Corp. 1800 West Loop South, #770 Houston, TX 77027 Hull Office Optimal Payments Inc. 75 Promenade du Portage Gatineau, Quebec J8X 2J9 Canada
Contents 1 Installing the Java Web Services SDK Introduction............................................ 1-1 Software requirements.................................... 1-1 Merchant registration..................................... 1-1 Installing the Java Web Services SDK......................... 1-2 Testing the Java Web Services SDK........................... 1-3 Troubleshooting......................................... 1-5 2 Introduction to the Java Web Services SDK What is the Web Services SDK?............................. 2-1 Submitting transaction requests.............................. 2-2 Transaction request types............................. 2-3 Failed transactions....................................... 2-3 Java Web Services SDK level........................... 2-3 Payment service level................................ 2-4 No response....................................... 2-4 Interfacing with the Java Web Services SDK.................... 2-4 Importing Optimal Payments classes.................... 2-4 Transaction processing............................... 2-4 Supporting methods................................. 2-6 A Configuring for Optimal Payments Overview.............................................. A-1 Opening your configuration file............................. A-1 Saving your configuration file............................... A-2 Adding a merchant account................................ A-3 Java Web Services SDK 1.5.1 III
September 2005 Modifying a merchant account.............................. A-5 Removing a merchant account.............................. A-6 Modifying server information............................... A-7 Creating a configuration file................................ A-8 B Java Code Example C Response Codes Overview.............................................. C-1 Action codes........................................... C-1 Response codes......................................... C-1 IV
CHAPTER 1 Installing the Java Web Services SDK Introduction The Java Web Services Payment SDK runs on both UNIX and NT platforms. Software requirements The Java Web Services Payment SDK requires: An application server Sun JRE or JDK 1.4.2 or higher Merchant registration Before using the Java Web Services Payment SDK, you must have a merchant account at Optimal Payments. Once this registration is complete, you will receive the following: Merchant account number (i.e., your account ID) Store ID Store password These values are required for you to submit transaction requests to Optimal Payments Web Services. For more details on transaction requests, see Optimal Payments API Reference Guide for Web Services. Note that you will also need test values for a merchant account number, store ID, and store password, in order to test your application on our test server. Contact our Technical Support department for these test values. Java Web Services SDK 1.5.1 1-1
Installing the Java Web Services SDK September 2005 support@optimalpayments.com 1-888-709-8753 Installing the Java Web Services SDK You must have administrator access on an application server in order to be able to create a Web application and deploy the Optimal Payments Web Services SDK. You may need to log on as root in order to have the authorization to install the package. To install the Java Web Services SDK: 1. Unzip the optimal-java-sdk-x.x.x.zip file you received from Optimal Payments (where x.x.x is the version number). You will see the following sub-directories: bin contains utilities to edit the configuration file config contains a sample op-config.xml file javadoc contains all the SDK documentation lib contains the relative libraries used by the SDK sample contains a sample WAR file 2. Set your OPTIMAL_DIR environment variable to your installation directory. 3. Modify the op-config.xml file, which is in the config directory, with the correct values. By default, this configuration file contains the URL for our test environment, but you must add the test values you received from Technical Support for the account number, store ID, and store password values. For complete details on modifying your configuration file, see Appendix A: Configuring for Optimal Payments. 4. Ensure the configuration file op-config.xml is in the classpath of your application server. Please follow the instructions provided by your application server vendor on how to modify the application server environment. 1-2
September 2005 Testing the Java Web Services SDK 5. Most application servers can import/install WAR files. Please follow the instructions provided by your application server vendor to install /sample/teller.war. You can access it from a browser using a URL like the following: http://[appserver host]:[appserver port]/teller 6. Restart your application server. Testing the Java Web Services SDK After you have installed the Java Web Services SDK, you can test your installation. To test the Web Services SDK: 1. Modify your op-config.xml configuration file to include test account data and the Optimal Payments test URL. See Merchant registration on page 1-1 for information on test values and Appendix A: Configuring for Optimal Payments for details on modifying the configuration file. 2. Open a browser and enter the following in the Address field: http://[appserver host]:[appserver port]/teller where appserver host and appserver port are replaced by their actual values. For example, the URL might look like this: http://localhost:8080/teller The sample_form.jsp page is displayed. This page allows you to send a test Direct Debit transaction to the Optimal Payments transactionprocessing server. Java Web Services SDK 1.5.1 1-3
Installing the Java Web Services SDK September 2005 3. Click Sample Data. 4. Click Submit Form. The request is sent and the sample_process.jsp page displays the results of the request. If you have integrated the Web Services SDK correctly, the following transaction status will be displayed: Response code 0 Response decision Accepted 1-4
September 2005 Troubleshooting If you want to submit multiple test transactions, be sure to modify at least one of the sample values in the sample_form.jsp page before submitting each additional transaction. Otherwise, the transaction will be flagged as a duplicate and will fail. Troubleshooting You cannot access http://[appserver host]:[appserver port]/teller. If the page cannot be found, the WAR file (teller.war) was probably not deployed correctly on your application server. The sample_form.jsp page is displayed in your browser, but you get an error. If you get ERROR: Ensure op-config.xml file is in the classpath, make sure the op-config.xml file is in your classpath. You encounter a class not found error. Ensure that your OPTIMAL_DIR variable is pointing to your installation directory. Using this guide Audience This user guide details major system functions. Each section provides an overview of functions, which are then broken down, where necessary, into procedures with steps to be followed. This user s guide is intended for Optimal Payments merchants wanting to use our Java SDK to integrate with our Web Services in order to process transaction requests with Optimal Payments. Functionality This guide may document some features to which you do not have access. Access to such functionality is allotted on a merchant-by-merchant basis. If you have any questions, contact your account manager. Java Web Services SDK 1.5.1 1-5
Installing the Java Web Services SDK September 2005 Symbols This user guide uses the following symbols to bring important items to your attention: Symbol Description This note icon denotes a hint or tip to help you use the transaction processing application more efficiently. This warning icon alerts you about actions you might take that could have important consequences. Table 1-1: Symbols 1-6
CHAPTER 2 Introduction to the Java Web Services SDK What is the Web Services SDK? A merchant typically needs to send transaction requests in support of business transactions to a payment service. The merchant sends transaction requests (e.g., Charge) to Optimal Payments via the Web Services SDK, which acts as a secure transport medium. The merchant uses sockets through SSL (Secure Socket Layer) to communicate securely with the payment server over the Internet. Transactions are validated at both the Java Web Services SDK and the payment service levels. For example, Optimal Payments sends a response for both successful and failed transactions (e.g., if the routing number supplied is too long). Java Web Services SDK shows an error message if mandatory information is missing or incorrect (e.g., if your Store ID value is missing). Java Web Services SDK 1.5.1 2-1
Introduction to the Java Web Services SDK September 2005 In order to guarantee the security of customer information over the Internet, and in order to use the Java Web Services SDK and our transaction processor, the merchant s Web site must be secure. Optimal Payments ensures the security of information transmitted between the merchant application and the payment service, but the merchant is responsible for securing information transmitted between the customer and the merchant s Web site (by, for example, having a certificate from a recognized certificate authority such as VeriSign). Submitting transaction requests The following is a brief overview of the process of submitting a transaction request to Optimal Payments via the Java Web Services SDK. 1. Register with the Optimal Payments payment service. See Merchant registration on page 1-1 for more information. 2. Modify any fields in the op-config.xml configuration file that you want changed. 3. Initiate a request by following the steps in Testing the Java Web Services SDK on page 1-3, but with real values set in the configuration file (as opposed to test values). 4. The Java Web Services SDK reads the parameters set in your configuration file and builds the request from your merchant application. 5. The Java Web Services SDK establishes a secure Internet connection with Optimal Payments. 6. Once the secure connection is established, the Java Web Services SDK sends the request to Optimal Payments and waits for the result. 7. Optimal Payments processes the transaction request and sends the results back to the Java Web Services SDK, which in turn relays this information to your merchant application. 2-2
September 2005 Transaction request types Transaction request types Optimal Payments Web Services support the following transaction types: Charge allows you to transfer money from the customer s bank account to your merchant account. This transaction is completed in real time, though the banking network takes 3 5 days to transfer the funds. Credit allows you to transfer money from your merchant account back to a customer s bank account. The Credit transaction is completed in real time, though the banking network takes 3 5 days to transfer the funds. Verify allows you to confirm that a customer s bank account is in good standing, without actually transferring money out of that account. Failed transactions Transaction requests are made to the payment service via the Internet. Normally, the merchant receives a response from Optimal Payments indicating that the transaction was successful. If the transaction request fails, an error response is issued to the merchant. This response includes an error code and an error string. There are three possible causes for a failed transaction. Your response varies with the type of error encountered. Failure at the Java Web Services SDK level Failure at the payment service level No response is returned Java Web Services SDK level In cases where a problem occurs within the SDK itself, no communication attempt is made to Optimal Payments Web Service. For example, if a mandatory parameter were missing, it would be a failure on the SDK side. For a complete list of SDK response codes (6000 6999), see Appendix C: Response Codes. Java Web Services SDK 1.5.1 2-3
Introduction to the Java Web Services SDK September 2005 Payment service level An error can also occur during the processing of the transaction request at the Optimal Payments server side (e.g., the merchant account could not be found). In such cases, a response code is included in the response XML returned by Optimal Payments. For a complete of response codes, see Appendix C: Response Codes. No response In the rare occurrence where you receive no response at all, you would not know whether the request was processed and you would not have the payment service transaction number associated with the request (which would have been assigned if the request had been processed). If you receive no response to a transaction attempt, retry that transaction. If it has already been processed, you will get an error telling you that the duplicate transaction cannot be processed. Interfacing with the Java Web Services SDK Importing Optimal Payments classes Transaction processing The general process of creating a transaction consists of four elements: Retrieving the merchant account This section of code gets the OPContext singleton instance to get configuration information. It then creates the Web Service client OPTeller object. OPTeller is used later to process the request. Creating a transaction request 2-4
September 2005 Transaction processing This section of code creates a DDRequest object and then builds the request by setting amount, check information, and billing information. For a complete list of parameters, please refer to Optimal Payments Web Services WSDL: https://webservices.optimalpayments.com/teller/tp/transactionprocessing.jws?wsdl= Submitting the transaction request based on an operation This section of code sends the request to Optimal Payments for processing, invoking the Charge, Credit, or Verify methods. Handling the transaction response This section of code creates the response and verifies whether the transaction is successful, for which the decision code = Accepted. Other possible values are Declined and Error. Java Web Services SDK 1.5.1 2-5
Introduction to the Java Web Services SDK September 2005 Supporting methods The transaction request example above calls the following methods: This sample demonstrates how to submit a Charge transaction. The OPTeller can execute other operations (see Transaction request types on page 2-3). Note that this code sample is incomplete to view the complete sample code, see Appendix B: Java Code Example. You can also review the Java Documentation for more details. 2-6
APPENDIX A Configuring for Optimal Payments Overview The Configuration Tool allows you to use a simple GUI to create and modify Optimal Payments configuration files. (Your default configuration file is named op-config.xml.) The tool has two main tabs: Merchant Account Info contains merchant account data such as account numbers and passwords Server Info where you can modify server information The Configuration Tool is found in the optimalpayments\bin directory. To run it: In Windows, execute OPConfigUI.bat In UNIX, execute OPConfigUI.sh Before running the Configuration Tool, make sure that you have a JDK/JRE installed and that you set your OPTIMAL_DIR environment variable to your installation directory. Opening your configuration file When you install the Java SDK, a sample op-config.xml configuration file is placed in the config directory. Java Web Services SDK 1.5.1 A-1
Configuring for Optimal Payments September 2005 To open your configuration file: 1. Open the Configuration Tool. 2. Click File>Open. 3. Browse to the op-config.xml configuration file in the config directory, which was created for you when you installed the Java SDK. 4. Click Open. The configuration file opens. If have already added a merchant account, it will be displayed in the configuration tool. Saving your configuration file After you have made any modifications to the configuration file, click File>Save to save those changes. A-2
September 2005 Adding a merchant account Adding a merchant account Your op-config.xml file can contain as many merchant accounts as you have with Optimal Payments. To add a merchant account: 1. Click File>Open. 2. Browse to your op-config.xml configuration file to open it. 3. Select the Merchant Account Info tab. 4. Click Add Merchant Account. The Add Merchant Account window opens. Java Web Services SDK 1.5.1 A-3
Configuring for Optimal Payments September 2005 5. Complete the following fields. You will need the information you received when you created a merchant account at Optimal Payments (see Merchant registration on page 1-1). Parameter Account Number Store ID Store Password Description This is your merchant account number with Optimal Payments. This is a numeric value. This is your store identification value at Optimal Payments. This value is included as part of each transaction request sent to Optimal Payments via the Java Web Services SDK. This is your store password. This value is included as part of each transaction request sent to Optimal Payments via the Java Web Services SDK. Table A-1: Merchant Account Parameters 6. Click OK. The Configuration Tool displays the merchant account you have just created. A-4
September 2005 Modifying a merchant account Modifying a merchant account To modify a merchant account: 1. Click File>Open. 2. Browse to your op-config.xml configuration file to open it. 3. Select the Merchant Account Info tab. 4. Select the account number in the Merchant Account Info tab for the account you want to modify. 5. Click Modify Merchant Account. The Modify Merchant Account window opens. Java Web Services SDK 1.5.1 A-5
Configuring for Optimal Payments September 2005 6. Modify the fields as required. See Table A-1: Merchant Account Parameters on page A-4 for a description of the fields. 7. Click OK. Removing a merchant account To remove an existing merchant account: 1. Click File>Open. 2. Browse to your op-config.xml configuration file to open it. 3. Select the Merchant Account Info tab. 4. Select the account number in the Merchant Account Info tab for the account you want to delete. 5. Click Remove Merchant Account. A warning dialog box opens. A-6
September 2005 Modifying server information 6. Click Yes. The merchant account number is removed from your configuration file and no longer appears in the Merchant Account Info tab. Modifying server information By default, the configuration file contains the URL for the Optimal Payments test server. Use the Server Info tab to modify your server information, e.g., when you want to direct your transaction requests to our Production environment. To modify server configuration: 1. Click File>Open. 2. Browse to your op-config.xml configuration file to open it. 3. Select the Server Info tab. 4. Complete the following fields: Java Web Services SDK 1.5.1 A-7
Configuring for Optimal Payments September 2005 Parameter Server URL Timeout Description By default, this is the test URL for the Optimal Payments server: https://webservices.test.optimalpayments.com/teller/tp/transaction- Processing.jws Before processing live transactions, you must change this to the Production URL: https://webservices.optimalpayments.com/teller/tp/transactionprocessing.jws This is the time, in seconds, the Java Web Services SDK will wait for a response from the payment service before terminating communication. Recommended value = 30 Table A-2: Server Parameters 5. Click File>Save to save the changes to your configuration file. Creating a configuration file You can create multiple configuration files, if you wish. However, the Java Web Services SDK will pick up only the file named op-config.xml from the classpath. If you have more than one configuration file, you must ensure that the one you want to use is called op-config.xml. A-8
September 2005 Creating a configuration file To create a configuration file: 1. Open the Configuration Tool. 2. Click File>New. 3. Browse to the directory in which you want to store your configuration file. When you installed the Java SDK, a config directory was created for you. 4. Click Save. You can add, modify, and delete merchant accounts from any additional configuration files that you create. Java Web Services SDK 1.5.1 A-9
Configuring for Optimal Payments September 2005 A-10
APPENDIX B Java Code Example This is the complete sample code that is referenced in Interfacing with the Java Web Services SDK on page 2-4. package com.optimal.teller.example; /* * Copyright 2001-2005, Optimal Payments Inc., * 2 Place Alexis Nihon, suite 700, Westmount, Quebec, Canada * All rights reserved. * * This software is the confidential and proprietary information * of Optimal Payments Inc. ("Confidential Information"). You * shall not disclose such Confidential Information and shall use * it only in accordance with the terms of the license agreement * you entered into with Optimal Payments. */ import com.optimal.teller.config.opcontext; import com.optimal.teller.vo.ddbillingdetails; import com.optimal.teller.vo.ddcheck; import com.optimal.teller.vo.ddrequest; import com.optimal.teller.vo.ddresponse; import com.optimal.teller.vo.merchantaccount; import com.optimal.teller.wsclient.opteller; /** * Simple charge test. * Requires a configured op-config.xml to be in your classpath. */ public class TellerExample { /** * */ public static void main(string[] args) throws Exception { TellerExample tellerexample = new TellerExample(); tellerexample.testcharge(); } Java Web Services SDK 1.5.1 B-1
Java Code Example September 2005 /** * A sample charge method. */ public void testcharge() throws Exception { String merchantaccountnumber = "1000004468"; // *** retrieving merchant account info *** OPContext opcontext = OPContext.getInstance(); MerchantAccount merchantaccount = opcontext.getmerchantaccount(merchantaccountnumber); OPTeller opteller = new OPTeller(merchantAccount); // *** creating transaction request *** DDRequest txnrequest = new DDRequest(); // Add an amount of 10.00 USD txnrequest.setamount(new Float(10.00f)); // Set check information txnrequest.setcheck(createcheck()); // set merchant account txnrequest.setmerchantaccount(merchantaccount); // Set billto txnrequest.setbillingdetails(createbillingdetails()); // *** Submitting charge() request *** DDResponse response = opteller.charge(txnrequest); // *** Handling transaction response *** System.out.println("testCharge: " + response.tostring()); System.out.println(" Decision: " + response.getdecision()); System.out.println(" code: " + response.getcode()); } if (!(response.getdecision().equals("accepted"))) System.out.println("Charge failed: " + response.getdecision() + " with error: " + response.getcode()); /** * create billing details with test data * @return com.optimal.client.teller.tp.ddcheckrequest_billingdetails */ private DDBillingDetails createbillingdetails() { B-2
September 2005 } } DDBillingDetails billingdetails = new DDBillingDetails(); billingdetails.setcheckpaymethod("web"); billingdetails.setfirstname("jane"); billingdetails.setlastname("doe"); billingdetails.setstreet("5 main st"); billingdetails.setstreet2("crescent"); billingdetails.setcity("san Jose"); billingdetails.setstate("ca"); billingdetails.setcountry("us"); billingdetails.setzip("90210"); billingdetails.setphone("16137779100"); billingdetails.setemail("test@testing.com"); return billingdetails; /** * create a check with test data * @return com.optimal.client.teller.tp.check */ private DDCheck createcheck() { DDCheck check = new DDCheck(); check.setaccounttype("pc"); check.setbankname("first National Bank"); check.setchecknumber(new Long(1)); check.setaccountnumber("123"); check.setroutingnumber("123456789"); return check; } Java Web Services SDK 1.5.1 B-3
Java Code Example September 2005 B-4
APPENDIX C Response Codes Overview Optimal Payments Web Services returns two types of codes if a transaction attempt fails: Action codes Response codes Action codes Optimal Payments returns an action along with each response code. In Table C-1: Response Codes on page C-2, you can find the action code associated with each response. The meanings for the action codes are as follows: C = Consumer Parameter Error. The consumer has provided incorrect information. Ask the customer to correct the information. D = Do Not Retry M = Merchant Parameter Error. Your application has provided incorrect information. Verify your information. R = Retry Response codes The following table describes the response codes that could be returned by Optimal Payments Web Services. Response codes 6000 6999 are specific to the Java SDK. Java Web Services SDK 1.5.1 C-1
Response Codes September 2005 Response Code Action Description 1000 R An internal error occurred. Please retry the transaction. 1001 R An error occurred with the external processing gateway. Please retry the transaction. 1002 R An internal error occurred. Please retry the transaction. 1003 D An error occurred with the external processing gateway. Do not retry the transaction. Contact Technical Support for more information. 1004 M Your account is not enabled for this transaction type. Please verify your parameters and retry the transaction. 1005 M You submitted an invalid FirePay account number with your request. Please verify this parameter and retry the transaction. 2000 D The echeck status cannot be found. 2001 C You submitted a request containing a check number already used within the last 24 hours. Please use another Check Number value and retry the transaction. 2002 M The echeck request cannot be found. Please verify your parameters and retry. 2003 M The payment type you provided conflicts with the bank account type you provided. Please verify your parameters and retry the transaction. 2004 D The echeck transaction cannot be found. 2005 M An internal error occurred. Please verify your parameters and retry the transaction. 2006 C You have submitted a Decline transaction in response to a Settlement attempt. Table C-1: Response Codes C-2
September 2005 Response codes Response Code Action Description 5000 M You submitted an invalid account number, store ID, or password with your request. Please verify these parameters and retry the transaction. 5001 M You submitted an invalid currency code with your request. Please verify this parameter and retry the transaction. 5002 M You submitted an invalid payment type with your request. Please verify this parameter and retry the transaction. 5003 C You submitted an invalid amount with your request. Please verify this parameter and retry the transaction. 5004 M You submitted an invalid account type with your request. Please verify this parameter and retry the transaction. 5005 M You submitted an invalid operation type with your request. Please verify this parameter and retry the transaction. 5006 M You submitted an invalid personal ID type with your request. Please verify this parameter and retry the transaction. 5007 M You submitted an invalid product type with your request. Please verify this parameter and retry the transaction. 5008 M You submitted an invalid carrier with your request. Please verify this parameter and retry the transaction. 5009 M You submitted an invalid ship method with your request. Please verify this parameter and retry the transaction. 5010 M You submitted an invalid country ID with your request. Please verify this parameter and retry the transaction. 5011 M You submitted an invalid order date & time with your request. Please verify this parameter and retry the transaction. Table C-1: Response Codes Java Web Services SDK 1.5.1 C-3
Response Codes September 2005 Response Code Action Description 5012 M You submitted an invalid ship country parameter with your request. Please verify this parameter and retry the transaction. 5013 M You submitted an invalid ship state parameter with your request. Please verify this parameter and retry the transaction. 5014 M You submitted an invalid transaction type with your request. Please verify this parameter and retry the transaction. 5015 M One or more of the parameters in your request exceeds the maximum permissible field length. Please verify your parameters and retry the transaction. 5016 D The merchant account submitted with your request could not be found. Do not retry the transaction. Contact Technical Support for more information. 5017 D The merchant account submitted with your request is not enabled. Do not retry the transaction. Contact Technical Support for more information. 5018 M You submitted a request that is missing a mandatory field. Please verify your parameters and retry the transaction. 5019 D There is no processor set up for the merchant account submitted with your request. Do not retry the transaction. Contact Technical Support for more information. 5020 M The currency type included with your request does not match the currency type of your merchant account. Please verify your parameters and retry the request. 5021 D Your transaction request has been declined. Please verify the transaction details before you attempt this transaction again. Should you require more information, please contact Technical Support. Table C-1: Response Codes C-4
September 2005 Response codes Response Code Action Description 5022 M You submitted a request that is missing search criteria. Please verify your parameters and retry the transaction. 5023 M You submitted an invalid XML request. Please verify your request and retry the transaction. 5024 M An invalid date range was given for this request. Please verify the date range and retry. 5025 M The search criteria you submitted is currently not supported. Please verify your search criteria and retry. 5026 M The Web Services API does not currently support credit card transactions. Please verify your parameters and retry your transaction. 5027 M You submitted an invalid risk service name with your transaction request. Please verify your parameters and retry your transaction. 5028 M You submitted a batch file with the same file name, file size, and number of entries within the last 24 hours. 5029 M You submitted an improperly formatted batch file. 5030 M You submitted a batch file that has exceeded the maximum number of rows allowed. 6000 M Could not find op-config.xml file in the classpath. Please verify that the configuration file is included in the classpath. 6001 M Your merchant account number cannot be found in op-config.xml. Please verify that your merchant account number is included in the configuration file. 6003 M Cannot connect to server. Please verify that the proxy server is correctly configured. If the error persists, contact Technical Support. 6004 M A value in op-config.xml is invalid. Please verify that all values included in the configuration file are valid. Table C-1: Response Codes Java Web Services SDK 1.5.1 C-5
Response Codes September 2005 Response Code Action Description 6005 M The server URL value in op-config.xml is invalid. Please ensure that a valid server URL value is included in the configuration file. 6006 M The server URL value in op-config.xml is missing or unreadable. Please ensure that the correct server URL is included in the configuration file. 6007 M The timeout value in op-config.xml is missing or unreadable. Please ensure that the correct timeout value is included in the configuration file. 6011 M You have not selected a valid path to the op-config.xml file. 6012 M The file you have selected as the op-config.xml is either not an XML file or not a valid XML file. 6013 M An error occurred while saving the op-config.xml file. 6014 M The merchant account number you submitted does not match the merchant account number in the op-config.xml file. Please ensure that the merchant account number submitted with transaction requests matches the merchant account number in the configuration file. 6016 M The MerchantAccount object in the OPTeller class either is null or contains an invalid attribute. 6017 M The MerchantAccount object in the OPTeller class either is null or contains an invalid attribute. 6018 M The MerchantAccount object in the OPTeller class either is null or contains an invalid attribute. 6019 M The MerchantAccount object in the OPTeller class either is null or contains an invalid attribute. 6022 M A SOAP exception occurred while invoking the service charge. Table C-1: Response Codes C-6
September 2005 Response codes Response Code Action Description 6023 M You have received a SOAP fault response while processing a charge request. 6024 M A SOAP exception occurred while invoking the service verify. 6025 M You have received a SOAP fault response while processing a verify request. 6026 M A SOAP exception occurred while invoking the service ping. 6027 M You have received a SOAP fault response while processing a ping request. 6028 M A SOAP exception occurred while invoking the service decline. 6029 M You have received a SOAP fault response while processing a decline request. 6030 M A SOAP exception occurred while invoking the service credit. 6031 M You have received a SOAP fault response while processing a credit request. 6032 M Unable to open the op-config.xml file. Either it is in use by another process or you do not have the permission required to open it. 6035 M Could not find the environment variable OPTIMAL_DIR. Please verify that the OPTIMAL_DIR variable is set and targets the directory in which you installed the application. Table C-1: Response Codes Java Web Services SDK 1.5.1 C-7
Response Codes September 2005 C-8