Sie sind auf Seite 1von 91

SecureNet Gateway API Implementation Guide

Version 4.1.1. - 05.17.2011


NOTE YOU MUST HAVE A SECURENET DEMO ACCOUNT ESTABLISHED PRIOR TO WORKING WITH THIS API. Wells Fargo is providing the enclosed SecureNet API (the "API") that includes technical information to assist you with your development efforts for the purpose of connecting to the SecureNet gateway. The enclosed API was prepared and is provided by SecureNet, and Wells Fargo assumes no responsibility for the content. In addition, please note that the API may address certain features of functionality of the SecureNet gateway services that Wells Fargo is not authorized or able to provide to you. Again, Wells Fargo assumes no responsibility for the API, including with respect to functionality and services that Wells Fargo is not authorized or able to provide to you. If you have questions, we recommend that you contact Wells Fargo Merchant Services Implementation Manager Chris Civitello at chris.civitello@wellsfargo.com before you begin your development efforts.

SecureNet Gateway Implementation Guide 4.1.1.

Table of Contents
2. Gateway .......................................................................................................................................................... 10 2.1. 2.2. 2.3. 2.4. 3. What is the Gateway? .............................................................................................................................. 10 Service Based Authorization Process ....................................................................................................... 10 How does the Gateway work? .................................................................................................................. 10 What is required to implement the Gateway? .......................................................................................... 10

Gateway Implementation.................................................................................................................................11 3.1. 3.2. Service and SOAP Overview .....................................................................................................................11 Authorization Components...................................................................................................................... 12 Request ............................................................................................................................................ 12 Response.......................................................................................................................................... 12

3.2.1. 3.2.2. 3.3. 4.

Gateway Service Request Definition ........................................................................................................ 12

Gateway Request .............................................................................................................................................13 4.1. Standard Payment Transactions ............................................................................................................. 14 Transaction Request Object Summary ............................................................................................. 14 Transaction Request Object Specification .........................................................................................15 TRANSACTION .........................................................................................................................15 MERCHANT_KEY REQUIRED FOR ALL TRANSACTIONS...................................................... 16

4.1.1. 4.1.2. 4.1.2.1.

4.1.2.2.

SecureNet Gateway Implementation Guide 4.1.1. 4.1.2.3. 4.1.2.4. 4.1.2.5. 4.1.2.6. 4.1.2.7. 4.1.2.8. 4.1.2.9. 4.1.2.10. 4.1.2.11. 4.1.2.12. 4.1.2.13. 4.1.2.14. 4.1.2.15. 4.1.2.16. 4.1.2.17. 4.1.3. 4.1.3.1. 4.1.3.2. CARD ........................................................................................................................................ 16 CHECK ....................................................................................................................................... 17 CUSTOMER_BILL ..................................................................................................................... 18 CUSTOMER_SHIP .................................................................................................................... 19 ENCRYPTION ........................................................................................................................... 20 LEVEL2 ..................................................................................................................................... 20 LEVEL3 ..................................................................................................................................... 21 LEVEL3PRODUCT .................................................................................................................... 22 MPI ........................................................................................................................................... 23 AUTO ....................................................................................................................................... 23 PETROLEUM ............................................................................................................................ 24 HOTEL ...................................................................................................................................... 24 PRODUCT................................................................................................................................. 25 RESTAURANT SERVICE ........................................................................................................... 25 USERDEFINED ......................................................................................................................... 26

Transaction Request Message Format ............................................................................................. 26 Credit Card, Debit Card, EBT, and Stored Value Card Transactions .......................................... 26 Electronic Check Transactions .................................................................................................. 29

SecureNet Gateway Implementation Guide 4.1.1. 4.2. SecureNet Vault/Tokenization Transactions .............................................................................................31 Transaction Vault Object Summary................................................................................................. 32 Transaction Vault Object Specification ............................................................................................ 32 TRANSACTION_VAULT .......................................................................................................... 32 ACCOUNT_VAULT ....................................................................................................................33 CUSTOMER_VAULT..................................................................................................................33 OPERATIONPARAMETERS ...................................................................................................... 34

4.2.1. 4.2.2.

4.2.2.1. 4.2.2.2. 4.2.2.3. 4.2.2.4. 4.3.

AutoBill Transactions ............................................................................................................................... 34 PLAN_AB Object Summary ............................................................................................................. 34 PLAN_AB Object Specification .........................................................................................................35 PLAN_AB ..................................................................................................................................35 OPTIONS...................................................................................................................................35 INSTALLMENT ......................................................................................................................... 36 RECURRING .............................................................................................................................. 37 PAYMENT_AB .......................................................................................................................... 38

4.3.1. 4.3.2. 4.3.2.1.

4.3.2.2. 4.3.2.3. 4.3.2.4. 4.3.2.5. 4.2.1. 4.4. 4.5.

4.3.3. PLAN_AB Message Format .................................................................................................... 38

Settlement Transactions.......................................................................................................................... 39 Reporting API Services............................................................................................................................. 39

SecureNet Gateway Implementation Guide 4.1.1. 5. Gateway Response .......................................................................................................................................... 40 5.1. GATEWAYRESPONSE ............................................................................................................................. 41 GATEWAYRESPONSE Object Summary.......................................................................................... 41 GATEWAYRESPONSE Object Specification .................................................................................... 41 ABRESPONSE .......................................................................................................................... 42 TRANSACTIONRESPONSE ...................................................................................................... 42 VAULTACCOUNTRESPONSE .................................................................................................. 45 VAULTCUSTOMERRESPONSE ................................................................................................ 46

5.1.1. 5.1.2. 5.1.2.1.

5.1.2.2. 5.1.2.3. 5.1.2.4. 5.2.

Response objects for Settlement Transactions ....................................................................................... 47 BATCHDATA Object Summary ....................................................................................................... 47 BATCHDATA Object Specification ................................................................................................... 47 BATCHDATA ............................................................................................................................ 47 BATCHDETAIL ......................................................................................................................... 47

5.2.1. 5.2.2.

5.2.2.1. 5.2.2.2. 5.2.3. 6.

BATCHDATA Message format ......................................................................................................... 48

Overview of Gateway Methods ....................................................................................................................... 49 6.1. Methods available through https://certify.securenet.com/API/Gateway.svc or https://gateway.securenet.com/API/Gateway.svc ................................................................................... 49 6.1.1. Methods for Standard Payment Transactions .................................................................................. 49

SecureNet Gateway Implementation Guide 4.1.1. 6.1.2. 6.1.3. 6.1.4. 6.2. Methods for Vault Transactions ....................................................................................................... 50 Methods for AutoBill Transactions ................................................................................................... 52 Methods for Settlement Transactions ...............................................................................................53

Reporting API methods for Batch and Transaction Services, available through: https://certify.securenet.com/api/data/transaction.svc or https://gateway.securenet.com/api/data/transaction.svc ............................................................................53

6.3.

Reporting API methods for SecureNet Vault and AutoBill Services, available through: https://certify.securenet.com/api/data/service.svc or or https://gateway.securenet.com/api/data/service.svc ................................................................................................................................................................ 54

7.

Appendix ......................................................................................................................................................... 55 7.1. 7.2. 7.3. 7.4. 7.5. 7.6. 7.7. 7.8. 7.9. ACDI ........................................................................................................................................................ 55 AVS_RESULT_CODE ............................................................................................................................... 55 CARD_CODE_RESPONSE_CODE............................................................................................................ 56 CARDLEVEL_RESULTS ........................................................................................................................... 56 CAVV_RESPONSE_CODE ........................................................................................................................57 CARDTYPE Codes .................................................................................................................................... 58 DCI ........................................................................................................................................................... 58 INDUSTRYSPECIFICDATA ....................................................................................................................... 59 METHOD ................................................................................................................................................. 59

SecureNet Gateway Implementation Guide 4.1.1. 7.10. 7.11. 7.12. 7.13. 7.14. 7.15. 7.16. 7.17. 7.18. 7.19. ORDERID ................................................................................................................................................ 59 REF_TRANSID ......................................................................................................................................... 60 RESPONSE_CODE................................................................................................................................... 60 SECCODE ................................................................................................................................................ 60 Transaction Type Table............................................................................................................................ 61 SOFTDESCRIPTOR ................................................................................................................................. 66 TRACKDATA ........................................................................................................................................... 67 TRANSACTION_SERVICE ........................................................................................................................ 69 Product Codes for Petroleum Industry Transactions ................................................................................ 69 Developer Notes .......................................................................................................................................70 Sample Code ....................................................................................................................................70 Standard Payment Transaction - C# ..........................................................................................70 SecureNet Vault Transactions - C# ............................................................................................ 71

7.19.1.

7.19.1.1. 7.19.1.2. 7.19.2. 7.19.3. 7.19.4. 7.19.5. 7.19.6.

Some best practices for SecureNet API implementation ................................................................... 77 Test Data........................................................................................................................................... 77 Fault exceptions ................................................................................................................................78 API Error Codes .................................................................................................................................78 How to Contact Technical Support ................................................................................................... 91

SecureNet Gateway Implementation Guide 4.1.1.

SecureNet Gateway Implementation Guide 4.1.1.

1.

Introduction

Payment Gateways facilitate electronic commerce by enabling merchants to accept credit cards and electronic checks as methods of payment for goods and services sold. The Gateway acts as a bridge between the merchant's website/terminal and the financial institutions that process payment transactions. Payment data is collected from the shopper and submitted to the Gateway for real-time authorization. Authorization is the process of checking the validity and available balance of a customer's credit card before the transaction can be accepted. To authorize a given credit card transaction, the Gateway transmits the transaction information to the appropriate financial institutions for validation, then returns the response (approved or declined) from the institution to the merchant or customer. The payment Gateway supports real-time and offline requests for credit card authorization. The Gateway also supports electronic check transactions. Merchants can collect customer bank account numbers and routing numbers to pay for purchases. This document describes how transactions can be submitted to the Gateway for real-time processing. The Gateway is the recommended integration method for merchants who have the capability to initiate both client and server-side SSL connections. This method offers the merchant a high degree of security and control because transaction data is submitted to the Gateway over a secure server-to-server connection, initiated by the merchant server. Since the merchant server will receive a response directly from the Gateway, the merchant has more control over the response to the end customer.

SecureNet Gateway Implementation Guide 4.1.1.

2.

Gateway

2.1. What is the Gateway?


The Gateway is the recommended method of submitting transactions. This method allows merchants server to securely connect directly to the payment Gateway to submit transaction data. The merchant retains full control of the payment data collection and the user experience. This method requires merchants to be able to initiate and manage secure Internet connections.

2.2. Service Based Authorization Process


Payment authorization utilizes a standards-based Simple Object Access Protocol (SOAP) interface over a Hyper Text Transfer Protocol (HTTP) connection to exchange information.

2.3. How does the Gateway work?


When using the Gateway, transactions flow in the following way: 1. The customers program has a reference to the Gateway Service and connects securely to the merchants server to transmit payment information. 2. The merchants server initiates a secure connection to the Gateway and creates the objects as described. It then initiates a ProcessTransaction function by passing the TRANSACTION object along with required data to the Gateway server. 3. The payment Gateway receives and processes the TRANSACTION object. 4. The payment Gateway generates the GATEWAYRESPONSE object and submits it to the merchants server. 5. The merchants server receives and processes the GATEWAYRESPONSE object. 6. Finally, the merchants server communicates the success (or failure) of the authorization to the customers web browser or program.

2.4. What is required to implement the Gateway?


Merchants must be able to perform the following functions in order to submit transactions to the Gateway: 1. Establish a secure socket connection. 2. Provide both server and client-side encryption. 3. Develop code on a web server for the integration to the Gateway utilizing the Gateway service (e.g., for submitting transaction data object and receiving and translating system response object). 4. Securely store a transaction key to be accessed by the script that submits the transaction to the Gateway.

10

SecureNet Gateway Implementation Guide 4.1.1.

3.

Gateway Implementation

This guide explains how to integrate SecureNet into your website or application to process credit card or electronic check transactions over SecureNets payment gateway. Transactions could be submitted to the Gateway for processing through an https POST, as an XML request, as a web-service SOAP message, and using a WCF service.

3.1. Service and SOAP Overview


The Gateway has implemented WCF (Windows Communication Foundation) as an underlying technology to support server-to-server authorization capabilities. WCF Services are applications with logic and functions, which are accessible and reusable by means of standard Internet protocols and XML data formats. The WCF service interface is defined in terms of the XML messages that the service accepts and generates. Applications consuming WCF Services can be implemented on any platform in any programming language, as long as they can create and consume messages defined for the service interface. The Gateway has adopted Simple Object Access Protocol (SOAP) as the solution for initiating RPC-based authorization requests. SOAP is a lightweight protocol intended for exchanging structured information in a distributed environment. The protocol uses XML technologies to define an extensible messaging framework to provide a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model or language, platform, and other implementation-specific semantics. To implement the Gateway service, a developer would design a script that performs the following: 1. Securely obtain all the information needed to process a transaction. 2. Create a program to consume the Gateway service. URL for Live merchant accounts: https://gateway.securenet.com/api/Gateway.svc URL for Test merchant accounts: https://certify.securenet.com/api/Gateway.svc Note: The SecureNet Gateway will only accept transactions on port 443. This request object will include all system variables mentioned in the tables below. 3. Receive and process the response from the Gateway to display the appropriate result to the end-user.

11

SecureNet Gateway Implementation Guide 4.1.1.

3.2. Authorization Components


An authorization consists of the following: 3.2.1. Request Authorization Request Objects sent to Gateway for processing. One authorization can be sent per request to Gateway. Batch authorizations are not supported. 3.2.2. Response Authorization Response Objects sent to the Merchant as a response to each Authorization Request.

3.3. Gateway Service Request Definition


The following is the method signature for the ProcessTransaction service: [ServiceNamespace].GatewayClient Client = new [ServiceNamespace].GatewayClient([ServiceBinding]) oG = Client.ProcessTransaction(oT); Client.Close(); Client: WCF service object oT: TRANSACTION object oG: GATEWAYRESPONSE object ProcessTransaction is initiating Authorization Process.

12

SecureNet Gateway Implementation Guide 4.1.1.

4.

Gateway Request

The objects submitted to the Gateway are shown below. Parameters for each object are described in this document.

Standard Payment Transactions


Object Name TRANSACTION Description The parameters defined in the tables below are assigned to the instance of this serialized object and passed to the web method ProcessTransaction to complete an authorization. Restrictions All restrictions as defined in the Request Object Specs apply.

SecureNet Vault/Tokenization Transactions


Object Name ACCOUNT_VAULT CUSTOMER_VAULT OPERATIONPARAMETE RS TRANSACTION_VAULT Description Contains account information for a specific customer within the SecureNet Vault. Contains customer information for a specific customer within the SecureNet Vault. This object is used to specify operation type (Add, Update, or Delete). Used to process a SecureNet Vault transaction. Restrictions Must be enabled to use the SecureNet Vault. Must be enabled to use the SecureNet Vault. Must be enabled to use the SecureNet Vault. Must be enabled to use the SecureNet Vault.

AutoBill Transactions
Object Name PLAN_AB INSTALLMENT RECURRING PAYMENT_AB Description This object defines the information that can be submitted to the Gateway for AutoBill transaction processing. This object contains information on Customers installment plan. This object contains information on Customers recurring payment plan. This object contains individual payment information, like amount, payment id, installment date, etc. Restrictions Must be enabled to use AutoBill. Must be enabled to use AutoBill. Must be enabled to use AutoBill. Must be enabled to use AutoBill.

Settlement Transactions
Object Name MERCHANT_KEY Description This object is used to verify merchant before processing any transaction and is required for any operation. Restrictions Required for CloseBatch method.

Reporting API Services


Object Name MERCHANT_KEY PLAN_AB Description This object is used to verify merchant before processing any transaction and is required for any operation. This object defines the information that can be submitted to the Gateway for AutoBill transaction processing. Restrictions Required for all Reporting API methods except GetABAccount. Required for GetABAccount method.

13

SecureNet Gateway Implementation Guide 4.1.1.

4.1. 4.1.1.

Standard Payment Transactions Transaction Request Object Summary


This object defines the information that can be submitted to the Gateway for real-time transaction processing. This object is used to verify merchant before processing any transaction and is required for any operation. Card payment object contains card information, like card number, expiration date, and can be any of the following: Credit Card, Check Card, Debit Card, Stored Value Card. Check payment object is required for electronic check transactions and contains information on corresponding checking or savings account. This object contains customers billing information, like billing address and telephone number, and is required for all E-Commerce transactions. This object contains customers shipping information, like name and address. For later use. Object used for Level 2 data. Level 2 transactions normally involve corporate cards issued from a U.S. bank. Transactions that qualify for Level 2 processing cost the merchant less than Level 1 transactions. To qualify for Level 2, a transaction must be passed with: merchant name, transaction amount, date, tax amount, customer code, merchant postal code, tax identification, merchant minority code, and merchant state code. Object used for Level 3 data. Of the 3 different levels of credit card processing, Level 3 provides the lowest transaction processing rate. But, in order to qualify for the lowest rate, Level 3 transactions must be passed through the processing system with much more detailed transaction information than Level 1 or 2 transactions. Because so much information must be transmitted, not all terminals are equipped to process Level 3 transactions. Purchases that qualify as Level 3 transactions generally are made with government credit card or corporate cards. Merchant Plug-in Indicator for 3D Secure Transactions. This object is used for Rental industry only and includes rental-related information, like city rented and returned in, rental and return times, etc. This object is used for Petroleum industry only and includes information, like number of gallons, unit price, etc. This object is used for Hotel industry only and includes information, like check-in, check-out times, room rate, etc. Array of PRODUCT objects containing individual product information, like product description, amount, quantity, etc. This object is used for the Restaurant industry and contains gratuity amount and server number. Object containing 50 user defined fields. Allows merchants to store additional data along with transaction information and to view/manage it through the Virtual Terminal. For example, instead of storing shipping information in merchants system, a merchant may prefer to send it to the gateway along with transaction and do reports on it later. Object used to verify secondary merchant.

This section outlines the various high level sections within the Transaction Request Object. TRANSACTION
MERCHANT_KEY CARD CHECK CUSTOMER_BILL CUSTOMER_SHIP ENCRYPTION LEVEL2 LEVEL3 MPI AUTO PETROLEUM HOTEL PRODUCTS SERVICE USERDEFINED SECONDARY_MERCHANT KEY LEVEL3 TRANSACTION MERCHANT_KEY CARD CHECK CUSTOMER_BILL CUSTOMER_SHIP ENCRYPTION LEVEL2

MPI AUTO PETROLEUM HOTEL PRODUCTS SERVICE USERDEFINED SECONDARY_MERCHANT_KEY

14

SecureNet Gateway Implementation Guide 4.1.1.

4.1.2.

Transaction Request Object Specification

This section details high-level Transaction Request Object specification. Descriptions, rules, and notes for each object of the Transaction Request are detailed below.

4.1.2.1.

TRANSACTION XML Tag Data Type / Max Length


Object / 1 Object / 1 Object / 1 Object / 1 Object / 1 True Required if METHOD = CC, PD, DB, SV, or EBT Required if METHOD = ECHECK or CHECK21 Required for ECommerce transactions False False False False Specific to Industry Specific to Industry Specific to Industry False Specific to Industry False False
Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary

This object defines information that can be submitted to the Gateway for real-time transaction processing.

Required

Notes

<TRANSACTION> <MERCHANT_KEY> <CARD> <CHECK> <CUSTOMER_BILL> <CUSTOMER_SHIP> <ENCRYPTION> <LEVEL2> <LEVEL3> <AUTO> <PETROLEUM> <HOTEL> <PRODUCTS> <SERVICE> <USERDEFINED> <SECONDARY_MERCHANT_KEY > </TRANSACTION>

Object / 1 Object / 1 Object / 1 Object / 1 Object / 1 Object / 1 Object / 1 Object Array Object / 1 Object / 1 Object / 1

Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary

15

SecureNet Gateway Implementation Guide 4.1.1.

4.1.2.2.

MERCHANT_KEY REQUIRED FOR ALL TRANSACTIONS Data Type/ Max Length


Integer / 15 Integer / 8 String / 50 String / 250

This object is used to verify merchant before processing any transaction and is required for any operation.

XML Tag
<MERCHANT_KEY> <GROUP_ID> <SECURENETID> <SECUREKEY> <ADDITIONALINFO>

Required

Notes

False True True Required if METHOD=EB T

SecureNet Group ID. Not applicable to all merchants, should be provided by SecureNet. Please contact us for more information. 7-digit unique SecureNet ID provided by SecureNet to identify the merchant and is required for each submitted transaction. If you dont have your SecureNet ID please contact us. Case-sensitive unique SecureKey is associated with corresponding SecureNet ID, used to authenticate the merchant and is required for each submitted transaction. For EBT transactions only. String format: 11 (EBT indicator) followed by a 7digit FNS number (left-justified, space-filled, if FNS is less than 7 digits).

</MERCHANT_KEY>

4.1.2.3.

CARD Data Type / Max Length


String / 4

Card payment object contains card information, like card number, expiration date, and can be any of the following: Credit Card, Check Card, Debit Card, or Stored Value Card.

XML Tag
<CARD> <CARDCODE>

Required

Notes

Required for all E-commerce and MOTO transactions. May also be manually keyed-in for Retail transactions for added security and lower interchange rate.

A code that is printed on the back of a card. Used as partial assurance that the card is in the buyers possession. This code is 3 digits long for Visa, MasterCard, and Discover, and 4 digits long for American Express. Not required but could be used for securing credit card transactions by means of card security code validation. If card security code data is submitted, the issuer verifies whether the number matches the number assigned to the card.

<CARDNUMBER>

String / 24

Required for Card-Not-Present transactions and manually keyed-in transactions, when TACKDATA is not present. Full card number is required for AUTH_ONLY, PARTIAL_AUTH_ONLY, AUTH_CAPTURE, PARTIAL_AUTH_CAPTURE, CAPTURE_ONLY, CREDIT_AUTHONLY, FORCE_CREDIT, FORCE_CREDIT_AUTHONLY, VERIFICATION, AUTH_INCREMENT, ISSUE, ACTIVATE, REDEEM, REDEEM_PARTIAL, DEACTIVATE, REACTIVATE, and INQUIRY_BALANCE transactions. Card number, 16 digits long for Visa, MasterCard and Discover, 15 digits long for American Express. This value may not contain spaces, nonnumeric characters, or dashes.

16

SecureNet Gateway Implementation Guide 4.1.1.

Last 4 digits of the card number are required for PRIOR_AUTH_CAPTURE, VOID, PARTIAL_VOID, CREDIT, CREDIT_PRIORAUTHCAPTURE, and FORCE_CREDIT_PRIORAUTHCAPTURE transactions. Not required when processing transactions for stored customer records.

<EXPDATE>

String / 4

Required for Card-Not-Present transactions and manually keyed-in transactions, when TACKDATA is not present.

A valid card expiration date, which is not in the past. Format: MMYY Example: 1012 represents November 2012. Debit Only Unaltered KSN Number from PIN pad. Debit Only PinBlock from PIN pad. This field contains information encoded from a valid magnetic stripe. It includes information such as Primary Account Number and Expiration Date. Please see Appendix for more information. 00 Future use. No credit card account verification, default* 01 Future use. Credit card account verification* 11 followed by a 15-character long left-justified space-filled EBT Voucher number.** 02 Updates the EXPDATE of credit card during ProcessTransaction by Customer ID, if expiration date supplied is a future date for the PaymentID. * - Applicable only when adding a new Account to the SecureNet Vault. ** - For EBT Voucher Clear transactions only.

<KSN> <PINBLOCK> <TRACKDATA>

String / 19 String / 16 String / 200

Required if METHOD = DB Required if METHOD = DB Required for Card-Present Credit Card transactions, Pin Debit transactions, and EBT (Not Voucher Clear) transactions. Required if METHOD= EBT and Transaction Type Code=0300 (CAPTURE_ONLY) for Voucher Clear Transactions.

<ADDITIONALINFO>

String / 250

</CARD>

4.1.2.4.

CHECK Data Type / Max Length


String / 9

Check payment object is required for electronic check transactions and contains information on corresponding checking or savings account.

XML Tag
<CHECK> <ABACODE>

Required

Notes

True

A 9-digit value representing Bank Routing/ABA Number to identify the Bank.

17

SecureNet Gateway Implementation Guide 4.1.1.


<ACCOUNTNAME> <ACCOUNTNUM> <ACCOUNTTYPE> <BANKNAME> <CHECKNUM> <MICRDATA> <SECCODE> <ADDITIONALINFO> String / 50 String / 17 String / 8 String / 50 String / 20 String / 400 String / 3 String / 250 True True True True Required if SECCODE is BOC, POS, or ARC False True Used only for METHOD = ECHECK
Account Holder Name. If left blank will default to Customer Name from CUSTOMER_BILL object. If Customer Name is blank an error will be returned. Indicated the Account Number to be charged for the transaction, an all-numeric value. Type of Bank Account, i.e. Savings, Checking, Business (for corporate accounts). Name of Account Holders Bank. Check Number MICR Data Read from Check reader ACH Transaction Classification. The Standard Entry Class (SEC) code is a three letter code that identifies the nature of the ACH entry, like: PPD, WEB, TEL, etc. Please see Appendix. 00 No check verification, default 01 Check verification with Certegy* 02 Pre-Note with ACH Provider.** * - Merchant should be enabled with Certegy, please contact SecureNet for more information. For Transaction Type Code 0000 (AUTH_ONLY), or 0100 (AUTH_CAPTURE) data will be sent for processing only if check verification returns an APPROVED status from Certegy. If Transaction Type Code is 0700 (VERIFICATION) data will be sent to Certegy for check verification ONLY, no transaction will be sent for processing. ** - Set transaction type code to 0700 (VERIFICATION). Data will be sent to ACH Provider for Pre-Noting ONLY, no transaction will be sent for processing. Pre-Note CANNOT be used in conjunction with Transaction Type Codes 0000 (AUTH_ONLY) or 0100 (AUTH_CAPTURE).

</CHECK>

4.1.2.5.

CUSTOMER_BILL Data Type/ Max Length


String / 60

This object contains customers billing information, like billing address and telephone number, and is required for all E-Commerce transactions.

XML Tag

Required

Notes

<CUSTOMER_BILL> <ADDRESS> True for E-Commerce transactions <CITY> String / 40 True for E-Commerce transactions
Billing street address. Together with Zip Code can be used for securing credit card transactions by means of the Address Verification System (AVS), result of AVS check will be coming back in AVS_RESULT_CODE variable of the TRANSACTIONRESPONSE object. Billing City

18

SecureNet Gateway Implementation Guide 4.1.1.


<ZIP> <STATE> <COMPANY> <COUNTRY> <EMAIL> <EMAILRECEIPT> String / 20 String / 40 String / 50 String / 60 String / 255 String / 5 True for E-Commerce transactions False False False False False
Billing Zip Code. If full address is not provided, it is advised to provide at least the ZIP for more security. Billing State Billing Company Billing Country Cardholders Email address. Has to be specified if Email receipt is to be sent to the Cardholder for successful transaction. Merchants can choose to send a Gateway generated email receipt to customers, who provide an email address with their transaction. The email receipt includes a summary and results of the transaction. Possible values: TRUE / FALSE. If no email is provided value is considered FALSE. Contains the first name of the customer associated with the billing address for the transaction. Contains the last name of the customer associated with the billing address for the transaction. Contains the phone number of the customer associated with the billing address for the transaction.

<FIRSTNAME> <LASTNAME> <PHONE> </CUSTOMER_BILL>

String / 50 String / 50 String / 25

False False False

4.1.2.6.

CUSTOMER_SHIP Data Type/ Max Length


String / 60 String / 40 String / 50 String / 60 String / 50 String / 50 String / 40 String / 20

This object contains customers shipping information, like name and address.

XML Tag
<CUSTOMER_SHIP> <ADDRESS> <CITY> <COMPANY> <COUNTRY> <FIRSTNAME> <LASTNAME> <STATE> <ZIP> </ CUSTOMER_ SHIP >

Required

Notes

False False False False False False False False

Customers shipping Street Address Customers shipping City Customers shipping Company Customers shipping Country Shipping First Name Shipping Last Name Shipping State Shipping Zip Code

19

SecureNet Gateway Implementation Guide 4.1.1.

4.1.2.7. ENCRYPTION XML Tag Data Type/ Max Length


<ENCRYPTION> <ENCRYPTIONMODE> <KSI> <KEYID> </ ENCRYPTION > Integer String String

Required

Notes

For later use. For later use. For later use.

For later use. For later use. For later use.

4.1.2.8.

LEVEL2 XML Tag Data Type / Max Length


Decimal / 15 Decimal / 15 String / 50 Decimal / 15 Integer / 1

This object is used for Level 2 data. Level 2 transactions normally involve corporate cards issued from a U.S. bank.

Required

Notes

<LEVEL2>
<DUTY> <FREIGHT> <PONUM> <TAX> <TAXFLAG>

False* False* False* False* False*

Duty Amount Freight Amount Purchase Order Number Tax Amount. This amount must be submitted separately from the total transaction amount. 0 = No Tax 1 = Tax Included 2 = Tax Exempt

</ LEVEL2>

* - Required for Level 2 processing, if this data is not provided transaction will still be processed, but as Level 1.

20

SecureNet Gateway Implementation Guide 4.1.1.

4.1.2.9.

LEVEL3

This object is used for Level 3 data. Purchases that qualify as Level 3 transactions generally are made with government credit card or corporate cards. Please note: Level 3 is only available to merchants on First Data Nashville platform and only for E-Commerce , Retail, and MOTO transactions.

XML Tag
<LEVEL3>
<ALTTAX_AMT> <ALTTAX_AMT_INDICATOR> <COUNTRYCODETO> <MERCHANT_VAT_REGISTRATION_NUM> <ORDER_DISCOUNT_AMT> <PURCHASER_ORDER_DATE> <PURCHASER_VAT_REGISTRATION_NUM > <SUMMARY_COMMODITY_CODE> <VATTAX_AMT> <VATTAX_RATE> <VAT_INVOICE_REFNUM> <ZIPFROM> <ZIPTO> <LEVEL3PRODUCTS>

Data Type / Max Length


Decimal / 15 String / 1 String / 3 String / 20 Decimal / 15 String / 10 String / 20 String / 4 Decimal / 15 Decimal / 15 String / 15 String / 20 String / 20 Object Array

Required

Notes

False False False False False False False False False False False False False False

Alternate tax Amount Alternate tax indicator, Y/N Country code shipped to Merchant VAT Registration Number Order Discount Amount Purchase Order Date Purchaser VAT Registration Number

Summary Commodity Code VAT Tax Amount VAT Tax Rate VAT invoice Reference Number Zip Code Shipped From Zip Code Shipped To Array of LEVEL3PRODUCT

</ LEVEL3>

21

SecureNet Gateway Implementation Guide 4.1.1.

4.1.2.10.

LEVEL3PRODUCT XML Tag Data Type / Max Length


String / 15 String / 12 Decimal / 15 Decimal / 15 String / 1 String / 1 String / 12 String / 35 Decimal / 15 Decimal / 15 Decimal / 15 Decimal / 15 String / 2

This object contains individual level3 product information, like item name, description, tax amount, unit price, quantity, etc.

Required

Notes

<LEVEL3PRODUCT>
<ALTTAXID> <COMMODITYCODE> <DISCOUNTAMT> <DISCOUNTRATE> <DISCOUNT_INDICATOR> <GROSSNET_INDICATOR> <ITEMCODE> <ITEMNAME> <ITEMTOTALAMT> <QUANTITY> <TAXAMT> <TAXRATE> <TAXTYPEIDENTIFIER> False False False False False False False False False False False False False Alternate tax Amount Commodity Code Discount Amount Discount Rate Discount Indicator Gross Net Indicator Item Code Item Name Item Total Amount Item Quantity Tax Amount Tax Rate 00 - Unknown 01 - Federal/National sales tax 02 - State Sales tax 03 - City Sales tax 04 - Local Sales Tax 05 - Municipal Sales Tax 06 - Other Tax 10 - Value Added Tax (VAT) 11 - Goods and Services Tax (GST) 12 - Provincial Sales Tax 20 - Room Tax 21 - Occupancy Tax 22 - Energy Tax Tax Type that was Applied Unit of Measure Unit Price

<TAXTYPE_APPLIED> <UNIT> <UNITPRICE>

String / 4 String / 12 Decimal / 15

False False False

22

SecureNet Gateway Implementation Guide 4.1.1.

</LEVEL3PRODUCT>

4.1.2.11.

MPI XML Tag Data Type / Max Length


String / 50 String / 50

This object describes Merchant Plug-in Indicator for 3D Secure Transactions.

Required

Notes

<MPI>
<AUTHINDICATOR> <AUTHVALUE>

False False

The electronic commerce indicator (ECI) value for a Visa transaction; or the universal cardholder authentication field (UCAF) indicator for MasterCard transaction. The cardholder authentication verification value (CAVV) for Visa transactions; or accountholder authentication value (AVV)/ universal cardholder authentication field (UCAF) for MasterCard transactions.

</MPI>

4.1.2.12.

AUTO XML Tag Data Type / Max Length


Decimal / 15 String / 10 String / 1 String / 50 String / 14 String / 2 String / 59 String / 14 String / 2 String / 2

This object is used for Rental industry only and includes rental-related information, like city rented and returned in, rental and return times, etc.

Required

Notes

<AUTO>
<EXTRA_CHARGEAMOUNT> <EXTRA_CHARGECODE> <PREFERRED_CUSTOMER> <RENTALCITY> <RENTALDATETIME> <RENTALSTATE> <RETURNCITY> <RETURNDATETIME> <RETURNSTATE> <SALECODE>

True True True True True True True True True False

Additional Charge Amount Additional Charge Code Preferred Customer, Y/N City Rented in mmddyyyyhhMMss State Rented in City Returned In mmddyyyyhhMMss State Returned in Sale Code

</AUTO>

23

SecureNet Gateway Implementation Guide 4.1.1.

4.1.2.13.

PETROLEUM XML Tag Data Type / Max Length


String / 6 String / 10 String / 3 Integer / 15 String / 6 String / 10

This object is used for Petroleum industry only and includes information, like number of gallons, unit price, etc.

Required

Notes

<PETROLEUM>
<DRIVEJOBNUM> <FLEET_REFERENCENUM> <FULLSERV_INDICATOR> <GALLONS> <ODOMETER> <PIN> <PRODUCTS>

False False False False False False True

Driver Job Number Fleet Reference Number Full Service indicator Number of Gallons Odometer reading

Array of PRODUCT Objects


Decimal / 15 Decimal / 15 String / 6

Product Listing. Please see Appendix for Petroleum Product Codes. Tax Amount Price per unit Vehicle Number

<TAXAMOUNT> <UNITPRICE> <VEHICLENUM>

False False False

</PETROLEUM>

4.1.2.14.

HOTEL XML Tag Data Type / Max Length


String / 1 String / 10 String / 10 Decimal / 15 String / 10 String / 1 Decimal / 15 String / 2

This object is used for Hotel industry only and includes information, like check-in, check-out times, room rate, etc.

Required

Notes

<HOTEL>
<CHARGETYPE> <CHECKIN_DATE> <CHECKOUT_DATE> <EXTRA_CHARGEAMOUNT> <EXTRA_CHARGECODE> <PREFERRED_CUSTOMER> <ROOMRATE> <SALECODE>

True True True True True True True True

Type of Charge mmddyyyy mmddyyyy Additional Charge Amount Additional Charge Code Preferred Customer, Y/N Rate of room Sale Code

24

SecureNet Gateway Implementation Guide 4.1.1.

</HOTEL>

4.1.2.15.

PRODUCT XML Tag Data Type/ Max Length


Decimal / 15 String / 9 String / 50 String / 30 String / 10 Decimal / 15 String / 1 String / 9 Decimal / 15

This object contains individual product information, like product description, amount, quantity, etc.

Required

Notes

<PRODUCT>
<AMOUNT> <CODE> <DESCRIPTION> <NAME> <QUANTITY> <TAX> <TAXABLE> <UNIT> <UNITPRICE> False False False False False False False False False
Product Amount Product Code Product Description Product Name Product Quantity Product Tax Amount 0 = No 1 = Yes Unit of Measure Price per Unit

</PRODUCT>

4.1.2.16.

RESTAURANT SERVICE XML Tag Data Type/ Max Length


Decimal / 15 String / 6

This object is used for the Restaurant industry and contains gratuity amount and server number.

Required

Notes

<SERVICE>
<GRATUITY> <SERVERNUM> False False
Gratuity Amount Server Number

</SERVICE>

25

SecureNet Gateway Implementation Guide 4.1.1.

4.1.2.17.

USERDEFINED

This object contains 50 user defined fields and allows merchants to store additional data along with transaction information. Please note that user defined fields are not intended to and must not be used to capture personally identifying information, like name, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers.

XML Tag
<USERDEFINED>
<UD1> <UD2> . <UD50>

Data Type/ Max Length


String / 50 String / 50 String / 50 String / 50

Required

Notes

False False False False

Additional Data Field Additional Data Field Additional Data Field Additional Data Field

</USERDEFINED>

4.1.3.

Transaction Request Message Format

All gateway transactions include a common set of required parameters (listed first). Additional parameters are required depending on the transaction type. You can also provide many optional parameters, depending on the results you want returned. A sample Transaction Request has been included in the Appendix.

4.1.3.1.

Credit Card, Debit Card, EBT, and Stored Value Card Transactions XML Tag Data Type / Required Notes Max Length
Object / 1 Decimal / 15 Object / 1 String / 4 String / 7 Object / 1 String / 25 True True True True True True True
Please see Transaction Request Object Summary Total amount to be charged or credited. Include decimal point followed by decimal amount. Please see Transaction Request Object Summary Transaction Type Code indicated the type of processing required for Transaction Request. Transaction method, set to CC, DB, or SV accordingly. See Appendix Please see Transaction Request Object Summary Unique Transaction Order ID. String A-Z, 0-9 only. See Appendix.

<TRANSACTION>
<AMOUNT> <MERCHANT_KEY> <CODE> <METHOD> <CARD> <ORDERID>

26

SecureNet Gateway Implementation Guide 4.1.1.


<DCI> <TEST> <TRANSACTION_SERVICE> <REF_TRANSID>

Integer / 1 String / 5 Integer / 1 String / 15

True True True Required for VOID, PARTIAL_VOID, CREDIT, PRIOR_AUTH_CAPTURE

Duplicate Check Indicator. Please see Appendix for more information. TRUE = Test Transaction, FALSE = Live Transaction. Default is FALSE. Indicates Transaction Handling when Vault is enabled. See Appendix. Transaction ID of a previously approved transaction, used in VOID, PARTIAL_VOID, CREDIT, PRIOR_AUTH_CAPTURE. Please see Appendix for more uses of REF_TRANSID.

<INDUSTRYSPECIFICDATA>

String / 1

<INSTALLMENT_SEQUENCENUM > <TOTAL_INSTALLMENTCOUNT>

Integer / 2

Integer / 2

<AUTHCODE>

String / 6

Required for E-commerce and MOTO transactions. Leave blank for retail transactions. Required if INDUSTRYSPECIFICDAT A=3 Required if INDUSTRYSPECIFICDAT A=3 Required for CAPTURE_ONLY transactions Required for Vault transactions Required for Vault transactions Specific to Industry Specific to Industry Specific to Industry Specific to Industry False

Industry Specific Data Required to send the right indicator for transaction. Accepted values: P, D, 1, 2, 3. Please see Appendix for more information.

Installment number for installment payment plan. 1-99. Number of total installments for installment plans. 1 99. Valid authorization code for Offline Transaction 0300 (CAPTURE_ONLY). Voice Authorization Code. Valid authorization code for EBT Voucher transaction (CAPTURE_ONLY). Contains the customer ID associated with the

<CUSTOMERID>

String / 25

Authorization Code for EBT Voucher transaction. Must be enabled on your


account. SecureNet Vault Payment ID. Must be enabled on your account. Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Customer IP address. Include Customers IP that needs to be associated with the transaction. Recommended for eCommerce merchants. Code for payment device. Blank, unless specified/provided by SecureNet.

<PAYMENTID> <AUTO> <PETROLEUM> <HOTEL> <SERVICE> <CUSTOMERIP>

String / 25 Object / 1 Object / 1 Object / 1 Object / 1 String / 15

<DEVICECODE>

String / 2

False

27

SecureNet Gateway Implementation Guide 4.1.1.


<ENTRYSOURCE> <INVOICEDESC> <INVOICENUM> <MARKETSPECIFICDATA>

String / 2 String / 50 String / 50 String / 2

False False False False

Transaction Source. Blank, unless specified/provided by SecureNet. Description of the transaction for which invoice is being issued. Invoice number associated with the transaction. For bill payment transactions, applicable for Visa only. B Bill payment D Debt indicator (contact SecureNet for more info) Don't include if you won't send a value. Additional Transaction Notes. Set to override Customer Billing information and User Defined fields from information provided in: 0 Transaction Request 1 Customer Vault Object 2 Account Vault Object 3 PRIOR_AUTH_CAPTURE transaction request, Level 2 information will be overwritten with the new Level 2 values. Use for PRIOR_AUTH_CAPTURE or SecureNet Vault transactions. Lane Number for Retail stores. Additional DBA descriptor. See Appendix. Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary

<NOTE> <OVERRIDE_FROM>

String / 500 Integer / 1

False False

<RETAIL_LANENUM> <SOFTDESCRIPTOR> <CUSTOMER_BILL> <CUSTOMER_SHIP> <ENCRYPTION> <LEVEL2> <LEVEL3> <PRODUCTS> <USERDEFINED> <MPI> <SECONDARY_MERCHANT_KEY>

String / 6 String / 25 Object / 1 Object / 1 Object / 1 Object / 1 Object / 1 Object Array Object / 1 Object / 1 Object / 1

False False False False False False False False False False False

</TRANSACTION>

28

SecureNet Gateway Implementation Guide 4.1.1.

4.1.3.2.

Electronic Check Transactions XML Tag Data Type / Max Length


Object / 1 Decimal / 15 Object / 1 String / 4 String / 7 Object / 1 String / 25 Integer / 1 String / 5 Integer / 1 String / 15

Required
True True True True True True True True True True Required for VOID, PARTIAL_VOID, CREDIT, PRIOR_AUTH_CAPTUR E Required for Vault transactions Required for Vault transactions False False False False

Notes
Please see Transaction Request Object Summary Total amount to be charged or credited. Include decimal point followed by decimal amount. Please see Transaction Request Object Summary Transaction Type Code indicated the type of processing required for Transaction Request. Set Transaction Method to ECHECK. See Appendix Please see Transaction Request Object Summary Unique Transaction Order ID. String A-Z, 0-9 only. See Appendix. Duplicate Check Indicator. Please see Appendix for more information. TRUE = Test Transaction, FALSE = Live Transaction. Default is FALSE. Indicates Transaction Handling when Vault is enabled. See Appendix. Transaction ID of a previously approved transaction, used in VOID, PARTIAL_VOID, CREDIT, PRIOR_AUTH_CAPTURE. Please see Appendix for more uses of REF_TRANSID. SecureNet Vault Payment ID. Must be enabled on your account. Contains the customer ID associated with the transaction. Must be enabled on your account. Customer IP address. Include Customers IP that needs to be associated with the transaction. Recommended for e-Commerce merchants. Transaction Source. Blank, unless specified/provided by SecureNet. Description of the transaction for which invoice is being issued. Invoice number associated with the transaction.

<TRANSACTION>
<AMOUNT> <MERCHANT_KEY> <CODE> <METHOD> <CHECK> <ORDERID> <DCI> <TEST> <TRANSACTION_SERVICE> <REF_TRANSID>

<PAYMENTID> <CUSTOMERID> <CUSTOMERIP> <ENTRYSOURCE> <INVOICEDESC> <INVOICENUM>

String / 25 String / 25 String / 15 String / 2 String / 50 String / 50

29

SecureNet Gateway Implementation Guide 4.1.1.


<NOTE> <OVERRIDE_FROM>

String / 500 Integer / 1

False False

Additional Transaction Notes. Set to override Customer Billing information and User Defined fields from information provided in: 0 Transaction Request 1 Customer Vault Object 2 Account Vault Object 3 PRIOR_AUTH_CAPTURE transaction request, Level 2 information will be overwritten with the new Level 2 values. Use for PRIOR_AUTH_CAPTURE or SecureNet Vault transactions. Lane Number for Retail stores. Additional DBA descriptor. See Appendix. Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary Please see Transaction Request Object Summary

<RETAIL_LANENUM> <SOFTDESCRIPTOR> <CUSTOMER_BILL> <CUSTOMER_SHIP> <ENCRYPTION> <USERDEFINED> <MPI> <SECONDARY_MERCHANT_KEY >

String / 6 String / 25 Object / 1 Object / 1 Object / 1 Object / 1 Object / 1 Object / 1

False False False False False False False False

</TRANSACTION>

30

SecureNet Gateway Implementation Guide 4.1.1.

4.2.

SecureNet Vault/Tokenization Transactions

SecureNet Vault is SecureNets PCI-DSS compliant solution for storing information for credit cards, electronic checks, and Pin-less debit cards. It is a virtual database hosted by and at SecureNet on secure servers. Through tokenization, SecureNet Vault allows tokens to be created for credit card numbers. These tokens are then used for transactions instead of the actual credit card number. Multiple credit card information can be stored for a single individual in the form of tokens. Only the credit card number and expiry date will be stored in SecureNet Vault. The security code cannot be stored as it is against PCI compliance to do so. This means that track data cannot be stored either. In addition, debit cards are excluded, since it is against PCI compliance to store the pin and payments cannot be processed without the pin.

TRANSACTION_VAULT

This object defines information that can be submitted to the Gateway for Vault transaction processing. This object contains account information to add, update or delete, like payment method and corresponding card/account information. This object contains customer information to add, update or delete, like customer name, address, email, telephone number, etc. This object is used to verify merchant before processing any transaction and is required for any operation. This object is used to specify operation type (Add, Update, or Delete) and to specify whether Vault information is to be added even when transaction is declined in ProcessVaultTransaction method.

ACCOUNT_VAULT

CUSTOMER_VAULT

MERCHANT_KEY

OPERATIONPARAMETERS

31

SecureNet Gateway Implementation Guide 4.1.1.

4.2.1. Transaction Vault Object Summary

TRANSACTION

Transaction information for ProcessVaultTransaction method.

TRANSACTION_VAULT

ACCOUNT_VAULT CUSTOMER_VAULT MERCHANT_KEY

OPERATIONPARAMETE RS TRANSACTION

4.2.2.
4.2.2.1.

Transaction Vault Object Specification


TRANSACTION_VAULT XML Tag Data Type/ Max Length
Object / 1 Object / 1

This object defines information that can be submitted to the Gateway for Vault transactions processing.

Required

Notes

<TRANSACTION_VAULT> <ACCOUNT_VAULT> <CUSTOMER_VAULT>


True True
Please see Transaction Vault Object Summary Please see Transaction Vault Object Summary

32

SecureNet Gateway Implementation Guide 4.1.1.


<MERCHANT_KEY> <OPERATIONPARAMETERS> <TRANSACTION> </TRANSACTION_VAULT>
Object / 1 Object / 1 Object / 1 True True True
Please see Transaction Request Object Summary Please see Transaction Vault Object Summary Please see Transaction Vault Object Summary

4.2.2.2.

ACCOUNT_VAULT Data Type/ Max Length


Integer / 1 String / 25 String / 7 String / 250 String / 25 String / 5

This object contains account information to add, update or delete, like payment method and corresponding card/account information.

XML Tag
<ACCOUNT_VAULT> <ACDI> <CUSTOMERID> <METHOD> <NOTES> <PAYMENTID> <PRIMARY>

Required

Notes

False True True False True False

Account Duplicate Indicator. Values: 0, 1, 2. See Appendix for more information. Contains customer ID associated with transaction or record. Can be any string or AUTO. If AUTO is specified a unique CUSTOMERID is generated and returned in the response object. Indicates method of payment for the transaction being sent to the system. See Appendix for more information. Additional Notes field. Contains the Payment ID associated with the customer record. Can be any string or AUTO. If AUTO is specified, a unique PAYMENTID is generated and returned in the response object. Specifies if the account is Primary or not. Values: TRUE or FALSE. Set to FALSE by default. Multiple accounts (payment methods) can be stored for a single customer and only one account can be set as primary. The system will automatically default to another payment method for the customer if the primary payment is declined. Please see Transaction Request Object Summary

<CARD>

OBJECT / 1

<CHECK>

OBJECT / 1

<CUSTOMER_BILL>

OBJECT / 1

Required if METHOD = CC or PD Required if METHOD = ECHECK or CHECK21 Required for E-Commerce transactions
False

Please see Transaction Request Object Summary

Please see Transaction Request Object Summary

<USERDEFINED> </ACCOUNT_VAULT>

OBJECT / 1

Please see Transaction Request Object Summary

4.2.2.3.

CUSTOMER_VAULT

33

SecureNet Gateway Implementation Guide 4.1.1. This object contains customer information to add, update or delete, like customer name, address, email, phone number, etc.

XML Tag
<CUSTOMER_VAULT>
<CSDI>

Data Type/ Max Length


Integer / 1

Required

Notes

True

<CUSTOMERID>

String / 25

True

<NOTES> <CUSTOMER_BILL> <USERDEFINED>

String / 200 Object / 1 Object / 1

False False False

Customer Duplicate Check Indicator 0 If Customer ID exists - return an Error 1 If Customer ID exists - do not add and continue with transaction. Contains the customer ID associated with the transaction or record. Can be any string or AUTO. If AUTO is specified a unique CUSTOMERID is generated and returned in the response object. Additional Notes field. Object containing Billing Customer information. Object Containing 50 user defined fields.

</CUSTOMER_VAULT>

4.2.2.4.

OPERATIONPARAMETERS XML Tag Data Type/ Max Length


Integer / 1

This object is used to specify operation type (Add, Update, or Delete) and to specify whether Vault information is to be added even when transaction is declined in ProcessVaultTransaction method.

Required

Notes

<OPERATIONPARAMETERS>
<ACTIONCODE> False 1 = ADD 2 = Update 3 = Delete Add Customer/Account if transaction is declined: 0 False 1 True

<ADD_IF_DECLINED>

Integer / 1

False

</OPERATIONPARAMETERS>

4.3.

AutoBill Transactions

The AutoBill feature allows merchants to set up automatic scheduled and recurring credit card and ACH transactions. Payments can be scheduled for automatic daily, weekly, monthly, quarterly, and yearly recurrence, as well as any interval in between. In addition, merchants can set up one or more single scheduled future payments for any date. The automatic installment generator can take a total amount due and evenly split the payment dates and payment amounts across a designated time frame.

4.3.1.

PLAN_AB Object Summary

34

SecureNet Gateway Implementation Guide 4.1.1.

PLAN_AB MERCHANT_KEY INSTALLMENT RECURRING

PLAN_AB
MERCHANT_KEY

This object defines the information that can be submitted to the Gateway for AutoBill transaction processing. This object is used to verify merchant before processing any transaction and is required for any operation. Installment payment plans consist of a single purchase of goods or services that is billed to an account in multiple segments, over a period of time, with payments occurring on a schedule agreed by a cardholder and merchant. This object contains information on Customers installment plan. Recurring payment plans exist when multiple transactions are processed at pre-determined intervals, as a result of an agreement for the purchase of products or services that are provided over time. This object contains information on Customers recurring payment plan. Array of PAYMENT_AB objects, containing individual payment information, like amount, payment id, installment date, etc.

INSTALLMENT

RECURRING

SCHEDULE
SCHEDULE

4.3.2. 4.3.2.1.

PLAN_AB Object Specification PLAN_AB Data Type/ Max Length


Object / 1 Object / 1 Object / 1 Array of PAYMENT_AB

This object defines the information that can be submitted to the Gateway for AutoBill transaction processing.

XML Tag
<PLAN_AB> <MERCHANT_KEY> <INSTALLMENT> <RECURRING> <SCHEDULE> </PLAN_AB>

Required

Notes

True True True True

Merchant Key is required to process any operation. Please see PLAN_AB Object Summary Please see PLAN_AB Object Summary Please see PLAN_AB Object Summary

4.3.2.2.

OPTIONS Data Type/ Max Length


String / 1

Please note that OPTIONS is a parent class of INSTALLMENT and RECURRING, so all parameters of OPTIONS are inherited by the two subclasses and are include in INSTALLMENT and RECURRING tables below.

XML Tag
<OPTIONS>
<CYCLE>

Required

Notes

True

W weekly M monthly Q quarterly

35

SecureNet Gateway Implementation Guide 4.1.1.


B semiannual Y yearly 1-28 Once every week/month/quarter/six months/year, as following: If CYCLE=M: 1-11 if CYCLE=W: 1-51 if CYCLE=Q: 1-3 for CYCLE=Y or CYCLE=B frequency is set automatically. 1-12 1-7, where 1 is Sunday

<DAY> <FREQUENCY>

Integer / 2 Integer / 2

Required if CYCLE=M, Q, B, or Y. True

<MONTH> <WEEKDAY>

Integer / 2 Integer / 1

Required if CYCLE=Q, B, or Y Required if CYCLE=W

</OPTIONS>

4.3.2.3.

INSTALLMENT

Installment payment plans consist of a single purchase of goods or services that is billed to an account in multiple segments, over a period of time, with payments occurring on a schedule agreed by a cardholder and merchant. The INSTALLMENT object below contains information on Customers Installment plan.

XML Tag
<INSTALLMENT>
<CYCLE>

Data Type/ Max Length


String / 1

Required

Notes

True

<DAY>

Integer / 2

<FREQUENCY>

Integer / 2

Required if CYCLE=M, Q, B, or Y. True

W weekly M monthly Q quarterly B semiannual Y yearly 1-28

Once every week/month/quarter/six months/year, as following: If CYCLE=M: 1-11 if CYCLE=W: 1-51 if CYCLE=Q: 1-3 for CYCLE=Y or CYCLE=B frequency is set automatically.

<MONTH>

Integer / 2

<WEEKDAY> <AMOUNT>

Integer / 1

Required if CYCLE=Q, B, or Y Required if CYCLE=W

1-12

1-7, where 1 is Sunday Installment amount

Decimal / 15

True

36

SecureNet Gateway Implementation Guide 4.1.1.


<AUTOCALC_OPTION> <BALLOON_AMOUNT> <BALLOON_OPTION> String / 1 Decimal / 15 Integer / 1 True True True A automatic M manual Balloon amount AutoBill offers the capability of the balloon payment to be applied to the first or last payment, as following: 0 add balloon amount to first payment 1 add balloon amount to last payment Number of total installments for installment plan. 1-99. AutoBill offers the ability to choose first or last payment if installments are not equally divided, as following: 0 add remainder to first payment 1 add remainder to last payment

<COUNT> <REMAINDER_OPTION>

Integer / 2 Integer / 1

True True

</INSTALLMENT>

4.3.2.4.

RECURRING

Recurring payment plans exist when multiple transactions are processed at pre-determined intervals, as a result of an agreement for the purchase of products or services that are provided over time. Recurring payment plans help simplify the process of billing a cardholder for a product or a service that is being provided on a continuous basis.

XML Tag
<RECURRING>
<CYCLE>

Data Type/ Max Length


String / 1

Required

Notes

True

<DAY> <FREQUENCY>

Integer / 2 Integer / 2

Required if CYCLE=M, Q, B, or Y. True

W weekly M monthly Q quarterly B semiannual Y yearly 1-28 Once every week/month/quarter/six months/year, as following: If CYCLE=M: 1-11 if CYCLE=W: 1-51 if CYCLE=Q: 1-3 for CYCLE=Y or CYCLE=B frequency is set automatically. 1-12 1-7, where 1 is Sunday
Total value to be charged to the payment method specified. Include decimal point followed by decimal amount. 0 - recurring bill has no end date 1 - recurring bill has an end date

<MONTH> <WEEKDAY> <AMOUNT> <NOEND_FLAG>

Integer / 2 Integer / 1

Required if CYCLE=Q, B, or Y Required if CYCLE=W

Decimal / 15
Integer / 1

True
True

37

SecureNet Gateway Implementation Guide 4.1.1.

</RECURRING>

4.3.2.5. XML Tag

PAYMENT_AB Data Type/ Max Length


Decimal / 15
String / 6 Integer / 2 Integer / 1

This object contains individual payment information, like amount, payment id, installment date, etc.

Required

Notes

<PAYMENT_AB>
<AMOUNT> <INSTALLMENTDATE > <INSTALLMENTNUM > <NUMOFRETRIES>

True
True True True

Total amount to be charged to the payment method specified. Include decimal point followed by decimal amount. Installment date. MMDDYY. Number of installments. 1-99. AutoBill offers the ability to reattempt a declined transaction every day for up to five consecutive days. Enter number of retries, between 1-5. Available in response. Will contain an array of all records for Installment and Variable billing, so that the merchant can see which has already been paid or not. Available in response. Will contain payment date of that Schedule ID for Installment and Variable billing, for Recurring billing - represents next billing date. Contains the Payment ID associated with the customer record. Can be any string or AUTO. If AUTO is specified, a unique PAYMENTID is generated and returned in the response object. Payment plan ID, auto-generated by the system and given to the merchant at the time Plan is added. 0 not yet processed, still in the queue 1 processed AutoBill allows multiple billing schedules per Customer ID. Schedule ID, auto-generated by the system and given to the merchant at the time Schedule is added. System Generated Unique ID for corresponding transaction, returned by the Gateway.

<PAID>

Integer

False

<PAYMENTDATE>

String

False

<PAYMENTID>

String / 25
Integer Integer / 1 Integer

True

<PLANID> <PROCESSED> <SCHEDULEID>

Required for Update only False Required for Update only False

<TRANSACTIONID>

Integer / 15

</PAYMENT_AB>

4.3.3.

PLAN_AB Message Format


Data Type/ Max Length
Integer

XML Tag
<PLAN_AB>
<ACTIVE>

Required

Notes

False

Available in response. Shows whether recurring billing on this record is enabled or disabled.

38

SecureNet Gateway Implementation Guide 4.1.1.


0 Active 1 Inactive <CUSTOMERID> <ENDDATE> String / 25 String / 6 True Required if NOEND_FLAG = 1 (recurring bill has an end date) True False Contains customer ID associated with payment plan. Plan end date. MMDDYY.

<INSTALLMENT> <MAXRETRIES>

Object / 1 Integer / 1

Please see PLAN_AB Object Summary AutoBill offers the ability to reattempt a declined transaction every day for up to five consecutive days. Enter maximum number of retries, default is 0, maximum is 5. This object is used to verify merchant before processing any transaction and is required for any operation. Available in response. Next payment date. MMDDYY. SecureNet Vault Payment ID. Must be enabled on your account. Process through Payment ID 2 if there is a problem with Payment ID. Payment plan ID, auto-generated by the system and given to the merchant at the time Plan is added. Please see PLAN_AB Object Summary Please see PLAN_AB Object Summary Plan start date. MMDDYY. Please make sure the date is on or after current date. Billing types offered include Recurring Billing, Installment Billing and Variable Billing. Set TYPE to one of the following: REC for recurring INS for installment VAR for variable

<MERCHANT_KEY> <NEXTPAYMENT_DATE> <PAYMENTID> <PAYMENTID2> <PLANID> <RECURRING> <SCHEDULE> <STARTDATE> <TYPE>

Object / 1 String / 6 String / 25 String / 25 Integer Object / 1 Array of PAYMENT_AB String / 6 String / 3

True False

True
False Required for Update only True True True True

</PLAN_AB>

4.4. Settlement Transactions


Request Object used for Settlement Transactions has been described above and is the following:

Object Name
MERCHANT_KEY

Description Required for CloseBatch method.

4.5. Reporting API Services

39

SecureNet Gateway Implementation Guide 4.1.1.

Reporting API Services allow merchants to perform additional functionalities to their processing systems. Please note that data in the reporting services database is not updated in real-time, there is a 30-minute delay. The following services are available through the Reporting API: Transactions Services Retrieve Transactions Info by Batch ID Retrieve Current Transaction Info by Order ID. Retrieve Current Transaction Info by Transaction ID. Vault Services Allow to lookup Customer and Account information AutoBill Services: Allow to lookup AutoBill Account information Batch Services Allow the system to initiate a batch close on demand. To implement any of the above functionalities - create a program to consume one of the following Gateway services: For Batch and Transaction Services: URL for Production: https://gateway.securenet.com/api/data/transaction.svc URL for Certification and Test: https://certify.securenet.com/api/data/transaction.svc For SecureNet Vault and AutoBill Services: URL for Production: https://gateway.securenet.com/api/data/service.svc URL for Certification and Test: https://certify.securenet.com/api/data/service.svc Request Objects used for Reporting API Services have been described above and are the following:
Object Name MERCHANT_KEY PLAN_AB Description

Required for all Reporting API methods except GetABAccount. Required for GetABAccount method.

5.

Gateway Response

This section describes the response returned by the Gateway when a merchant server submits a transaction for processing. The response is an object that contains properties and response values showing the status of a transaction. The merchant server retrieves this data and determines the message to display to the end-user.

GATEWAYRESPONSE Property Name

Type

Description

40

SecureNet Gateway Implementation Guide 4.1.1. ABRESPONSE TRANSACTIONRESPONSE VAULTACCOUNTRESPONSE VAULTCUSTOMERRESPONSE


Object Object Object Object
Response for AutoBill Transactions Response for Standard Payment Transactions and Reporting API Transactions Response for SecureNet Vault Account Transactions Response for SecureNet Vault Customer Transactions

Response objects for Settlement Transactions


Property Name

BATCHDATA BATCHDETAIL

Type Object Object

Description
Superset and Response object for Batches created. Subset of Batch data with Individual Batch Details. Object is returned only if Batches are created and transactions exist to create a batch.

5.1. GATEWAYRESPONSE
5.1.1. GATEWAYRESPONSE Object Summary GATEWAYRESPONSE ABRESPONSE SCHEDULE
GATEWAYRESPONSE ABRESPONSE SCHEDULE TRANSACTIONRESPONSE CUSTOMER_BILL VAULTACCOUNTRESPONS E VAULTCUSTOMERRESPON SE
This object defines the information that will be sent by the Gateway as a response for all transactions. This object defines the information that will be sent by the Gateway as a response for AutoBill transactions. Array of PAYMENT_AB objects, containing individual payment information, like amount, payment id, installment date, etc. This object defines the information that will be sent by the Gateway as a response for all standard payment transactions, as well as transactions submitted through Reporting API Services. This object contains customers billing information, like billing address and telephone number, and is required for all E-Commerce transactions. This object defines the information that will be sent by the Gateway as a response for all SecureNet Vault Account transactions. This object defines the information that will be sent by the Gateway as a response for all SecureNet Vault Customer transactions.

TRANSACTIONRESPONSE CUSTOMER_BILL VAULTACCOUNTRESPON VAULTCUSTOMERRESPO 5.1.2.

GATEWAYRESPONSE Object Specification XML Tag Data Type / Max Length


Object / 1

Notes

<GATEWAYRESPONSE> <ABRESPONSE>
Please see Gateway Response Object Summary

41

SecureNet Gateway Implementation Guide 4.1.1.


<TRANSACTIONRESPONSE> <VAULTACCOUNTRESPONSE> <VAULTCUSTOMERRESPONS E> </GATEWAYRESPONSE> Object / 1 Object / 1 Object / 1
Please see Gateway Response Object Summary Please see Gateway Response Object Summary Please see Gateway Response Object Summary

5.1.2.1.

ABRESPONSE

This object defines the information that will be sent by the Gateway as a response for AutoBill transactions. Please note that all fields in the ABRESPONSE object are returned in a left-justified, space-filled format.

XML Tag
<ABRESPONSE>
<RESPONSE_CODE> <RESPONSE_REASON_CODE> <RESPONSE_REASON_TEXT> <RESPONSE_SUBCODE> <CUSTOMERID> <PAYMENTID> <PLANID> <SCHEDULE>

Data Type / Max Length


String / 10 String / 10 String / 200 String / 10 String / 25 String / 25
Integer

Notes

Transaction Response Code. See Appendix Code for providing more details about the result of the transaction. Brief description of the result, which corresponds with the Response Reason Code. Code used by the system for internal transaction tracking. Contains the customer ID associated with the transaction or record. Contains the Payment ID associated with the customer record. Echoed from PLAN_AB Echoed from PLAN_AB

Object / 1

</ABRESPONSE>

5.1.2.2.

TRANSACTIONRESPONSE

This object defines the information that will be sent by the Gateway as a response for all standard payment transactions, as well as transactions submitted through Reporting API Services. Please note that all fields in the TRANSACTIONRESPONSE object are returned in a left-justified, space-filled format.

XML Tag

Data Type /

Notes

42

SecureNet Gateway Implementation Guide 4.1.1.

Max Length
<TRANSACTIONRESPONSE> Decimal / 15 <ADDITIONALAMOUNT>
For Debit cards it will contain the surcharge for the transaction, if one has been setup on the Host. (If surcharge applies, it must be printed on the customer receipt). Applicable to Paymentech only. For EBT and Stored Value cards it will contain the remaining balance on the card.

<ADDITIONALDATA1>

String / 100

For Stored Value cards includes Previous Balance (15 characters long zero filled decimal number with explicit decimal point) followed by Cash Out Amount (15 characters long zero filled decimal number with explicit decimal point). Paymentech specific data -for Debit Transactions it will contain the Trace Number for the transaction. Optional data returned by the Host for Fleet Cards. (If data exists, it must be printed on the customer receipt as reference data). For EBT transactions it will contain the FNS # echoed from the ADDITIONALINFO field of the MERCHANT_KEY object.

<ADDITIONALDATA2>

String / 100

<ADDITIONALDATA3> <ADDITIONALDATA4> <ADDITIONALDATA5> <AUTHCODE> <AUTHORIZEDAMOUNT> <AVS_RESULT_CODE> <BANK_ACCOUNTNAME> <BANK_ACCOUNTTYPE> <BATCHID> <CARD_CODE_RESPONSE_CODE > <CARDHOLDER_FIRSTNAME> <CARDHOLDER_LASTNAME> <CARDLEVEL_RESULTS>

String / 100 String / 100 String / 100 String / 6 Decimal / 15 String / 2 String / 50 String / 8 String / 15 String / 2 String / 50 String / 50 String / 10

For EBT transactions it will contain the Voucher # echoed from the ADDITIONALINFO field of the CARD object. Future Use Future Use The six-digit alphanumeric authorization or approval code. Authorized Transaction Amount. Address Verification System Result Code. See Appendix Name of Account holder Echoed from TRANSACTION Default = 0, otherwise the Batch number of the transaction Response code from Credit Card Identification Code verification. See Appendix First Name of Card Holder(Track Data required) Last Name of Card Holder (Track Data required) Additional information about the credit card type. See Appendix

43

SecureNet Gateway Implementation Guide 4.1.1.


<CARDTYPE> <CASHBACK_AMOUNT> <CAVV_RESPONSE_CODE> <CHECKNUM> <CODE> <CUSTOMERID> <EXPIRYDATE> <GRATUITY> <INDUSTRYSPECIFICDATA> <LAST4DIGITS> <LEVEL2_VALID> <LEVEL3_VALID> <MARKETSPECIFICDATA> <METHOD> <NETWORKCODE> <NETWORKID> <ORDERID> <PAYMENTID> <RESPONSE_CODE> <RESPONSE_REASON_CODE> <RESPONSE_REASON_TEXT> <RESPONSE_SUBCODE> <RETREFERENCENUM> <SECURENETID> String / 10 Decimal / 15 String / 2 String / 20 String / 4 String / 25 String / 4 Decimal / 15 String / 1 String / 4 String / 5 String / 5 String / 1 String / 7 String / 10 String / 10 String / 25 String / 25 String / 3 String / 6 String / 200 String / 6 String / 50 Integer / 8
Card Type Code is returned. See Appendix Cash Back Amount echoed from TRANSACTION Indicates the results of Cardholder Authentication Verification Value (CAVV) verification. See Appendix Echoed from TRANSACTION Echoed from TRANSACTION Echoed from TRANSACTION Echoed from TRANSACTION Echoed from TRANSACTION Echoed from TRANSACTION Last 4 digits of card or bank account number Is Level 2 valid Is Level 3 valid Echoed from TRANSACTION Echoed from TRANSACTION Network Code for DB transactions Transaction Identifier for Authorization Network. Echoed from TRANSACTION Echoed from TRANSACTION Transaction Response Code. See Appendix Code for providing more details about the result of the transaction. Brief description of the result, which corresponds to the Response Reason Code. Code used by the system for internal transaction tracking. Bank authorization reference # Echoed from TRANSACTION

44

SecureNet Gateway Implementation Guide 4.1.1.


<SETTLEMENTAMOUNT> <SETTLEMENTDATETIME> <SYSTEM_TRACENUM> <TRACKTYPE> <TRANSACTIONAMOUNT> <TRANSACTIONDATETIME> <TRANSACTIONID> <CUSTOMER_BILL> </ TRANSACTIONRESPONSE> Decimal / 15 String / 14 String / 50 String / 1 Decimal / 15 String / 14 Integer / 15 Object / 1
Settlement amount of Transaction Settlement date of transaction (MMDDYYYYHHMM00). System Trace # for Authorization Network Track Type used for transaction, 0 if no track data is present Echoed from TRANSACTION. For INQUIRY_BALANCE transactions this field indicates the available balance on the gift card. Transaction date and time as recorded in the Gateway according to merchant time zone. (MMDDYYYYHHMMSS) System Generated Unique ID for transaction. Used to submit a modification of this transaction at a later time, such as voiding, crediting or capturing the transaction. Echoed from TRANSACTION

5.1.2.3.

VAULTACCOUNTRESPONSE

This object defines the information that will be sent by the Gateway as a response for all SecureNet Vault Account transactions. Please note that all fields in the VAULTACCOUNTRESPONSE object are returned in a leftjustified, space-filled format.

XML Tag
<VAULTACCOUNTRESPONSE> <RESPONSE_CODE> <RESPONSE_REASON_CODE> <RESPONSE_REASON_TEXT> <RESPONSE_SUBCODE> <ACCOUNTTYPE> <ADDITIONALDATA1> <ADDITIONALDATA2> <CARDTYPE> <COMPANY>

Data Type / Max Length


Object / 1 String / 10 String / 10 String / 200 String / 10 String / 8 String / 100 String / 100 String / 10 String / 50

Notes
Response for SecureNet Vault Account Transactions. Transaction Response Code. See Appendix. Code for providing more details about the result of the transaction. Brief description of the result, which corresponds with the Response Reason Code. Code used by the system for internal transaction tracking. Echoed from ACCOUNT_VAULT Contains TRANSACTIONID, which is generated while verifying an account before adding/updating a Vault account information. Future Use Card Type Code is returned. See Appendix Echoed from ACCOUNT_VAULT

45

SecureNet Gateway Implementation Guide 4.1.1.


<CUSTOMERID> <FIRSTNAME> <LAST4DIGITS> <LASTNAME> <METHOD> <PAYMENTID> <TRANSACTIONDATETIME> </VAULTACCOUNTRESPONSE> String / 25 String / 50 String / 4 String / 50 String / 7 String / 25 String / 14
Contains the customer ID associated with the transaction or record Echoed from ACCOUNT_VAULT Last 4 digits of card or bank account. Echoed from ACCOUNT_VAULT Echoed from ACCOUNT_VAULT Contains the Payment ID associated with the customer record. Transaction date and time as recorded in the Gateway according to merchant time zone. (MMDDYYYYHHMMSS).

5.1.2.4.

VAULTCUSTOMERRESPONSE

Please note that all fields in the VAULTCUSTOMERRESPONSE object are returned in a left-justified, space-filled format.

XML Tag
<VAULTCUSTOMERRESPONSE>
<COMPANY> <CUSTOMERID> <FIRSTNAME> <LASTNAME> <RESPONSE_CODE> <RESPONSE_REASON_CODE> <RESPONSE_REASON_TEXT> <RESPONSE_SUBCODE> <TRANSACTIONDATETIME>

Data Type / Max Length


String / 50 String / 25 String / 50 String / 50 String / 10 String / 10 String / 200 String / 10 String / 14

Notes

Echoed from CUSTOMER_VAULT Contains the customer ID associated with the transaction or record. Echoed from CUSTOMER_VAULT Echoed from CUSTOMER_VAULT Transaction Response Code. See Appendix Code for providing more details about the result of the transaction. Brief description of the result, which corresponds with the Response Reason Code. Code used by the system for internal transaction tracking. Transaction date and time as recorded in the Gateway according to merchant time zone. (MMDDYYYYHHMMSS)

</VAULTCUSTOMERRESPONSE>

46

SecureNet Gateway Implementation Guide 4.1.1.

5.2.
5.2.1.

Response objects for Settlement Transactions


BATCHDATA Object Summary BATCHDATA BATCHDETAILS

BATCHDATA BATCHDETAILS

This object defines the information that can be submitted to the Gateway for Settlement Transactions. Array of BATCHDETAIL objects, containing individual batch information, like Batch ID created on Batch Close, number of transactions in a batch, etc.

5.2.2.

BATCHDATA Object Specification

This section details high-level BATCHDATA Object specification. Descriptions, rules and notes for each object of BATCHDATA are detailed below.

5.2.2.1.

BATCHDATA Data Type/ Max Length


Array of BATCHDETAIL

This object defines the information that can be submitted to the Gateway for Settlement Transactions.

XML Tag
<BATCHDATA> <BATCHDETAILS> </BATCHDATA>

Notes

Please see BATCHDETAIL Object Summary

5.2.2.2.

BATCHDETAIL

This object containing individual batch information, like Batch ID created on Batch Close, number of transactions in a batch, etc.

XML Tag

Data Type / Max Length

Notes

47

SecureNet Gateway Implementation Guide 4.1.1.


<BATCHDETAIL> <BATCHID> <SECURENETID> <TOTALBATCHAMOUNT > <TOTALCREDITAMOUNT > <TOTALSALEAMOUNT> <TOTALTRANSACTIONS> </BATCHDETAIL> String / 20 String / 20 String / 20 String / 20 String / 20 String / 20
Batch ID created on Batch Close. Should be the value returned by the Gateway. 7-digit unique SecureNet ID provided by SecureNet to identify the merchant and is required for each submitted transaction. If you dont have your SecureNet ID please contact us. Total Amount of Sale and Credits. Total Amount of Sale. Total Amount of Sale. Number of transactions.

5.2.3.

BATCHDATA Message format XML Tag Data Type / Max Length


String Object Array Integer / 8 Number of batches. Array of BATCHDETAIL objects. 7-digit unique SecureNet ID provided by SecureNet to identify the merchant and is required for each submitted transaction.

Notes

<BATCHDATA> <BATCHCOUNT> <BATCHDETAILS> <SECURENETID> </BATCHDATA>

48

SecureNet Gateway Implementation Guide 4.1.1.

6.

Overview of Gateway Methods

Once you create and populate a data object (ex. TRANSACTION, TRANSACTION_VAULT, PLAN_AB) pass it into the desired Gateway Method.

6.1.

Methods available through https://certify.securenet.com/API/Gateway.svc or https://gateway.securenet.com/API/Gateway.svc

6.1.1. Methods for Standard Payment Transactions


Method Name Operation
Process a non-Vault Transaction

Description
This method accepts TRANSACTION as input parameter and processes non Vault Transactions. Set TRANSACTION_SERVICE value to 0. Input parameter: TRANSACTION Output parameter: GATEWAYRESPONSE

ProcessTransaction

ProcessTransaction

Process Transaction by Customer ID

This is a method to process transaction on-demand for the stored Customer Record. TRANSACTION_SERVICE property value inside TRANSACTION object should be set to 1. MERCHANT_KEY should be supplied within TRANSACTION object. No card/check information should be provided in the CARD/CHECK object. Input parameter: TRANSACTION Output parameter: GATEWAYRESPONSE

ProcessTransaction

Process Transaction by Secondary ID (SECONDARY_MERCHANT_KEY)

This is a method to process transaction on-demand for the stored Customer Record. TRANSACTION_SERVICE property value inside TRANSACTION object should be set to 2. MERCHANT_KEY should be supplied within TRANSACTION object and secondary merchant key should be supplied inside SECONDARY_MERCHANT_KEY property of TRANSACTION object. No card/check information should be provided in the CARD/CHECK object. Input parameter: TRANSACTION Output parameter: GATEWAYRESPONSE

49

SecureNet Gateway Implementation Guide 4.1.1.

6.1.2. Methods for Vault Transactions


Method Name Operation
Add Vault Account

Description
This method accepts TRANSACTION_VAULT as input parameter. The ACTIONCODE inside OPERATIONPARAMETERS object should be set to 1 for Add operation. All account information to be added should be passed inside ACCOUNT_VAULT object and MERCHANT_KEY inside TRANSACTION_VAULT object. Input parameter: TRANSACTION_VAULT Output parameter: GATEWAYRESPONSE

ProcessAccount

ProcessAccount

Update Vault Account

This Method accepts TRANSACTION_VAULT as input parameter. The ACTIONCODE inside OPERATIONPARAMETERS object should be set to 2 for Update operation. PAYMENTID and CUSTOMERID should be passed inside ACCOUNT_VAULT object and MERCHANT_KEY inside TRANSACTION_VAULT object. Input parameter: TRANSACTION_VAULT Output parameter: GATEWAYRESPONSE

ProcessAccount

Delete Vault Account

This method accepts TRANSACTION_VAULT as input parameter. The ACTIONCODE inside OPERATIONPARAMETERS object should be set to 3 for Delete operation. PAYMENTID and CUSTOMERID should be passed inside ACCOUNT_VAULT object and MERCHANT_KEY inside TRANSACTION_VAULT object. Note: if you are deleting last account of the customer - the customer will be deleted as well. Input parameter: TRANSACTION_VAULT Output parameter: GATEWAYRESPONSE

ProcessCustomer

Add Vault Customer

This method accepts TRANSACTION_VAULT as input parameter. The ACTIONCODE inside OPERATIONPARAMETERS object should be set to 1 for Add operation. All customer information to be added should be passed inside CUSTOMER_VAULT object and MERCHANT_KEY inside TRANSACTION_VAULT object. Input parameter: TRANSACTION_VAULT Output parameter: GATEWAYRESPONSE

50

SecureNet Gateway Implementation Guide 4.1.1. Method Name Operation


Update Vault Customer

Description
This method accepts TRANSACTION_VAULT as input parameter. The ACTIONCODE inside OPERATIONPARAMETERS object should be set to 2 for Update operation. CUSTOMERID should be passed inside ACCOUNT_VAULT and MERCHANT_KEY inside TRANSACTION_VAULT object. Input parameter: TRANSACTION_VAULT Output parameter: GATEWAYRESPONSE

ProcessCustomer

ProcessCustomer

Delete Vault Customer

This method accepts TRANSACTION_VAULT as input parameter. The ACTIONCODE inside OPERATIONPARAMETERS object should be set to 3 for Delete operation. CUSTOMERID should be passed inside CUSTOMER_VAULT object and MERCHANT_KEY inside TRANSACTION_VAULT object. Input parameter: TRANSACTION_VAULT Output parameter: GATEWAYRESPONSE

ProcessCustomerAndAccount

Add Vault Customer And Account

This method accepts TRANSACTION_VAULT as input parameter. The ACTIONCODE inside OPERATIONPARAMETERS object should be set to 1 for Add operation. All customer information to be added should be passed inside CUSTOMER_VAULT object, account information inside ACCOUNT_VAULT object and MERCHANT_KEY inside TRANSACTION_VAULT object. Input parameter: TRANSACTION_VAULT Output parameter: GATEWAYRESPONSE

ProcessCustomerAndAccount

Update Vault Customer And Account

This method accepts TRANSACTION_VAULT as input parameter. The ACTIONCODE inside OPERATIONPARAMETERS object should be set to 2 for Update operation. All customer information to be added should be passed inside CUSTOMER_VAULT object, account information inside ACCOUNT_VAULT object and MERCHANT_KEY inside TRANSACTION_VAULT object. Input parameter: TRANSACTION_VAULT Output parameter: GATEWAYRESPONSE

51

SecureNet Gateway Implementation Guide 4.1.1. Method Name Operation


Process Transaction Add Customer and Account

Description
This is a method to process transaction on-demand and to store a new Customer and account in Vault. TRANSACTION_SERVICE property value inside TRANSACTION object should be set to 3. MERCHANT_KEY should be supplied within TRANSACTION_VAULT object, customer information to be added should be supplied inside CUSTOMER_VAULT, account information to be added should be supplied inside ACCOUNT_VAULT and transaction information except MERCHANT_KEY should be supplied inside TRANSACTION object. Input parameter: TRANSACTION_VAULT Output parameter: GATEWAYRESPONSE

ProcessVaultTransaction

CopyVaultAccount

Copy Vault Account

This method allows to copy an existing Vault account from one customer to another and from one SecureNet ID to another. Input parameters: SOURCE_MERCHANT_KEY (MERCHANT_KEY), SOURCE_ACCOUNT_VAULT (ACCOUNT_VAULT), TARGET_MERCHANT_KEY (MERCHANT_KEY), TARGET_ACCOUNT_VAULT (ACCOUNT_VAULT), CREATE_CUSTOMER (integer, 0 do not create, 1 - create), CHANGE_ACCOUNT_INFO_TO_TARGET (integer, 0 do not change target account, 1 change target account). Output parameter: GATEWAYRESPONSE

6.1.3. Methods for AutoBill Transactions


Method Name Operation
Add AutoBill Account

Description
Use this method to add an AutoBill Account. Input parameter: PLAN_AB Output parameter: GATEWAYRESPONSE

AddABAAccount

UpdateABAccount

Update AutoBill Account

Use this method to update an AutoBill Account. Input parameter: PLAN_AB Output parameter: GATEWAYRESPONSE

UpdateABSchedule

Update AutoBill Schedule

Use this method to update an AutoBill Schedule. Input parameter: PLAN_AB Output parameter: GATEWAYRESPONSE

52

SecureNet Gateway Implementation Guide 4.1.1.

6.1.4. CloseBatch

Methods for Settlement Transactions


Method Name Operation
Close Batch

Description
This method is for closing a batch. Input parameter: MERCHANT_KEY Output parameter: BATCHDATA

6.2.

Reporting API methods for Batch and Transaction Services, available through: https://certify.securenet.com/api/data/transaction.svc or https://gateway.securenet.com/api/data/transaction.svc
Method Name Description
Method to retrieve the TRANSACTIONRESPONSE data for a particular Batch. Input parameters: MERCHANT_KEY and BATCHID. Output parameter: Array of TRANSACTIONRESPONSE objects. a. b. c. If BATCHID =0 approved transactions from the unclosed batch will be returned If BATCHID = 1 transactions for the last closed batch along with original batch id will be returned For all other values in BATCHID, transactions specific to that particular batch will be returned

GetBatchTransactions

GetTransactionByOrderID

Method to retrieve the TRANSACTIONRESPONSE data by Order ID when Transaction ID is not available. Transactions with basic validation errors are not stored and returned in this method. Input parameters: MERCHANT_KEY and ORDERID. Output parameter: TRANSACTIONRESPONSE

GetTransactionByTransactionID

Method to retrieve the TRANSACTIONRESPONSE data by Transaction ID. Input parameters: MERCHANT_KEY and TRANSACTIONID. Output parameter: TRANSACTIONRESPONSE

GetCurrentBatchID

This method will return the last closed batch id. Input parameter: MERCHANT_KEY Output parameter: BATCHID

GetTransactions

Method to retrieve transaction data for transactions processed during a specific period of time.

53

SecureNet Gateway Implementation Guide 4.1.1.


Input parameters: MERCHANT_KEY, StartDate, EndDate, ExcludeDate, CustomerID, Amount, AmountSpecified, RBOnly. Output parameter: Array of TRANSACTIONRESPONSE objects.

6.3.

Reporting API methods for SecureNet Vault and AutoBill Services, available through: https://certify.securenet.com/api/data/service.svc or or https://gateway.securenet.com/api/data/service.svc
Method Name Description
Method to retrieve an AutoBill account. Input parameters: PLAN_AB Output parameter: PLAN_AB

GetABAccount

GetABAccounts

Method to retrieve an AutoBill account. Input parameters: MERCHANT_KEY and CustomerID Output parameter: PLAN_AB

GetVaultCustomers

Method to retrieve a Vault Customer. Input parameters: MERCHANT_KEY and CustomerID Output parameter: CUSTOMER_VAULT

GetVaultAccountByCustomer

Method to retrieve Vault Accounts by Merchant Key and Customer ID. Input parameters: MERCHANT_KEY and CustomerID Output parameter: Array of ACCOUNT_VAULT objects Method to retrieve a Vault Account Input parameters: MERCHANT_KEY, CustomerID, and PaymentID Output parameter: ACCOUNT_VAULT Method to retrieve Vault Accounts by Merchant Key and Card Number. Input parameters: MERCHANT_KEY and CardNumber Output parameter: Array of ACCOUNT_VAULT objects

GetVaultAccount GetVaultRecordByCardNo

54

SecureNet Gateway Implementation Guide 4.1.1.

7.

Appendix

7.1. ACDI
Account Duplicate Check Indicator: Indicates whether duplicate account exists.
0 Checks for Duplicate Card Number for specified Customer ID 1 Checks for Duplicate Card Number and Expiration Date for specified Customer ID 2 Checks for Duplicate Card Number for All Customer IDs for specified SecureNet ID 3 Checks for Duplicate Card Number for All Customer IDs for specified Group ID Note: For ACCOUNT_VAULT only. Set to 0 by default.

7.2. AVS_RESULT_CODE
Indicates the result of Address Verification System (AVS) checks. The Address Verification System (AVS) helps merchants detect suspicious transaction activity. To use this system, the merchant must submit the customers credit card billing address (numeric value only) to the Gateway for validation. This information is submitted by the Gateway to the financial institutions. The financial institutions compare the submitted address with the billing address on file for that particular credit card and return an AVS response code to the Gateway. The Gateway includes this code in the response back to the merchant. AVS Code
0 A B C D E G I M

Description
AVS data not provided Street address matches, Zip Code does not Postal code not verified due to incompatible formats Street address and postal code not verified due to incompatible formats Street address and postal code match AVS data is invalid Non-U.S. issuing bank does not support AVS Address information not verified by international issuer Customer Name, Billing Address and Zip match

55

SecureNet Gateway Implementation Guide 4.1.1.


N P R S T U W X Y Z

Neither street address nor Zip code match Street address not verified due to incompatible format Retry: issuer's system unavailable or timed-out U.S. issuing bank does not support AVS Street address does not match, but 9-digit Zip code matches Address information is unavailable 9-digit Zip matches, street address does not Street address and 9-digit Zip match Street address and 5-digit Zip match 5-digit Zip matches, street address does not

Note:

It is recommended that merchants enable some level of Address Verification to avoid non-qualified transaction surcharges that can be levied by merchant banks and merchant service providers.

7.3. CARD_CODE_RESPONSE_CODE
(CVV2/CVC2/CID) The Credit Card Identification Code, or Card Code, is a three- or four-digit security code that is printed on the back of credit cards in reverse italics in the cards signature panel (or on the front for American Express cards). The merchant can collect this information from the customer and submit the data to the Gateway. The Gateway will pass this information to the financial institution along with the credit card number. The financial institution will determine if the value matches the value on file for that credit card and return a code indicating whether the comparison failed or succeeded. The Gateway passes back this response code to the merchant. Code
M N P S U Y

Description
Match No match Not processed Data not present Issuer unable to process request Card Code Matches (Amex Only)

7.4. CARDLEVEL_RESULTS
Provides additional information on card type: Code
A B C D G I K M Q R S

Description
Visa Traditional Visa Traditional Rewards Visa Signature Visa Infinite Visa Business Card Visa Commerce Visa Corporate Card MasterCard/EuroCard and Diners Private Label Proprietary Card Visa Purchasing Card

56

SecureNet Gateway Implementation Guide 4.1.1.


U G1 S1 AX1 DI1 H N P G2 J1 J2 J3 Visa Travel Money Visa Signature Business Visa Fleet American Express Discover Classic Visa Check Card or Prepaid Platinum Visa Check Card Gold Visa Check Card Visa Business Check Card General Prepaid Prepaid Gift Card Prepaid Healthcare

7.5. CAVV_RESPONSE_CODE
Indicates the results of Cardholder Authentication Verification Value (CAVV) verification. Code
Blank 0 1 2 3 4 5 6 7 8 9 CAVV not validated CAVV not validated because erroneous data was submitted CAVV failed validation CAVV passed validation CAVV validation could not be performed; issuer attempt incomplete CAVV validation could not be performed; issuer system error Reserved for future use Reserved for future use CAVV attempt failed validation issuer available (U.S.-issued card/non-U.S acquirer) CAVV attempt passed validation issuer available (U.S.-issued card/non-U.S. acquirer) CAVV attempt failed validation issuer unavailable (U.S.-issued card/non-U.S. acquirer)

Description

57

SecureNet Gateway Implementation Guide 4.1.1.


A B CAVV attempt passed validation issuer unavailable (U.S.-issued card/non-U.S. acquirer) CAVV passed validation, information only, no liability shift

7.6. CARDTYPE Codes


The CARDTPYE Code is a system-specific code for different types of cards as identified by the Gateway.
CARDTYPE Code
ACH AX DB DC DS EBT GC JC MC MCF PD SV VI VIF VY WX CHECK21

Response Description
e-Check American Express Debit Card Diners Club Discover Electronic Benefits Transfer Gas Card (Fuelman) JCB MasterCard MasterCard Fleet PIN-less Debit Stored Value Card Visa Visa Fleet Voyager Wright Express (WEX) Card Check 21

7.7. DCI

58

SecureNet Gateway Implementation Guide 4.1.1. Duplicate Transaction Indicator must be activated in Tools tab of the Virtual Terminal: "Duplicate Transaction Lockout Settings". Duplicates are evaluated against AMOUNT, CARDNUMBER, and, optionally, a user defined field (like Customer ID, Invoice Number or one of the UDFs), and within a specified time frame of only APPROVED transactions, unless otherwise noted. If a duplicate transaction is found the new transaction is not reprocessed. 0 1 2 3
No duplicate checking will be done. If evaluation of the above conditions results in a duplicate transaction an exception code will be returned. If evaluation of the above conditions results in a duplicate transaction the original transaction response is returned with RESPONSE_REASON_TEXT = Approved. Identical to 1 however ORDERID is not evaluated.

Note: ORDERID will be evaluated and responses sent accordingly AFTER Duplicate check is evaluated and no duplicate is found.

7.8.

INDUSTRYSPECIFICDATA
For E-commerce transactions: P Physical goods D Digital goods For MO/TO transactions: 1 Single purchase transaction (AVS is required) 2 Recurring billing transaction (do not submit AVS) 3 Installment transaction For Retail transactions leave blank. Note: If TRANSACTION_SERVICE = 1 or 2, INDUSTRYSPECIFICDATA will be set to 1 by default, unless transaction request specifies otherwise.

7.9. METHOD
Method indicates the method of payment for the transaction being sent to the system and can be one of the following: Code Description
CC DB ECHECK CHECK21 PD SV EBT Credit Card Debit Electronic Check Electronic Check PIN-less Debit Stored Value Electronic Benefits Transfer

7.10. ORDERID
59

SecureNet Gateway Implementation Guide 4.1.1. A client generated unique ID for each transaction submitted to the Gateway. ORDERID must be unique to the SecureNet ID, however the uniqueness is only evaluated for APPROVED transactions and only for the last 30 days. If a transaction results in a decline that ORDERID may be used again. The ORDERID is used as a default method to avoid processing duplicate transactions. The ORDERID is not verified for transaction types such as VOID and PRIOR_AUTH_CAPTURE. ORDERID is limited to 25 characters; for example CUSTOMERID MMddyyyyHHmmss.

7.11. REF_TRANSID
It is possible to re-run a transaction, i.e. retrieve credit card information from a previously approved or declined transaction and use this information to submit another transaction. If you set REF_TRANSID to TRANSACTIONID of the previously approved or declined transaction, you are not required to send a credit card number, the number from the transaction referenced by REF_TRANSID will be used. When re-running a transaction, please follow the instructions below: 1. REF_TRANSID should be present. CARDNUMBER, ACCOUNTNUM, TRACKDATA, or MICRDATA should not be present. 2. REF_TRANSID can be from a previously approved or declined transaction. 3. REF_TRANSID should not be older than 90 days for the same SecureNet ID. 4. Re-running a transaction is available for the following transaction codes: AUTH_CAPTURE, AUTH_ONLY, CAPTURE_ONLY, FORCE_CREDIT, PARTIAL_AUTH_ONLY, PARTIAL_AUTH_CAPTURE, and VERIFICATION. 5. Re-running a transaction cannot be done for a Card-Present transaction, i.e. INDUSTRYSPECIFICDATA in TRANSACTION object should not be empty or null, it should be set to 1, 2, 3, P, or D.

7.12. RESPONSE_CODE
Indicates the result of the transaction: 1 Approved 2 Declined 3 Error / Invalid Data

7.13. SECCODE
The Standard Entry Class (SEC) code is a three letter code that identifies the nature of the ACH entry. Here are some common SEC codes: Code
ARC BOC

Description
Accounts Receivable Entries. A check received by a merchant through mail or drop box and presented as an ACH entry. Back Office Conversion. A check that is converted from paper to an electronic debit at a centralized location and presented as an ACH entry.

60

SecureNet Gateway Implementation Guide 4.1.1.


CCD POS PPD Corporate Cash Disbursement. Primarily used for business to business transactions. Point-of-Sale. A debit at electronic terminal initiated by use of a plastic card. An example is using your Debit card to purchase gas. Prearranged Payment and Deposits. Used to credit or debit a consumer account. Popularly used for payroll direct deposits and preauthorized bill payments. Telephone Initiated-Entry. Verbal authorization by telephone to issue an ACH entry such as checks by phone. (TEL code allowed for inbound telephone orders only. NACHA disallows the use of this code for outbound telephone solicitations calls). Web Initiated-Entry. Electronic authorization through the Internet to create an ACH entry.

TEL

WEB

7.14.
CODE:

Transaction Type Table


Transaction Type Code. The following table describes the Codes of transactions that can be submitted to the Gateway and how the Gateway will process them. Transaction Type Description
Used to validate a credit/debit card for the amount of goods sold. The Gateway will send this type of transaction to the financial institution for approval. However this transaction will not be sent for settlement. If the merchant does not act on the transaction within 30 days, the transaction will no longer be available for capture. Available for: E-checks*, Credit Cards, Check Cards, and Prepaid Cards. * Future use Used to validate a prepaid card for the amount of goods sold and may return an amount less than the requested amount if the total amount cannot be fully authorized. The Gateway will send this type of transaction to the financial institution for approval. However this transaction will not be sent for settlement. If the merchant does not act on the transaction within 30 days, the transaction will no longer be available for capture. Available for: Prepaid Cards Nashville platform only

CODE
0000

AUTH_ONLY

0001

PARTIAL_AUTH_ONLY

61

SecureNet Gateway Implementation Guide 4.1.1. CODE


0100

Transaction Type
AUTH_CAPTURE

Description
Identical to AUTH_ONLY, however on approval the transaction will be picked up for settlement. Available for: E-checks, Credit Cards, Check Cards, PIN Debit, PIN-less Debit, and Prepaid Cards.

0101

PARTIAL_AUTH_CAPTURE

Identical to PARTIAL_AUTH_ONLY, however on approval the transaction will be picked up for settlement. Available for: Prepaid Cards.

0200

PRIOR_AUTH_CAPTURE

This transaction is used to request settlement for a transaction that was previously submitted as an AUTH_ONLY. The Gateway will accept this transaction and initiate settlement if the following conditions are met: The transaction is submitted with the ID of the original authorization-only transaction to be settled. The transaction ID is valid and the system has a record of the original authorization-only transaction. The original transaction referred to is not already settled, expired, or voided. The amount being requested for settlement is less than or equal to the original authorized amount.

If no amount is submitted in this transaction, the Gateway will initiate settlement for the amount originally authorized. Note: If extended line item, tax, freight, and/or duty information was submitted with the original transaction, adjusted information may be submitted in the event that the transaction amount changed. If no adjusted line item, tax, freight, and/or duty information is submitted, the information submitted with the original transaction will apply. Available for: E-checks*, Credit Cards, Check Cards, and Prepaid Cards. * Future use

0300

CAPTURE_ONLY

This is a request to settle a transaction that was not submitted for authorization through the payment Gateway. The Gateway will accept this transaction if an authorization code is submitted. AUTHCODE is a required field for CAPTURE_ONLY transactions. Available for: Credit Cards, Check Cards, and Prepaid Cards.

62

SecureNet Gateway Implementation Guide 4.1.1. CODE


0400 VOID

Transaction Type

Description
This action cancels a previous transaction such that it is not sent for settlement. It can be performed on the following transaction types: CREDIT, AUTH_CAPTURE, CAPTURE_ONLY, and AUTH_ONLY. The transaction will be accepted by the Gateway if the following conditions are met: The transaction is submitted with the ID of the original transaction to be voided (REF_TRANSID). The Gateway has a record of the transaction referenced by the ID. The transaction has not been sent for settlement.

Available for: E-checks, Credit Cards, Check Cards, and Prepaid Cards All platforms

0401

PARTIAL_VOID

This action will reduce the amount of a previous unsettled transaction. The transaction is submitted with the ID of the original transaction to be voided (in REF_TRANSID field). The Gateway has a record of the transaction referenced by REF_TRANSID. The transaction has not been sent for settlement.

Available for: E-checks, Credit Cards, Check Cards, and Prepaid Cards. MOTO and E-Commerce merchants only Nashville platform only, TSYS in pipeline.

0402

VOID_BY_ORDERID

This action cancels a previous transaction such that it is not sent for settlement. It can be performed on unsettled transactions of the following types: AUTH_ONLY, AUTH_CAPTURE, PRIOR_AUTH_CAPTURE, CREDIT_AUTHONLY, and FORCE_CREDIT. The transaction will be accepted by the Gateway if the following conditions are met: The transaction is submitted with the ORDERID of the original transaction to be voided (in ORDERID field). The Gateway has a record of the transaction referenced by the ORDERID. The transaction has not been sent for settlement.

Available for: E-checks, Credit Cards, Check Cards, and Prepaid Cards All platforms

63

SecureNet Gateway Implementation Guide 4.1.1. CODE


0500 CREDIT

Transaction Type

Description
This transaction is also referred to as a Refund and indicates to the Gateway that money should flow from the merchant to the customer. The Gateway will accept a credit (refund) request if the transaction submitted meets the following conditions: The transaction is submitted with the ID of the original transaction against which the credit is being issued (REF_TRANSID). The transaction ID is valid and the system has a record of the original transaction. The original transaction has been settled. The sum submitted in the credit transaction and all credits submitted against the original transaction is less than or equal to the original transaction amount. The card number (or the last four digits thereof) submitted with the credit transaction matches the card number of the original transaction. The credit transaction is submitted within 120 days of the settlement date and time of the original transaction.

Available for: E-checks, Credit Cards, Check Cards, and Prepaid Cards.

0501

CREDIT_AUTHONLY

Similar to CREDIT but the transaction is not eligible to be captured until it is marked by Capture using CREDIT_PRIORAUTHCAPTURE Available for: Credit Cards, Check Cards, and Prepaid Cards.

0502

CREDIT_PRIORAUTHCAPTURE

Capture CREDIT_AUTHONLY transaction and mark for Capture and Settlement Available for: Credit Cards, Check Cards, and Prepaid Cards.

0600

FORCE_CREDIT

Similar to CREDIT used for Unlinked credits when previous Authorized Transaction is not Available. This feature has to be enabled by Merchant Service Provider on the Gateway Available for: E-checks, Credit Cards, Check Cards, and Prepaid Cards.

0601

FORCE_CREDIT_AUTHONLY

Similar to FORCE_CREDIT but the transaction is not eligible to be captured until it is marked by Capture using FORCE_CREDIT_PRIORAUTHCAPTURE Available for: Credit Cards, Check Cards, and Prepaid Cards.

0602

FORCE_CREDIT_PRIORAUTHCAPTURE

Capture FORCE_CREDIT_AUTHONLY transaction and mark for Capture and Settlement Available for: Credit Cards, Check Cards, and Prepaid Cards.

0700

VERIFICATION

Run Transaction Verification on Credit Card or Bank Account with zero dollar amount. Available for: Nashville , TSYS, and SecureNet FrontEnd platforms. Credit Cards and E-checks.

64

SecureNet Gateway Implementation Guide 4.1.1. CODE


0800

Transaction Type
AUTH_INCREMENT

Description
This action performs an incremental authorization on a previously authorized transaction (i.e., AUTH_ONLY). Only applicable to Visa transactions and only if the terminal has been set up as LODGING or AUTO RENTAL industry type. The transaction will be accepted by the Gateway if the following conditions are met: The transaction is submitted with the ID of the transaction. The Gateway has a record of the transaction referenced by the ID. The transaction has not been sent for settlement.

AUTH_INCREMENT can be submitted multiple times before submitting PRIOR_AUTH_CAPTURE.

0900

ISSUE

This action issues a new card or adds funds to an already activated stored value card; also used for refunds to a stored value card. Will be treated as credit to the card holder. Available for: Pre-paid Cards only Paymentech platform only

0901

ACTIVATE

This action activates a new card; only necessary if the stored value card is set to require activation. Available for: Pre-paid Cards only Paymentech platform only

0902

REDEEM

This action charges a card; the amount has to be within the available balance. Available for: Pre-paid Cards only Paymentech platform only

0903

REDEEM_PARTIAL

This action charges a card; the card will be approved only for the available balance on the card if the transaction is approved. Available for: Pre-paid Cards only Paymentech platform only

0904

DEACTIVATE

This action de-activates an activated card; amount should be specified as zero. Available for: Pre-paid Cards only Paymentech platform only

0905

REACTIVATE

This action re-activates a de-activated card. Available for: Pre-paid Cards only Paymentech platform only

65

SecureNet Gateway Implementation Guide 4.1.1. CODE


0906

Transaction Type
INQUIRY_BALANCE

Description
This action checks the available balance on the stored value card; amount should be specified as zero. The available balance on the gift card will be returned in the TRANSACTIONAMOUNT field in the TRANSACTIONRESPONSE object. Available for: Pre-paid Cards only Paymentech platform only

7.15.

SOFTDESCRIPTOR

Displays a description in addition to the merchants DBA. This is currently restricted to credit card transactions only. Contact Support to use this field. Maximum length is 25 characters. The SOFTDESCRIPTOR field should contain the Doing Business As (DBA) name of the merchant and be the name most recognizable to the cardholder. The SOFTDESCRIPTOR field must not be used as a description field in lieu of the required, recognizable name. In addition, the SOFTDESCRIPTOR field may contain a merchandise description, order number, reference number, or other information that will further identify the transaction and assist cardholder recognition. If additional information is used, the SOFTDESCRIPTOR field must conform to one of the following formats: Option 1: Field Position Pos. 13: Pos. 4: Pos. 525: Pos. 17: Pos. 8: Pos. 925: Pos. 112: Pos. 13: Pos. 1425: Data Merchant name or abbreviation Asterisk (*) Descriptive Information Merchant name or abbreviation Asterisk (*) Descriptive Information Merchant name or abbreviation Asterisk (*) Descriptive Information

Option 2:

Option 3:

66

SecureNet Gateway Implementation Guide 4.1.1.

7.16.

TRACKDATA

This field contains information encoded from a valid magnetic stripe and includes data such as Primary Account Number and Expiration Date. Unaltered Track Data must be forwarded intact. On Debit Card and EBT (Not Voucher Clear) transactions, this field is mandatory (with the exception of Debit Card PIN-Less transactions, which are entered manually). Track Data may contain Track 1 and/or Track 2 data. Track 2 data is required for Pin Debit transactions. Accurate Track 1 or Track 2 data is required to receive Card Present rates. Authorization requests containing altered Track 1 or Track 2 data will be flagged as NOT COMPLIANT by Visa and MasterCard, resulting in the merchant paying the highest transaction rate and forfeiture of chargeback protection. Both associations monitor noncompliant transactions and will assess fines and penalties to merchants that are not in compliance. The POS device or software must perform the following operations on Track read data before it can be used in an authorization request message: The longitudinal redundancy checks (LRC) must be calculated for the data read from the Track and compared to the LRC read from the Track. The Track data is assumed to be read without errors when no character parity errors are detected and the calculated and read LRCs match. The starting sentinel, ending sentinel, and LRC are discarded. The character codes read from the magnetic stripe must be converted from the encoded character set to the set used for the authorization request message. The characters encoded on Track 1 are six bit plus parity codes and the characters encoded on Track 2 are four bit plus parity codes, with the character set used for the request message defined as seven bit plus parity code. All characters read from a Track must be converted to the request message character set and transmitted as part of the request. The converted Track data cannot be modified by adding or deleting non-framing characters and must be a one for one representation of the characters read from the Track.

Note: You only need to submit Track 1 or Track 2 data. If both tracks are sent by the POS application, the Gateway will use the Track 1 information. If neither Track 1 nor Track 2 data is submitted, but x_card_num and x_exp_date are submitted, the Card Present transaction rate might be downgraded.

Track 1 Data
This is a variable length field with a maximum data length of 76 characters. The Track 1 data read from the cardholders card is checked for parity and LRC errors and then converted from the six-bit characters encoded on the card to seven bit characters as defined in ANSI X3.4. As part of the conversion, the terminal must remove the framing characters (start sentinel, end sentinel, and LRC characters). The separators must be converted to either an ASCII ^ (HEX 5E) or ASCII <US> (HEX 1F) characters. The entire unaltered Track, excluding framing characters, must be provided in the authorization request message or an error condition will result.

67

SecureNet Gateway Implementation Guide 4.1.1.

Track 1 can be encoded with up to 79 characters as shown below: SS FC PAN FS NAME FS DATE

SVC CD

DISCRETIONARY DATA

ES

LRC

LEGEND:

Field
SS FC PAN FS NAME FS DATE SVC CD DISCRETIONARY DATA ES LRC

Description
Start Sentinel Format Code (B for credit cards) Primary Account Number Field Separator Card Holder Name Field Separator Expiration Date (YYMM) Service Code Optional Issuer Data End Sentinel Longitudinal Redundancy Check Total Cannot exceed 79 bytes

Length
1 1 19 max 1 2-25 max 1 4 3 Variable 1 1 79

Format
% Alphanumeric Numeric ^ Alphanumeric ^ Numeric Numeric Alphanumeric ?

Track 2 Data
This is a variable length field with a maximum data length of 37 characters. The Track 2 data read from the cardholders card is checked for parity and LRC errors and then converted from the four-bit characters encoded on the card to seven bit characters as defined in ANSI X3.4. As part of the conversion, the terminal must remove the start sentinel, end sentinel, and LRC characters. The separators must be converted to either an ASCII = (HEX 3D) or ASCII D (HEX 44) characters. The entire UNALTERED Track (excluding framing characters) must be provided in the authorization request message or an error message will be generated. Track 2 Data can be encoded with up to 40 characters as shown below: SS PAN FS DATE SVC DISCRETIONARY ES CD DATA LEGEND:

LRC

Field
SS PAN FS DATE SVC CD DISCRETIONARY DATA ES LRC

Description
Start Sentinel Primary Account Number Field Separator Expiration Date (YYMM) Service Code Optional Issuer Data End Sentinel Longitudinal Redundancy Check Total Cannot exceed 40 bytes

Length
1 19 max 1 4 3 Variable 1 1 40

Format
; Numeric = Numeric Numeric Alphanumeric 0F Hex

68

SecureNet Gateway Implementation Guide 4.1.1.

7.17.

TRANSACTION_SERVICE
[Default] 0 Regular Transaction [SecureNet Vault Transactions] 1 Process Transaction using Customer ID 2 Process Transaction using SECONDARY_MERCHANT_KEY 3 Process Transaction Add Customer and Account

7.18.

Product Codes for Petroleum Industry Transactions


001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 Wipers Battery Fluids/Coolants Tires Hoses Filters Repairs Oil Change Tune Up Inspection Car Wash Tires/Batteries/Access Other Accessories Food Service Parts Labor Reserved Discount* Sales Tax** 023 024 025 026 027 028 030 031 032 033 034 035 040 041 042 043 044 045 046 051 056

Paymentech Petroleum Product Codes/Paymentech Generic Codes


Ethan1 (Regular) Diesel Unleaded Super Unleaded Other Fuel Unleaded Plus Gas/Alcohol Gas/Alcohol 2 Diesel 2 Propane CNG Unleaded 10% blend Unleaded Plus 10% blend Super Unleaded 10% Unleaded 7% blend Unleaded Plus 7% Super Unleaded 7% blend Refer Fuel Farm Fuel Multi-fuel Motor Oil Lamps

*Product Code 051: Discount is a negative amount **If tax is submitted as a Product Code, it must ALSO be submitted in the purchasing card data fields. Product Amounts can be treated as negative values if they have been setup as such with the host. When submitted, the total of the positive product amounts minus the negative product amounts must equal the transaction amount. Transaction amounts must cross foot: a) Sum of all Product Amounts must equal Transaction Amount.

69

SecureNet Gateway Implementation Guide 4.1.1.


b) If provided: Unit Price * Quantity = Product Amount (Quantity multiplied by Unit Price is rounded using 4/5 rounding to derive the extended amount.)

7.19.
7.19.1. 7.19.1.1.

Developer Notes
Sample Code Standard Payment Transaction - C#

Assuming the developer has service reference to the Gateway named GatewayService
using ProjectNamespace.GatewayService; private void ProcessGatewayTransaction() { //First define the primary objects that will be needed GatewayClient Client = new GatewayClient("BasicHttpBinding_IGateway"); TRANSACTION oT = new TRANSACTION(); GATEWAYRESPONSE oGr = new GATEWAYRESPONSE(); //All Gateway Transactions require a MERCHANT_KEY oT.MERCHANT_KEY = new MERCHANT_KEY(); //Create an instance of a payment object oT.CARD = new CARD(); //OR oT.CHECK = new CHECK(); //Add some additional objects to the transaction oT.CUSTOMER_BILL = new CUSTOMER_BILL(); oT.USERDEFINED = new USERDEFINED(); //Assign some values oT.MERCHANT_KEY.SECURENETID = 1234567; oT.MERCHANT_KEY.SECUREKEY = "OurSecureKey"; oT.CARD.CARDNUMBER = "4111111111111111"; oT.CARD.CARDCODE = "123"; oT.CARD.EXPDATE = "1212"; //MMYY oT.CUSTOMER_BILL.FIRSTNAME = "Customer"; oT.CUSTOMER_BILL.LASTNAME = "Last Name"; oT.USERDEFINED.UD1 = "Userdefined Value"; oT.USERDEFINED.UD2 = "There are 50 of these to use"; oT.AMOUNT = 1; oT.TEST = "FALSE"; // When testing, use TRUE oT.METHOD = "CC"; // We'll use a credit card oT.ORDERID = DateTime.Now.ToString("MMddyyhhmmss"); // Define a unique id for each transaction oT.CODE = "0000"; // An Auth only transaction //Process the Transaction oGr = Client.ProcessTransaction(oT); //Close the Client

70

SecureNet Gateway Implementation Guide 4.1.1.


Client.Close(); if (oGr.TRANSACTIONRESPONSE.RESPONSE_CODE == "1") { //Handle approved transaction } else if (oGr.TRANSACTIONRESPONSE.RESPONSE_CODE == "2") { //Handle declined transaction } else { //Handle transaction error } }

7.19.1.2.

SecureNet Vault Transactions - C#

using System; using VaultCodeSample.GatewayService; namespace VaultCodeSample { class Program { GatewayService.GatewayClient gsClient = new GatewayService.GatewayClient("BasicHttpBinding_IGateway"); // please use basicHttpbinding for SOAP for performance reason string customerId = "Test" + DateTime.Now.ToString("MMddyyhhmm"); static void Main(string[] args) { Console.WriteLine(" Type and Enter for Vault Transaction\n 1. ProcessVaultTransactionAndAddCustomerAccount \n 2." + "ProcessVaultTransactionByCustomerID \n 3. ProcessVaultAccount\n 4. ProcessTransactionbySecondarySecurenetID"); int s = Convert.ToInt32(Console.ReadLine()); Program p = new Program(); switch (s) { case 1: p.ProcessVaultTransactionAndAddCustomerAccount(); Console.WriteLine(" Request Successful"); break; case 2: p.ProcessVaultTransactionByCustomerID(); Console.WriteLine(" Request Successful"); break; case 3: p.ProcessVaultAccount(); Console.WriteLine(" Request Successful"); break; case 4: p.ProcessVaultTransactionBySecondarySecurenetId(); Console.WriteLine(" Request Successful"); break; default: Console.WriteLine(" Selected item is not valid"); break; } Console.Read();

71

SecureNet Gateway Implementation Guide 4.1.1.

} public void ProcessVaultTransactionAndAddCustomerAccount() { try { Console.WriteLine(" Running ProcessVaultTransactionAndAddCustomerAccount \n"); OPERATIONPARAMETERS operationParameters = new OPERATIONPARAMETERS(); operationParameters.ACTIONCODE = 1; operationParameters.ADD_IF_DECLINED = 0; var transaction = GetTransactionObject(); var transactionVault = new TRANSACTION_VAULT(); transactionVault.TRANSACTION = transaction; transactionVault.TRANSACTION.TRANSACTION_SERVICE = 3; transactionVault.ACCOUNT_VAULT = GetAccountVault(); transactionVault.CUSTOMER_VAULT = GetCustomerVault(); transactionVault.MERCHANT_KEY = new MERCHANT_KEY(); transactionVault.OPERATIONPARAMETERS = operationParameters; transactionVault.MERCHANT_KEY.SECUREKEY = "cWpQuPz0lI3p"; transactionVault.MERCHANT_KEY.SECURENETID = 1000093; var gatewayResponse = gsClient.ProcessVaultTransaction(transactionVault); Console.WriteLine(" Method |Payment ID | Customer ID|Response \n"); Console.WriteLine(" {0} | {1}| {2}| {3} \n", gatewayResponse.VAULTACCOUNTRESPONSE.METHOD, gatewayResponse.VAULTACCOUNTRESPONSE.PAYMENTID, gatewayResponse.VAULTCUSTOMERRESPONSE.CUSTOMERID, gatewayResponse.VAULTACCOUNTRESPONSE.RESPONSE_REASON_TEXT); } catch (Exception ex) { Console.WriteLine(ex.Message); } } private void ProcessVaultTransactionByCustomerID() { try { var transactionVault = new TRANSACTION_VAULT(); TRANSACTION transaction = GetTransactionObject(); transaction.TRANSACTION_SERVICE = 1; transaction.CUSTOMERID = "CID1"; // Please increase this number to the next one (e.g. CID2) or provide a unique number each time you run to get an approval transaction.CUSTOMER_BILL = GetVaultCustomerCustomerBill(); GatewayService.GatewayClient gatewayClient = new GatewayClient("wsBinding"); var gatewayResponse = gatewayClient.ProcessTransaction(transaction);

72

SecureNet Gateway Implementation Guide 4.1.1.


Console.WriteLine(" Method |Customer ID| Card Type, Response \n"); Console.WriteLine(" {0} | {1}| {2}| {3} \n", gatewayResponse.TRANSACTIONRESPONSE.METHOD, gatewayResponse.TRANSACTIONRESPONSE.CUSTOMERID, gatewayResponse.TRANSACTIONRESPONSE.CARDTYPE, gatewayResponse.TRANSACTIONRESPONSE.RESPONSE_REASON_TEXT); } catch (Exception ex) { Console.WriteLine(ex.Message); } } private void ProcessVaultTransactionBySecondarySecurenetId() { try { GatewayClient gatewayClient = new GatewayClient("wsBinding"); MERCHANT_KEY merchantSecondaryKey = new MERCHANT_KEY(); merchantSecondaryKey.SECURENETID = 1000093; merchantSecondaryKey.SECUREKEY = "cWpQuPz0lI3p"; var transactionVault = new TRANSACTION_VAULT(); var transaction = GetTransactionObject(); transaction.CUSTOMERID = "CID1"; // Please increase this number to the next one (e.g. CID2) or provide a unique number each time you run to get an approval transaction.PAYMENTID = "PID1"; // Please increase this number to the next one (e.g. PID2) or provide a unique number each time you run to get an approval transaction.TRANSACTION_SERVICE = 2; transaction.SECONDARY_MERCHANT_KEY = merchantSecondaryKey; var gatewayResponse = gatewayClient.ProcessTransaction(transaction); Console.WriteLine(" Method |Customer ID| Card Type, Response \n"); Console.WriteLine(" {0} | {1}| {2}| {3} \n", gatewayResponse.TRANSACTIONRESPONSE.METHOD, gatewayResponse.TRANSACTIONRESPONSE.CUSTOMERID, gatewayResponse.TRANSACTIONRESPONSE.CARDTYPE, gatewayResponse.TRANSACTIONRESPONSE.RESPONSE_REASON_TEXT); } catch (Exception ex) { Console.WriteLine(ex.Message); } } private void ProcessVaultAccount() { try { GatewayClient gatewayClient = new GatewayClient("wsBinding"); var transactionVault = new TRANSACTION_VAULT(); transactionVault.ACCOUNT_VAULT = GetAccountVault(); transactionVault.OPERATIONPARAMETERS = new OPERATIONPARAMETERS { ACTIONCODE = 1 }; //1 - add, 2- update, 3- delete transactionVault.MERCHANT_KEY = new MERCHANT_KEY();

73

SecureNet Gateway Implementation Guide 4.1.1.


transactionVault.MERCHANT_KEY.SECUREKEY = "cWpQuPz0lI3p"; transactionVault.MERCHANT_KEY.SECURENETID = 1000093; var gatewayResponse = gatewayClient.ProcessAccount(transactionVault); Console.WriteLine(" Method |Response \n"); Console.WriteLine(" {0} | {1}| \n", gatewayResponse.VAULTACCOUNTRESPONSE.METHOD, gatewayResponse.VAULTACCOUNTRESPONSE.RESPONSE_REASON_TEXT); } catch (Exception ex) { } } private void ProcessVaultCustomer(object sender, EventArgs e) { try { var transactionVault = new TRANSACTION_VAULT(); transactionVault.CUSTOMER_VAULT = GetCustomerVault(); transactionVault.OPERATIONPARAMETERS = new OPERATIONPARAMETERS { ACTIONCODE = 1 }; //1 - add, 2- update, 3- delete transactionVault.MERCHANT_KEY = new MERCHANT_KEY(); transactionVault.MERCHANT_KEY.SECUREKEY = "cWpQuPz0lI3p"; transactionVault.MERCHANT_KEY.SECURENETID = 1000093; gsClient.ProcessCustomer(transactionVault); } catch (Exception ex) { } } private void ProcessVaultAccountAndCustomer(object sender, EventArgs e) { try { var transactionVault = new TRANSACTION_VAULT(); transactionVault.CUSTOMER_VAULT = GetCustomerVault(); transactionVault.ACCOUNT_VAULT = GetAccountVault(); transactionVault.OPERATIONPARAMETERS = new OPERATIONPARAMETERS { ACTIONCODE = 1 }; //1 - add, 2- update, 3- delete transactionVault.MERCHANT_KEY = new MERCHANT_KEY(); transactionVault.MERCHANT_KEY.SECUREKEY = "cWpQuPz0lI3p"; transactionVault.MERCHANT_KEY.SECURENETID = 1000093; gsClient.ProcessCustomerAndAccount(transactionVault); } catch (Exception ex) { Console.WriteLine(ex.Message); } }

74

SecureNet Gateway Implementation Guide 4.1.1.

private GatewayService.CUSTOMER_VAULT GetCustomerVault() { var customerVault = new CUSTOMER_VAULT(); customerVault.CSDI = 0; customerVault.CUSTOMERID = "CID1"; // Please increase this number to the next one (e.g. CID2) or provide a unique number each time you run to get an approval customerVault.NOTES = "Notes"; customerVault.CUSTOMER_BILL = GetVaultCustomerCustomerBill(); return customerVault; } private GatewayService.CUSTOMER_BILL GetVaultCustomerCustomerBill() { GatewayService.CUSTOMER_BILL customerBill = new GatewayService.CUSTOMER_BILL(); customerBill.ADDRESS = "tbCVAddress"; customerBill.CITY = "CVCity"; customerBill.COMPANY = "CVCompany"; customerBill.COUNTRY = "CVCountry"; customerBill.EMAIL = "Email@securenet.com"; customerBill.EMAILRECEIPT = "TRUE"; customerBill.FIRSTNAME = "FirstName"; customerBill.LASTNAME = "LastName"; customerBill.PHONE = "3013500000"; customerBill.STATE = "MD"; customerBill.ZIP = "20850"; return customerBill; } private TRANSACTION_VAULT GetTransactionVault() { TRANSACTION_VAULT transactionVault = new TRANSACTION_VAULT(); transactionVault.ACCOUNT_VAULT = GetAccountVault(); transactionVault.CUSTOMER_VAULT = GetCustomerVault(); transactionVault.TRANSACTION = GetTransactionObject(); return transactionVault; } private GatewayService.ACCOUNT_VAULT GetAccountVault() { ACCOUNT_VAULT accountVault = new ACCOUNT_VAULT(); GatewayService.CARD card = new CARD(); card.CARDNUMBER = "4111111111111111"; card.EXPDATE = "1212"; accountVault.ACDI = 0; // other values 1,2 0r 3 accountVault.CUSTOMERID = "CID1";

75

SecureNet Gateway Implementation Guide 4.1.1.


// Please increase this number to the next one (e.g. CID2) or provide a unique number each time you run to get an approval accountVault.CARD = card; accountVault.PAYMENTID = "PID1"; // Please increase this number to the next one (e.g. PID2) or provide a unique number each time you run to get an approval accountVault.PRIMARY = "TRUE"; accountVault.METHOD = "CC"; // Possible values DB, ECHECK, CHECK21 return accountVault; } private GatewayService.TRANSACTION GetTransactionObject() { MERCHANT_KEY merchantKey = new MERCHANT_KEY(); merchantKey.SECUREKEY = "cWpQuPz0lI3p"; merchantKey.SECURENETID = 1000093; GatewayService.CARD card = new GatewayService.CARD(); GatewayService.TRANSACTION transaction = new GatewayService.TRANSACTION(); card.CARDNUMBER = "4111111111111111"; card.EXPDATE = "1212"; transaction.CARD = card; transaction.CODE = "0100"; transaction.AMOUNT = 1.00m; transaction.TEST = "FALSE"; transaction.ORDERID = DateTime.Now.ToString().Replace("/", "").Replace(":", "").Replace(" ", ""); transaction.METHOD = "CC"; transaction.TRANSACTION_SERVICE = 1; transaction.MERCHANT_KEY = merchantKey; return transaction; } private GatewayService.CUSTOMER_BILL GetVaultAccountCustomerBill() { GatewayService.CUSTOMER_BILL CustomerBill = new GatewayService.CUSTOMER_BILL(); CustomerBill.ADDRESS = " Test ASddress"; CustomerBill.CITY = " Test City"; CustomerBill.COMPANY = "US"; CustomerBill.EMAIL = "test@test.com"; CustomerBill.EMAILRECEIPT = "FALSE"; CustomerBill.FIRSTNAME = "First Name"; CustomerBill.LASTNAME = "Phone"; CustomerBill.STATE = "MD"; CustomerBill.ZIP = "20878"; return CustomerBill; } } }

76

SecureNet Gateway Implementation Guide 4.1.1.

7.19.2.

Some best practices for SecureNet API implementation

Gateway URL, SecureNet ID, SecureKey and test mode should be designed to be configurable by the developer who is integrating to the API.

7.19.3.

Test Data

To perform tests in our test environment make sure to set Virtual Terminal to LIVE MODE, the TEST parameter as FALSE, and send the transactions to https://certify.securenet.com/API/Gateway.svc To request a test account, please contact your sales agent, or send a request to support@securenet.com.

Credit Cards:
Test Credit Card Numbers for Approved Transactions American Express 370000000000002 Discover 6011000000000012 MasterCard 5424000000000015 Visa 4444333322221111 Fraud Prevention Settings AVS Match CVV/CID Approval CVV/CID Visa CVV/CID MasterCard 20008 568 999 998

Test Credit Card Numbers for Declined Transactions MasterCard 5105105105105100 MasterCard 5555555555554444 Visa 4111111111111111 Visa 4012888888881881 American Express 378282246310005 American Express 371449635398431

Checks:
For checking account number - use any 6-digit number. Valid Routing Numbers: 222371863 307075259 052000113

77

SecureNet Gateway Implementation Guide 4.1.1.

7.19.4.

Fault exceptions

When you are submitting an incorrect request, which is not validated by our XSD, we will send an HTTP 400 Bad Request response. Please look at the RESPONSE_REASON_TEXT for description of the error and modify your request accordingly. When submitting an HTTP POST (REST) request: 1. Please make sure that all the request elements are present in the order that is defined in XSD. 2. Fields, which are of value type, i.e. Integer, Decimal, etc., must be present in the request even if not needed, if their parent object is present. For example: If TRANSACTION object is sent as request xml then OVERRIDE_FROM, TOTAL_INSTALLMENTCOUNT, INSTALLMENT_SEQUENCENUM, TRANSACTION_SERVICE, RETAIL_LANENUM, DCI, AMOUNT, CASHBACK_AMOUNT elements should be present in proper order (as defined in XSD) even if the values are 0.

7.19.5.
Error Code
0102

API Error Codes


Message
ORDER ID PROVIDED MUST BE UNIQUE FOR YOUR ACCOUNT

Gateway API can return multiple errors for different operations. Here are some examples and suggested solutions:

Correcting this error


A client generated unique ID is required for each transaction submitted to the Gateway. Please note that if submitting a refund on a previously settled transaction, ORDERID for a refund still needs to be unique (do not use the one from the settled transaction), while TRANSACTIONID remains the same. Please make sure the SecureNet ID and Secure Key are correct. If they are - this error message is most likely caused by using production SecureNet ID/Key with a demo URL or vice versa. Make sure you are referencing the correct URL: https://certify.securenet.com/api/gateway.svc - Certification Environment (test/demo environment) https://gateway.securenet.com/api/gateway.svc - Production Environment (live environment)

0104

SECURE KEY IS INVALID FOR SECURENET ID PROVIDED

01C0

MERCHANT ACCOUNT IS NOT SET FOR CARD PRESENT

Please provide credit card number for the transaction. Full card number is required for: AUTH_ONLY, PARTIAL_AUTH_ONLY, AUTH_CAPTURE, PARTIAL_AUTH_CAPTURE, CAPTURE_ONLY, CREDIT_AUTHONLY, FORCE_CREDIT, FORCE_CREDIT_AUTHONLY, VERIFICATION, AUTH_INCREMENT, ISSUE, ACTIVATE, REDEEM, REDEEM_PARTIAL, DEACTIVATE,

78

SecureNet Gateway Implementation Guide 4.1.1.


REACTIVATE, and INQUIRY_BALANCE transactions. Last 4 digits of the card number are required for PRIOR_AUTH_CAPTURE, VOID, PARTIAL_VOID, CREDIT, CREDIT_PRIORAUTHCAPTURE, and FORCE_CREDIT_PRIORAUTHCAPTURE transactions. 01C9 MERCHANT DOES NOT ACCEPT Merchant does not accept card type submitted with the transaction.

Here is a complete list of API error codes and descriptions:

Response Code
0100 0100 0100 0101 0102 01O3 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125

Response Sub Code


0001 0002 0003

Reason Text
ERROR GATEWAY CONNECTION PROBLEM.RETRY NetConnect Error SECURENET ID IS REQUIRED SECURENET KEY IS REQUIRED ORDERID PROVIDED MUST BE EQUAL OR LESS THAN 25 CHARACTERS SECURENET ID IS INVALID SECURE KEY IS INVALID FOR SECURENET ID PROVIDED TEST VALUE SHOULD BE TRUE OR FALSE ORDERID PER TRANSACTION IS REQUIRED TRANSACTION AMOUNT IS REQUIRED METHOD VALUE SHOULD BE SPECIFIED TRANSACTION TYPE IS INVALID RECORDTYPE SHOULD BE SPECIFIED SAVE OR RECURRING OR PROCESS MERCHANT ACCOUNT IS INACTIVE DEBIT KEY SERIAL NUMBER(KSN) IS REQUIRED <VARIABLE> IS NOT ALLOWED ON CHECK21 TRANSACTION DEBIT PIN IS REQUIRED DEBIT PIN IS INVALID <VARIABLE> IS NOT ALLOWED ON DEBIT TRANSACTION <VARIABLE> IS NOT VALID STORED VALUE TRANSACTION CUSTOMER ID IS REQUIRED CUSTOMER ID MUST EXIST TO ADD/UPDATE ACCOUNT PAYMENT ID CANNOT BE NULL PAYMENT ID SHOULD BE UNIQUE FOR EXISTING CUSTOMER ID PAYMENT ID DOES NOT EXIST FOR THE CUSTOMER ID CUSTOMER ID MUST BE UNIQUE FOR EACH CUSTOMER RECORD CUSTOMER ID DOES NOT EXIST SECURENET ID SHOULD BE NUMBER ONLY

79

SecureNet Gateway Implementation Guide 4.1.1.


0126 0127 0128 0129 0130 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0150 0151 0152 0153 0154 0156 0157 0158 0159 0170 0181 01A1 01A2 01A3 01A4 01A5 01A6 TRANSACTION ID SHOULD BE NUMBER ONLY TRANSACTION TYPE SHOULD BE AUTH_CAPTURE, AUTH_ONLY, CAPTURE_ONLY, CREDIT, FORCE_CREDIT, VOID, PRIOR_AUTH_CAPTURE CUSTOMER ID OR PAYMENT ID DOES NOT EXIST OR INVALID NO MATCH FOUND AS PER CUSTOMER ID AND PAYMENT ID MERCHANT ACCOUNT IS NOT VALID MERCHANT ACCOUNT IS NOT ENABLED FOR MOTO TRANSACTION MERCHANT ACCOUNT IS NOT ENABLED FOR ECOM TRANSACTION ECO(FORCE CREDIT) NOT ENABLED FOR THE MERCHANT NO APPROVED TRANSACTION EXISTS TO VOID FOR THE ORDER ID PROVIDED CAN NOT RERUN A TRANSACTION FOR A CARD-PRESENT TYPE TRANSACTION REFERENCE TRANSACTION MUST BE SUBMITTED WITHIN 90 DAYS INDUSTRY TYPE IS NOT SUPPORTED FOR ASSIGNED PROCESSOR SETTLED TRANSACTIONS CANNOT BE MODIFIED APPROVED TRANSACTION IS REQUIRED FOR CHANGING IT TO AUTH_ONLY <VARIABLE> NUMBER IS INVALID. ACCURACY OF THE CARD CANNOT BE VALIDATED <VARIABLE> NUMBERS ARE INVALID CARD TYPE COULDN'T BE IDENTIFIED BILL PAYMENT TRANSACTION IS NOT ALLOWED FOR RECURRING OR INSTALLMENT MERCHANT IS NOT ENABLED TO SEND LEVEL 3 TRANSACTION ADDRESS INFORMATION WITH ZIPCODE SHOULD BE PROVIDED FOR AVS_VERIFICATION CHECK NO MOTO/ECOM TRANSACTION FOR RETAIL MERCHANT IN NASHVILLE NO MOTO TRANSACTIONS FOR ECOM MERCHANT OTHER THAN RECURRING TRANSACTION CardType is invalid. MERCHANT IS NOT ENABLED FOR BILL PAYMENT MERCHANT IS NOT ENABLED FOR DEBT PAYMENT INVALID MARKET SPECIFIC DATA INSTALLMENT_SEQUENCENUM AND TOTAL_INSTALLMENTCOUNT RANGE 1-99 INSTALLMENT SEQUENCE NUMBER CANNOT BE GREATER THAN TOTAL INSTALLMENT COUNT <VARIABLE> TRANSACTION IS NOT ALLOWED PAYMENTID HAS TO BE ALPHANUMERIC CUSTOMERID HAS TO BE ALPHANUMERIC CREDIT CARD LAST 4 DIGITS DOES NOT MATCH DURING UPDATE MerchantID Not Found Merchant not enabled for BuyPass AMOUNT IS INVALID AMOUNT CANNOT BE GREATER THAN $999,999.99 VALID AMOUNT IS REQUIRED CASH BACK AMOUNT IS INVALID VALID CASH BACK AMOUNT IS REQUIRED GRATUITY AMOUNT IS INVALID

80

SecureNet Gateway Implementation Guide 4.1.1.


01A7 01A8 01A9 01A11 01ACH0 01ACH1 01ACH2 01ACH3 01ACH4 01ACH7 01ACH8 01ACH9 01ACH10 1ACH11 1ACH11 1ACH11 1ACH11 01B7 01B8 01C0 01C1 01C2 01C3 01C3 01C3 01C3 01C3 01C3 01C3 01C3 01C3 01C4 01C6 01C7 01C8 01C9 01D1 01E1 01F1 01H5 01H6 01H7 01H8 VALID GRATUITY AMOUNT IS REQUIRED ROOM RATE AMOUNT IS INVALID VALID ROOM RATE AMOUNT IS REQUIRED VALID HOTEL EXTRA CHARGE AMOUNT IS REQUIRED MERCHANT IS NOT ENABLED FOR ACH TRANSACTIONS 9 DIGIT ABA ROUTING NUMBER OF THE BANK IS REQUIRED ACCOUNT NUMBER IS REQUIRED BANK NAME IS REQUIRED INVALID BANK ACCOUNT NUMBER BANK ACCOUNT NUMBER HAS TO BE NUMERIC THIS BANK ACCOUNT IS BLOCKED DUE TO PREVIOUS RETURN NOC RECEIVED, INVALID BANK INFORMATION MICRDATA NOT RECEIVED FOR CHECK21 TRANSACTIONS ACH SEC CODE IS NOT SUPPORTED INVALID ROUTING NUMBER ACH AMOUNT LIMIT IS EXCEED FOR SEC CODE INVALID CHECK NO BANK ACCOUNT DOES NOT MATCH FOR ACCOUNT TYPE DOES NOT MATCH FOR MERCHANT ACCOUNT IS NOT SET FOR CARD PRESENT TRANSACTIONS CREDIT CARD NUMBER IS REQUIRED CREDIT CARD EXPIRY MONTH AND YEAR IS REQUIRED CARD NUMBER IS NOT SPECIFIED NOT A VALID CARD NUMBER THE CARD CODE(CVV2/CVC2/CID) IS INVALID EXPIRY DATE HAS TO BE IN MMYY FORMAT EXPIRY DATE IS NOT A VALID DATE CREDIT CARD HAS EXPIRED DEBIT CARD IS NOT VALID THE CARD CODE IS INVALID STORED VALUE CARD IS NOT VALID CARD EXPIRY MONTH AND YEAR MUST BE IN MMYY FORMAT INVALID TRACK DATA TRACK DATA SHOULD NOT BE PRESENT FOR CARD-NOT-PRESENT TRANSACTION CARD NUMBER HAS TO BE NUMERIC MERCHANT DOES NOT ACCEPT DEBIT CARD NEEDS TO BE SWIPED EMAIL RECEIPT VALUE SHOULD BE TRUE OR FALSE SERVER NO CANNOT BE GREATER THAN 8 CHARACTERS NAME ON THE CUSTOMERS BANK ACCOUNT IS REQUIRED BANK ACCOUNT TYPE CHECKING OR SAVINGS IS REQUIRED BANK ACCOUNT TYPE SHOULD BE SPECIFIED AS CHECKING OR SAVINGS NOC RECIEVED, INVALID BANK INFORMATION

0001 0003 0004 0005

0001 0002 0003 0004 0005 0006 0007 0008 0009

81

SecureNet Gateway Implementation Guide 4.1.1.


01O1 01O2 01R1 01R2 01R3 01R4 01R5 01R6 01R7 01R8 01R9 01R10 01R11 01V1 01V2 01V3 01V4 0O01 0O02 0O03 0O04 0O05 0O06 0O07 0O08 0O09 0O10 0O11 0O12 0O14 0O15 1A10 1A11 1A12 1A13 1A14 1A15 1A16 1ACH10 1DB0 1SV0 1SV1 1SV2 PREVIOUS TRANSACTION ID IS REQUIRED ORDERID PROVIDED MUST BE UNIQUE FOR YOUR ACCOUNT TRANSACTION ID DOES NOT EXIST FOR CREDIT AMOUNT CANNOT BE GREATER THAN THE AUTHORIZED AMOUNT CREDIT CANNOT BE COMPLETED ON A UNSETTLED TRANSACTION CREDIT CANNOT BE COMPLETED ON A <VARIABLE >TRANSACTION INVALID TRANSACTION ID FOR CREDIT OR VOID HAS TO BE DONE IN THE SAME TEST MODE CREDIT CARD DOES NOT MATCH FOR CREDIT CANNOT BE PERFORMED ON TRANSACTIONS MORE THAN 180 DAYS OLD PRIOR_AUTH_CAPTURE CANNOT BE PERFORMED ON 30 DAYS OR OLD TRANSACTION TRANSACTION CANNOT BE REVERSED AS ITS ALREADY SETTLED CREDIT TRANSACTION CANNOT BE REVERSED AS ITS ALREADY SETTLED TRANSACTIONS CANNOT BE VOIDED TRANSACTION HAS ALREADY BEEN VOIDED CREDIT SETTLED TRANSACTIONS CANNOT BE VOIDED AMOUNT CANNOT BE GREATER THAN THE AUTHORIZED AMOUNT PARAMETERS MISSING IN PETROLEUM ITEMIZED PRODUCTS NO OF PETROLEUM ITEMIZED PRODUCTS CANNOT EXCEED 9 PETROLEUM PRODUCT CODE IS INVALID UNIT PRICE IS NOT IN VALID FORMAT INVALID UNIT PRICE PRODUCT QUANTITY IS NOT IN VALID FORMAT INVALID PRODUCT QUANTITY INVALID PRODUCT CODE FOR FUEL ONLY CARD INVALID PRODUCT QUANTITY PRODUCT AMOUNT IS INVALID FOR UNIT PRICE AND QUANTITY PROVIDED LEVEL 2 TAX AMOUNT IS REQUIRED TOTAL PRODUCT AMOUNT IS NOT EQUAL TO TRANSACTION AMOUNT PRODUCT QUANTITY IS NOT IN VALID FORMAT ITEMIZED PRODUCTS ARE REQUIRED HOTEL EXTRA CHARGE AMOUNT IS INVALID VALID HOTEL EXTRA CHARGE AMOUNT IS REQUIRED AUTO EXTRA CHARGE AMOUNT IS INVALID VALID AUTO EXTRA CHARGE AMOUNT IS REQUIRED AMOUNT CANNOT BE GREATER THAN $99,9999 CASH BACK AMOUNT CANNOT BE GREATER THAN $100 CASH BACK AMOUNT CANNOT BE GREATER OR EQUAL TO TRANSACTION AMOUNT VALID 9 DIGIT ABA ROUTING NUMBER OF THE BANK IS REQUIRED MERCHANT IS NOT ENABLED FOR DEBIT TRANSACTIONS MERCHANT IS NOT ENABLED FOR STORED VALUE TRANSACTIONS STORED VALUE NUMBER IS REQUIRED STORED VALUE MONTH AND YEAR IS REQUIRED IN MMYY FORMAT

82

SecureNet Gateway Implementation Guide 4.1.1.


1SV5 ACD3 ACD4 AO01 AO04 AO05 AO06 AO07 AO08 AO09 AO10 AO10 AO11 AO12 AO14 AO15 AO16 AO17 AO18 AB01 AB02 AB03 AB04 AB05 AB06 AB08 AB09 AB11 AB10 AB11 AB12 AB13 AB14 AB15 AB16 AB17 AB18 AB19 AB20 AB21 AB22 AB23 AB24 PARTIAL REVERSAL IS NOT ALLOWED FOR RETAIL INDUSRTY DUPLICATE ACCOUNT EXISTING ACCT NO/TOKEN COMBINATION PREFERRED CUSTOMER VALUE IS INVALID AUTORENTAL SALE CODE IS INVALID AUTO EXTRA CHARGE INDICATOR IS INVALID RENTAL DATE IS REQUIRED RETURN DATE IS REQUIRED RENTAL DATETIME IS INVALID RETURN DATETIME IS INVALID RENTAL TIME IS REQUIRED INVALID RENTAL AND RETURN DATES VALID AUTO EXTRA CHARGE AMOUNT IS REQUIRED RENTAL TIME SHOULD BE VALID TIME RETURN TIME SHOULD BE VALID TIME RENTAL STATE IS INVALID RETURN STATE IS INVALID RENTAL STATE MUST BE VALID 2 CHARACTER ABBREVIATION RETURN STATE MUST BE VALID 2 CHARACTER ABBREVIATION CUSTOMER ID IS REQUIRED PAYMENT ID IS REQUIRED AB TYPE IS REQUIRED MAX RETRIES MUST BE BETWEEN 0 AND 5 START DATE IS REQUIRED INVALID START DATE INVALID CUSTOMERID NO RECURRING INFORMATION PROVIDED NO INSTALLMENT INFORMATION PROVIDED NO VARIABLE INFORMATION PROVIDED NO INSTALLMENT INFORMATION PROVIDED INVALID AMOUNT AB CYCLE IS REQUIRED INVALID AB CYCLE (W,M,B,Q,Y) INVALID FREQUENCY INVALID AB DAY (0 - 28) INVALID AB MONTH (0 - 12) INVALID AB WEEKDAY (0 - 7) INVALID NO END DATE FLAG (0, 1) VALID END DATE IS REQUIRED END DATE MUST BE AFTER START DATE AB AUTO CALC OPTION IS REQUIRED INVALID AB AUTO CALC OPTION (A, M) INVALID AB REMAINDER OPTION (0, 1)

0001 0002

83

SecureNet Gateway Implementation Guide 4.1.1.


AB25 AB26 AB27 AB28 AB29 AB30 AB31 AB32 AB33 AB34 AB35 AB36 AB37 AB38 AB39 AB40 AB41 AB42 AB43 AB44 AB45 AB46 AB47 AB48 AB49 AB50 AB51 AB52 AB53 AB54 AB55 AB54 AB57 AB58 AB59 AB60 AB61 AB62 AB63 AB64 AB65 AB66 AB67 INVALID AB INSTALLMENT COUNT (1 - 99) INSTALLMENT AMOUNT MINIMUM IS 1.00 INVALID BALLOON AMOUNT INVALID AB BALLOON OPTION (0, 1) AB PLAN NOT FOUND END DATE CANNOT BE BEFORE CURRENT DATE. END DATE IS REQUIRED WHEN NO END FLAG = 0 INVALID END DATE START DATE CANNOT BE CHANGED ONCE PLAN IT HAS STARTED START DATE CANNOT BE BEFORE TOMORROW PLAN ID IS REQUIRED AB TYPE CANNOT BE CHANGED AB SCHEDULE IS REQUIRED INVALID SCHEDULE SCHEDULED PAYMENT COUNLD NOT BE FOUND INVALID PAYMENT AMOUNT INSTALLMENT DATE IS REQUIRED INVALID INSTALLMENT DATE INVALID INSTALLMENT NUMBER INVALID NUMBER OF RETRIES PAID STATUS CANNOT BE UPDATED INSTALLMENT NUMBER CANNOT BE UPDATED NUMBER OF RETRIES CANNOT BE UPDATED PAYMENT DATE CANNOT BE UPDATED PLAN ID CANNOT BE UPDATED PROCESSED CANNOT BE UPDATED VARIABLE SCHEDULE IS REQUIRED TRANSACTIONID CANNOT BE UPDATED PAID TRANSACTIONS CANNOT BE UPDATED PROCESSED TRANSACTIONS CANNOT BE UPDATED INSTALLMENT DATE CANNOT BE BEFORE TOMORROW INSTALLMENT DATE CANNOT BE BEFORE PREVIOUS INSTALLMENT DATE INSTALLMENT DATE CANNOT BE AFTER NEXT INSTALLMENT DATE INVALID AB TYPE ERROR SAVING AB PLAN ERROR SAVING AB SCHEDULE CUSTOMER ID NOT FOUND IN VAULT PAYMENT ID NOT FOUND IN VAULT SCHEDULED PAYMENT CANNOT BE NULL ONLY NEXT SCHEDULED PAYMENT CAN BE ADJUSTED FOR RECURRING TYPES SCHEDULED PAYMENT CANNOT BE UPDATED DUE TO PROCESS STATUS ONLY AMOUNT CAN BE UPDATED FOR RECURRING SCHEDULE CHANGE INVALID SCHEDULE ID (ONLY NEXT PAYMENT CAN BE ADJUSTED FOR RECURRING TYPE)

84

SecureNet Gateway Implementation Guide 4.1.1.


AB68 AB69 AB70 AB71 AB72 AB73 AB74 AB75 AB00 PR01 PR02 CA01 CA02 HO01 HO02 HO03 HO04 HO05 HO06 HO07 HO08 HO09 HO10 L201 L202 L202 L2A1 L2A2 L2A3 L2A4 L2D1 L2D2 L2D3 L2D4 L301 L302 L303 L304 L305 L306 L307 L308 L309 ONLY ONE SCHEDULED PAYMENT CAN BE UPDATED AT A TIME SCHEDULE ID IS REQUIRED CANNOT EXCEED 99 INSTALLMENTS INSTALLMENT NUMBER IS REQUIRED BALLOON SCHEDULED PAYMENT AMOUNT CANNOT BE CHANGED LAST SCHEDULED PAYMENT AMOUNT CANNOT BE CHANGED NO PLANS FOUND AB IS NOT ENABLED FOR THIS SECURENET ID CALCULATION ERROR PRODUCT COLLECTION CANNOT CONTAIN NULL PRODUCT LEVEL3PRODUCT COLLECTION CANNOT CONTAIN NULL LEVEL3PRODUCT AUTHORIZATION CODE IS REQUIRED AUTHORIZATION CODE LENGTH HAS TO BE 6 PREFERRED CUSTOMER VALUE IS INVALID HOTEL CHARGE TYPE IS REQUIRED HOTEL CHARGE TYPE IS INVALID HOTEL SALE CODE IS INVALID HOTEL EXTRACHARGEINDICATOR IS INVALID HOTEL CHECK IN DATE IS REQUIRED HOTEL CHECK OUT DATE IS REQUIRED HOTEL CHECK IN DATE SHOULD BE VALID DATE HOTEL CHECK IN DATE SHOULD BE VALID DATE INVALID CHECKIN AND CHECK OUT DATES TAX FLAG VALUE IS INVALID TAX AMOUNT IS REQUIRED IF TAX IS INCLUDED PURCHASE ORDER NUMBER IS REQUIRED TAX AMOUNT IS INVALID TAX AMOUNT HAS TO BE BETWEEN 0.01% AND 22% OF THE AUTHORIZED AMOUNT VALID TAX AMOUNT IS REQUIRED TAX AMOUNT CANNOT BE GREATER THAN $99,9999 DUTY AMOUNT IS INVALID DUTY AMOUNT CANNOT BE GREATER THAN $99,9999 VALID DUTY AMOUNT IS REQUIRED DUTY AMOUNT CANNOT BE GREATER THAN $99,9999 MERCHANT VAT REGISTRATION NUMBER IS REQUIRED PURCHASER VAT REGISTRATION NUMBER IS REQUIRED VAT INVOICE REF NUMBER IS REQUIRED VAT TAX AMOUNT IS REQUIRED VAT TAX AMOUNT IS INVALID VAT TAX RATE IS REQUIRED ALTERNATE TAX AMOUNT INDICATOR IS INVALID ALTERNATE TAX AMOUNT IS INVALID NATIONAL TAX AMOUNT INDICATOR IS INVALID

0001 0002

85

SecureNet Gateway Implementation Guide 4.1.1.


L310 L311 L312 L313 L314 L315 L316 L317 L318 L319 L320 L321 L322 L323 L324 L325 L326 L327 L329 L330 L331 P004 P004 P004 P005 P006 P100 PA10 PA11 PA12 PAC1 PAC4 PAC5 PAC6 PAC7 PAC8 PAC9 RB01 RB02 RB03 RB04 RB05 NATIONAL TAX AMOUNT IS INVALID ORDER DISCOUNT AMOUNT IS INVALID ORDER DUTY AMOUNT IS INVALID ORDER FREIGHT AMOUNT IS INVALID PURCHASER ORDER DATE IS INVALID PARAMETERS MISSING IN LEVEL 3 ITEMIZED PRODUCTS PRODUCT ITEM CODE IS REQUIRED PRODUCT ITEM NAME IS REQUIRED PRODUCT UNIT PRICE IS REQUIRED PRODUCT UNIT PRICE IS INVALID PRODUCT QUANTITY IS REQUIRED PRODUCT QUANTITY IS INVALID PRODUCT DISCOUNT INDICATOR IS INVALID PRODUCT DISCOUNT RATE IS INVALID PRODUCT DISCOUNT AMOUNT IS INVALID PRODUCT TAX RATE IS INVALID PRODUCT TAX AMOUNT IS INVALID PRODUCT TOTAL AMOUNT IS INVALID PRODUCT GROSS NET INDICATOR IS INVALID TRANSACTION AMOUNT AND LEVEL 3 PRODUCTS TOTAL AMOUNT DOES NOT MATCH LEVEL 3 TAX AMOUNT DOES NOT MATCH WITH LEVEL 2 TAX AMOUNT VEHICLE NUMBER FOR SHELL SHOULD BE 6 CHARACTERS VEHICLE NUMBER SHOULD NOT BE MORE THAN 6 CHARACTERS VEHICLE NUMBER SHOULD NOT BE MORE THAN 5 CHARACTERS ODOMETER SHOULD NOT BE MORE THAN 6 CHARACTERS DRIVER/JOBNUMBER SHOULD NOT BE MORE THAN 6 CHARACTERS TRANSACTION IS NOT ALLOWED TRANSACTION AMOUNT CANNOT BE REVERSED MORE THAN THE TOTAL AUTHORIZED AMOUNT TRANSACTION HAS BEEN ALREADY VOIDED CAPTURE AMOUNT CANNOT BE GREATER THAN PREVIOUSLY AUTHORIZED AMOUNT TRANSACTION IS ALREADY CAPTURED <VARIABLE> IS INVALID FOR THIS TERMINAL AUTH_REVERSAL IS VALID FOR VISA ONLY AUTH_INCREMENT IS VALID FOR VISA ONLY TRANSACTION CANNOT BE CAPTURED(DOES NOT MEET THE CRITERIA) TRANSACTION CANNOT BE INCREMENTED(DOES NOT MEET THE CRITERIA) TRANSACTION HAS BEEN ALREADY VOIDED RECURRING AMOUNT IS REQUIRED RECURRING AMOUNT IS INVALID VALID RECURRING AMOUNT IS REQUIRED RECURRING AMOUNT CANNOT BE GREATER THAN $99,9999 RECURRING BILLING START DATE IS REQUIRED

0001 0002 0003

0001 0002

86

SecureNet Gateway Implementation Guide 4.1.1.


RB06 RB07 RB08 RB09 RB10 RB11 RB12 RB14 RB15 RB16 RB17 RB18 RB19 RB20 RB21 RB22 RB23 RB24 RB25 RB26 RB27 RB28 RB29 RB30 RB31 RB32 RB33 RB34 RB35 RB36 PD01 PD02 PD03 PD04 PD05 PD06 PD07 PD08 PD09 PD10 RECURRING BILLING START DATE IS INVALID RECURRING BILLING START DATE CANNOT BE LESS THAN OR EQUAL TO CURRENT DATE SPECIFY RECURRING BILLING HAS END DATE, YES OR NO RECURRING BILLING HAS END DATE SHOULD BE YES OR NO RECURRING BILLING END DATE IS INVALID RECURRING BILLING END DATE CANNOT BE LESS THAN OR EQUAL TO START DATE SPECIFY RECURRING BILLING PERIOD,YYEARLY,MMONTHLY,WWEEKLY RECURRING BILLING PERIOD HAS TO BE YYEARLY,MMONTHLY,WWEEKLY SPECIFY RECURRING BILLING DAY BASED ON THE BILLING PERIOD RECURRING BILLING DAY HAS TO BE A NUMBER RECURRING BILLING DAY CAN BE BETWEEN 1-SUNDAY TO 7-SATURDAY WEEKLY BILLING SPECIFY RECURRING BILLING MONTH BASED ON THE BILLING PERIOD RECURRING BILLING MONTH HAS TO BE A NUMBER SPECIFY RECURRING BILLING ACCOUNT AS ACTIVE, YES OR NO CUSTOMER ID SHOULD BE SPECIFIED FOR SAVE OR RECURRING RECORD CUSTOMER ID SHOULD BE UNIQUE FOR SAVE OR RECURRING RECORD PASSWORD SHOULD BE PROVIDED FOR THE USERNAME FOR SAVE OR RECURRING RECORD USERNAME SHOULD BE UNIQUE FOR SAVE OR RECURRING RECORD TRANSACTION TYPE CANNOT BE CREDIT,FORCE_CREDIT, VOID DURING SAVING OR RECURRING SPECIFY RECURRING BILLING PERIODICITY FOR THE SPECIFIED RBPERIOD RECURRING BILLING PERIODICITY HAS TO BE A NUMBER RECURRING BILLING PERIODICITY CAN BE BETWEEN 1 TO 3 FOR (Y) RECURRING BILLING PERIODICITY CAN BE BETWEEN 1 TO 51 FOR (W) RECURRING BILLING PERIODICITY CAN BE BETWEEN 1 TO 11 FOR (M) RECURRING NEXT BILLING DATE IS REQUIRED RECURRING NEXT BILLING DATE IS INVALID RECURRING NEXT BILLING DATE CANNOT BE LESS THAN OR EQUAL TO CURRENT DATE RECURRING BILLING END DATE IS REQUIRED RECURRING BILLING DAY CAN BE BETWEEN 1 TO 28 OR 0 FOR MONTH END RECURRING BILLING MONTH CAN BE BETWEEN 1 AND 12 FOR YEARLY BILLING PIN-LESS DEBIT CARD NUMBER IS REQUIRED PIN-LESS DEBIT INVALID TRACK DATA PIN-LESS DEBIT MERCHANT ACCOUNT IS NOT SET FOR CARD PRESENT PINLESS DEBIT NUMBER IS REQUIRED PIN-LESS DEBIT CARD EXPIRY MONTH AND YEAR ARE REQUIRED PIN-LESS DEBIT CARD EXPIRY MONTH AND YEAR ARE REQUIRED IN MMYY FORMAT PIN-LESS DEBIT TRANSACTION TYPE IS INVALID PIN-LESS DEBIT CARD NUMBER IS REQUIRED IS NOT ALLOWED ON PIN-LESS DEBIT TRANSACTION PIN-LESS DEBIT CARD NUMBER IS NOT SPECIFIED

0001

87

SecureNet Gateway Implementation Guide 4.1.1.


PD10 PD10 PD10 PD10 PD10 PD10 PD10 PD10 01C3 PD11 PD12 PD13 PD14 PD15 PD16 SH200 ACD0 ACD1 ACD2 DCT03 CA03 CA04 CDI1 DCT02 01CK210 01CK2119 01CK211 01CK212 01CK219 01CK214 01CK218 01CK2110 01CK2120 01CK2121 01CK217 01CHK218 1ACH12 CHECK01 CHECK02 CHECK03 CHECK04 0002 0003 0004 0005 0006 0007 0008 0009 0010 NOT A VALID PIN-LESS DEBIT CARD NUMBER THE PIN-LESS DEBIT CARD CODE(CVV2/CVC2/CID) IS INVALID PIN-LESS DEBIT EXPIRY DATE HAS TO BE IN MMYY FORMAT PIN-LESS DEBIT EXPIRY DATE IS NOT A VALID DATE PIN-LESS DEBIT CREDIT CARD HAS EXPIRED PIN-LESS DEBIT DEBIT CARD IS NOT VALID THE PIN-LESS DEBIT CARD CODE IS INVALID STORED VALUE PIN-LESS DEBIT CARD IS NOT VALID (CARDTYPE NAME) NUMBERS ARE INVALID. ACCURACY OF THE CARD CANNOT BE VALIDATED. MERCHANT DOES NOT ACCEPT PIN LESS DEBIT SECURENET FRONTEND IS NOT ENABLED AT MERCHANT GATEWAY INFORMATION ONLINE REVERSAL IS NOT ENABLED ONLINE CREDIT IS NOT ENABLED INVALID MARKET SPECIFIC DATA FOR NON PINLESS DEBIT CARD IS NOT ELIGIBLE FOR PIN-LESS DEBIT TRANSACTION CANNOT UPDATE ACCOUNTINFO TO NON-PRIMARY, CUSTOMER ID REQUIRES A PRIMARY ACCOUNT. ACDI (ACCOUNT DUPLICATE INDICATOR) VALUE SHOULD BE SPECIFIED AS 0 ,1,2 OR 3 NO ACCOUNT ADDED, DUPLICATE ACCOUNT NUMBER DUPLICATE ACCOUNT DUPLICATE INDICATOR VALUE IS INVALID. AUTHORIZATION CODE MISMATCH MISSING AUTHORIZATION CODE INVALID VALUE FOR CUSTOMER DUPLICATE INDICATOR (CSDI) APPROVED MERCHANT IS NOT ENABLED FOR CHECK21 TRANSACTIONS MICRDATA NOT RECEIVED FOR CHECK21 TRANSACTIONS VALID 9 DIGIT ROUTING NUMBER OF THE BANK IS REQUIRED ACCOUNT NUMBER IS REQUIRED ACCOUNT NUMBER HAS TO BE NUMBERS INVALID BANK ACCOUNT NUMBER 9 DIGIT ABA ROUTING NUMBER OF THE BANK HAS TO BE NUMBERS VALID 9 DIGIT ABA ROUTING NUMBER OF THE BANK IS REQUIRED CHECK NUMBER IS REQUIRED CHECK NUMBER HAS TO BE NUMBERS BANK ACCOUNT TYPE SHOULD BE SPECIFIED AS CHECKING OR SAVINGS NOC received, INVALID BANK INFORMATION INVALID CHECK NO MERCHANT IS NOT ENABLED FOR ACH TRANSACTIONS 9-DIGIT BANK ABA ROUTING NUMBER IS REQUIRED 9 DIGIT ABA ROUTING NUMBER OF THE BANK HAS TO BE NUMERIC VALID 9-DIGIT BANK ABA ROUTING NUMBER IS REQUIRED

88

SecureNet Gateway Implementation Guide 4.1.1.


CHECK05 CHECK06 CHECK07 CHECK08 CHECK09 CHECK10 CHECK11 CHECK12 1ACH13 1ACH14 ACCOUNT NUMBER IS REQUIRED BANK ACCOUNT NUMBER HAS TO BE NUMERIC INVALID BANK ACCOUNT NUMBER CHECK NUMBER IS REQUIRED CHECK NUMBER MUST BE NUMERIC INVALID CHECK NO BANK ACCOUNT TYPE IS REQUIRED: CHECKING OR SAVINGS BANK ACCOUNT TYPE SHOULD BE SPECIFIED AS CHECKING OR SAVINGS ACCOUNT VERIFICATION IS NOT ENABLED FOR THE SERVICE PROVIDER SEC CODE PROVIDED CANNOT BE USED FOR CREDIT TRANSACTIONS

In addition, here is the list of error codes generated based on response received from Card Networks:

Response Reason Code


0000 0001 0002 0003 0004 0005 0006 0007 0008 0010 0011 0012 0013 0014 0015 0019 0021 0028 0030 0033 0034 0036 0039 APPROVED AND COMPLETED REFER TO ISSUER

Response Reason Text

REFER TO ISSUERCASE-SPECIAL CONDITION INVALID MERCHANT ID PICK UP CARD (NO FRAUD) DO NOT HONOR GENERAL ERROR PICK UP CARD, SPECIAL CONDITION (FRAUD ACCOUNT) HONOR MASTERCARD WITH ID PARTIAL APPROVAL FOR THE AUTHORIZED AMOUNT RETURNED IN GROUP III VERSION 022 VIP APPROVAL INVALID TRANSACTION INVALID AMOUNT INVALID CARD NUMBER NO SUCH ISSUER RE-ENTER TRANSACTION UNABLE TO BACK OUT TRANSACTION FILE IS TEMPORARILY UNAVAILABLE FORMAT ERROR EXPIRED CARD; PICK UP (BUYPASS) SUSPECTED FRAUD; PICK UP (BUYPASS) RESTRICTED CARD; PICK UP (BUYPASS) NO CREDIT ACCOUNT

89

SecureNet Gateway Implementation Guide 4.1.1.


0041 0043 0051 0052 0053 0054 0055 0057 0058 0059 006* 0060 0061 0062 0063 0065 0075 0076 0077 0078 0079 0080 0081 0082 0083 0085 0086 0090 0091 0092 0093 0094 0096 00B1 00B2 00CV 00EA 00EB LOST CARD, PICK UP (FRAUD ACCOUNT) STOLEN CARD, PICK UP (FRAUD ACCOUNT) INSUFFICIENT FUNDS NO CHECKING ACCOUNT NO SAVINGS ACCOUNT EXPIRED CARD INCORRECT PIN TRANSACTION NOT PERMITTED-CARD TRANSACTION NOT PERMITTED-TERMINAL SUSPECTED FRAUD ERROR RESPONSE TEXT FROM CHECK SERVICE HOLD - CONTACT ACQUIRER EXCEEDS WITHDRAWAL LIMIT INVALID SERVICE CODE, RESTRICTED SECURITY VIOLATION ACTIVITY LIMIT EXCEEDED PIN TRIES EXCEEDED UNABLE TO LOCATE, NO MATCH INCONSISTENT DATA, REV., OR REPEAT NO ACCOUNT ALREADY REVERSED AT SWITCH INVALID DATE CRYPTOGRAPHIC ERROR CASH BACK LIMIT EXCEEDED CANNOT VERIFY PIN NO REASON TO DECLINE CANNOT VERIFY PIN SYSTEM ERROR ISSUER OR SWITCH IS UNAVAILABLE DESTINATION NOT FOUND VIOLATION, CANNOT COMPLETE UNABLE TO LOCATE, NO MATCH SYSTEM MALFUNCTION SURCHARGE AMOUNT NOT PERMITTED ON VISA CARDS OR EBT FOOD STAMPS SURCHARGE AMOUNT NOT SUPPORTED BY DEBIT NETWORK ISSUER CARD TYPE VERIFICATION ERROR VERIFICATION ERROR VERIFICATION ERROR

90

SecureNet Gateway Implementation Guide 4.1.1.


00EC 00HV 00N2 00N3 00N4 00N5 00N6 00N7 00N8 00N9 00R0 00R1 00R3 00T0 00T1 00T2 00T3 00T5 00T6 00T7 AVS01 AVS02 AVS03 CVV01 VERIFICATION ERROR HIERARCHY VERIFICATION ERROR INVALID AMT CASH BACK SERVICE NOT AVAILABLE EXCEEDS ISSUER WITHDRAWAL LIMIT INVALID ACCT NUM INVALID ACCT CVV2 VALUE SUPPLIED IS INVALID SYSTEM ERROR INVALID TERMINAL CUSTOMER REQUESTED STOP OF SPECIFIC RECURRING PAYMENT CUSTOMER REQUESTED STOP OF ALL RECURRING PAYMENTS FROM SPECIFIC MERCHANT CUSTOMER REQUESTED STOP OF ALL RECURRING PAYMENTS FROM SPECIFIC MERCHANT FIRST CHECK IS OK AND HAS BEEN CONVERTED CHECK IS OK BUT CANNOT BE CONVERTED. THIS IS A DECLINED TRANSACTION INVALID ABA NUMBER, NOT AN ACH PARTICIPANT AMOUNT GREATER THAN THE LIMIT DUPLICATE CHECK NUMBER MICR ERROR TOO MANY CHECKS (OVER MERCHANT OR BANK LIMIT) AVS Mismatch. Address info doesn't match the Billing Address of Cardholder. AVS Mismatch. Zip Code doesn't match the Billing Address of Cardholder. AVS Mismatch. Street Info doesn't match the Billing Address of Cardholder. Card Security Code Mismatch.

7.19.6.

How to Contact Technical Support

For problems with transaction processing or your connection to the server, contact SecureNet Technical Support at support@securenet.com or (888)231-0060, option 3. Please note that you will be prompted for your SecureNet ID and may be required to provide sample code for further research into your questions.

91

Das könnte Ihnen auch gefallen