Vantiv LitleXML Reference Guide XML9.4 V1.8
Vantiv LitleXML Reference Guide XML9.4 V1.8
April 2015
XML Release: 9.4
Document Version: 1.8
All trademarks are the property of their respective owners and all parties herein have consented to their trademarks appearing in this
manual. Any use by you of the trademarks included herein must have express written permission of the respective owner.
Copyright 2003-2015, Vantiv, LLC - ALL RIGHTS RESERVED.
CONTENTS
About This Guide
Intended Audience .......................................................................................................... xxi
Revision History .............................................................................................................. xxi
Document Structure ...................................................................................................... xxiii
Documentation Set ....................................................................................................... xxiii
Typographical Conventions ........................................................................................... xxv
Contact Information....................................................................................................... xxvi
Chapter 1 Introduction
The LitleXML Data Format................................................................................................ 2
Communications Protocols ......................................................................................... 3
General XML Coding Requirements ........................................................................... 3
Other XML Resources................................................................................................. 4
Batch Transaction Processing .......................................................................................... 5
Recommended Session File Size ............................................................................... 5
Payment Integration Platform (LitleXML SDKs) ................................................................ 6
Duplicate Transaction Detection ....................................................................................... 7
Batch Duplicate Checking ........................................................................................... 7
Online Duplicate Checking.......................................................................................... 8
Coding for Report Groups............................................................................................... 10
Additional/Alternate Methods of Tagging Transactions ............................................ 11
Recovery......................................................................................................................... 12
Authorization/Sale Recycling .................................................................................... 12
Recycling Engine ................................................................................................ 12
Account Updater Service ......................................................................................... 14
Match Back ......................................................................................................... 15
Merchant Requirements ...................................................................................... 16
Account Updater Features .................................................................................. 17
Recurring Engine ............................................................................................................ 18
Payment Plans .......................................................................................................... 18
Subscriptions............................................................................................................. 19
Add Ons and Discounts ...................................................................................... 21
Recurring Reports ..................................................................................................... 21
Transaction Types and Uses .................................................................................... 22
Customer Insight Features.............................................................................................. 25
Prepaid Indicator ....................................................................................................... 25
Affluence Indicator .................................................................................................... 26
Issuer Country Indicator ............................................................................................ 26
iii
Contents
iv
Contents
Contents
vi
Contents
vii
Contents
viii
Contents
ix
Contents
Contents
xi
Contents
xii
Contents
xiii
Contents
xiv
Contents
litleTxnId........................................................................................................................ 522
load .............................................................................................................................. 523
loadResponse .............................................................................................................. 524
loadReversal ................................................................................................................ 525
loadReversalResponse ................................................................................................ 526
merchantData ............................................................................................................... 527
merchantGroupingId ..................................................................................................... 528
merchantId .................................................................................................................... 529
message ....................................................................................................................... 530
middleInitial ................................................................................................................... 531
mpos ............................................................................................................................. 532
name ............................................................................................................................. 533
newAccountInfo ............................................................................................................ 534
newCardInfo ................................................................................................................. 535
newCardTokenInfo ....................................................................................................... 536
newTokenInfo ............................................................................................................... 537
nextRecycleTime ......................................................................................................... 538
number.......................................................................................................................... 539
numberOfPayments ..................................................................................................... 540
onlinePaymentCryptogram ........................................................................................... 541
orderDate ...................................................................................................................... 542
orderId........................................................................................................................... 543
orderSource .................................................................................................................. 544
originalAccountInfo ....................................................................................................... 546
originalCard................................................................................................................... 547
originalCardInfo ............................................................................................................ 548
originalCardTokenInfo .................................................................................................. 549
originalToken ................................................................................................................ 550
originalTokenInfo .......................................................................................................... 551
password....................................................................................................................... 552
payerId .......................................................................................................................... 553
payFacCredit................................................................................................................. 554
payFacCreditResponse ............................................................................................... 555
payFacDebit ................................................................................................................. 556
payFacDebitResponse ................................................................................................. 557
paymentDataType ........................................................................................................ 558
paypage ........................................................................................................................ 559
paypageRegistrationId .................................................................................................. 560
paypal ........................................................................................................................... 561
payPalNotes.................................................................................................................. 562
payPalOrderComplete .................................................................................................. 563
xv
Contents
xvi
Contents
xvii
Contents
xviii
Contents
xix
xx
Contents
Intended Audience
This document is intended for technical personnel who will be setting up and maintaining
payment processing using the LitleXML format.
Revision History
This document has been revised as follows:
TABLE 1
Doc.
Version
Description
Location(s)
1.0
N/A
Chapter 1
1.1
Chapter 2
1.2
Chapter 4
Chapter 4
xxi
2015 Vantiv, LLC - All Rights Reserved.
TABLE 1
Doc.
Version
1.3
1.4
1.5
1.6
1.7
1.8
Revision History
Description
Location(s)
Added several new elements for Apple Pay transactions and for
convenience Fees added in schema version V9.2.
Chapter 4
Chapters 1, 2, and 3
Chapters 2,and 4
Chapters 1 and 4
Chapter 1
Chapter 4
Chapter1
Chapter 4
Added two new Response Codes (530 and 531) for Apple Pay.
Appendix A
Chapters 1 and 2
Appendix A
Appendix D
All
Chapter 4
Chapter 4
Chapter 2
Chapters 2, 3, & 4
Chapter 4
Appendix A
xxii
Appendix A
Document Structure
This manual contains the following sections:
Chapter 1, "Introduction"
This chapter provides an introduction to transaction processing using LitleXML.
Chapter 2, "Testing Your LitleXML Transactions"
This chapter provides information concerning the testing and certification process, which you
must complete prior to submitting transactions to the Vantiv production environment.
Chapter 3, "LitleXML Transaction Examples"
This chapter provides information concerning the LitleXML structure for transaction submission,
as well as examples.
Chapter 4, "LitleXML Elements"
This chapter provides definitions and other information concerning each LitleXML element.
Appendix A, "Payment Transaction Response Codes"
This appendix lists all of the possible response codes and messages.
Appendix B, "Credit Card Number Formats"
This appendix provides information about credit card number formats and Mod-10 validation.
Appendix C, "Test Card Numbers"
This appendix provides credit card number that can be used for testing.
Documentation Set
For additional information concerning the Vantiv application, see any of the following guides in
the documentation set:
Vantiv Chargeback XML and Support Documentation API Reference Guide (Legacy)
xxiii
Documentation Set
xxiv
Typographical Conventions
Table 2 describes the conventions used in this guide.
TABLE 2
Typographical Conventions
Convention
.
.
.
Meaning
Vertical ellipsis points in an example mean that information not
directly related to the example has been omitted.
...
<>
[]
Brackets enclose optional clauses from which you can choose one
or more option.
bold text
Italicized text
blue text
monospaced text
xxv
Contact Information
Contact Information
This section provides contact information for organizations within Vantiv
Implementation - For technical assistance to resolve issues encountered during the onboarding
process, including LitleXML certification testing.
Implementation Contact Information
E-mail
Hours Available
Chargebacks - For business-related issues and questions regarding financial transactions and
documentation associated with chargeback cases, contact the Chargebacks Department.
Chargebacks Department Contact Information
Telephone
978-275-6500 (option 4)
Hours Available
Technical Publications - For questions or comments about this document, please address your
feedback to the Technical Publications Department. All comments are welcome.
Technical Publications Contact Information
E-mail
1-800-548-5326
Hours Available
xxvi
1
INTRODUCTION
The LitleXML data format supports two types of transaction submission methods Online and
Batch. With the Online method, you submit each transaction independently and receive a
response in real-time. The Online method is used most often for Authorization and Void
transactions. The Batch method enables you to submit multiple transactions simultaneously.
Vantiv recommends the Batch method for all transaction submissions except Authorizations and
Voids.
This chapter provides an overview of the LitleXML data format, including some basic XML
coding requirements. Also discussed are the advantages of using batch processing for most of
your transactional processing, duplicate transaction detection, report groups, and the various
supported transaction types.
The topics discussed in this chapter are:
Recovery
Recurring Engine
Fraud Toolkit
Tokenization Feature
eCheck Processing
1.1
Fewer Downgrades - Since the LitleXML format allows you to explicitly tie deposits to their
associated authorizations via the <litleTxnId> element, your transactions qualify for the
best interchange rates at a higher frequency than with formats that do not support this
transaction cross-referencing.
Simpler Capture (Deposit) and Refund Transactions - Because the LitleXML format
associates related transactions using the <litleTxnId> element, our format does not require
you to resubmit all of the authorization information on a deposit nor all of the deposit
information on a refund. When you submit the unique transaction id, Vantiv automatically
pulls the information from the original transaction. Most other formats require you to
resubmit the related data with each transaction.
Superior Reporting - The LitleXML format allows you to separate your transactions into
different categories by specifying a Report Group on each transaction. When accessing your
data on the iQ reporting and Analytics Interface, this feature allows you to filter your
financial reports by Report Groups, providing more granular detail based on a reporting
hierarchy the Report Groups create. Most other formats restrict reporting categories to a batch
or specific merchant id.
New Features - All new features introduced are first supported in the LitleXML format. In
fact, some features may never be supported in other formats, since development is dependent
upon a third party. For example, some features currently supported only in LitleXML are:
Auth/Sales Recycling Engine
Fraud Filtering Services and Fraud Toolkit
Recovery
Customer Insights
Chargeback Management API
PayPal
Bill Me Later
1.1.1
Introduction
Communications Protocols
There are twocommunication protocols supported for the submission of Batch transactions to
Vantiv eCommerce platform for processing and one for Online submissions as shown in
Table 1-1. For Batch submissions Vantiv recommends that you use one of the two FTP methods.
Use the HTTPS Post method for Online transactions.
TABLE 1-1
Protocol
Encryption
Batch
Online
HTTPS Post
SSL
N/A
Required
TCP/IP Socket
SSL
N/A
N/A
FTP
Recommended
N/A
sFTP
SSH Key
Recommended
N/A
If you use the standard FTP method, you must use either the Pretty Good Privacy (PGP) or the
open source GNU Privacy Guard (GPG) encryption for your submissions. Both of these
encryption methods use key cryptography and support message authentication and integrity
checking. The alternate method, Secure FTP (sFTP), uses Secure Shell (SSH) to secure the
transmission.
1.1.2
As part of the on-boarding process, you receive XML schema files from your Implementation
Consultant. Using those files and this document as a guide, you create the required XML
documents for submission of your transactions. You should validate all XML you create using the
supplied schema. Also, working with your Implementation Consultant, you are required to
perform various tests of your XML (see Chapter 2, "Testing Your LitleXML Transactions") prior
to submitting transactions to the production environment.
In addition to the process outlined above, there are a few XML basics of which you should be
aware.
Although it is not required, Vantiv recommends that when formatting your XML, you keep
each element on its own line. This will aid in debugging situations where an error message
specifies an issue in a particular line of XML code (for example, line 20).
Be aware of special characters that require specific handling (see Table 1-2). For example, the
less than (<) and greater than (>) symbols define element tags in the XML code. Using the
entity names < and > instead of < and > prevents a browser from interpreting these
characters as element brackets.
Be sure to review data provided by customers for special character handling. For example, an
address of "4th & Main," must be rewritten as "4th & Main" (including quotes) before
being submitted via XML. Failure to quote this type of input causes rejection of XML
submissions due to syntax errors.
TABLE 1-2
Character
1.1.3
<
less than
<
>
greater than
>
quotation
"
apostrophe
'
&
ampersand
&
There are several Internet sites that provide both reference and educational information that may
help you when implementing your XML. A few of these sites are:
http://www.w3schools.com/xml/xml_syntax.asp
http://www.w3.org/
http://www.utf-8.com/
1.2
Introduction
Easier Reconciliation - When processing a batch, all transactions within that batch post on
the same day. In the case of Online transactions, you could submit two transactions at the
same time and one could post today and the other tomorrow. This can cause confusion in your
accounting process.
Easier Error Recovery - A batch processes as a single unit, thus if you experience any
system or communication issue while processing a batch, you can easily determine if the file
was processed. With Online transactions, determining which individual transactions were not
processed can be more difficult.
1.2.1
As stated above, a Session file is a group of batches. A batch is a set of transactions for a single
merchant. Normally, you send in a single file which has one batch for each merchant. This works
well when the overall number of transactions is small. The number of transactions you should
submit in any individual Session or Batch depend on a number of factors, including whether or
not you are an individual merchant or a presenter submitting transactions for multiple merchants.
In general, you should keep the following recommendations and rules in mind when determining
the number of transactions you submit in an Session/Batch file:
A Batch should not exceed 20,000 transactions. If the number of transaction for a single
merchant exceeds 20,000, you should create multiple batches for the same merchant, each
batch containing not more than 20,000 transactions.
A Batch should not contain only one transaction, unless the merchant has only one
transaction for the day.
A Session file must never contain more than 1,000,000 transactions across all Batches.
Always allow sufficient time between your submission time and your cut-off time for the
processing of the Session. Larger files take longer to process.
1.3
PHP
Ruby
Java
.NET
Python
In addition to the SDKs, Vantiv provides examples of each supported transaction type, as well as
demonstration applications. Once you install the library appropriate to your language, the Vantiv
Sandbox, which functions as an emulator of our production environment, is available to validate
your transaction format.
1.4
Introduction
For tokenized transactions, the token is used in place of the card numbers
by the Duplicate Transaction Detection process.
For PayPal transactions a combination of the PayPal Id + the (consumers)
email is used by the Duplicate Transaction Detection process.
For transactions submitted using other formats (e.g., PTI, Nabanco, etc.),
the logic used to detect duplicates for these supported, but foreign APIs,
is less robust and may miss duplicates in certain scenarios. Vantiv
recommends, for better dupe checking, convert to the LitleXML format, as
soon as possible.
1.4.1
When processing a Batch, the system acts to detect duplicate transactions for the following
transaction types: Authorization, Auth Reversal, Capture, Force Capture, Capture Given Auth,
Credit, Sales, eCheck Credit, and eCheck Sales.
For each of these transaction types, the application compares the transaction type, transaction
amount, the <orderId> element from the request, credit card number, and credit card expiration
date against transactions in other Batch processed within the previous five days. If the
characteristics of the new transaction match a previously processed transaction, the system marks
it as a duplicate.
IMPORTANT: If you do not include a value for the id attribute in the request, Duplicate
Checking is not performed.
The system only performs duplicate detection against valid transactions from the previous five
days. For example, if an Authorization request matches a declined Authorization from the
previous day, the system would not count it as a duplicate, because the declined Authorization
was not a valid Authorization.
Also, a Batch must be processed completely to be included in the previous five days of data. For
example, if multiple submitted Batches are processing simultaneously, the system will not
compare the transactions in one batch with the transactions in the other, because neither has
completed processing. For this same reason the system cannot detect duplicate transactions within
the same Batch.
If the system detects ten consecutive duplicate transactions or if the number of duplicate
transactions is greater than or equal to 25% of the total transactions in the batch, the system flags
the Batch as a duplicate. When either threshold is met, Vantiv will not process the Batch. If
neither threshold is met, Vantiv continues processing the Batch, including any transactions that
may have been duplicates.
1.4.2
When processing an Online transaction, the system acts to detect duplicate transactions for the
following transaction types: Auth Reversal, Capture, Force Capture, Capture Given Auth, Credit,
Sales, eCheck Credit, eCheck Sales, eCheckVoid, and Void.
For most transactions, the system compares the transaction type, the id attribute from the request,
and the credit card number against other Online transactions processed within the previous two
days. For transactions that reference other transactions (for example, a deposit referencing an
authorization or a refund referencing a deposit), the system compares the transaction type, id
attribute, and the card number from the referenced transaction (i.e. the transaction identified by
the <litleTxnId> element) against other Online transactions processed within the previous two
days.
IMPORTANT: For Online transactions, if you do not include the id attribute in the
request, or if you set the id attribute to null (id=""), duplicate Checking is
not performed.
The system only performs duplicate detection against valid transactions. For example, if a
Capture request matches a declined Capture from the previous day, the system would not count it
as a duplicate, because the declined Capture was not a valid transaction.
NOTE:
If the system determines a transaction to be a duplicate, it returns the original response message
with the duplicate attribute set to true (see example below). This attribute indicates that the
response was returned on a previous transaction.
NOTE:
Introduction
1.5
The merchant, Demo, wants to separate their domestic and international sales information. To do
this the company submits all domestic transactions using reportGroup = "Domestic Business",
and all international transactions using reportGroup = "International Business". When they access
the Authorization Report in the iQ using the By Reporting Group tab, the transactions would be
separated as shown in Figure 1-1.
NOTE:
FIGURE 1-1
The plus sign next to the Domestic Business report group signifies that there are child groups
present. When fully expanded (see Figure 1-2), the iQ shows a report group hierarchy with
information for the Domestic Business group further separated into Service A and Service B
groups and Service A containing two additional child groups. If you find it necessary to establish
this type of nested hierarchy, your Implementation Consultant will assist you.
10
FIGURE 1-2
1.5.1
Introduction
If you are using schema version 7.x or above you can use the merchantData element and its
children to tag transactions (Authorization, Sale, Credit, Force Capture, Capture Given Auth,
eCheck Sale, and eCheck Credit) with additional information. The three children of
merchantData: campaign, affiliate, and merchantGroupingId, allow you to designate
transactions as members of different groups enabling a deeper analysis of sales patterns.
NOTE:
The merchantData element and its children were add to the schema in
V8.8 and backported to V7.3. If you are using a schema version between
7.0 and 8.7, you can code for the use of these elements and still pass the
LitleXML validation.
For example, if the merchant from the previous example were trying a new sales initiative for
Product 2 during the month of September. They plan to run ads in Boston and New York to test
the new offering. To allow a deeper analysis of sales resulting from the new campaign, they can
add the campaign element with a value of "September Ads" to the transactions originating in
both test market. They can also include the merchantgroupingId with values that reflect the
city where the order originates. By exporting either the Session report or the NSS by Transaction
report from the iQ, the company can sort their sales data based upon these fields and gain a better
understanding of the effectiveness of the sales campaign.
NOTE:
11
1.6
Recovery
Recovery
Recovery is a bundle of services that include both Account Updater and Recycling Engine. By
combining these two managed services into a single bundle, Vantiv simultaneously increases your
approval rates, optimizes customer lifetime value, and improves your cash flow, while reducing
the cost of implementing the individual features separately in terms of IT resources. For
additional information about the capabilities included in this bundle, please refer to Recycling
Engine on page 12, and (AAU) Account Updater Service on page 14.
1.6.1
Authorization/Sale Recycling
1.6.1.1
Recycling Engine
The Recycling Engine is a managed service that automatically retries declined authorization
attempts on your behalf. It requires little or no IT investment on your part. Also, implementing
the Vantiv service removes the need to plan your own recycling strategy.
Recycling Engine has the following benefits:
In order to determine the most effective recycle timing, Vantiv performs statistical analysis of past
recycling attempts across our entire merchant portfolio. This analysis examines many factors,
including method of payment, response codes, and transaction amount among others, to
determine the optimum intervals between attempts to obtain a successful authorization. When you
receive a declined Authorization, the system automatically queues the transaction for a retry at a
designated time. Recycling of the Auth continues until it is either successful or the algorithm
determines that it is no longer advantageous to retry.
12
Introduction
NOTE:
Vantiv provides the results of the recycling efforts to you in a Batch posted daily to your Vantiv
sFTP account. This file contains transactions that either approved or exhausted the recycling
pattern on the previous day. If you submit an Authorization for a transaction in the recycling
queue, Vantiv returns the response from the last automatic recycling attempt. To halt recycling of
a particular transaction, submit either an Authorization reversal transaction, if the original
transaction was an Auth, or a Void transaction, if the original transaction was a Sale (conditional
deposit).
Transaction Signature
The Recycling Engine analyzes each Authorization or Sale request message to determine if it is a
new request. The result of the analysis determines if the transaction should be added to the
recycling pool upon decline or if the system should intercept the transaction to prevent a duplicate
transaction entering the recycling pool. To perform the analysis, the system checks the transaction
signature. Depending upon your configuration, the transaction signature can be:
13
1.6.2
Recovery
Credit and debit card numbers change for a variety of reasons including card expirations, card
product type upgrades, portfolio conversions, and compromised account numbers among others.
For merchants who offer services that are billed on a recurring or installment basis (for example,
web hosting, gym memberships, specialized social networking, career services, monthly donation
plans, etc.) out-of-date payment information can result in lost revenue, involuntary churn and
decreased customer satisfaction.
Prior to the development of the Account Updater service, the standard method for merchants to
obtain updated account information was to submit a Batch containing existing card information,
requesting that Vantiv check for updates. Typically, merchants request updates for customer
accounts scheduled to be billed in the next billing cycle. This legacy method is a relatively slow
process, requiring several days for Vantiv to accumulate responses from the card networks/issuers
and then to make the response file available to the merchant. Merchants must then update their
billing systems with the new information, requiring IT processing cost. Failure to update their
files can result in multiple requests (and charges) for the update information, as well as delays in
or lost revenue, higher Authorization expenses, and possibly chargebacks when old account
information is used.
The Account Updater service shifts the workload of obtaining and maintaining updated account
information to Vantiv. Utilizing configurable scheduling algorithms, we initiate account update
requests on your behalf and then stores the updated card information for use in future
transactions. You simply submit billing transactions normally and, if necessary, Vantiv updates
the transaction with the stored card information before submitting it to the networks for
authorization. This fully managed service requires no code update on your systems.
14
Introduction
FIGURE 1-3
Merchant
Card Networks
Scheduled
AU Requests
Response
with
updates
from
Network
Process
and
Store
Matches
Litle Submits
Auth w/Repaired
Card Info (if info
on file)
Submit
Transaction
Auth
(+ 3 days)
Auth Approval
1.6.2.1
Auth
Auth Approval
Match Back
If you decide you wish to have the updated card information returned to you, Vantiv offers the
Match Back option. In this case, you can opt to receive updated information either in a Batch
deposited to the merchant sFTP account, or in the XML transaction response messages. Once you
update your systems, you can resubmit the failed transaction with the new card information. If,
after receiving an update, you submit a transaction with the old information, systems detect that
you are using the old data and update the transaction for you prior to submitting it to the networks
for authorization.
Please consult your Customer Experience Manager for additional information and configuration
options.
15
Recovery
FIGURE 1-4
Merchant
Card Networks
Scheduled
AU Requests
Response
with
updates
from
Network
Process
and Store
Matches
Litle Submits
Auth w/Repaired
Card Info (if info
on file)
Submit
Transaction
(+ 3 days)
(Next
Payment)
Submit
Transaction
w/New Info
1.6.2.2
Auth
Auth
Auth Approval w/New
Card Info
Auth
Merchant Requirements
In order to use the Account Updater service, you must first apply for membership to the
following:
Discover Account Updater (not required by Discover for Vantiv acquired merchants)
16
Introduction
Your Account Updater Welcome Kit includes the required application forms. If you have any
questions about these forms, contact your Customer Experience Manager, who can walk you
through the application process. Approval from Visa and MasterCard typically takes between
10-15 business days. Normally, merchants are approved without issue; however, you can be
declined for a variety of reasons. For example, merchants on a risk mitigation program typically
are not accepted.
NOTE:
1.6.2.3
Visa does not allow merchants with SIC numbers 5962, 5966, 5967, or
7995 to participate in their Account Updater service. MasterCard has no
restrictions against any specific MCC numbers
The Account Updater service can include the following features depending upon the
implementation option you select:
Vantiv initiates requests for updated account information to card networks based upon your
billing cycle.
Vantiv initiates requests for updated account information following certain failed
Authorization attempts.
All updated card information stored (per merchant) in our secure database.
Return of the updated account information in the LitleXML response message when
auto-repair occurs.
Maintenance of card information history, so that the system can repair a card even if multiple
updates have occurred during the card's billing lifecycle.
All linked (to an Authorization) transactions will use the updated account information from
the repaired parent transaction, including Captures, Refunds, and Reversals. If a re-Auth is
needed on an attempted capture due to an expired authorization, the system uses the updated
account information.
17
1.7
Recurring Engine
Recurring Engine
The Recurring Engine is a managed service that relieves the burden of developing an in-house
billing solution for merchant engaged in installment or recurring transactions. This powerful, but
flexible service allows you to create virtually any payment Plan required by your business model,
whether it is part of a predetermined campaign or a marketing test, and then apply the Plan to
customers as part of the standard Authorization or Sale transaction.
The Recurring Engine provides the following benefits:
Reduced Infrastructure Costs - since you do not need to program your own solution,
you save the up-front development cost, as well as ongoing maintenance expenses.
Reduced Labor - once you create a Subscription in the Recurring Engine via a standard
Authorization or Sale transaction, no further action is required for the life of the
Subscription.
Integration with other Vantiv Value Added Services - if you include the Recovery
Services (Account Updater and Recycling Engine) as part of your implementation, you
eliminate any concerns (and reduce expenses) associated with issues such as account
number changes and recycling of declined payments.
Flexible Plans - You can define the billing interval (weekly, monthly, quarterly, etc.),
number of payments (including open ended schedules), amount of payments, as well as
trial periods within a Plan. To add flexibility you can override several of these settings
and set a specific start date at the individual Subscription level.
Flexible Creation of Discounts - if you wish to offer a discount to selected customers,
simply include the information at the time of the Subscription creation, or add it
anytime afterward by updating the Subscription.
Flexible Creation of Add Ons - similar to a discount, you can apply changes for
additional services at the time of the Subscription, or anytime afterward.
Integrated Reporting - in addition to the normal revenue reconciliation information
available in the iQ Reporting and Analytics platform, there are a number of recurring
specific reports that allow you to better analyze your revenue stream associated with
recurring payment plans and strategies.
1.7.1
Payment Plans
The first step in setting up recurring billing on the Vantiv eCommerce platform is to establish one
or more payment Plans. To establish a payment Plan you use a Create Plan transaction type,
which allows you to define the payment interval, the number of payments, and the amount. For
example, you could easily define any number of Plans to fulfill your business needs.
For example, suppose you are a SaaS company that sells your product under 1, 2, or 3 year deals,
with either monthly or quarterly payment schedules and reduced rates for longer deals. You could
easily set-up six Plans as shown in the table below.
18
Introduction
TABLE 1-3
Example Pans
Payment
Interval
Plan Code
Amount per
Payment
# of
Payments
Total Subscription
1_Year_Monthly
Monthly
$50.00
12
$600.00
1_Year_Quarterly
Quarterly
$150.00
$600.00
2_Year_Monthly
Monthly
$46.66
24
$1119.84
2_Year_Quarterly
Quarterly
$140.00
$1120.00
3_Year_Monthly
Monthly
$41.66
36
$1499.76
3_Year_Quarterly
Quarterly
$125.00
12
$1500.00
As part of the Plan, you can also specify trial period. You want to have longer trials for longer
Plans, so for either 1-year Plan, there is a 1 week trial, for either 2-year Plan there is a 2 week
trial, and for the 3-year Plans, a 1 month trial. Below is a LitleXML example transaction to create
the 3_Year_Monthly Plan.
Example: 3-Year Monthly Plan
<createPlan>
<planCode>3_Year_Monthly</planCode>
<name>3Year_Monthly</name>
<description>3 Year, monthly Payments, 1 month trial</description>
<intervalType>MONTHLY</intervalType>
<amount>4166</amount>
<numberOfPayments>36</numberOfPayments>
<trialNumberOfIntervals>1</trialNumberOfIntervals>
<trialIntervalType>MONTH</trialIntervalType>
<active>true</active>
</createPlan>
1.7.2
Subscriptions
Subscriptions marry a customer order to a particular payment Plan and initiate the Recurring
Engine to manage your future billing. You create a Subscription using either an Authorization or a
Sale transaction. In the Auth/Sale you simply include a <recurringRequest> element to
initialize the Subscription using a named Plan and set the start date for the first recurring bill. If
you do not include a start date, the Recurring Engine uses the current date for the first payment.
19
Recurring Engine
If the recurring bill had an associated set-up or one-time fee use a Sale transaction. The amount of
the Sale transaction would represent that fee, whereas the amount of future recurring payments
are defined in the Plan. If you use an Authorization to create the Subscription, the transaction
would normally be a $0 Auth (or small amount followed by a reversal) and would include the
billing information for Address Verification.
As part of the Subscription creation, you can also override both the number of payments and the
amount, as well as include Add Ons and Discounts (discussed in the next section). The overrides
give you a granular control to modify a standard payments Plan for a particular consumer without
creating additional Plans. For example, if you offered a 1-year Plan with monthly payments as
shown in the previous section, you could allow a consumer to complete their payments in 10
months instead of a year. In this case you would override the number of payments defined in the
Plan (12) with 10 payments, while increasing the amount of each payment from $50 to $60.
Example: Subscription with Overrides
<authorization id="834262" reportGroup="ABC Division" customerId="038945">
<orderId>65347567</orderId>
<amount>0</amount>
<orderSource>ecommerce</orderSource>
<billToAddress>
.
.
.
</billToAddress>
<card>
.
.
.
</card>
<recurringRequest>
<subscription>
<planCode>1_Year_Monthly</planCode>
<numberOfPayments>10</numberOfPayments>
<startDate>2013-09-21</startDate>
<amount>6000</amount>
</subscription>
</recurringRequest>
</authorization>
20
1.7.2.1
Introduction
Occasionally, you might wish to modify a Subscription with either a Discount or an Add On
without creating a new Plan that has limited use. A Discount reduces the recurring amount for one
or more payments, while an Add On increases the payments in return for an added service or
item. You can apply either of these payment modifications at the time you initialize the
Subscription or anytime afterward by updating the Subscription. In both cases you define the start
date, end date, and amount of the Discount/Add On.
For example, suppose as part of your standard offering, your customers received 2GB of
cloud-based storage. You also offer additional storage in 2GB blocks for $10 each. One of your
customers wants an additional 4GB of storage for the 8 months remaining on his contract and you
are discounting the first month at 50%, or $10. The example below show the
updateSubscription transaction with the Add On and Discount.
Example: Update Subscription with Discount and Add On
<updateSubscription>
<subscriptionId>1234</subscriptionId>
<createDiscount>
<discountCode>4GBExtraDeal</discountCode>
<name>Half-Off 1st Payment 4GB Extra</name>
<amount>1000<amount>
<startDate>2013-09-15</startDate>
<endDate>2013-10-14</endDate>
</createDiscount>
<createAddOn>
<addOnCode>4GB_Extra</addOnCode>
<name>Four_GB_Extra</name>
<amount>2000<amount>
<startDate>2013-09-15</startDate>
<endDate>2014-04-15</endDate>
</createAddOn>
</updateSubscription>
1.7.3
Recurring Reports
In addition to recurring transactions appearing in the normal Vantiv reports (i.e., Payment Detail,
Reconciliation report, etc.), there are currently two reports associated specifically with the
Recurring Engine. The first report is a daily Recurring report available via sFTP. This report is in
Batch format and contains LitleXML response messages for all recurring transactions run the day
before, including all approvals and declines.
21
Recurring Engine
The second report is the Recurring Snapshot report (see below). This report provides insights into
the performance of each of your Plan offerings over a selected time period. The report includes
metrics on Subscriptions added, completed, and cancelled, as well as information on any
associated fees and amounts successfully deposited.
FIGURE 1-5
1.7.4
The table below provides information about the various Recurring Engine transaction types and
their uses.
TABLE 1-4
Use Case/Intent
Create Plan
Parent Element
createPlan
Description/Uses
Used to create new Plans.
22
TABLE 1-4
Introduction
Use Case/Intent
Parent Element
updatePlan
<authorization> or <sale>
Update Plan
<recurringRequest>
Create Subscription
<subscription>
updateSubscription
cancelSubscription
<authorization> or <sale>
Update Subscription
Cancel Subscription
Description/Uses
<recurringRequest>
<subscription>
<createAddOn>
Create Add On
Or
<updateSubscription>
<createAddOn>
Update Add On
Delete Add On
<updateSubscription>
<updateAddOn>
<updateSubscription>
<deleteAddOn>
23
TABLE 1-4
Recurring Engine
Use Case/Intent
Parent Element
<authorization> or <sale>
<recurringRequest>
Description/Uses
Used to create a Discount charge
associated with the Subscription.
<subscription>
Create Discount
<createDiscount>
Or
<updateSubscription>
<createDiscount>
<updateSubscription>
Update Discount
Delete Discount
<updateDiscount>
<updateSubscription>
<deleteDiscount>
24
1.8
Introduction
1.8.1
Prepaid Indicator
Studies show that branded prepaid cards are growing in popularity with consumers. These cards
are available in the form of non-reloadable Gift cards, Consumer Rebate/Incentive cards, and
Teen cards among others. The Prepaid Indicator feature acts to determine if the submitted card is
a prepaid card. If so, the system returns the type element with a value of Prepaid and the
availableBalance element stating the outstanding balance remaining on the card (if
available).
Knowing that the card is prepaid, as well as the available balance, at the time of sale is especially
useful for merchants engaged in recurring payment, installment payment, or deferred billing
scenarios. Merchants in these situations can use the information made available by this feature to
make intelligent decisions concerning the profitable management of prepaid card usage by
avoiding several factors that may contribute to lost revenue, while taking advantage of other
opportunities that may add to revenue and enhance the customer experience.
For example, one possible situation merchant can avoid is fraudulent deferred/installment
payment purchases made with a prepaid card that does not have enough available balance to
cover the subsequent payments. With the available balance known, merchants can determine if
the card can meet the required payment structure. If the cards balance does not meet the required
threshold, the merchant can request another payment method, which may result in eliminating
fraudsters, while retaining legitimate customers.
Another more common situation occurs when the consumer is unaware of the card balance. If the
transaction is rejected due to inadequate balance, perhaps repeatedly, it could result in an
unsatisfied customer and an abandoned purchase. Alternately, the card could have slightly more
that the required balance, which the consumer would spend, if they had the knowledge. If the
available balance is insufficient for the purchase, the merchant can obtain a second or alternate
payment method. If the balance is higher than required for the purchase, the merchant may be
able to encourage additional purchases.
In addition to indicating if the submitted card is a prepaid card and the available balance, this
feature includes information about whether the card is reloadable and the specific type of prepaid
card (i.e., TEEN, GIFT, PAYROLL, etc.). You can use this information to further refine your sales
and marketing strategies.
25
1.8.2
Affluence Indicator
Visa, MasterCard, and Discover provide enhanced credit card products for consumers with high
disposable incomes and high card spending. These cards encourage usage by offering the
cardholders additional benefits usually including reward incentives, no pre-set spending limit,
higher authorization approval rates, faster access to a customer service representatives, and
dedicated chargeback resolution support.
Vantiv analysis of payments data indicates that consumers using these cards types typically spend
more per order than consumers using traditional credit and debit cards. The Affluence Indicator
feature provides the ability for merchants to segment their consumers based on the affluence level
as determined by the issuer. Within the LitleXML Authorization response, consumers using these
enhanced card products are classified either as Mass Affluent or Affluent. Based upon the specific
card type, high income consumers are classified as Mass Affluent, while high income-high
spending consumers are classified as Affluent.
Having this information at the time of authorization, allows merchants the opportunity to adjust
their sales approach to the needs and spending patterns of the consumer, potentially generating
additional sales. Having this information on file for later analysis also may provide the
opportunity for targeted marketing campaigns and future sales.
1.8.3
Knowing the country of the Issuing bank helps you in two respects. From a sales and marketing
standpoint, this knowledge allows you to better analyze the purchasing patterns of your customers
based upon their country of origin. You can then tailor marketing campaigns to take advantage of
this geographic information. Likewise, you can use this information to analyze the successfulness
of tailored campaigns.
The second advantage to having this information readily available is that you can use it to help
determine possible patterns of fraud. With this knowledge in hand, you can use the International
Card Filtering feature to limit your exposure to international fraud originating in particular
geographic locations.
1.8.4
The Card Holder Type indicator is an additional data point Vantiv can provide as part of the
Customer Insight family of features. This indicator returns an element indicating whether the
submitted card is a commercial or consumer card, providing you with additional data useful when
analyzing sales patterns and/or planning marketing campaigns.
26
1.8.5
Introduction
Vantiv provides flow control functionality that allows you to limit which transactions the system
examines for which it returns indicators. Currently there are three flow control options: by
Presenter, by report Group, and by Order Source. The by Presenter option allows you to limit the
transactions considered for indicators to only those from one or more presenters. The by Order
source option allows you to include or exclude transactions with a particular Order source tag
(orderSource element in the XML request). You can combine these Flow Controls. For
example, you could establish a flow control such that the system would consider all transaction
from Presenter A except those with an Order source of recurring.
27
1.9
Fraud Toolkit
Fraud Toolkit
The Fraud Toolkit has two options or levels of implementation. The Basic Fraud tools includes a
suite of Fraud Filters that you can apply individually or in combination. The Advanced Fraud
tools offers an additional level of fraud detection tools made available through Vantivs
partnership with ThreatMetrix.
1.9.1
With the Basic Fraud Tools, Vantiv offers a comprehensive suite of Fraud Filters for your use as
part of an overall fraud prevention and mitigation strategy. You can apply each of the filters
individually or in combinations by defining Filtering Rules (see Application of Filters - Filtering
Rules on page 31). As part of the rule definition, you can define the application of the rules based
upon MID, Report Group, Billing Descriptor, or order source (for PayFacs, flow control by MID
or order source only). Vantiv currently offers seven types of card filtering services that may aid
you in reducing certain types of fraud: Prepaid Card Filtering, International Card Filtering, Prior
Chargeback Filtering, Prior Fraud Advice Filtering, Security Code No-match Filtering, Fraud
Velocity Filtering, and AVS Filtering.
You can disable all filtering for a specific transaction by setting the fraudFilterOverride
element to true. This setting take precedence over all other filter override settings.
1.9.1.1
Just because a credit card network/company returns a valid authorization for a purchase does not
always mean that completing the transaction is in your best interest. There are several reasons you
may wish to decline a sale on a particular card at a particular time. Many merchants engaged in
recurring payment, installment payment, or deferred billing experience some loss due to fraud
schemes that make use of prepaid cards. Consider the case of a consumer using a prepaid card
with a balance of $100 to make a purchase that involves an initial charge of $50 followed by three
installments of $50 each. The authorization would be approved for the initial transaction, and the
card might have adequate balance for an additional charge, but if the consumer was attempting to
defraud the merchant or simply used the card for other purchases, the card may not have
sufficient balance for any additional payments. While the Prepaid Indicator feature provides you
with the information necessary to make a decision at the time of the sale, and to request a
secondary or different payment method, instead you may wish to have Vantiv filter these
transactions automatically when you send the Authorization transaction.
If you elect to use the Prepaid Card Filtering Service, you can select one of two methods of
implementation. Using the first filtering method, our system declines all Authorization and Sale
transactions when the consumer uses a prepaid card. In this case, if you are using LitleXML
schema version 8.3 or above, the system returns a Response Reason Code of 309 - Restricted
Card - Prepaid Card Filtering Service. If you use LitleXML version 8.2 or below, the system
returns a Response Reason Code of 322 - Invalid Transaction. This method also allows you to
28
Introduction
disable the filtering logic on a transactional basis by including the <prepaid> element set to a
value of false, thus allowing you to accept a prepaid card for these transactions.
The second method of implementing the Prepaid Card Filtering Service is to use it only on
selected transactions. To enable the filter on a particular transaction, set the <prepaid> element
set to a value of true. This method would be useful to a merchant who offers products with both
one-time payments and installment payments. For products involving a single payment, you may
want to allow the use of prepaid cards, while for the product with multiple payments you may
want to filter the use of prepaid cards.
NOTE:
1.9.1.2
Within either implementation method, you can elect to filter all prepaid
cards, or only non-reloadable prepaid cards. Please consult your
Implementation Consultant for additional information about setting these
global parameters.
An examination of your historical fraud data may show a high percentage of fraudulent
transactions originating with certain international cards. You can limit your exposure to this type
of fraud by taking advantage of the International Card Filtering Service. This feature allows you
to filter MasterCard and Visa cards originating in either all foreign countries or selected foreign
countries based upon the country of the card issuer.
If you elect to use this feature, when you submit an Authorization/Sale transaction, the system
determines the country of origin of the card. If the card originates outside the United States and
you have elected to filter all international cards, the system declines the transaction. Likewise, if
you have elected to filter a specific country or countries and the card originates from a designated
country, the system declines the transaction. If you are using LitleXML schema version 8.3 or
above, the system returns a Response Reason Code of 312 - Restricted Card - International
Card Filtering Service. If you use LitleXML version 8.2 or below, the system returns a
Response Reason Code of 322 - Invalid Transaction.
You can override your settings on a transactional basis by including the <international>
element set to false when you submit the Authorization/Sale transaction. In this case, the system
ignores the filtering service and processes the transaction normally.
1.9.1.3
If you elect to use the Chargeback Filter Service, there are two configuration options. You can
elect to filter all transactions using a card for which you received a chargeback, or you can elect
to filter only the subset of transactions for which you received a fraud related chargeback
(determine by the associated chargeback reason code). In both cases, the system checks your
historical data to see if you have received an applicable chargeback from the same account within
the last 90 days (configurable). When a transaction is filtered, the system returns a Response
Reason Code of 308 - Restricted Card - Chargeback.
29
Fraud Toolkit
1.9.1.4
The 3- or 4-digit security code was added by the card brands to act as a verification that the
person ordering your product in a card-not-present environment has physical possession of the
card. While this validation can be a useful anti-fraud tool, typically, the issuing banks do not
decline the transaction based upon a failure to match the security code. Declining the transaction
is left to the discretion of the merchant.
NOTE:
The Security Code No-Match filter does not apply to American Express
transactions, since American Express declines the transaction when the
code does not match. Transaction declined by American Express for a
failure to match the security code use the Response Reason Code of 352 Decline CVV2/CID Fail.
Similarly, if Visa, MasterCard, or Discover decline a transaction based
upon the security code results, the filter is not applied and the transaction
response contains the 352 Reason Code.
If you elect to use the Security Code No-Match Filter Service, the system takes action only if the
submitted authorization/sale transaction is approved by the issuer, but includes a no-match code
for the CVV2/CVC2/CID card validation check. In this case the transaction is declined with a
Response Reason Code of 358 - Restricted by Litle due to security code mismatch. The system
also issues an Auth Reversal transaction on your behalf to remove the funds hold on the account.
1.9.1.5
Often, when a person attempts to use a stolen credit card successfully, they will follow the initial
purchase with a number of additional purchases within a short period of time. If you elect to use
the Fraud Velocity Filter, the system filters the transaction based upon the number of previously
approved Auth/Sale transactions for the same account within a configurable time period. Both the
number of approved Auths/Sales and the time period are configured in the Vantiv Merchant
Profile.
If you are using LitleXML V8.9 or above, the system returns a Response Reason Code of 315 Restricted Card - Auth Fraud Velocity Filtering Service. If you use LitleXML version 8.8 or
below, the system returns a Response Reason Code of 322 - Invalid Transaction.
1.9.1.6
Vantiv maintains a database of Fraud Advice information received from the Visa and MasterCard
networks for transactions you processed in the last 200 days. If you use the Prior Fraud Advice
Filter, the system compares the account information from the new transaction against the database
of accounts with prior Fraud Advice and filters the transaction if there is a match.
30
Introduction
If you are using LitleXML schema version 8.11 or above, the system returns a Response Reason
Code of 318 - Restricted Card - Auth Fraud Advice Filtering Service. If you use LitleXML
version 8.10 or below, the system returns a Response Reason Code of 307 - Restricted Card.
1.9.1.7
AVS Filter
One of the fraud prevention tools provided by all card networks is an Address Verification
System. By submitting the customers address information in the billToAddress section of the
LitleXML message, you can verify that the address/zip code supplied by the consumer matches
the issuers records. The card networks, however, do not decline transactions based upon the
failure to match the address or zip code. Using the AVS Filter, you can filter potentially
fraudulent transactions based upon failure to match any of the following:
the address
If you are using LitleXML schema version 8.13 or above, the system returns a Response Reason
Code of 319 - Restricted Card - Fraud AVS Filtering Service. If you use LitleXML version
8.12 or below, the system returns a Response Reason Code of 322 - Invalid Transaction.
1.9.1.8
NOTE:
Filter Rules are defined as part of your Merchant Profile. Please consult
with your Customer Experience Manager and/or your Implementation
Consultant concerning the provisioning of Filter Rules.
While you can have all submitted transactions flow through the Fraud toolkit, you likely want to
exercise a finer control over the application of the filters based upon a particular product, service
or other criteria. The system provides you the flexibility of restricting which transactions are
submitted to the filtering service and which filters the system applies to which groups. This is
accomplished by defining Filtering Rules.
For each Filtering Rule you first define a subgroup of transactions by selecting one of the
following Flow Selectors: Report Group, Billing Descriptor, orderSource, or MID (for PayFacs,
flow control by MID or order source only). Only one selector can be applied per rule. After
selecting a particular Flow Selector, you then select which filters to have applied to that subset of
transactions. You can define the Filter Rules so that filters are ORed (transaction filtered when
any one of the filters conditions met), or ANDed (transaction filtered when multiple filter
conditions met). Table 1-5 defines five rules that a merchant might define.
31
Fraud Toolkit
TABLE 1-5
Filter
Flow Selector
Filters
Report Group="XYZ"
Prepaid
Report Group="XYZ"
International
orderSource="recurring"
orderSource="ecommerce"
Prepaid + International
Table 1-5 defines five Filter Rules that a merchant might use. These rules would be applied as
follows:
Filters 1 and 2 are applied to the subset of transactions that are members of Report Group
XYZ and use the Prepaid and International Filters. Since the Filter Rules are defined
separately, the rules are ORed. So, if a transaction uses either a Prepaid card or a card of
International origin, the transaction is filtered.
Filter 3 is applied to the subset of transactions that have an orderSource value set to recurring.
These transactions are filtered only if both the criteria for the Prepaid Filter AND the Prior
Chargeback Filter are met.
Filter 4 is applied to the subset of transactions that have an orderSource value set to
ecommerce. These transactions are filtered only if both the criteria for the Fraud Velocity
Filter AND the Security Code No-Match Filter are met.
Filter 5 is applied to the subset of transactions that have an Billing Descriptor value set to
GoldMember. These transactions are filtered only if both the criteria for the Prepaid Filter
AND the International Filter are met.
1.9.2
To further assist you in limiting fraudulent transactions, Vantiv has entered into a partnership with
ThreatMetrixTM, one of the foremost fraud prevention services in the world. The close integration
of as and ThreatMetrix allows you to augment the existing Vantiv filters by taking advantage of
several ThreatMetrix fraud detection features. Making use of this feature only requires a simple
modification to the code resident on your web page and the submission of an identifier with your
Auth/Sale transaction.
NOTE:
The Advanced Fraud Tools option includes the use of all filters available
in the Basic Fraud Tools option.
32
Introduction
2
5
1
4&6
Merchant Web Page
Consumer
3. The ThreatMetrix servers examine several properties of the consumers device and method of
access. This process is invisible to the consumer.
4. You submit a normal Authorization/Sale transaction to Vantiv, including the session ID you
designated when making the call to the ThreatMetrix Server.
NOTE:
If you are using LitleXML version 8.25 or above, you also have the option
of submitting a Fraud Check transaction. This transaction type will
retrieve the results of the ThreatMetrix checks without initiating an
Auth/Sale.
5. Vantiv sends additional account markers (optional) to ThreatMetrix and queries the
ThreatMetrix servers for the results of their analysis. These results reflect how the
information about the consumer device/connection captured in the ThreatMetrix database
33
Fraud Toolkit
evaluates against rules and thresholds set in your merchant profile (ThreatMetrix policy). All
this information is distilled to a Device Reputation Score.
6. We return the Device Reputation Score in your LitleXML response message with one of three
possible Review Statuses: Pass, Fail, or Review. Depending upon your configuration, one of
the following scenarios will apply:
If you are configured for automatic decline of transactions with a Fail score, Vantiv will
decline those transaction. On a Status of Pass or Review, Vantiv will proceed with normal
processing. If a transaction with review Status is declined by the card network, you do not
need to take action; however, if approved, you must decide whether to allow the
transaction to stand or to take action to reverse/void the transaction.
If you are configured for information only, Vantiv returns the Advanced Fraud Check
results and process the transaction normally. You must take action to reverse/void any
approved transactions that your analysis determines to be fraudulent.
1.9.2.1
For ThreatMetrix to gather information for analysis, you must add certain profiling tags (see
Example below) to selected pages served by you web application. These tags allow ThreatMetrix
to collect information by loading objects used for detection into the consumers browser. These
tags are invisible to the consumer and add only a fraction of a second to your pages rendering
time. Once loaded, these objects require only 3-5 seconds to gather profiling information from the
consumer device.
Place the tags as early as possible on the page, inside the <body></body> tags of the page
HTML.
Example: ThreatMetrix Profiling Tags
<!-Begin ThreatMetrix profiling tags below -->
<!- note: replace 'UNIQUE_SESSION_ID' with a uniquely generated handle
note: the value for 'ORG-ID' is a Vantiv supplied value
note: the pageid tag is not used at this time. the value for 'PAGE-ID'
will default to 1
note: for production, replace 'h.online-metrix.net' with a local URL and
configure your web server to redirect to'h.online-metrix.net' -->
<script type="text/javascript"
src="https://h.online-metrix.net/fp/tags.js?org_id=ORG_ID&session_id=UNIQUE_SESS
ION_ID&pageid=PAGE_ID"></script>
<noscript>
<iframe style="width: 100px; height: 100px; border: 0; position: absolute; top:
-5000px;"
src="https://h.online-metrix.net/tags?org_id=ORG_ID&session_id=UNIQUE_SESSION_ID
&pageid=PAGE_ID"></iframe>
</noscript>
34
Introduction
1.9.2.2
LitleXML Transactions
To subject a transaction to the advanced fraud checks performed by ThreatMetrix and retrieve the
results, you simply submit the <threatMetrixSessionId> element as part of your LitleXML
Authorization (or Sale) transaction. This session Id is the same unique value you assigned and
sent to ThreatMetrix when your web page called the application (designated as
UNIQUE_SESSION_ID in the ThreatMetrix Profiling Tags example). When we receive an
Authorization/Sale that includes the <threatMetrixSessionId>, our system automatically
queries the ThreatMetrix platform for the associated results. The LitleXML response message
includes the <advancedFraudResults> element containing the score and status and
information about any triggered rules. The following two examples show a standard
Authorization transaction, including a <threatMetrixSessionId> and a pass response.
NOTE:
35
Fraud Toolkit
</card>
<advancedFraudChecks>
<threatMetrixSessionId>ASDFG-AXXXXAB999</threatMetrixSessionId>
</advancedFraudChecks>
</authorization>
</litleOnlineRequest>
<triggeredRule>FlashImagesCookiesDisabled</triggeredRule>
</advancedFraudResults>
</fraudResult>
</authorizationResponse>
</litleOnlineResponse>
NOTE:
The other possible values for the <deviceReviewStatus> element are fail,
review, unavailable, and invalid_session.
The <deviceReputationScore> value can range from -100 to 100. The
resulting pass, fail, or review value depends upon your profile settings.
The <triggeredRule> element can occur multiple times, once for each rule
triggered.
36
Introduction
1.9.2.3
If you wish to retain full control of the decision to accept or decline transactions, Vantiv offers the
option of using the Advanced Fraud Tools in an Information Only mode. In this configuration,
you receive the same information in the response as you would with the full implementation;
however, Vantiv will not automatically decline transactions with a failing score.
If the authorization is declined by the network, you can choose to recycle the transaction or do
nothing. If an authorization with a failing score receives approval from the network, it would be
up to you to reverse the authorization should you decide not to proceed with the transaction. This
is similar to the case of an approved transaction that has a status of Review, but you decide not to
proceed. Issuing an authorization reversal allows you to avoid any misuse of Auth fees otherwise
imposed by the card networks.
1.9.2.4
If you have coded to LitleXML V8.25 or above and wish to retrieve the Advanced Fraud results
without introducing a Authorization or Sale transactions, use a Fraud Check transaction as shown
in the example below. Fraud Check transactions are only supported as Online transactions.
Example: Fraud Check Transaction
<litleOnlineRequest version="8.25" xmlns="http://www.litle.com/schema"
merchantId="81601">
<authentication>
<user>User Name</user>
<password>password</password>
</authentication>
<fraudCheck id="002" reportGroup="001601">
<advancedFraudChecks>
<threatMetrixSessionId>ASDFG-AXXXXAB999</threatMetrixSessionId>
</advancedFraudChecks>
</fraudCheck>
</litleOnlineRequest>
37
Tokenization Feature
You must be enabled for card tokenization in order to use the eCheck
tokenization feature.
In the case of credit cards, since you do not store the customers account information, the scope of
PCI requirements to which you must comply may be minimized. This may greatly reduce the cost
of compliance and may limit your liability if your systems are breached. You can further reduce
the requirements, as well as the possibility of exposure from a breach through the use of the
Vantiv PayPage. By sending the card information from your page directly to our systems you
eliminate one more facet of handling the card information.
NOTE:
Vantiv recommends you consult your own PCI Compliance and Legal
departments to determine the specific advantages of tokenization for your
company.
Token Formats
Obtaining Tokens
Information about the use and integration of the Vantiv Pay Page is
contained in the Vantiv Pay Page Integration Guide.
38
1.10.1
Introduction
Merchant
Account #
Account #
Account #
Account #
Issuing Bank
Cardholder
Account #
Account #
Database
Database
Account #
Database
Account #
Database
In a tokenized environment customer data is ideally transmitted a single time and is never stored
locally by the merchant, as Figure 1-8 shows for card data. Once the account number is
registered, using either a registerTokenRequest or by submitting it with any supported
transaction, Vantiv returns a token. You store the token locally and use it for all future
transactions concerning that account. Vantiv takes responsibility for storing and safeguarding the
account information.
NOTE:
The difference between card data flow and eCheck data flow is that the
entities upstream of Vantiv are different. The principles remain the same
from a merchant standpoint.
39
Tokenization Feature
FIGURE 1-8
Merchant
Issuing Bank
Account #
Token
Cardholder
Account #
Token
Database
NOTE:
1.10.2
Account #
Account #
Account #
Litle Vault
Account #
Database
Account #
Database
Depending upon implementation, the use of a pay page can allow the
account information to come directly to Vantiv, so the merchant handles
the token only.
Token Formats
For credit cards, in an effort to minimize development requirements on the merchant side, Vantiv
elected to use a format-preserving tokenization scheme. In simple terms this means that the length
of the original card number is reflected in the token, so a submitted 16-digit number results in a
16-digit token. Also, all tokens use only numeric characters, so you do not have to change your
systems to accept alpha-numeric characters.
The credit card token numbers themselves have two parts. The last four digits match the last four
digits of the card number. The remaining digits (length can vary based upon original card number
length) are a randomly generated. Unlike credit card numbers, which are Mod 10 compliant,
tokens are Mod 10 + 1 compliant.
FIGURE 1-9
For an eCheck token, since the account number length can vary widely, we elected to make the
tokens a uniform length of 17 digits. Unlike card tokens, the entire eCheck token number is a
randomly generated. The system supplies the last three characters of the account number in a
separate element. As with credit card tokens, eCheck tokens are Mod 10 + 1 compliant.
40
1.10.3
Introduction
Obtaining Tokens
NOTE:
You must be token enabled and certified prior to using the Vault feature.
Please consult your Customer Experience Manager concerning the
requirements and details of this process.
There are three ways for you to obtain tokens for account numbers. First, you can submit an
existing card number/eCheck account information (account number and routing number) using a
Register Token request. When Vantiv receives this transaction type, we generate a token and
return it to you via a Register Token response (see Register Token Transactions on page 270.)
Although you can use this method to tokenize an account number at any time, it is most useful
when initially tokenizing your customer database. Vantiv recommends that you collect all distinct
credit card numbers in your database and submit the information in one or more large Batch.
When you receive the response file, parse the returned token information to your database,
replacing the card numbers.
The second method you can use to obtain a token is to submit a supported transaction with the
card information. If you are a tokenized merchant, Vantiv will automatically convert the
submitted card number to a token and return it to you in the transaction response. Typically, you
would use this method when taking and submitting a transaction during the normal course of
business. When you receive the response, you store the token instead of the card information.
NOTE:
The third method of obtaining a token applies only to merchants using the Vantiv Pay Page
feature. In this case, upon submission of an account number via the Pay Page API, Vantiv issues a
Registration Id. You then submit the Registration Id in an Authorization or Sale transaction and
receive the token in the response message.
1.10.3.1
If you are new to Vantiv, and have utilized tokens with a previous processor, Vantiv can perform a
bulk token registration on all the card numbers that were vaulted with your previous processor.
The following is an example of the process:
7. During your implementation with Vantiv, you contact your previous processor and request an
encrypted mapping file containing the card and token numbers for your customers. A
Implementation Consultant will work with you and your previous processor to facilitate the
secure transfer of this file without impacting your PCI compliance. The file can be
comma-delimited, tab-delimited, or any other common format.
8. Vantiv performs a bulk token registration of all of the card numbers contained in the file.
41
Tokenization Feature
9. Vantiv returns a mapping file to your organization containing the old tokens and the new
Vantiv-issued tokens, so that you can update your order processing system.
Note that Vantiv supports token-extractor formats of all major token service providers. Contact
your Implementation Consultant for more information or to initiate this process.
1.10.4
Authorization - You can submit the transaction either with a token or card information. If
you submit card information, Vantiv automatically generates the token and returns it in the
response.
Capture Given Auth - You can submit the transaction either with a token or card
information. If you submit card information, Vantiv automatically generates the token and
returns it in the response.
Credit - You can submit the transaction either with a token or card information. If you submit
card information, Vantiv automatically generates the token and returns it in the response.
Force Capture - You can submit the transaction either with a token or card information. If
you submit card information, Vantiv automatically generates the token and returns it in the
response.
Register Token - You use this transaction to convert a card number or eCheck account
number to a Vantiv token without an associated authorization, verification or payment
transaction.
Sale - You can submit the transaction either with a token or card information. If you submit
card information, Vantiv automatically generates the token and returns it in the response.
eCheck Credit - You can submit the transaction either with a token or account information. If
you submit account information, Vantiv automatically generates the token and returns it in the
response.
eCheck Redeposit - You can submit the transaction either with a token or account
information. If you submit account information, Vantiv automatically generates the token and
returns it in the response.
eCheck Sale - You can submit the transaction either with a token or account information. If
you submit account information, Vantiv automatically generates the token and returns it in the
response.
eCheck Verification - You can submit the transaction either with a token or account
information. If you submit account information, Vantiv automatically generates the token and
returns it in the response.
Update Card Validation Number - This is a special transaction type provided to allow the
update of a CVV2/CVC2/CID code supplied at the time of the token registration. You should
only use this transaction type if you had previously submitted the account number and
42
Introduction
1.10.5
As shown below, the Vault tokenization solution complies with 11 of the 12 items listed in the
Visa Best Practices for Tokenization document. The twelfth item concerns the management of
stored historical data (that may contain card information) within your systems. Tokenizing all
historical card info when implementing the Vantiv solution would satisfy this item, as would
protecting it per PCI DSS requirements.
TABLE 1-6
Item #
Who
Domain
Best Practice
Complies?
Vantiv
Tokenization System
Network Segmentation
Yes
Vantiv
Tokenization System
Authentication
Yes
Vantiv
Tokenization System
Monitoring
Yes
Vantiv
Tokenization System
Token Distinguishability
Yes
Vantiv
Token Generation
Token Generation
Yes
Vantiv
Token Generation
Yes
Vantiv
Token Mapping
PAN Processing
Yes
Vantiv
Yes
Vantiv
Yes
10
Vantiv
Cryptographic Keys
Key Strength
Yes
11
Vantiv
Cryptographic Keys
Yes
12
Merchant
Historical Data
Management
Merchant
Implementation
Decision
43
eCheck Processing
1.11.1
Beginning in March, 2015, Vantiv also supports eCheck processing for our
merchants doing business in Canada. All eCheck transaction types,
except Verification and Prenotification transaction are supported. Please
consult your Customer Experience Manager for additional information.
Validation Feature
Vantiv performs a validation of the eCheck routing number. This is done both to verify that the
routing number is correctly formatted and that it exists in the Fed database. If the routing number
fails this validation, the transaction is rejected. Vantiv performs this validation on all eCheck
transactions automatically.
1.11.2
Verification Feature
Since there is no authorization process associated with eChecks allowing you to confirm the
availability of funds and hold the purchase amount, there is a higher risk of certain types of fraud.
The optional eCheck Verification feature allows you to submit an eCheck account number for
comparison to a database containing historical information about the account, as well as the
account holder. When you submit an eCheck Verification transaction the information you provide
is compared to a negative database to see if the account is associated with activities, such as
fraud, over drafts, or other items determined to be risk factors.
NOTE:
Vantiv makes use of a third party service, Certegy Check Services Inc., for
all verification operations.
The verifiaction service is not supported for Canadian eChecks.
You can also initiate an account verification operation as part of an eCheck Sale transaction by
setting the <verify> element to true. In this case, the eCheck Sale transaction is conditional
upon the verification passing. If the verification fails, the sale is not processed.
44
Introduction
1.11.2.1
In the event you elect to perform verification on a transaction and also elect not to proceed with
the transaction based upon a verification failure, you must provide your customer with the
following Decline Notice. You can provide the notice orally, electronically, via e-mail, and/or via
U.S Mail, depending upon the type of transaction. The notice must be substantially as the notice
set forth below that contains the disclosures required under the Fair Credit Reporting Act and
instructs your customer how to contact Certegy directly.
NOTE:
If the required language of the Decline Notice changes, Vantiv will notify
you of the change. You must enact the changes within 10 days.
We're sorry, but we are unable to proceed with your transaction. This determination was
based on information provided by Certegy Check Services, Inc. (Certegy). To protect your
privacy, Certegy did not provide any financial information to [Client's Name] during the
authorization process.
The reason your transaction was not authorized was due to [mark one of the following based
on applicable decline code transmitted by Certegy]:
account closed
dishonored check or transfer information contained in Certegy's files
Certegy had insufficient information available
the identification information you entered did not conform to established guidelines
You have the right under the Fair Credit Reporting Act to know the information Certegy
utilized to make a determination regarding your check. If you find that any information
Certegy utilized in its decision is inaccurate or incomplete, you have a right to dispute it with
Certegy.
You may call Certegy toll free at 800-695-1854, or write to Certegy Check Services, Inc.,
P.O. Box 30046, Tampa, FL 33680-3046.
If you contact Certegy, please provide the following information so they can respond
promptly to your request:
First Name
Current Address
Date Declined
Date of Birth
Dollar Amount
Check/Draft/Transfer Number
Merchant Name
45
eCheck Processing
1.11.3
Similar to an issuing bank providing credit card Account Updater information, RDFIs provide
Notification of Change (NoC) files and deliver them through the ACH network. These NoCs
include updated account information including bank routing numbers, account numbers, and
account names.
Vantiv makes available the NoC information to you for your use in updating your customer files.
Additionally, if you submit a transaction containing information that has changed, we
automatically update the information and forward the corrected transaction to the ACH network.
The LitleXML response message to you also contains the updated information for your use in
correcting your database.
1.11.4
NACHA rules allow merchants to redeposit entries when the initial deposit was returned for
either Insufficient Funds or Uncollected Funds. Two redeposit attempts are allowed within 180
days of the settlement date of the initial deposit. Vantiv offers an optional service that allows you
to preconfigure automatic redeposits of transactions returned for the those reasons. You define the
number of days from the initial return for Vantiv to resubmit the transaction. You also define the
number of days from the return of the first resubmission for the attempt of a second resubmission.
NOTE:
For example, you submitted an eCheck Sale transaction on 29 January that is returned for Return
Reason Code R01 - Insufficient Funds. The return occurs on 1 February. With the Auto Redeposit
feature enabled and a preset period of 5 days for the first redeposit, the system would
automatically generate a resubmission of the deposit on 6 February. If this transaction is also
returned for the same reason code on 7 February and you have a preset time period for the second
redeposit on 7 days, the system generates the second redeposit on 14 February.
1.11.5
eCheck Prenotification
46
Introduction
submit the Prenotification transaction that corresponds to the intended, subsequent transaction.
For example, if you are planning to submit an echeckSale transaction and want to verify the
account information, you should submit a echeckPreNoteSale.
The possible ACH network responses to a prenotification are as follows:
No response - applies when the account is open and the account information is correct.
Return code - provides account status, e.g. R02 Account is closed, R03 No account on file,
R04 Invalid account number.
NOTE:
When you submit either of the Prenotification transaction types, the system sends an
acknowledgement in the Batch response file. This response file does not provide the results of the
prenotification check, but rather a verification that we received the transaction and it was properly
formatted. You receive the results to the check in the SSR eCheck Notification of Change report.
This report is run daily and you can expect to see the results for submitted prenotification checks
by the second or third business day after the settlement day. The settlement day for a
Prenotification transaction is defined as the next business day after submission to the ACH
network. Remember, if the account you are attempting to verify is open and the account
information is correct, the report will not contain an entry for that transaction. The report only
contains NOCs (update information).
Per NACHA regulations, you can submit the eCheck Sale or eCheck Credit transaction on the
third business day after the settlement day; however, there might still be a forthcoming NOC on
that day. Due to the timing of the responses from NACHA, the generation of the reports, and the
movement of the transactions, you should wait until the fourth day after the settlement day to
submit the live transaction unless you receive a NOC earlier. This timing is illustrated in the
example below.
1. You submit a Prenotification transaction on Monday prior to your cut-off time.
2. Our system forwards the transaction to NACHA on Tuesday. Note, this makes Wednesday the
settlement day.
3. NACHA responds with a NOC/return, if any, by Thursday night.
4. On Friday, the information from NACHA is processed by our systems.
5. On Saturday morning, the SSR NOC report containing the information is available to you.
6. You can submit the eCheck Sale or eCheck Credit transaction before your cut-off time on
Saturday night. This is the fourth day after settlement, the fifth day after submission.
47
48
Introduction
<type>VI</type>
<number>4000000000000001</number>
<expDate>1211</expDate>
<cardValidationNum>555</cardValidationNum>
</card>
<cardholderAuthentication>
<authenticationValue>BwABBJQ1gJDUCAAAAAAA=</authenticationValue>
<authenticationTransactionId>gMV75TmjAgk=</authenticationTransactionId>
</cardholderAuthentication>
<allowPartialAuth>true</allowPartialAuth>
<healthcareIIAS>
<healthcareAmounts>
<totalHealthcareAmount>5500</totalHealthcareAmount>
<RxAmount>4000</RxAmount>
<visionAmount>0</visionAmount>
<clinicOtherAmount>1500</clinicOtherAmount>
<dentalAmount>0</dentalAmount>
</healthcareAmounts>
<IIASFlag>Y</IIASFlag>
</healthcareIIAS>
</authorization>
</litleOnlineRequest>
Merchants must become a member of the Special Interest Group for IIAS Standards (SIGIS)
Merchants, except those with healthcare related MCCs, must have an Inventory Information
Approval System (IIAS) used to identify eligible healthcare purchases as defined and
required by the Internal Revenue Code.
Merchants must obtain special account numbers from Visa and MasterCard to process these
transactions
49
Merchants must support data retention and retrieval of line item details for eligible healthcare
products included in Healthcare Card transactions
Merchants must complete Vantiv Certification Testing for the use of this feature, as well as
the Partial Auth feature.
50
Introduction
Transaction Flow
Dongle
2
1
Mobile
Device
3
Merchants
System
4
Vantiv
ROAM
5
Card Brands
51
1.14.1
The operation of Apple Pay on the iPhone 6 is relatively simple, but will require either the
development of new native iOS applications or the modification of your existing applications that
include the use of the Apple PassKit Framework and the handling of the encrypted data returned
to your application by Apple Pay. The basic steps that occur when a consumer initiates an Apple
Pay purchase using your mobile application are:
1. When the consumer selects the Apple Pay option from your application, your application
makes use of the Apple PassKit Framework to request payment data from Apple Pay.
2. When Apple Pay receives the call from your application and after the consumer approves the
Payment Sheet (using Touch ID), Apple creates a PKPaymentToken using your public key.
Included in the PKPaymentToken is a network (Visa, MasterCard, or American Express)
payment token and a cryptogram.
3. Apple Pay returns the Apple PKPaymentToken to your application (defined in Apple
documentation; please refer to
https://developer.apple.com/library/ios/documentation/PassKit/Reference/PaymentTokenJSO
N/PaymentTokenJSON.html).
The remainder of this section discusses the various options for handling the PKPaymentToken in
the transaction flow.
52
1.14.2
Introduction
Vantiv recommends using one of the Vantiv Decryption methods. This transaction process
relieves you from the burden of creating and maintaining public and private keys, as well as
decrypting the PKPaymentToken. If you have already implemented PayPage in a mobile
application, you should use PayPage for Apple Pay. A second, similar method, which still allows
you to submit the PKPaymentToken without decryption, involves you sending the
Authorization/Sale transaction with the PKPaymentToken key values in a new LitleXML element
structure (see applepay), typically from your server. This method can be used even if you are not
tokenized with Vantiv.
In both of these implementations, your Vantiv Implementation Consultant will provide a CSR
(Certificate Signing Request) you use in your registration process with Apple Pay. The CSR
provides Apple Pay with the public key used for encryption, while Vantiv retains the private key
used for decryption.
1.14.2.1
In this scenario, you submit the Apple Pay PKPaymentToken to the Vantiv eCommerce platform
using a new structure in LitleXML (see applepay), typically from your server. As with the
previous scenario, Vantiv decrypts the PKPaymentToken from Apple Pay using the private key.
After completing the first three steps of the process as detailed in the Overview of Apple Pay
Operation section and depicted by the green and blue arrows in Figure 1-11, the process continues
as follows:
4. Your mobile application forwards the PKPaymentToken from Apple Pay, along with other
normal information from the transaction (such as Bill To and Ship To Address), to your order
processing server.
5. You do not decrypt the PKPaymentToken, but rather forward the data to Vantiv in the
Authorization/Sale transaction using the LitleXML <applepay> element structure instead of
<card> (Server-side API submit) and setting the <orderSource> element to applepay.
6. Using the private key retained by Vantiv, we decrypt the PKPaymentToken and submit the
transaction with the appropriate information to the card networks for approval.
7. Vantiv sends the Approval/Decline message back to your system. This message is the
standard format for an Authorization or Sale response.
8. You return the Approval/Decline message to you mobile application.
53
FIGURE 1-11
LitleXML
1.14.2.2
In this scenario, your native iOS application performs an HTTPS POST of the Apple Pay
PKPaymentToken using the Vantiv Mobile API for Apple Pay. From this point forward, your
handling of the transaction is identical to any other PayPage transaction. The PayPage server
returns a PayPage Registration ID and your Mobile App (or server) constructs the LitleXML
transaction using that ID. In this case, the first three steps are identical as detailed in the Overview
of Apple Pay Operation section The process after step 3 is detailed below and shown in
Figure 1-12.
4. Your native iOS application sends the PKPaymentToken to our secure server via an HTTPS
POST and PayPage returns a PayPage Registration ID. Please refer to the Vantiv PayPage
Integration Guide for additional information.
5. Your native iOS application forwards the transaction data along with the PayPage
Registration ID to your order processing server, as it would with any PayPage transaction.
6. Your server constructs/submits a standard LitleXML Authorization/Sale transaction using the
PayPage Registration ID, setting the <orderSource> element to applepay.
54
Introduction
7. Using the private key, Vantiv decrypts the PKPaymentToken associated with the PayPage
Registration ID and submits the transaction with the appropriate information to the card
networks for approval.
8. Vantiv sends the Approval/Decline message back to your system. This message is the
standard format for an Authorization or Sale response and includes the Vantiv token.
9. You return the Approval/Decline message to your mobile application.
FIGURE 1-12
1.14.2.3
Data/Transaction Flow using the Vantiv Mobile API for Apple Pay
Using this process, the responsibility for the decryption of the PKPaymentToken from Apple Pay
falls to you. After completing the first three steps of the process as detailed in the Overview of
Apple Pay Operation section and depicted by the green and blue arrows in Figure 1-13, the
process continues as follows:
55
4. Your mobile application forwards the PKPaymentToken from Apple Pay, along with other
normal information from the transaction (such as Bill To and Ship To Address), to your order
processing server.
5. Using your private key, you decrypt the PKPaymentToken, construct the Authorization/Sale
transaction, and submit it to Vantiv. In this case, you would populate the LitleXML
<number> element with the device primary account number, the <expDate> element with
the expiration date, and the <authenticationValue> field with the cryptogram extracted
from the PKPaymentToken. Also, set the <orderSource> element to applepay
(Server-side API submit).
6. Vantiv detects that this is an Apple Pay transaction and submits the transaction with the
appropriate information to the card networks for approval.
7. Vantiv sends the Approval/Decline message back to your system. This message is the
standard format for an Authorization or Sale response.
8. You return the Approval/Decline message to your mobile application.
FIGURE 1-13
56
Introduction
1.15.1
Authorization Transaction
The Authorization transaction enables you to confirm that a customer has submitted a valid
payment method with their order and has sufficient funds to purchase the goods or services they
ordered. Setting the <allowPartialAuth> element to true in the Authorization request enables
the system to return authorizations for a portion of the order amount for cases where the card does
not have an adequate credit limit or balance available for the full amount.
An approved Authorization reduces the customer's credit limit (or bank balance, in the case of a
debit card) by the amount of the approval by placing the amount on hold. If you have the Prepaid
Indicator feature enabled, the Authorization response also includes an element that indicates if the
card is Prepaid, as well as an element indicating the available balance on the card.
NOTE:
The lifespan of an Authorization depends upon the payment method. Table 1-7 provides
information concerning Authorization lifespans for various card types and alternate payment
methods.
TABLE 1-7
Payment Type
Lifespan of Authorization
MasterCard
7 days
Visa
7 days
American Express
7 days
Discover
10 days
PayPal
57
TABLE 1-7
Payment Type
Lifespan of Authorization
Bill Me Later
As long as the authorization has not expired, or the amount exhausted, you can use it repeatedly
to fulfill an order. This would be the case if the Authorization covered multiple items with
staggered deliveries. In this scenario, you would issue a Partial Capture transaction as each item
shipped until the order was completely fulfilled.
NOTE:
1.15.1.1
An AVS Only transaction is a variation of an Authorization transaction that uses the Address
Verification System to enable you to verify that a customer supplied address matches the billing
address associated with the card. To submit an AVS Only transaction, submit an Authorization
transaction with the <amount> element set to 000 and the optional billToAddress element
with appropriate child values.
NOTE:
1.15.2
The primary use of Authorization Reversal transactions is to eliminate any unused amount on an
unexpired Authorization. Issuing an Authorization Reversal has the benefit of freeing any
remaining held amount that reduces the buying power of your customer. Potentially, this both
increases customer satisfaction and can allow them to proceed with additional purchases that may
otherwise be blocked by credit limits. It also helps you avoid any misuse of Auth fees imposed by
the card associations.
NOTE:
For American Express transactions, the reversal amount must match the
authorization amount. Partial reversals and reversals against remaining
amount after a partial capture are not allowed. Attempts to perform these
types of reversals result in a Response Code of 336 - Reversal amount
does not match Authorization amount.
58
Introduction
For example, consider the following scenario. A customer with a $6,000 credit limit orders a
$3,000 stereo system, but the stereo is a discontinued item. The merchant notifies the customer,
but does not perform and Authorization Reversal. The customer attempts to submit a new order
for a $3,001 stereo.
If the customer uses the same credit card for both orders, the second order could be denied,
since the accounts remaining credit limit is only $3,000.
If the customer had used the same debit card for both orders, the second order places the
customers bank account in an overdraft situation (assuming a starting balance of $6,000).
Either of these situations can result in the merchant losing a sale, as well as receiving a call from
an angry customer.
Another advantage of Authorization Reversal transactions occurs on Visa transactions. In order
for you to qualify for the best possible interchange rates from Visa, the amount of the Capture
must match the amount of the associated Authorization. In order to take advantage of this
situation for you, if the Capture amount is less than the associated Authorization amount, Vantiv
automatically performs a partial Authorization Reversal for the unused amount (also see Capture
Request on page 208).
1.15.2.1
This section provides additional information concerning the requirements of and exceptions to the
use of Authorization Reversal transactions.
Authorization Reversal transactions are supported for the following methods of payment:
PayPal, MasterCard, Visa, Discover, Diners Club, and JC and American Express, but
American Express and PayPal only support reversals of the entire Authorized amount (no
partial reversals).
All transactional data, including associated Authorizations, Captures, and Refunds, must be
LitleXML format.
Vantiv recommends that you send the Authorization Reversal transaction using the same
submission method (Batch or Online) as used for the Capture transaction. This is to eliminate
a possible race condition that may occur if you submit an Online Authorization Reversal prior
to the processing of a Batch containing the associate Capture transaction.
For Batch transactions, send Authorization Reversal transactions in a session separate from
the both the associated Authorization and the associated Capture transactions.
For Online transactions, when following an Authorization with an Auth Reversal, allow a
minimum of one minute between the transactions.
For Visa transactions, Vantiv automatically performs a partial Authorization Reversal, if the
Capture amount is less than the associated Authorization amount.
If you do not specify an amount (<amount> element) in the Authorization Reversal, Vantiv
reverses the total amount of the associated Authorization.
59
Do not send an Authorization Reversal against an expired Authorization. This results in a 306
- Auth expired, so amount does not need to be reversed error. When an Authorization expires,
the hold amount is automatically reversed.
Do not send an Authorization Reversal against an Authorization that does not exist in our
system. For example, if you sends a reversal against an Authorization that failed or an
Authorization that was declined, the Authorization Reversal returns a 360 - No transaction
found with specified litleTxnId error.
Do not send an Authorization Reversal against a payment type that does not support
Authorization Reversals. This results in a 335 - This method of payment does not support
reversals error.
Do not send an Authorization Reversal for a fully depleted Authorization. This results in a
111 - Authorization amount has already been depleted error.
1.15.2.2
If you are using the Recycling Engine to optimize your authorizations and need to discontinue the
automatic recycling of the transaction, you use an Authorization Reversal transaction to halt the
retries. For example, if a customer cancels an order and the authorization for the order is being
retried by the Recycling Engine, you submit an Authorization Reversal transaction to halt the
automatic recycling of the authorization.
NOTE:
1.15.3
Activate Transaction
You use an Activate transaction to change the status of a (Closed Loop) Gift Card from an
inactive to an active state with a value as specified by the amount element. You can also use this
transaction type to create a Virtual Gift Card.
1.15.4
You use as Activate Reversal transaction to change the status of a newly activated (Closed Loop)
Gift Card from active to inactive, thus reversing the operation of an Active transaction. The
Activate Reversal references the associated Activate transaction by means of the litleTxnId
element returned in the Activate response.
60
1.15.5
Introduction
You use the Balance Inquiry transaction to determine the balance available for use on a (Closed
Loop) Gift Card.
1.15.6
If you are using the Recurring Engine, you create Subscriptions as part of an Authorization or
Sale transaction. You use the Cancel Subscription transaction to cancel the specified subscription,
removing the transaction stream managed by the Recurring Engine.
1.15.7
Capture Transaction
You use a Capture transaction to transfer previously authorized funds from the customer to you
after order fulfillment. You can submit a Capture transaction for the full amount of the
Authorization, or for a lesser amount by setting the partial attribute to true.
NOTE:
1.15.8
For a Visa transaction, if you submit a Capture for an amount less than
the Authorized amount, Vantiv automatically issues a partial Authorization
Reversal for the balance of the Authorized amount.
Similar to a Capture transaction, you use a Capture Given Auth transaction to transfer previously
authorized funds from the customer to you after fulfillment. However, you typically use a Capture
Given Auth transaction if the associated Authorization occurred outside of the system (for
example, if you received a telephone Authorization). Another possible use for a Capture Given
Auth transaction is if the Authorization transaction occurred within the system, but the
litletxnId is unknown by the submitting party (for example, if the Auth was submitted by a
merchant, but a fulfiller submits a Capture Given Auth).
Whenever you submit a Capture Given Auth transaction, Vantiv attempts to match it to an
existing Authorization using COMAAR data (Card Number, Order Id, Merchant Id, Amount,
Approval Code, and (Auth) Response Date) in order to obtain a better Interchange rate for the
transaction. The application uses the following matching logic:
If the Order Id was either not submitted (blank, spaces, or null) or does not match any Auth in
the system, it is ignored and the matching attempt proceeds using the remaining COMAAR
data.
If the matching operation results in multiple possible matches, the application selects the
Authorization with the lowest amount that is greater than or equal to the Capture Given Auth
amount.
61
NOTE:
If necessary, the application further narrows the match candidates to the one with the most
recent response date.
NOTE:
1.15.9
You use the Create Plan transaction to define several attributes of a recurring payment schedule.
Later, as part of an Authorization or sale transaction, you can associate existing, active plans with
Subscriptions. This association establishes a recurring payment schedule managed by the Vantiv
Recurring Engine.
Capture Transaction
Sale Transaction
62
Introduction
63
NOTE:
Do not use this transaction type if you are enabled for the Auto Redeposit
feature. If you are enabled for the Auto Redeposit feature, the system will
reject any echeckRedeposit transaction you submit.
Introduction
65
When using a Void transaction to halt recycling, there is a possibility that the recycled transaction
has already been approved and captured. If this condition occurs, depending upon your
configuration, the system takes one of two actions:
66
Introduction
If you are not configured for the Automatic Refund option (default = disabled), the system
declines the Void transaction. You must issue the Credit transaction to refund the money to
the consumer. The daily Recycling file will include the approved/captured transaction.
If you are configured for the Automatic Refund option, the system issues a Credit transaction
on your behalf. The system returns the transaction Id for the Credit transaction in the Void
response message (creditLitleTnxId element). The daily Recycling file will include the
approved/captured transaction only if the file was generated prior to the system receiving the
Void and issuing the automatic refund.
PayFac Credit Transaction - You use this transaction type to move funds from the PayFac
Settlement Account to your Operating Account.
PayFac Debit Transaction - You use this transaction type to move funds from your
Operating Account to the PayFac Settlement Account.
Physical Check Credit - You use this transaction type to move funds from the PayFac
Settlement Account to the account of a third party that issues phyical checks on your behalf.
Physical Check Debit - You use this transaction type to move funds from the physical check
issuers Account to the PayFac Settlement Account.
Reserve Credit Transaction - You use this transaction type to move funds from the PayFac
Settlement Account to the Reserve Account.
Reserve Debit Transaction - You use this transaction type to move funds from the Reserve
Account to the PayFac Settlement Account.
Sub-merchant Credit Transaction - You use this transaction type to move funds from the
PayFac Settlement Account to the Sub-merchant Account, funding the Sub-merchant.
Sub-merchant Debit Transaction - You use this transaction type to move funds from the
Sub-merchant Account to the PayFac Settlement Account.
Vendor Credit - You use this transaction type to move funds from the PayFac Settlement
Account to the account of a third party involved in the sale transactions, but are not the
sub-merchant.
Vendor Debit - You use this transaction type to move funds from the Vendor Account to the
PayFac Settlement Account.
67
68
2
TESTING YOUR LITLEXML TRANSACTIONS
The information provided in this chapter enables you to test and verify that your submitted
transaction data conforms to the required LitleXML schema. This chapter contains the following
topics:
Overview of Testing
Transferring Files
NOTE:
This chapter does not include Certification tests for the PayFac
Instruction-Based Dynamic Payout transaction types. Additional
information about these transactions, as well as the Certification tests are
in Appendix D, "PayFac Instruction-Based Dynamic Payout".
69
2.1
2.1.1
Sandbox Environment
The Sandbox environment is a simulator that provides a basic interface for functional level testing
of transaction messages. Typically, merchants using one of the available Software Development
Kits (SDKs) would use the Sandbox to test basic functionality, but it could also be used by any
merchant using LitleXML. This is a stateless simulator, so it has no historical transactional data,
and does not provide full functionality. This environment is not intended for certification or
regression testing.
NOTE:
At his time, the Sandbox does not support Batch transactions (Online
transactions only).
Use of the Sandbox does not require a password. The environment is available on the public
internet (at www.testlitle.com/sandbox/communicator/online). Supporting documentation,
including test case documentation, is available at www.litle.com/developers/litle-sandbox.
2.1.2
Pre-Live Environment
The Pre-Live test environment is the platform used for all merchant Certification testing. This
environment should be used by both newly on-boarding Vantiv merchants (for example, coding a
direct XML integration for the first time), and existing Vantiv merchants seeking to incorporate
additional features or functionalities into their current XML integrations. While the Pre-Live
system provides a working version of the Vantiv production system, it does not have the full
capacity or performance of the production platform and operates using simulators rather than
communicating with the card associations.
It provides for the self-provisioning of a basic test account via www.testlitle.com, and the
self-certification of basic processing through report cards that are auto-distributed to merchants as
they send in test transactions. Additional features you plan to use once qualified for the
submission of transactions to the production platform, will be configured by your Implementation
Consultant, such that your test merchant(s) configuration will be the same as you will have in
production.
70
2.1.2.1
When using the Pre-Live environment for testing, please keep in mind the following limitations
and maintenance schedules:
The number of merchants configured per organization will be limited to the number necessary
to perform the required certification testing.
NOTE:
Merchant profile and data deleted after 7 consecutive days with no activity.
2.1.3
Post-Live Environment
The Post-Live testing environment is intended for merchants that are already fully certified and
submitting transactions to the Vantiv production platform, but wish to perform regression or other
tests to confirm the operational readiness of modifications to their own systems. Upon completion
of the initial certification and on-boarding process, Vantiv migrates merchants that are
Production-enabled to the Post-Live environment for any on-going testing needs.
In Post-Live, the merchant profile matches your profile from the Vantiv Production environment.
Similar to Pre-Live, the Post-Live system provides a working version of the Vantiv production
system, but it does not have the full capacity or performance of the production platform and
operates using simulators rather than communicating with the card associations. Unlike the
Pre-live platform, all Merchant accounts/IDs are synchronized with the Vantiv production
environment.
2.1.3.1
When using the Post-Live environment for testing, please keep in mind the following limitations
and maintenance schedules:
71
NOTE:
72
2.2
Overview of Testing
The purpose of the testing and certification process is to verify that your order entry and
supporting systems construct and send XML messages that comply with the LitleXML
requirements. The Litle & Co. testing process involves submitting Vantiv supplied data for
specific fields in a request, and receiving specific data back in a response. The response returned
by Vantiv allows you to verify that you parse the LitleXML Response file correctly.
Various tables in this chapter provide the data you use while testing, including card numbers,
expiration dates, transaction amounts, and other values as required by the testing process. You use
this data as input to your systems resulting in structured requests that conform to the required
LitleXML schema.
IMPORTANT: The test data supplied does not necessarily account for all data fields/xml
elements in a particular request. Where test data is not supplied, you
should provide appropriate information. You should never override your
own system to enter supplied data. If you are unable to enter the supplied
data without overriding your system, please consult your Implementation
Consultant concerning the test and how to proceed.
Typically, Vantiv assigns an Implementation Consultant to work with you after the completion of
contract negotiations. Before you begin the testing phase, your assigned Implementation
Consultant establishes a test account and supplies you with instruction for accessing the account
along with the username and password. You must supply the IP address from which the data
originates so we can grant access.
NOTE:
Until you complete all required testing, you will only have access to the
test and certification environment.
2.2.1
Before you begin testing, determine which transaction types you will use according to your
business needs. Virtually everyone will make use of the following basic transaction types:
Authorization, Capture, Sale, Credit, and Void. There are several other transaction types and most
transaction types offer many options/optional fields that you may wish to utilize and therefore
test. For example, if you decide to offer eChecks as a alternate payment method, there are several
associated certification tested required. Similarly, if you elect to make use of the Insights feature
set, there are additional Authorization tests required for certification.
73
NOTE:
Overview of Testing
2.2.2
Certification testing is a required phase of implementing the LitleXML format. During the
certification testing, a Litle & Co. Implementation Consultant works with you to verify that your
transaction submissions meet the requirements of the LitleXML specifications. Each transaction
type has specific test scenarios that use specific data sets simulating real transactions. The Vantiv
Certification environment responds to each submission with an XML response message, allowing
you to verify that you have coded correctly to parse and store the transaction data returned to you.
For more detailed information, see Performing the Required Certification Tests on page 83.
2.2.3
Optional Testing
Litle & Co. provides you with test data, test scenarios, a test environment, and credentials for
using that test environment so you can perform these tests on your own keeping in mind the
limitations of the certification environment (see Certification and Testing Environments on page
70). During unattended testing, you use these resources to perform all of the tests that apply to
your business needs.
NOTE:
2.2.4
System Doctor
The System Doctor is a tool you can use to both verify the operation of the Pre-Live environment
and to verify operation and message structures of individual certification tests. Every 30 minutes
the System Doctor runs each certification test specified in this chapter, except the Recycling and
Recurring tests. You access the System Doctor through the Pre-Live iQ (Operations>System
Doctor).
74
FIGURE 2-1
System Doctor
As shown in Figure 2-1, the system displays an overall assessment of the system status in the top
panel and the results from each test set in the Test Execution History section (bottom panel). The
center panel has a list of all individual tests by Order Id (pull-down), which you can filter by
clicking on or more of the Search Tag buttons. Selecting one of the Order Ids from the list
displays the XML request and response for that test (see Figure 2-2). You can also display the
XML request and response information by selecting a test run from the Test Execution History
and then selecting an individual test from the expanded list.
NOTE:
The search tags filter the Order Ids shown in the selection pull-down, but
do so in an ORed manner. For example, if you select the Visa Filter and
the Prepaid Filter, the pull-down displays Order Ids for tests that either
use a Visa card OR a Prepaid card, rather than tests for a Prepaid Visa
card.
75
FIGURE 2-2
Overview of Testing
If one of your certification tests did not yield the expected results, you can use the System Doctor
to determine if the test is performing as expected in the environment and if there is a discrepancy
between your submitted XML and the XML message used in the automated test. If the test failed
in the last automated run, you will know that there is a system issue and can contact your
Implementation Consultant to determine when it will be resolved. If the test passed in the
automated run, you can compare the automated XML message to your submission to determine
why you are not receiving the expected results.
76
2.3
Transferring Files
As discussed in Communications Protocols on page 3, there are several protocols you can use to
submit your transactions to Vantiv for processing. This section provides additional information
concerning the recommended methods for transferring your LitleXML Batch and Online
transaction files.
2.3.1
This section describes how to FTP your files (not test system specific) and includes the following
topics:
2.3.1.1
Before you begin transferring files via FTP, Vantiv provides the FTP Host
and a username/password for the Vantiv test system.
CAUTION:
1. On your local system, add the extension .prg (lowercase) to the name of the file you want to
submit. For example, you could name the file MerchantName_YYMMDD.prg. Keep in mind
the following rules:
Spaces are not allowed in the file name
The .prg extension must be lower case
2. Open your FTP connection to the Vantiv inbound directory and move your file to the Vantiv
directory.
3. After the FTP process completes, change the extension of the transmitted file (in the Vantiv
inbound directory) from .prg to .asc (lowercase). The system polls the directory for files with
an .asc extension every thirty seconds. When the system encounters files with the proper
extension, it retrieves them for processing.
77
2.3.1.2
Transferring Files
Depending on the size of your file, your response should be ready within a few minutes. Batches
containing large number of transactions take longer. For example, a batch of 10,000 transactions
may require as long as ten minutes to process.
The initial response represents an acknowledgement that we received the transactions and
notification that we will deliver them upstream to Visa and/or MasterCard for review. Since we
perform validation operations against the credit card number and the expiration date, you may
also receive a decline responses containing the appropriate response code.
To retrieve response files from the outbound directory:
NOTE:
Vantiv removes response files from the outbound directory after 24 hours.
Plan to retrieve your files daily.
2.3.2
The recommended method for submitting Online transactions is via HTTPS POST. The sections
that follow provide examples of ASP and Java programming methods for submitting your data
using HTTPS POST.
Before you begin testing, Vantiv provides the test system URL, a
username/password, and any additional information required to test your
XML transactions.
78
2.3.2.1
The following code is an example of a LitleXML Authorization transaction submitted via HTTPS
Post using ASP.
Dim xml
Dim strXML
strXML = strXML & "<litleOnlineRequest version=""8.8""
xmlns=""http://www.litle.com/schema"" merchantId=""MERCHANTID"">"
strXML = strXML & "<authentication>"
strXML = strXML & "<user>USERNAME</user>"
strXML = strXML & "<password>########</password>"
strXML = strXML & "</authentication>"
strXML = strXML & "<authorization id=""834262""
reportGroup=""123"" customerId=""038945"">"
strXML = strXML & "<orderId>3235059</orderId>"
strXML = strXML & "<amount>54399</amount>"
strXML = strXML & "<orderSource>ecommerce</orderSource>"
strXML = strXML & "<billToAddress>"
strXML = strXML & "<name>Todd Wilson</name>"
strXML = strXML & "<addressLine1>123 Blue
Street</addressLine1>"
strXML = strXML & "<addressLine2>Suite 108</addressLine2>"
strXML = strXML & "<addressLine3>Address Line 3</addressLine3>"
strXML = strXML & "<city>Lowell</city>"
strXML = strXML & "<state>MA</state>"
strXML = strXML & "<zip>01851</zip>"
strXML = strXML & "<country>USA</country>"
strXML = strXML & "<email>[email protected]</email>"
strXML = strXML & "<phone>323-222-2222</phone>"
strXML = strXML & "</billToAddress>"
strXML = strXML & "<card>"
strXML = strXML & "<type>VI</type>"
strXML = strXML & "<number>#############</number>"
strXML = strXML & "<expDate>0516</expDate>"
strXML = strXML & "<cardValidationNum>###</cardValidationNum>"
strXML = strXML & "</card>"
79
Transferring Files
2.3.2.2
80
2.3.2.3
While Vantiv optimizes our systems to ensure the return of Authorization responses as quickly as
possible, some portions of the process are beyond our control. The round-trip time of an
Authorization can be broken down into three parts, as follows:
1. Transmission time (across the internet) to Vantiv and back to the merchant
2. Processing time by the card association or authorization provider
3. Processing time Vantiv
Under normal operating circumstances, the transmission time to and from Vantiv does not exceed
0.6 seconds and processing time by Vantiv occurs in 0.1 seconds. Typically, the processing time
by the card association or authorization provider can take between 0.5 and 3 seconds, but some
percentage of transactions may take significantly longer.
Because the total processing time can vary due to a number of factors, Vantiv recommends using
a timeout setting of 10 seconds minimum for card transactions and 30 seconds minimum for
alternate payment methods. These settings should ensure that you do not frequently disconnect
prior to receiving a valid authorization causing dropped orders and/or re-auths and duplicate
auths.
NOTE:
2.3.2.4
In order to provide a highly scalable service that meets the needs of high-throughput merchants,
while reducing the number of idle connections that could result in some merchants exceeding
their connection limits, systems allow for 10 seconds of idle time before closing a persistent
connection. We selected this value because it is the midpoint between the Apache httpd 2.0
default value of 15 seconds and the Apache 2.2 default value of 5 seconds. If you plan to use
persistent connection, please code keeping the 10 second idle time limit in mind.
2.3.2.5
The following web sites provide additional information, helpful hints, and examples of different
programming methods used in combination with HTTPS POST.
81
Transferring Files
http://p2p.wrox.com
http://en.allexperts.com/q/Active-Server-Pages-1452/XML-ASP-Parser-2.htm
http://www.java-samples.com/java/POST-toHTTPS-url-free-java-sample-program.htm
82
2.4
2.4.1
Table 2-1 provides 26 data sets you use to test your construction of Authorization, AVS Only,
Sale and Force Capture transactions, as well as your ability to parse the information contained in
the XML response messages. You also use some of the approved authorizations as the basis for
testing Capture and Credit transactions.
You do not necessarily have to perform all Authorization test. The tests you perform depend upon
the Vantiv features you have elected to use. The tests are divided as follows:
Order Ids 1 through 9 - used to test standard Authorization requests and responses. Also used
for AVS Only test and Sale test. (Capture test use the litleTxnId returned in the response
messages.)
Order Ids 14 and 20 - include if you plan to use the Prepaid Indicator feature (see Prepaid
Indicator on page 25)
Order Ids 21 through 24 - include if you plan to use the Affluence Indicator feature (see
Affluence Indicator on page 26)
Order Id 25 - include if you plan to use the Issuer Country feature (see Issuer Country
Indicator on page 26)
83
Order Ids 26 through 31 - include if you plan to use the Healthcare Card feature (see
Healthcare Card Feature on page 48)
84
85
TABLE 2-1
orderId
Element
Value
Authorization/Sale/AVS:
Element
Authorization Response:
<amount> 10100
<response> 000
<message> Approved
<authCode> 11111
<city> Burlington
<state> MA
Value
<avsResult> 01
<cardValidationResult> M
<zip> 01803-3747
<country> US
<type> VI
<number> 4457010000000009
<expDate> 0116
<cardValidationNum> 349
1A
Capture:
Capture Response:
Credit:
<response> 000
<message> Approved
Credit Response:
Void:
<response> 000
<message> Approved
Void Response:
86
<response> 000
<message> Approved
TABLE 2-1
orderId
Element
Value
Authorization/Sale/AVS:
Element
Authorization Response:
<amount> 10100
<response> 000
<message> Approved
<authCode> 22222
<avsResult> 10
<city> Riverside
<state> RI
<zip> 02915
Value
<cardValidationResult> M
<authenticationResult> Note: Not returned
for MasterCard
<country> US
<type> MC
<number> 5112010000000003
<expDate> 0216
<cardValidationNum> 261
<authenticationValue> BwABBJQ1AgAAA
AAgJDUCAAAAAA
A=
2A
Capture:
Capture Response:
Credit:
<response> 000
<message> Approved
Credit Response:
Void:
<response> 000
<message> Approved
Void Response:
<response> 000
<message> Approved
87
TABLE 2-1
orderId
Element
Value
Authorization/Sale/AVS:
Element
Authorization Response:
<amount> 10100
<response> 000
<message> Approved
<authCode> 33333
<city> Bloomfield
<state> CT
Value
<avsResult> 10
<cardValidationResult> M
<zip> 06002
<country> US
<type> DI
<number> 6011010000000003
<expDate> 0316
<cardValidationNum> 758
3A
Capture:
Capture Response:
Credit:
<response> 000
<message> Approved
Credit Response:
Void:
<response> 000
<message> Approved
Void Response:
88
<response> 000
<message> Approved
TABLE 2-1
orderId
Element
Value
Authorization/Sale/AVS:
Element
Value
Authorization Response:
<amount> 10100
<response> 000
<message> Approved
<authCode> 44444
<city> Laurel
<avsResult> 13
<state> MD
<zip> 20708
<country> US
<type> AX
<number> 375001000000005
<expDate> 0416
4A
Capture:
Capture Response:
Credit:
<response> 000
<message> Approved
Credit Response:
Void:
<response> 000
<message> Approved
Void Response:
<response> 000
<message> Approved
89
TABLE 2-1
orderId
Element
Value
Authorization/Sale/AVS:
Element
Authorization Response:
<amount> 10100
<response> 000
<type> VI
<message> Approved
<number> 4100200300011001
<authCode> 55555
<expDate> 0516
<cardValidationNum> 463
Value
<avsResult> 32
<cardValidationResult> M
<authenticationValue> BwABBJQ1AgAAA
AAgJDUCAAAAAA
A=
5A
Capture:
Capture Response:
Credit:
<response> 000
<message> Approved
Credit Response:
Void:
<response> 000
<message> Approved
Void Response:
90
<response> 000
<message> Approved
TABLE 2-1
orderId
Element
Value
Authorization/Sale:
Element
Value
Authorization Response:
<amount> 10100
<response> 110
<avsResult> 34
<cardValidationResult> P
<state> NH
<zip> 03038
<country> US
<type> VI
<number> 4457010100000008
<expDate> 0616
<cardValidationNum> 992
6A
Void:
Void Response:
Authorization/Sale/AVS:
<response> 360
<message> No transaction
found with
specified litleTxnId
Authorization Response:
<response> 301
<amount> 10100
Invalid Account
<message> Number
<avsResult> 34
<city> Amesbury
<state> MA
<cardValidationResult> N
<zip> 01913
<country> US
<type> MC
<number> 5112010100000002
<expDate> 0716
<cardValidationNum> 251
91
TABLE 2-1
orderId
Element
Value
Authorization/Sale/AVS:
Element
Authorization Response:
<amount> 10100
<response> 123
Value
<avsResult> 34
<cardValidationResult> P
<state> NH
<zip> 03101
<country> US
<type> DI
<number> 6011010100000002
<expDate> 0816
<cardValidationNum> 184
9
Authorization/Sale/AVS:
Authorization Response:
<amount> 10100
<response> 303
<avsResult> 34
<cardValidationResult> P
<state> MA
<zip> 02134
<country> US
<type> AX
<number> 375001010000003
<expDate> 0916
<cardValidationNum> 0421
NOTE:
10
The data sets for orderId 10 through 13 are designed to test Authorization transactions
resulting in partial authorizations. If you are not coding to use partial authorizations, you
may skip these tests.
<amount> 10100
<response> 010
<type> VI
<number> 4457010140000141
<expDate> 0916
<allowPartialAuth> true
92
TABLE 2-1
orderId
11
Element
Value
Element
<amount> 10100
<response> 010
<type> MC
<number> 5112010140000004
Value
<expDate> 1116
<allowPartialAuth> true
12
<amount> 10100
<response> 010
<type> AX
<number> 375001014000009
<expDate> 0416
<allowPartialAuth> true
13
<amount> 10100
<response> 010
<type> DI
<number> 6011010140000004
<expDate> 0816
<allowPartialAuth> true
NOTE:
14
The data sets for orderId 14 through 20 are designed to test Authorization transactions
that return Prepaid Indicator information in the response message. If you are not coding
to use the optional Prepaid Indicator feature of the Insights feature set, you may skip
these tests.
<amount> 10100
<response> 000
<type> VI
<message> Approved
<number> 4457010200000247
<expDate> 0816
<type> PREPAID
<availableBalance> 2000
<reloadable> NO
<prepaidCardType> GIFT
15
<response> 000
<amount> 10100
<type> MC
<message> Approved
<number> 5500000254444445
<expDate> 0316
<type> PREPAID
<availableBalance> 2000
<reloadable> YES
<prepaidCardType> PAYROLL
93
TABLE 2-1
orderId
16
Element
Value
Element
<amount> 10100
<response> 000
<type> MC
<message> Approved
<number> 5592106621450897
<expDate> 0316
Value
<type> PREPAID
<availableBalance> 0
<reloadable> YES
<prepaidCardType> PAYROLL
17
<amount> 10100
<response> 000
<type> MC
<message> Approved
<type> PREPAID
<number> 5590409551104142
<expDate> 0316
<availableBalance> 6500
<reloadable> YES
<prepaidCardType> PAYROLL
18
<amount> 10100
<response> 000
<type> MC
<message> Approved
<number> 5587755665222179
<expDate> 0316
<type> PREPAID
<availableBalance> 12200
<reloadable> YES
<prepaidCardType> PAYROLL
19
<response> 000
<amount> 10100
<message> Approved
<type> MC
<type> PREPAID
<number> 5445840176552850
<expDate> 0316
<availableBalance> 20000
<reloadable> YES
<prepaidCardType> PAYROLL
20
<response> 000
<amount> 10100
<message> Approved
<type> MC
<type> PREPAID
<number> 5390016478904678
<expDate> 0316
<availableBalance> 10050
<reloadable> YES
<prepaidCardType> PAYROLL
94
TABLE 2-1
orderId
NOTE:
21
Element
Value
Value
The data sets for orderId 21 through 24 are designed to test Authorization transactions
that return Affluence Indicator information in the response message. If you are not
coding to use the optional Affluence Indicator feature of the Insights feature set, you
may skip these tests.
<amount> 10100
<type> VI
<number> 4100200300012009
<response> 000
<message> Approved
<affluence> AFFLUENT
<expDate> 0916
22
<amount> 10100
<type> VI
<number> 4100200300013007
<response> 000
<message> Approved
<affluence> MASS AFFLUENT
<expDate> 1116
23
<amount> 10100
<type> MC
<number> 5112010201000109
<response> 000
<message> Approved
<affluence> AFFLUENT
<expDate> 0416
24
<amount> 10100
<type> MC
<number> 5112010202000108
<response> 000
<message> Approved
<affluence> MASS AFFLUENT
<expDate> 0816
NOTE:
25
The data set for orderId 25 is designed to test Authorization transactions that return
Issuer Country information in the response message. If you are not coding to use the
optional Issuer Country feature of the Insights feature set, you may skip these tests.
<amount> 10100
<type> VI
<number> 4100200310000002
<response> 000
<message> Approved
<issuerCountry> BRA
<expDate> 1116
95
TABLE 2-1
orderId
NOTE:
26
Element
Value
Value
The data sets for orderId 26 through 31 are designed to test Authorization transactions
involving Healthcare Care (IIAS) transaction. If you are not coding to use the optional
Healthcard feature of the Insights feature set, you may skip these tests.
<amount> 18698
<type> MC
<number> 5194560012341234
<response> 341
<message> Invalid healthcare
amounts
<expDate> 1216
<allowPartialAuth> true
<totalHealthcareAmount> 20000
27
<amount> 18698
<type> MC
<number> 5194560012341234
<response> 341
<message> Invalid healthcare
amounts
<expDate> 1216
<allowPartialAuth> true
<totalHealthcareAmount>
15000
<RxAmount> 16000
28
<amount> 15000
<type> MC
<response> 000
<message> Approved
<number> 5194560012341234
<expDate> 1216
<allowPartialAuth> true
<totalHealthcareAmount>
15000
<RxAmount> 3698
29
<amount> 18699
<type> VI
<number> 4024720001231239
<response> 341
<message> Invalid healthcare
amounts
<expDate> 1216
<allowPartialAuth> true
<totalHealthcareAmount>
31000
<RxAmount> 1000
<visionAmount> 19901
<clinicOtherAmount> 9050
<dentalAmount> 1049
96
TABLE 2-1
orderId
30
Element
Value
Element
<amount> 20000
Value
<response> 341
<type> VI
<number> 4024720001231239
<expDate> 1216
<allowPartialAuth> true
<totalHealthcareAmount>
20000
<RxAmount> 1000
<visionAmount> 19901
<clinicOtherAmount> 9050
<dentalAmount> 1049
31
<amount> 25000
<response> 010
<type> VI
<number> 4024720001231239
<expDate> 1216
<allowPartialAuth> true
<totalHealthcareAmount>
18699
<RxAmount> 1000
<visionAmount> 15099
97
2.4.1.1
If you have elected to receive Authorization Recycling Advice, you must complete the
certification tests in this section. The primary purpose of these tests are for you to verify that your
systems correctly parse the recycle advice returned in the response message and that your systems
can act on the recommendations.
If you are not coding to receive Recycling Advice, skip this test and go to Testing Authorization
Reversal Transactions on page 99.
To test the Recycling Advice feature:
1. Submit authorization transactions using the orders shown in Table 2-2.
2. The response messages for each transaction will contain a recycling element (see recycling
on page 588). Verify that your system parses the advice correctly and sets-up to recycle the
Auth according to the advice provided in the Key Response Elements for the given orderId.
3. Recycle the Auth according to the advice provided.
For Order Id VIcredit12401 the response message for the second recycle attempt (third
Auth transaction) will contain the recycleAdviceEnd element.
For Order Id VIcredit13201 the response message for the second recycle attempt (third
Auth transaction) will contain additional recycling advice, but you can discontinue the
testing at this point.
TABLE 2-2
orderId
VIcredit12401
Element
Value
<amount> 12401
<response> 322
<type> VI
<number> 4457012400000001
<expDate> 1220
Value
<response> 322
<message> Invalid Transaction
<nextRecycleTime> (Original) Auth
Date + 2 Days
Second Recycle Attempt:
<response> 322
<message> Invalid Transaction
<recycleAdviceEnd> End of Advice
98
TABLE 2-2
orderId
Element
VIprepaid13201
Value
<amount> 13201
<type> VI
<response> 349
<number> 4457013200000001
<expDate> 1220
Value
<response> 349
<message> Do Not Honor
<nextRecycleTime> (Original) Auth
Date + 3 Days
Second Recycle Attempt:
<response> 349
<message> Do Not Honor
<recycleAdviceEnd> (Original) Auth
Date + 5 Days
2.4.2
If you plan to use Authorization Reversal Transactions, you must perform this test. If you do not
plan to use Authorization Reversal transactions, skip this test and go to Testing eCheck
Transactions on page 103.
To test Authorization Reversal Transactions:
1. Verify that your Authorization Reversal XML templates are coded correctly (refer to
Authorization Reversal Transactions on page 197).
2. Submit the Authorizations, Captures (if applicable), and Authorization Reversal Transactions
using the orders shown in Table 2-3.
3. Verify that your response values match those shown in Key Response Elements as shown in
Table 2-3.
99
TABLE 2-3
orderId
32
Element
Value
Authorization:
Element
Value
Authorization Response:
<amount> 10010
<response> 000
<message> Approved
<authCode> 11111
<city> Burlington
<state> MA
<avsResult> 01
<cardValidationResult> M
<zip> 01803-3747
<country> US
<type> VI
<number> 4457010000000009
<expDate> 0116
<cardValidationNum> 349
32A
Capture:
Capture Response:
<amount> 5050
<response> 000
Authorization Reversal:
<message> Approved
<response> 111
<message> Authorization
amount has
Note: This transaction
already been
returns 111 instead of 000,
depleted
because it is unnecessary
to submit an Authorization
Reversal for the Visa
payment card.
100
TABLE 2-3
orderId
33
Element
Value
Authorization:
Element
Value
Authorization Response:
<amount> 20020
<response> 000
<message> Approved
<authCode> 22222
<avsResult> 10
<city> Riverside
<state> RI
<zip> 02915
<cardValidationResult> M
<authenticationResult> Note: Not returned
for MasterCard
<country> US
<type> MC
<number> 5112010000000003
<expDate> 0216
<cardValidationNum> 261
<authenticationValue> BwABBJQ1AgAAA
AAgJDUCAAAAAA
A=
33A
Authorization Reversal:
<response> 000
<message> Approved
Authorization:
Authorization Response:
<amount> 30030
<response> 000
<message> Approved
<authCode> 33333
<city> Bloomfield
<state> CT
<avsResult> 10
<cardValidationResult> M
<zip> 06002
<country> US
<type> DI
<number> 6011010000000003
<expDate> 0316
<cardValidationNum> 758
101
TABLE 2-3
orderId
34A
Element
Value
Authorization Reversal:
Element
Value
<response> 000
<message> Approved
Authorization:
Authorization Response:
<amount> 10100
<response> 000
<message> Approved
<authCode> 44444
<city> Laurel
<avsResult> 13
<state> MD
<zip> 20708
<country> US
<type> AX
<number> 375001000000005
<expDate> 0416
35A
Capture:
Capture Response:
<amount> 5050
<response> 000
Authorization Reversal:
<message> Approved
<response> 336
<message> Reversal amount
does not match
Authorization
amount
<amount> 5050
36
Authorization:
Authorization Response:
<amount> 20500
<type> AX
<response> 000
<message> Approved
<number> 375000026600004
<expDate> 0516
102
TABLE 2-3
orderId
36A
Element
Value
Authorization Reversal:
Element
Auth Reversal Response:
2.4.3
Value
<response> 336
<message> Reversal Amount
does not match
Authorization
amount
If you have elected to offer eChecks as an alternate payment method, you are required to
complete the tests in this section. Data sets are provided for you to use to test your construction of
XML request messages, as well as the parsing of the response messages for eCheck transactions.
NOTE:
In addition to the test data provided in the table, you must also provide
appropriate data for other child elements of the billToAddress element,
such as Address1 (2, 3), city, state, phone, etc.
For Corporate accounts (Order ID 39 and 40) you must include the
firstName, lastName, and companyName in the echeckVerification
request.
3. Verify that your response values match those shown in the Key Response Elements section of
Table 2-4.
4. After you complete this test, go to the next eCheck test.
103
TABLE 2-4
orderId
37
Element
Value
<amount> 3001
<orderSource> telephone
<firstName> Tom
Value
<response> 301
<message> Invalid Account
Number
<lastName> Black
<accType> Checking
<accNum> 10@BC99999
<routingNum> 053100300
38
<amount> 3002
<orderSource> telephone
<response> 000
<message> Approved
<firstName> John
<lastName> Smith
<accType> Checking
<accNum> 1099999999
<routingNum> 011075150
39
<amount> 3003
<orderSource> telephone
<firstName> Robert
<response> 950
<message> Declined Negative
Information on File
<lastName> Jones
<companyName> Good Goods Inc
<accType> Corporate
<accNum> 3099999999
<routingNum> 053100300
40
<amount> 3004
<orderSource> telephone
<response> 951
<message> Absolute Decline
<firstName> Peter
<lastName> Green
<companyName> Green Co
<accType> Corporate
<accNum> 8099999999
<routingNum> 011075150
104
The eCheck Verification tests are required only if you plan to perform
eCheck Prenotification.
You can only submit eCheck Prenotification transactions in Batches.
1. Verify that your eCheck XML templates are coded correctly (refer to eCheck Prenotification
Credit Transactions (Batch Only) on page 243 and eCheck Prenotification Sale Transactions
(Batch Only) on page 245.)
2. Submit the eCheck Verification transactions using the data sets supplied in Table 2-5.
3. Verify that your response values match those shown in the Key Response Elements section of
Table 2-5.
4. After you complete this test, go to the next eCheck test.
TABLE 2-5
orderId
ECPreNoteSa
le
Element
Value
<orderSource> ecommerce
<name> PreNote Sale Corp
Value
<response> 000
<message> Approved
<accType> Corporate
<accNum> 1092969901
<routingNum> 011075150
ECPreNoteCr
edit
<orderSource> ecommerce
<name> PreNote Credit Corp
<response> 000
<message> Approved
<accType> Corporate
<accNum> 1099339999
<routingNum> 011075150
PreNoteSaleA
ccNumErr
<orderSource> ecommerce
<name> PreNote Sale Corp
<accType> Corporate
<response> 301
<message> Invalid Account
Number
<accNum> 10@2969901
<routingNum> 011100012
105
TABLE 2-5
orderId
Element
PreNoteCredit
AccNumErr
Value
<orderSource> ecommerce
<name> PreNote Credit
Personal
Value
<response> 301
<message> Invalid Account
Number
<accType> Savings
<accNum> 10@2969901
<routingNum> 011100012
PreNoteSaleR
outNumErr
<orderSource> ecommerce
<name> PreNote Sale
Personal
<response> 900
<message> Invalid Bank
Routing Number
<accType> Checking
<accNum> 6099999992
<routingNum> 053133052
PreNoteCredit
RoutNumErr
<orderSource> ecommerce
<name> PreNote Credit
Personal
<response> 900
<message> Invalid Bank
Routing Number
<accType> Checking
<accNum> 6099999992
<routingNum> 053133052
In addition to the test data provided in the table, you must also provide
appropriate data for other child elements of the billToAddress element,
such as Address1 (2, 3), city, state, phone, etc.
3. Verify that your response values match those shown in Table 2-6.
4. After you complete this test, go to the next test.
106
TABLE 2-6
orderId
41
Element
Value
<amount> 2008
<orderSource> telephone
<firstName> Mike
Value
<response> 301
<message> Invalid Account
Number
<middleInitial> J
<lastName> Hammer
<accType> Checking
<accNum> 10@BC99999
<routingNum> 053100300
42
<amount> 2004
<orderSource> telephone
<response> 000
<message> Approved
<firstName> Tom
<lastName> Black
<accType> Checking
<accNum> 4099999992
<routingNum> 011075150
43
<amount> 2007
<orderSource> telephone
<firstName> Peter
<lastName> Green
<companyName> Green Co
<accType> Corporate
<accNum> 6099999992
<response> 000
<message> Approved
Note: This
response will
include the
accountUpdater
element (see
accountUpdater on
page 305).
<routingNum> 011075150
44
<amount> 2009
<orderSource> telephone
<firstName> Peter
<response> 900
<message> Invalid Bank
Routing Number
<lastName> Green
<companyName> Green Co
<accType> Corporate
<accNum> 9099999992
<routingNum> 053133052
107
In addition to the test data provided in the table, you must also provide
appropriate data for other child elements of the billToAddress element,
such as Address1 (2, 3), city, state, phone, etc.
2. Submit the echeckCredit transactions using the data in the Supplied Data Elements section
of Table 2-7.
3. Verify that your response values match those shown in the Key Response Elements section of
Table 2-7.
4. After you complete this test, go to the next test.
TABLE 2-7
orderId
45
Element
Value
<amount> 1001
<orderSource> telephone
<firstName> John
Value
<response> 301
<message> Invalid Account
Number
<lastName> Smith
<accType> Checking
<accNum> 10@BC99999
<routingNum> 053100300
46
<amount> 1003
<orderSource> telephone
<response> 000
<message> Approved
<firstName> Robert
<lastName> Jones
<companyName> Widget Inc
<accType> Corporate
<accNum> 3099999999
<routingNum> 011075150
108
TABLE 2-7
orderId
47
Element
Value
<amount> 1007
<orderSource> telephone
<firstName> Peter
<lastName> Green
<companyName> Green Co
<accType> Corporate
<accNum> 6099999993
Value
<response> 000
<message> Approved
Note: This
response will
include the
accountUpdater
element (see
accountUpdater on
page 305.)
<routingNum> 211370545
48
49
<response> 000
<litleTxnId> 2
<response> 360
<message> Approved
<message> No transaction
found with
specified litleTxnId
109
2.4.4
You can obtain tokens in two ways. The first method is explicit registration using the
registerTokenRequest transaction. The second method is implicit registration, which is
achieved by submitting the card or account information (for eChecks) in a normal payment
transaction. This section provides test data sets using both methods for both credit card and
eCheck tokenization.
Perform this test only if you plan to use the Vault feature.
NOTE:
The test data does not include values for all elements. You should use
appropriate values for all elements as required to create a properly
structured LitleXML request.
orderId
50
Element
Value
<accountNumber> 4457119922390123
Value
<litleToken> xxxxxxxxxxxx0123
<bin> 445711
<type> VI
<response> 801
<message> Account number
was successfully
registered
Note:
110
TABLE 2-8
orderId
51
Element
Value
Element
<accountNumber> 4457119999999999
Value
52
<accountNumber> 4457119922390123
<litleToken> xxxxxxxxxxxx0123
<bin> 445711
<type> VI
<response> 802
<message> Account number
was previously
registered
53
<accNum> 1099999998
<litleToken> xxxxxxxxxx
<routingNum> 011100012
<type> EC
<eCheckAccountSuffix> 998
<response> 801
<message> Account number
was successfully
registered
54
<accNum> 1022222102
<routingNum> 1145_7895
<response> 900
<message> Invalid bank
routing number
To test the submission of card data in an tokenized environment using Authorization transactions,
as well as the submission of tokens in transactions, do the following:
1. Verify that your LitleXML template is coded correctly for this transaction type (refer to
Authorization Transactions on page 185.)
2. Submit three authorization transactions using the Supplied Data Elements from Order Ids
55 through 57 from Table 2-9.
3. Verify that your authorizationResponse values match those shown in the Key Response
Elements section of Table 2-9 for Order Ids 55 through 57.
111
4. To verify that your LitleXML template is coded correctly for the submission of tokens in
authorization transactions, submit authorization transactions using the Supplied Data
Elements from Order Ids 58 through 60 from Table 2-9.
To test the submission of eCheck data in an tokenized environment, as well as the submission of
tokens in eCheck transactions, do the following:
1. Verify that your LitleXML template is coded correctly for these transaction types as
applicable (refer to eCheck Sale Transactions on page 250 and eCheck Credit Transactions on
page 239).
2. Submit the four transactions, Order Ids 61 through 64, using the Supplied Data Elements
from Table 2-9.
3. Verify that your response values match those shown in the Key Response Elements section
of Table 2-9 for Order Ids 61 through 64.
TABLE 2-9
orderId
55
Element
Value
<amount> 15000
<response> 000
<type> MC
<message> Approved
<number> 5435101234510196
<expDate> 1116
<cardValidationNum> 987
Value
<litleToken> xxxxxxxxxxxx0196
<tokenResponseCode> 801
<tokenMessage> Account number was
successfully
registered
<type> MC
<bin> 543510
56
<amount> 15000
<type> MC
<number> 5435109999999999
<<response> 301
<message> Invalid account
number
<expDate> 1116
<cardValidationNum> 987
112
TABLE 2-9
orderId
57
Element
Value
<amount> 15000
<response> 000
<type> MC
<message> Approved
<number> 5435101234510196
<expDate> 1116
<cardValidationNum> 987
Value
<litleToken> xxxxxxxxxxxx0196
<tokenResponseCode> 802
<tokenMessage> Account number was
previously registered
<type> MC
<bin> 543510
58
<amount> 15000
<response> 000
<litleToken> xxxxxxxxxxxx0196
<message> Approved
<expDate> 1116
<cardValidationNum> 987
Note: Use the token
returned in Order Id
57.
59
<amount> 15000
<response> 822
<litleToken> 1111000100092332
<expDate> 1116
60
<amount> 15000
<response> 823
<litleToken> 1112000100000085
<expDate> 1116
61
<litleToken> xxxxxxxxxxxxxxxxx
eCheck Sale:
<accType> Checking
<accNum> 1099999003
<routingNum> 011100012
<tokenResponseCode> 801
<tokenMessage> Account number was
successfully
registered
<type> EC
<eCheckAccountSuffix> 003
113
TABLE 2-9
orderId
62
Element
Value
Value
<litleToken> xxxxxxxxxxxxxxxxx
eCheck Sale:
<accType> Checking
<accNum> 1099999999
<routingNum> 011100012
<tokenResponseCode> 801
<tokenMessage> Account number was
successfully
registered
<type> EC
<eCheckAccountSuffix> 999
63
<litleToken> xxxxxxxxxxxxxxxxx
eCheck Credit:
<accType> Checking
<accNum> 1099999999
<routingNum> 011100012
<tokenResponseCode> 801
<tokenMessage> Account number was
successfully
registered
<type> EC
<eCheckAccountSuffix> 999
64
<originalTokenInfo>
eCheck Sale:
(parent element)
<accType> Checking
<accType> Corporate
<litleToken> 11190000001003001
<accNum> 6099999993
<routingNum> 211370545
<routingNum> 211370545
<newTokenInfo>
(parent element)
<accType> Checking
<litleToken> 11190000001154101
<routingNum> 211370545
<litleToken> xxxxxxxxxxxxxxxxx
<tokenResponseCode> 801
<tokenMessage> Account number was
successfully
registered
<type> EC
<eCheckAccountSuffix> 993
NOTE:
114
2.5
115
2.5.1
Use the AVS tests to test all of the possible AVS response codes that the system can produce,
including those response codes that cannot be produced by varying the address and ZIP code data.
For these tests the AVS response codes are independent of any address or ZIP code data that you
submit.
To test AVS response codes:
1. Submit transactions using the card data in Table 2-10. If you are using Card Validation,
include the cardValidationNum element. The Card Validation test will return all possible
Card Validation response codes. The response codes that are returned are independent of the
card validation value that you submit.
2. Verify that the AVS tests return the following response:
<response>000</response>
<message>Approved</message>
<authCode>654321</authCode>
<avsresult>See Table 2-10</avsresult>
<cardValidationResult>See Table 2-10</cardValidationResult>
NOTE:
For a list of all possible AVS response codes, see AVS Response Codes
on page 723.
For a list of all possible card validation response codes, see Card
Validation Response Codes on page 727.
65
Element
Value
<avsResult> 01
<cardValidationResult> M
<type> VI
<avsResult> 02
<cardValidationResult> M
<type> VI
<avsResult> 10
<number> 4457000400000006
69
<cardValidationResult> U
<type> VI
<number> 4457003100000003
68
Value
<avsResult> 00
<number> 4457000100000009
67
Element
<type> VI
<number> 4457000300000007
66
<cardValidationResult> S
<type> VI
<avsResult> 11
<number> 4457000200000008
<cardValidationResult> M
116
70
Element
Value
<type> MC
<number> 5112000100000003
71
<avsResult> 12
<cardValidationResult> M
<type> MC
<number> 5112002100000009
72
<avsResult> 13
<cardValidationResult> M
<type> MC
<number> 5112002200000008
73
<avsResult> 14
<cardValidationResult> N
<type> MC
<number> 5112000200000002
74
<avsResult> 20
<cardValidationResult> N
<type> MC
<number> 5112000300000001
75
<avsResult> 30
<cardValidationResult> P
<type> MC
<number> 5112000400000000
76
<avsResult> 31
<cardValidationResult> U
<type> MC
<number> 5112010400000009
78
<avsResult> 32
<cardValidationResult> S
<type> MC
<number> 5112000600000008
80
<type> AX
<avsResult> 34
<cardValidationResult> P
<cardValidationResult> N
<number> 374313304211118
Note: American
Express CID
failures are declined
by American
Express.
2.5.2
Value
<response> 352
<message> Decline CVV2/CID
Fail
Use the address tests to test different AVS responses by varying the address and ZIP code data.
The address tests are intended to return a realistic AVS response code.
To test address responses:
1. Submit Authorization or Sale transactions in Table 2-11. The AVS tests always return an
avsResult of 00 when submitting 95 Main St. and 95022. If you extend the Zip Code to 9
digits, by appending 1111, the system returns an avsResult of 01, as shown in the second
test.
117
2. The AVS response code depends on the Address Line 1 and ZIP Code that are passed in with
the transaction. Submit additional transactions using the card data from the table, but varying
the address/zip information to receive other avsResult codes in the response messages as
shown in the tests for orderIds AVS3 and AVS4.
For a detailed list of all possible AVS response codes, see AVS Response Codes on page 723.
TABLE 2-11 AVS and Card Validation Test Data
Supplied Data Elements
orderId
AVS1
Element
Value
<type> VI
Value
<avsResult> 00
<number> 4457000600000004
<addressLine1> 95 Main St.
<zip> 95022
AVS2
<type> VI
<avsResult> 01
<number> 4457000600000004
<addressLine1> 95 Main St.
<zip> 950221111
AVS3
<type> VI
<avsResult> 10
<number> 4457000600000004
<addressLine1> 100 Main St.
<zip> 95022
AVS4
<type> VI
<avsResult> 20
<number> 4457000600000004
<addressLine1> 100 Main St.
<zip> 02134
118
2.5.3
The Advanced AVS (AAVS) feature is an offering from American Express that allows you to
check several parameters not normally covered by a standard AVS check, including name, phone,
and email.
To test AAVS Response Codes:
1. Submit an Authorization transaction using the data supplied in Table 2-13.
2. Verify that you handle the response correctly.
3. Enter additional transaction varying the values for name, phone, and/or email to trigger other
AAVS results (see AAVS Response Codes on page 724 for other result codes). To obtain a
value of 3 in any position, use one of the following values in the appropriate position:
<name>Jane Doe</name>
<phone>5555551234</phone>
<email>[email protected]</email>
For example, if you submit a second transaction using the name Jane Doe Instead of John
Doe, the AAVS result would be 311 indicating No Match for name, but Match for phone and
email.
TABLE 2-12 Advanced AVS Test Data
Supplied Data Elements
orderId
81
Element
Value
<amount> 12523
Value
<advancedAVSResults> 111
119
2.5.4
Use the data provided in this section to test Response Reason Codes and Messages.
NOTE:
If you submit account numbers not specified in the tables, you will receive
the following response:
<response>000</response>
<message>Approved</message>
<authCode>123457</authCode>
<avsResult>00</avsResult>
The messages listed are samples of messages that the system can return.
Since the messages are subject to change at any time, you should use
them only for human readability purposes and not for coding purposes.
Always code to the response codes, since these do not change.
For a list of all possible response reason codes, see Payment Transaction Response Codes
on page 702.
For a list of all possible AVS response codes, see AVS Response Codes on page 723.
TABLE 2-13
orderId
Element
Value
<type> VI
<number> 4457000800000002
<type> VI
<number> 4457000900000001
Value
<response> 000
<message> Approved
<response> 000
<message> Approved
RRC-card #
<type> VI
<number> 4457001000000008
<type> MC
<number> 5112000900000005
120
<response> 000
<message> Approved
<response> 000
<message> Approved
TABLE 2-13
orderId
Element
Value
<type> AX
<number> 375000030000001
<type> DI
<number> 6011000400000000
<type> VI
<number> 4457001200000006
<type> VI
<number> 4457001300000005
<type> VI
<number> 4457001400000004
<type> MC
<number> 5112001000000002
<type> VI
<number> 4457001900000009
RRC-card #
<type> VI
<number> 4457002000000006
<type> VI
<number> 4457002100000005
<type> VI
<number> 4457002200000004
<type> AX
<number> 375000050000006
<type> VI
<number> 4457002300000003
<type> VI
<number> 4457002500000001
<type> MC
<number> 5112001600000006
Value
<response> 120
<message> Call Issuer
<response> 123
<message> Cal Discover
<response> 120
<message> Call Issuer
<response> 120
<message> Call Issuer
<response> 120
<message> Call Issuer
<response> 101
<message> Issuer Unavailable
<response> 321
<message> Invalid Merchant
<response> 303
<message> Pick Up Card
<response> 110
<message> Insufficient Funds
<response> 120
<message> Call Issuer
<response> 350
<message> Generic Decline
<response> 349
<message> Do Not Honor
<response> 340
<message> Invalid Amount
<response> 301
<message> Invalid Account
Number
121
TABLE 2-13
orderId
Element
Value
<type> MC
<number> 5112001700000005
<type> MC
<number> 5112001800000004
<type> VI
<number> 4457002700000009
<type> MC
<number> 5112001900000003
RRC-card #
<type> VI
<number> 4457002800000008
<type> VI
<number> 4457002900000007
<type> VI
<number> 4457003000000004
<type> MC
<number> 5112002000000000
<type> VI
<number> 4457000100000000
122
Value
<response> 301
<message> Invalid Account
Number
<response> 321
<message> Invalid Merchant
<response> 101
<message> Issuer Unavailable
<response> 305
<message> Expired Card
<response> 322
<message> Invalid Transaction
<response> 350
<message> Generic Decline
<response> 101
<message> Issuer Unavailable
<response> 101
<message> Issuer Unavailable
<response> 301
<message> Invalid Account
Number
2.5.5
The cardholder authentication value should only be included by merchants who support 3DS (3
Domain Secure) electronic commerce transactions. Your systems must be in compliance with the
Verified by Visa or MasterCard Secure Code implementations of 3DS.
To test 3DS responses:
1. Submit Authorization transactions or Sale transactions using the data in Table 2-14. For all
cards, set the orderSource element to either 3dsAuthenticated or 3dsAttempted and
the cardholderAuthentication element to the following base64 encoded string:
BwABBJQ1AgAAAAAgJDUCAAAAAAA=
The response from a 3DS test will be the same as an Authorization or Sale response, except the
authenticationResult element will be included in the response as a child of the
fraudResult element.
3DS1
Element
Value
<type> VI
Element
Value
<authenticationResult> 0
<number> 4100200300000004
3DS2
<type> VI
<authenticationResult> 1
<number> 4100200300000012
3DS3
<type> VI
<authenticationResult> 2
<number> 4100200300000103
3DS4
<type> VI
<authenticationResult> A
<number> 4100200300001002
3DS5
<type> VI
<authenticationResult> 3
<number> 4100200300000020
3DS6
<type> VI
<authenticationResult> 4
<number> 4100200300000038
3DS7
<type> VI
<authenticationResult> 5
<number> 4100200300000046
3DS8
<type> VI
<authenticationResult> 6
<number> 4100200300000053
3DS9
<type> VI
<authenticationResult> 7
<number> 4100200300000061
123
3DS10
Element
Value
<type> VI
Element
Value
<authenticationResult> 8
<number> 4100200300000079
3DS11
<type> VI
<authenticationResult> 9
<number> 4100200300000087
3DS12
<type> VI
<authenticationResult> B
<number> 4100200300000095
3DS13
<type> VI
<authenticationResult> C
<number> 4100200300000111
3DS14
<type> VI
<authenticationResult> D
<number> 4100200300000129
3DS15
<orderSource> 3dsAttempted
<authenticationResult> N/A
<type> MC
<number> 5112010200000001
3DS16
<orderSource> 3dsAttempted
<authenticationResult> N/A
<type> MC
<number> 5112010200000001
2.5.6
Complete this test only if you are planning on using the Prepaid Filtering Feature and are using
schema version 8.3 or above.
To test the Prepaid Filtering feature:
1. Submit authorization transactions using the values provided in Supplied Data Elements of
Table 2-15.
2. Verify that your response values match those shown in the Key Response Elements section of
Table 2-15.
3. After you complete this test, go to the next test.
124
filterPrepaidMC
Element
Value
<amount> 9100
<orderSource> recurring
<name> John Doe
<addressLine1> 10 Main St.
Value
<response> 309
<message> Restricted Card Prepaid Card
Filtering Service
<avsResult> 02
<amount> 9100
<orderSource> recurring
<name> John Doe
<addressLine1> 10 Main St.
<city> San Jose
<response> 309
<message> Restricted Card Prepaid Card
Filtering Service
<authCode> none
<avsResult> 34
<state> CA
<zip> 95032
<country> US
<email> jdoe@phoenixProce
ssing.com
<phone> 7812701111
<type> VI
<number> 4650002010001478
<expDate> 1116
<prepaid> true
125
2.5.7
Complete this test only if you are planning on using the International Card Filtering Feature and
are using schema version 8.3 or above.
To test the International Card Filtering feature:
1. Submit authorization transactions using the values provided in Supplied Data Elements of
Table 2-16.
2. Verify that your response values match those shown in Key Response Elements section of
Table 2-16.
3. After you complete this test, go to the next test.
TABLE 2-16 International Filtering Test Data
Supplied Data Elements
orderId
filterInternational1
Element
Value
<amount> 9100
<orderSource> recurring
<name> John Doe
<addressLine1> 10 Main St.
Value
<response> 312
<message> Restricted Card International Card
Filtering Service
<avsResult> 34
126
Element
filterInternational2
Value
<amount> 9100
<orderSource> recurring
<name> John Doe
<addressLine1> 10 Main St.
Value
<response> 000
<message> Approved
<authCode> 123457
<avsResult> 00
2.5.8
Complete this test only if you are planning on using the Security Code No-Match Filtering
Feature.
To test the Security Code No-Match feature:
1. Submit authorization transactions using the values provided in Supplied Data Elements of
Table 2-17.
2. Verify that your response values match those shown in Key Response Elements section of
Table 2-17.
After you complete this test, go to the next test.
127
securityCodeFilte
r1
Element
Value
Element
<response> 358
<amount> 9100
<orderSource> ecommerce
<name> John Doe
<addressLine1> 10 Main St.
<city> San Jose
<state> CA
Value
<avsResult> 14
<cardValidationRes N
ult>
<zip> 95032
<country> US
<type> MC
<number> 5112002200000008
<expDate> 1116
<cardValidationNum> 123
securityCodeFilte
r2
<response> 358
<amount> 9100
<orderSource> ecommerce
<name> Jane Doe
<addressLine1> 10 Main St.
<city> San Jose
<state> CA
<avsResult> 20
<cardValidationRes N
ult>
<zip> 95032
<country> US
<type> MC
<number> 5112000200000002
<expDate> 1116
<cardValidationNum> 123
<international> false
128
2.5.9
Complete this test only if you are planning on using the Advanced Fraud Tools Feature.
To test the Advanced Fraud Tools feature:
1. Submit authorization transactions using the values provided in Supplied Data Elements of
Table 2-18. For each test, replace "Your Prefix-" with the prefix supplied by your
Implementation Consultant.
2. Verify that your response values match those shown in Key Response Elements section of
Table 2-18.
NOTE:
You can submit these tests as sale transactions using the supplied data,
or as standalone fraudCheck transactions using just the designated
orderId and threatMetrixsessionId. The results for each test type
will be as shown in the Key response elements section.
Also, please note that the third test, orderId = tmx_fail_order_id, has two
possible results depending upon whether you are configured for Info Only
or Auto-Decline.
tmx_pass_ord
er_id
Element
Value
<amount> 150
<response> 000
<type> VI
<number> 4111111111111111
<expDate> 1230
Value
<message> Approved
<deviceReviewStatus> pass
<deviceReputationScore> 50
<threatMetrixSe Your
ssionId> Prefix-A980A93LP2
O3-KNP0050
<triggeredRule> FlashDisabled
129
tmx_review_or
der_id
Element
Value
<amount> 150
<type> VI
<response> 000
<number> 4111111111111111
<expDate> 1230
<threatMetrixSe Your
ssionId> Prefix-A0S9D8F7G
6H5J4-KMR-020
Value
<message> Approved
<deviceReviewStatus> review
<deviceReputationScore> -20
<triggeredRule> PossibleVPNCon
nection
<triggeredRule> PossibleCookieWi
pingWeek
tmx_fail_order
_id
<amount> 150
<type> VI
<response> 000
<number> 4111111111111111
<expDate> 1230
<threatMetrixSe Your
ssionId> Prefix-Q1W2E3R4T
5Y6U7I8-KHF-100
<message> Approved
<deviceReviewStatus> fail
<deviceReputationScore> -100
<<triggeredRule> 5PaymentsOnExa
ctDevice
<triggeredRule> ProxyHasNegativ
eReputation
<triggeredRule>
TrueIPProxyIPCity
Mismatch
Result if Auto-decline:
<response> 550
<message> Restricted
Device or IP ThreatMetrix
Fraud Score
Below Threshold
<deviceReviewStatus> fail
<deviceReputationScore> -100
<triggeredRule> 5PaymentsOnExa
ctDevice
<triggeredRule> ProxyHasNegativ
eReputation
<triggeredRule> TrueIPProxyIPCity
Mismatch
130
Element
tmx_unavail_o
rder_id
Value
<amount> 150
<response> 000
<type> VI
<number> 4111111111111111
Value
<message> Approved
<deviceReviewStatus> unavailable
<expDate> 1230
<threatMetrixSe Your
ssionId> Prefix-Q1W2E3R4T
5Y6U7I8-XLP0050
2.5.10
To test Account Updater, you submit a normal Authorization transaction. The certification system
returns an Authorization response that includes Account Update information. You should verify
that you correctly parse the update information.
NOTE:
You can also perform the tests in this section using Sale transactions
instead of Authorization transactions.
131
Element
100
Value
<amount> 10000
Value
<originalCardInfo>
<type> VI
(parent element)
<type> VI
<number> 4457000300000007
<number> 4457000300000007
<expDate> 0115
<expDate> 0115
<newCardInfo>
(parent element)
<type> MC
<number> 5112000100000003
<expDate> 0115
101
<amount> 10000
<originalCardInfo>
<type> DI
(parent element)
<type> DI
<number> 6500102087026221
<number> 6500102087026221
<expDate> 0115
<expDate> 0115
<newCardInfo>
(parent element)
<type> DI
<number> 6011102077026225
<expDate> 0115
2.5.10.1
1. Submit authorization transactions using the values provided in Supplied Data Elements
of Table 2-20.
2. Verify that the response values match those shown in Key Response Elements section of
Table 2-20 and that your systems parse the data correctly. The second test case does not
include account repair information only the Extended Response Code.
132
Element
102
Value
<amount> 10000
Element
Value
<originalCardInfo>
<type> MC
(parent element)
<type> MC
<number> 5112000101110009
<number> 5112000101110009
<expDate> 1199
<expDate> 1199
<newCardInfo>
(parent element)
<type> VI
<number> 4457000302200001
<expDate> 1199
<extendedCardResponse> (parent element)
<code> 501
<message> The account was
closed.
103
<amount> 10000
<type> VI
<code> 504
<number> 4457000301100004
<expDate> 1199
2.5.10.2
If you are a tokenized merchant using the Account Updater service, you can test this service using
the card information provided in Table 2-19. In this case you will receive an original and new
token in the <accountUpdater> section of the Authorization response message (see
accountUpdater Structure - Credit Cards (tokenized Merchant) on page 307).
2.5.11
133
TABLE 2-21
orderId
Element
MCC9311Test
Value
<amount> 3000
<type> VI
Value
<response> 000
<message> Approved
<number> 4457010200000247
<expDate> 1116
<taxType> fee
MCC9311Test2
<amount> 3000
<type> VI
<number> 4457010200000247
<response> 851
<message> MCC 9311 requires
taxType element
<expDate> 1116
2.5.12
You include Convenience Fees through the use of the secondaryAmount element.
To test the use of Convenience Fees submit the transactions detailed below:
1. Submit authorization or sale transactions for the first five transactions of Table 2-22
using the values provided in Supplied Data Elements columns.
2. Verify that the response values match those shown in Key Response Elements section of
Table 2-22 for those transactions and that your systems parse the data correctly.
3. Submit sale transactions for Order Id SaleWOSecondary using the data provided.
4. After receiving an approval for the sale transaction, submit a credit transaction using the
litleTnxId from the sale transaction and including the secondaryAmount element with
the value provided.
5. Verify that the response values match those shown in Key Response Elements section for the
credit transaction using Order Id SaleWOSecondary and that your systems parse the data
correctly.
134
TABLE 2-22
orderId
Visa_secondary
Amount
Element
Value
<amount> 10500
<type> VI
Value
<response> 000
<message> Approved
<number> 4457010200000247
<expDate> 1116
<secondaryAmount> 10000
SecondaryAmt_
Higher
<amount> 2500
<type> VI
<number> 4111111111111111
<response> 380
<message> Secondary Amount
cannot exceed the
sale amount
<expDate> 1230
<secondaryAmount> 3000
MOP_Unsuppor
ted
<amount> 6002
<type> AX
<number> 375001010000003
<expDate> 0421
<response> 381
<message> This method of
payment does not
support secondary
amount
<secondaryAmount> 1100
Negative_Secon
dary
<amount> 1000
<type> VI
<number> 4457010200000247
<response> 382
<message> Secondary Amount
cannot be less
than zero
<expDate> 1116
<secondaryAmount> -500
Partial_Not_Allo
wed
<amount> 2500
<type> VI
<number> 4111111111111111
<expDate> 1230
<response> 383
<message> Partial transaction
is not supported
when including a
secondary amount
<secondaryAmount> 3000
<allowPartialAuth> true
SaleWOSecond
ary
<amount> 1000
(Sale TXN)
<number> 5112010140000004
<type> MC
<response> 000
<message> Approved
<expDate> 1116
135
TABLE 2-22
orderId
Element
SaleWOSecond
ary
Value
(Credit Txn)
<secondaryAmount> 400
2.5.13
Value
<response> 385
<message> Secondary amount
not allowed on
refund if not
included on deposit
The Certification test cases for the Recycling Engine serve two purposes. First, you use the test
transactions to verify your handling of the responses you receive if you submit additional
Authorization transactions for a declined auth being handled by the engine. Second, you can
verify your process for retrieving and processing recycling completion files via sFTP.
There are three test scenarios you can use to test the Recycling Engine and your ability to parse
the response messages and/or result Batches. The particular data sets and scenarios you use
depends upon the version of LitleXML you use, as well as your plans for retrieving the response
messages. Use the following to determine which tests you should run:
If you plan to retrieve recycling results via the results Batches posted daily to the FTP site,
perform the tests in Scenario 1.
If you are using LitleXML schema version V8.5 or below, perform the tests in Scenario 2.
If you are using LitleXML schema version V8.6 or above, perform the tests in Scenario 3.
Scenario 1
To test your handling of the Recycling Results Session file:
1. Submit authorization (or sale) transactions using the values provided in the Supplied
Data Elements column of Table 2-23. Please use the same value for the orderId and if
applicable, the recycleId elements.
NOTE:
If your configuration is set for Vantiv to recycle by default, you can omit
the <recycleBy> element.
2. Wait a minimum of 2 hours after submitting the last transaction. After 2 hours, retrieve the
Results Session file from the FTP site.
136
TABLE 2-23
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase1Orde
r1
Element
Value
<amount> 10000
Element
Initial Response:
<type> VI
<response> 110
<number> 4457012400000027
<expDate> 1220
<recycleBy> Litle
Value
true
Final Response
(in FTP Session
File):
<response> 000
<message> Approved
XXXCase1Orde
r2
<amount> 10000
Initial Response:
<response> 110
<type> MC
<number> 5160124000000029
<expDate> 1220
<recycleBy> Litle
<recyclingEngineA
ctive>
true
Final Response
(in FTP Session
File):
<response> 000
<message> Approved
XXXCase1Orde
r3
<amount> 10000
Initial Response:
<type> VI
<response> 110
<number> 4100200700000059
<expDate> 1220
<recycleBy> Litle
true
Final Response
(in FTP Session
File):
<response> 110
<message> Insufficient Funds
137
TABLE 2-23
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase1Orde
r4
Element
Value
<amount> 10000
Element
Initial Response:
<type> MC
<response> 110
<number> 5500010000000052
<expDate> 1220
<recycleBy> Litle
Value
true
Final Response
(in FTP Session
File):
<response> 110
<message> Insufficient Funds
XXXCase1Orde
r5
<amount> 10000
Initial Response:
<response> 110
<type> VI
<number> 4457032800000047
<expDate> 1220
<recycleBy> Litle
<recyclingEngineA
ctive>
true
Final Response
(in FTP Session
File):
<response> 328
<message> Cardholder
requests that
recurring or
installment
payment be
stopped
XXXCase1Orde
r6
<amount> 10000
Initial Response:
<type> MC
<response> 110
<number> 5160328000000042
<expDate> 1220
<recycleBy> Litle
true
Final Response
(in FTP Session
File):
<response> 120
<message> Call Issuer
138
TABLE 2-23
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase1Orde
r7
Element
Value
<amount> 10000
Element
Initial Response:
<response> 302
<type> VI
<number> 5160328000000042
<expDate> 1220
<recycleBy> Litle
Value
<recyclingEngineA
ctive>
false
Final Response
(in FTP Session
File):
Scenario 2
To test your handling of the Recycling Results Session file and Normal Batch/Online response for
schema version V8.5 or below:
1. Submit authorization (or sale) transactions using the values provided in the Supplied
Data Elements column of Table 2-24. Please use the same value for the orderId and if
applicable, the recycleId elements.
NOTE:
If your configuration is set for Vantiv to recycle by default, you can omit
the <recycleBy> element.
2. Wait a minimum of 2 hours after submitting the last of the initial transactions. After 2 hours,
you can retrieve the Results Session file from the FTP site and/or resubmit the transaction.
The responses will contain the data shown for the Final Response.
139
TABLE 2-24
below
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase2Orde
r1
Recycling Engine Test Data - Online or Results Session File Pick-up V8.5 and
Supplied Data Elements
Element
Value
<amount> 20000
Element
Initial Response:
<type> VI
<response> 110
<number> 4457012400000027
<expDate> 1220
<recycleBy> Litle
Value
true
Final Response
(Online/Normal
Batch, or in FTP
Session File):
<response> 000
<message> Approved
XXXCase2Orde
r2
<amount> 20000
Initial Response:
<response> 110
<type> MC
<number> 5160124000000029
<expDate> 1220
<recycleBy> Litle
<recyclingEngineA
ctive>
true
Final Response
(Online/Normal
Batch, or in FTP
Session File):
<response> 000
<message> Approved
140
TABLE 2-24
below
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase2Orde
r3
Recycling Engine Test Data - Online or Results Session File Pick-up V8.5 and
Supplied Data Elements
Element
Value
<amount> 20000
Element
Initial Response:
<type> VI
<response> 110
<number> 4100200700000059
<expDate> 1220
<recycleBy> Litle
Value
true
Final Response in
Online or Normal
Session File):
<response> 110
<message> Insufficient Funds
<recyclingEngineA
ctive>
false
Final Response in
FTP Session File):
<response> 110
<message> Insufficient Funds
XXXCase2Orde
r4
<amount> 20000
Initial Response:
<response> 110
<type> MC
<number> 5500010000000052
<expDate> 1220
<recycleBy> Litle
<recyclingEngineA
ctive>
true
Final Response in
Online or Normal
Session File):
<response> 110
<message> Insufficient Funds
<recyclingEngineA
ctive>
false
Final Response in
FTP Session File):
<response> 110
<message> Insufficient Funds
141
TABLE 2-24
below
Recycling Engine Test Data - Online or Results Session File Pick-up V8.5 and
Supplied Data Elements
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase2Orde
r5
Element
Value
<amount> 20000
Element
Initial Response:
<response> 302
<type> VI
<number> 5160328000000042
<expDate> 1220
<recycleBy> Litle
Value
<recyclingEngineA
ctive>
false
Final Response
(in Session File):
Scenario 3
To test your handling of the Intercept Response Codes/Messages, as well as the Recycling Results
Session file and Normal Batch/Online responses:
1. Submit authorization (or sale) transactions using the values provided in the Supplied
Data Elements column of Table 2-25. Please use the same value for the orderId and if
applicable, the recycleId elements.
NOTE:
If your configuration is set for Vantiv to recycle by default, you can omit
the <recycleBy> element.
2. If you are using schema version V8.6 or above, resubmit any of the first four transactions
within 36 hours to receive a response message containing the intercept Response Reason
Code 372 - Soft Decline - Auto Recycling In Progress. If you are using schema version 8.5 or
below, you will receive a response message with the same Response Reason Code as in the
initial response message.
3. Wait a minimum of 36 hours after submitting the last of the initial transactions. After 36
hours, you can retrieve the Results Session file from the FTP site and/or resubmit the
transaction. The responses will contain the data shown for the Final Response.
142
TABLE 2-25
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase3Orde
r1
Recycling Engine Test Data - Intercept and Online or Results Session File Pick-up
Supplied Data Elements
Element
Value
<amount> 20000
Element
Initial Response:
<type> DI
<response> 350
<number> 6223012400000025
<expDate> 1220
<recycleBy> Litle
Value
true
Intermediate
Attempts (V8.6):
<response> 372
<message> Soft decline Recycling In
Progress
<recyclingEngineA
ctive>
true
Final Response
(Online/Normal
Batch, or in FTP
Session File):
<response> 000
<message> Approved
143
TABLE 2-25
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase3Orde
r2
Recycling Engine Test Data - Intercept and Online or Results Session File Pick-up
Supplied Data Elements
Element
Value
<amount> 20000
Element
Initial Response:
<type> AX
<response> 350
<number> 377201240000025
<expDate> 1220
<recycleBy> Litle
Value
true
Intermediate
Attempts (V8.6):
<response> 372
<message> Soft decline Recycling In
Progress
<recyclingEngineA
ctive>
true
Final Response
(Online/Normal
Batch, or in FTP
Session File):
<response> 000
<message> Approved
144
TABLE 2-25
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase3Orde
r3
Recycling Engine Test Data - Intercept and Online or Results Session File Pick-up
Supplied Data Elements
Element
Value
<amount> 20000
Element
Initial Response:
<type> DI
<response> 350
<number> 6223012400000033
<expDate> 1220
<recycleBy> Litle
Value
true
Intermediate
Attempts (V8.6):
<response> 372
<message> Soft decline Recycling In
Progress
<recyclingEngineA
ctive>
true
Final Response
(Online/Normal
Batch, or in FTP
Session File):
<response> 373
<message> Hard Decline Auto Recycling
Complete
145
TABLE 2-25
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase3Orde
r4
Recycling Engine Test Data - Intercept and Online or Results Session File Pick-up
Supplied Data Elements
Element
Value
<amount> 20000
Element
Initial Response:
<type> DI
<response> 101
<number> 6011002078551608
<expDate> 1220
<recycleBy> Litle
Value
true
Intermediate
Attempts (V8.6):
<response> 372
<message> Soft decline Recycling In
Progress
<recyclingEngineA
ctive>
true
Final Response
(Online/Normal
Batch, or in FTP
Session File):
<response> 373
<message> Hard Decline Auto Recycling
Complete
XXXCase3Orde
r5
<amount> 20000
Initial Response:
<type> VI
<response> 302
<number> 377203280000048
<expDate> 1220
<recycleBy> Litle
<recyclingEngineA
ctive>
false
All Responses:
146
2.5.13.1
You use an authReversal transaction to halt the automatic recycling of an authorization. For a
sale transaction, use a void transaction to halt recycling.
NOTE:
You can perform this test either after completing the Recycling Engine
test or prior to starting that test.
If you submit the Void transaction (Step 2) within 2 hours of the initial
transaction submission, you will receive a voidResponse with a response
code of 000 - Approved.
3. After receiving the decline messages, submit an authReversal transaction using the
litleTxnId returned in the response message for Case1Order2a. You should receive an
authReversalResponse with a response code of 000 - Approved.
147
TABLE 2-26
orderId or
recycleId
(replace XXX
with your
merchantId)
XXXCase1Orde
r1a
Element
Value
<amount> 11000
Element
Initial Response:
<type> VI
<response> 110
<number> 4457012400000027
<expDate> 1220
<recycleBy> Litle
Submit Void using
litleTxnId from
Initial Response
Value
true
<response> 000
<message> Approved
<creditLitleTxnId> (Random Value)
Void Response (if
not enabled for
Auto-Refund:
<response> 362
<message> Transaction Not
Voided - Already
Settled
XXXCase1Orde
r2a
<amount> 11000
Initial Response:
<type> MC
<response> 110
<number> 5160124000000029
<expDate> 1220
<recycleBy> Litle
Submit
authReversal
using litleTxnId
from Initial
Response
true
authReversalResp
onse:
<response> 000
<message> Approved
148
2.5.14
Use the following Certification tests to verify transactions associated with the Recurring Engine
functionality. For testing purposes, the Certification environment will process the first recurring
transaction within 2 hours. The system cancels subsequent recurring transactions in the payment
stream. For example, if you submitted an Authorization at 9:00 AM that set-up a subscription for
twelve monthly payments, the Cert Recurring Engine would process the first payment by 11:00
AM and cancel the remaining eleven payments.
IMPORTANT: The test data supplied does not necessarily account for all data fields/xml
elements in a particular request. Where test data is not supplied, you
should provide appropriate information.
You should never override your own system to enter supplied data. If you
are unable to enter the supplied data without overriding your system,
please consult your Implementation Consultant concerning the test and
how to proceed.
To test the Recurring Engine functionality using the data supplied in Table 2-27:
1. Submit createPlan transactions for Order Ids R1.1, R1.2, R1.3, R1.4, R1.5, and R1.6.
These transactions establish Plans used in the remaining tests, as well as verify your
LitleXML used to create Plans. You can use whatever values you wish for the <planCode>
and <name> elements. Verify that each transaction receives an approval code in the response
message.
2. Submit createPlan transactions for Order Id R1.7 using the same <planCode> value you
used in R1.3. This transaction is declined, because the Plan Code already exists. Verify that
the transaction receives a response code of 487 - Plan code already exists.
3. Submit a sale transaction for Order Id R2.1. This transaction creates a subscription using the
plan established in Order R1.1. The amount in the sale transaction represents a set-up fee and
not the initial payment. Verify that the transaction receives an approval code in the response
message.
4. Submit an authorization transaction for Order Id R2.2. This transaction creates a
subscription using the plan established in Order R1.1. Because the Authorization did not
specify a start date, the Recurring Engine schedules the first payment for the current date.
Verify that the transaction receives an approval code in the response message.
NOTE:
149
6. Submit a sale transaction for Order Id R3.1. This transaction utilizes a Sale transaction to
initialize a subscription based upon the plan created in R1.3, but overrides both the number of
payments and the amount specified in the Plan. Verify that the transaction receives an
approval code in the response message.
7. Submit an authorization transaction for Order Id R3.2. This transaction utilizes an
Authorization transaction to initialize a subscription based upon the plan created in R1.3, but
overrides both the number of payments and the amount specified in the Plan. Verify that the
transaction receives an approval code in the response message.
8. Submit an updateSubscription transaction for Order Id R3.3. This transaction updates an
existing subscription, changing the billing date. Verify that the transaction receives an
approval code in the response message.
9. Submit an authorization transaction for Order Id R4.1. This transaction utilizes an
Authorization transaction to initialize a subscription that overrides the default amount in the
Plan and has a trial period. Verify that the transaction receives an approval code in the
response message.
10. Submit an updateSubscription transaction for Order Id R4.2. This transaction updates an
existing subscription with a new credit card number. Verify that the transaction receives an
approval code in the response message.
11. Submit an authorization transaction for Order Id R5.1. This transaction utilizes an
Authorization transaction to initialize a subscription based upon the SEMIANNUAL_PLAN,
but overrides the number of payments. Verify that the transaction receives an approval code
in the response message.
12. Submit an updateSubscription transaction for Order Id R5.2. This transaction updates an
existing subscription with new billing information. Verify that the transaction receives an
approval code in the response message.
13. Submit an updateSubscription transaction for Order Id R5.3. Since the transaction does
not include any updated information, the transaction is declined with a response code of 484 Insufficient data to update subscription. Verify that the transaction receives a response code of
484.
14. Submit an updateSubscription transaction for Order Id R5.4. Since the transaction
specifies a new billing date in the past, the transaction is declined with a response code of 485
- Invalid billing date. Verify that the transaction receives a response code of 485.
15. Submit an authorization transaction for Order Id R6.1. The system declines this
transaction, since it uses an invalid Plan Code. Verify that the transaction receives a response
code of 472 - Invalid plan code.
16. Submit an updateSubscription transaction for Order Id R6.2. The system declines this
transaction, since it uses an invalid subscription Id. Verify that the transaction receives a
response code of 482 - Invalid start date.
17. Submit an authorization transaction for Order Id R6.3. The system declines this
transaction, since it uses a start date in the past. Verify that the transaction receives a response
code of 475 - Invalid Subscription Id.
150
18. Submit an authorization transaction for Order Id R7.1. This transaction utilizes an
Authorization transaction to initialize a subscription based upon the
PLAN_WITH_PROMOTIONS Plan with an add On and a Discount applied. Verify that the
transaction receives an approval code in the response message.
19. Submit an updateSubscription transaction for Order Id R7.2. This transaction attempts to
update an existing subscription with a new Add On, but is declined because the Add On
already exists. Verify that the transaction receives a response code of 476 - Add On already
exists.
20. Submit an updateSubscription transaction for Order Id R7.3. This transaction attempts to
update an Add On for an existing subscription, but is declined because the specified Add On
is not associated with the Subscription. Verify that the transaction receives a response code of
478 - No matching Add On code for the subscription.
21. Submit an updateSubscription transaction for Order Id R7.4. This transaction attempts to
update an Add On for an existing subscription, but is declined because the specified Add On
is not associated with the Subscription. Verify that the transaction receives a response code of
478 - No matching Add On code for the subscription.
22. Submit an updateSubscription transaction for Order Id R7.5. This transaction attempts to
update a Discount for an existing subscription, but is declined because the specified Discount
is not associated with the Subscription. Verify that the transaction receives a response code of
480 - No matching Discount code for the subscription.
23. Submit an authorization transaction for Order Id R8.1. This transaction utilizes an
Authorization transaction to initialize a subscription, but includes duplicate Add Ons. Verify
that the transaction receives a response code of 477 - Duplicate add-on codes in request.
24. Submit an authorization transaction for Order Id R8.2. This transaction utilizes an
Authorization transaction to initialize a subscription, but includes duplicate Discounts. Verify
that the transaction receives a response code of 481 - Duplicate discount codes in request.
25. Submit an authorization transaction for Order Id R9.1. In this case the parent
Authorization transaction is declined with a response code of 301 - Invalid Account Number.
The response code associated with the recurring request is 471 - Parent transaction declined Recurring subscription not created.PREMIUM_MONTHLY
26. Submit an cancelSubscription transaction for Order Id R10.1. Verify that the transaction
receives an approval code in the response message.
27. Submit an updatePlan transaction for Order Id R11.1. This transaction changes the Plan to
an inactive state. Verify that the transaction receives an approval code in the response
message.
151
R1.1
Element
Value
Value
<response> 000
<message> Approved
<planCode> Your Value
<response> 000
<message> Approved
<planCode> Your Value
<response> 000
<message> Approved
<planCode> Your Value
<response> 000
<message> Approved
<planCode> Your Value
152
R1.5
Element
Value
Value
<response> 000
<message> Approved
<response> 000
<message> Approved
<response> 487
153
R2.3
Element
Value
Value
<response> 000
<message> Approved
<response> 000
<message> Approved
154
R4.1
Element
Value
Value
<response> 000
<message> Approved
155
R5.2
Element
Value
Value
R5.4
<response> 484
<message> Insufficient data to
update subscription
<recurringResponse> (parent element)
<response> 485
<message> Invalid billing date
<billingDate> 2000-10-01
R6.1
<responseCode> 472
<responseMessage> Invalid plan code
156
R6.2
Element
Value
Value
<response> 475
<subscriptionId> 1111111111
157
R7.1
Element
Value
Value
(parent element)
<createAddOn> SSL_ADDON
<addOnCode> Additional Service
<name> 1000
<amount> 2013-08-30
<startDate> 2050-08-30
<endDate> (parent element)
<createDiscount> PROMO_DISCOUN
<discountCode> T
Special Offer
<name>
1000
<amount> 2013-08-30
<startDate> 2050-08-30
<endDate>
R7.2
<response> 476
<message> Add-on code already
exists
<addOnCode> SSL_ADDON
<name> Additional Service
<amount> 1000
<startDate> 2013-08-30
<endDate> 2050-08-30
158
R7.3
Element
Value
Value
<response> 478
<message> No matching Add-on
code for the
subscription
<response> 480
<message> No matching
Discount code for the
subscription
159
R8.1
Element
Value
Value
<response> 477
<message> Duplicate Add-on
codes in request
(parent element)
<createAddOn> SSL_ADDON
<addOnCode> Additional Service
<name> 1000
<amount> 2013-08-30
<startDate> 2050-08-30
<endDate> (parent element)
<createAddOn> SSL_ADDON
<addOnCode> Additional Service
<name> 1000
<amount> 2013-08-30
<startDate> 2050-08-30
<endDate>
160
R8.2
Element
Value
Value
(parent element)
<createDiscount> PROMO_DISCOUN
<discountCode> T
Discount
<name>
1000
<amount> 2013-08-30
<startDate> 2050-08-30
<endDate>
(parent element)
<createDiscount> PROMO_DISCOUN
<discountCode> T
Discount
<name>
1000
<amount> 2013-08-30
<startDate> 2050-08-30
<endDate>
R9.1
161
R11.1
Element
Value
Value
<response> 000
<message> Approved
<active> false
2.5.15
Use the following Certification tests to verify transactions associated with the Private Label Gift
Card functionality. The tests are designed so that you can verify your XML structure for each
transaction type, as well as your ability to parse the response data.
To test the Gift Card functionality using the data supplied in Table 2-28:
1. Submit an activate transaction for Order Id GC1. Verify that the data in the response
message matches the Key Response Elements specified in the table.
2. Submit an activate transaction for Order Id GC1A. This transaction activates a Virtual Gift
Card. Verify that the data in the response message matches the Key Response Elements
specified in the table.
3. Submit an authorization transaction for Order Id GC2. Verify that the data in the response
message matches the Key Response Elements specified in the table.
4. Submit a capture transaction for Order Id GC2A. Verify that the data in the response
message matches the Key Response Elements specified in the table.
5. Submit a credit transaction for Order Id GC2B. Verify that the data in the response message
matches the Key Response Elements specified in the table.
6. Submit a deactivate transaction for Order Id GC3. Verify that the data in the response
message matches the Key Response Elements specified in the table.
7. Submit a load transaction for Order Id GC4. Verify that the data in the response message
matches the Key Response Elements specified in the table.
8. Submit a unload transaction for Order Id GC5. Verify that the data in the response message
matches the Key Response Elements specified in the table.
9. Submit a balanceInquiry transaction for Order Id GC6. Verify that the data in the
response message matches the Key Response Elements specified in the table.
10. Submit an activate transaction for Order Id GC7. Verify that the data in the response
message matches the Key Response Elements specified in the table.
11. Submit an activateReversal transaction for Order Id GC7A. Verify that the data in the
response message matches the Key Response Elements specified in the table.
12. Submit an activateReversal transaction for Order Id GC1A. Verify that the data in the
response message matches the Key Response Elements specified in the table.
162
13. Submit an authorization transaction for Order Id GC8. Verify that the data in the response
message matches the Key Response Elements specified in the table.
14. Submit an authorizationReversal transaction for Order Id GC8A. Verify that the data in
the response message matches the Key Response Elements specified in the table.
15. Submit a sale transaction for Order Id GC9. Verify that the data in the response message
matches the Key Response Elements specified in the table.
16. Submit a depositReversal transaction for Order Id GC9A. Verify that the data in the
response message matches the Key Response Elements specified in the table.
17. Submit a sale transaction for Order Id GC10. Verify that the data in the response message
matches the Key Response Elements specified in the table.
18. Submit a credit transaction for Order Id GC10A. Verify that the data in the response
message matches the Key Response Elements specified in the table.
19. Submit a refundReversal transaction for Order Id GC10B. Verify that the data in the
response message matches the Key Response Elements specified in the table.
20. Submit a deactivate transaction for Order Id GC11. Verify that the data in the response
message matches the Key Response Elements specified in the table.
21. Submit a loadReversal transaction for Order Id GC12. Verify that the data in the response
message matches the Key Response Elements specified in the table.
22. Submit an unload transaction for Order Id GC13. Verify that the data in the response
message matches the Key Response Elements specified in the table.
23. Submit an unloadReversal transaction for Order Id GC13A. Verify that the data in the
response message matches the Key Response Elements specified in the table.
24. Submit an activate transaction for Order Id GC14. This transaction is declined with a
response code of 301 - Invalid Account Number. Verify that the data in the response message
matches the Key Response Elements specified in the table.
25. Submit an activate transaction for Order Id GC15. This transaction is declined with a
response code of 217 - Already active, because it attempts to activate the same card already
activated in Order Id GC1. Verify that the data in the response message matches the Key
Response Elements specified in the table.
26. Submit an authorization transaction for Order Id GC16. This transaction is declined with
a response code of 110 - Insufficient Funds. Verify that the data in the response message
matches the Key Response Elements specified in the table.
27. Submit an authorization transaction for Order Id GC17. This transaction is declined with
a response code of 281 - Card not active. Verify that the data in the response message matches
the Key Response Elements specified in the table.
28. Submit a capture transaction for Order Id GC18. This transaction is declined with a
response code of 360 - No transaction found with the specified litleTxnId. Verify that the data
in the response message matches the Key Response Elements specified in the table.
29. Submit a sale transaction for Order Id GC19. Verify that the data in the response message
matches the Key Response Elements specified in the table.
163
30. Submit a credit transaction for Order Id GC19A. This transaction is declined with a
response code of 304 - Lost/Stolen Card. Verify that the data in the response message matches
the Key Response Elements specified in the table.
31. Submit a balanceInquiry transaction for Order Id GC20. This transaction is declined with
a response code of 352 - Invalid CVV2. Verify that the data in the response message matches
the Key Response Elements specified in the table.
TABLE 2-28
orderId
GC1
Element
Value
Activate:
Element
Activate Response:
<amount> 15000
<response> 000
<type> GC
<number> 6035716390000000000
<expDate> 1215
<cardValidationNum> 123
GC1A
Virtual Activate:
<message> Approved
<cardValidationResu M
lt>
<availableBalance> 15000
Activate Response:
<amount> 8000
<accountNumberLength 16
>
<giftCardBin> 603571
GC2
Value
Authorization:
<amount> 1500
<response> 000
<message> Approved
<availableBalance> 8000
<accountNumber> 603571xxxxxxxx
xx
Authorization
Response:
<type> GC
<response> 000
<number> 6035716390000000000
<message> Approved
<expDate> 1215
<cardValidationNum> 123
<authCode> 11111
<cardValidationResu M
lt>
<availableBalance> 13500
GC2A
Capture:
Capture Response:
response> 000
<message> Approved
<availableBalance> 13500
164
TABLE 2-28
orderId
GC2B
Element
Value
Credit:
Element
Credit Response:
Value
Deactivate:
<type> GC
response> 000
<message> Approved
<availableBalance> 14000
Deactivate
Response:
<number> 6035716400000000007
response> 000
<message> Approved
<availableBalance> 0
GC4
Load:
Load Response:
<amount> 5000
<response> 000
<type> GC
<number> 6035716500000000004
<expDate> 0116
<cardValidationNum> 123
GC5
Unload:
<message> Approved
<cardValidationResu M
lt>
<availableBalance> 5000
Unload Response:
<amount> 2500
<response> 000
<type> GC
<number> 6035716500000000004
<expDate> 0116
<cardValidationNum> 123
GC6
Balance Inquiry:
<type> GC
<message> Approved
<cardValidationResu M
lt>
<availableBalance> 2500
Balance Inquiry
Response:
<response> 000
<number> 6035716390000000000
<message> Approved
<expDate> 0116
<cardValidationNum> 123
<cardValidationResu M
lt>
<availableBalance> 2500
165
TABLE 2-28
orderId
GC7
Element
Value
Activate:
Element
Activate Response:
<amount> 8000
<response> 000
<type> GC
<number> 6035712132130000003
<expDate> 1215
<cardValidationNum> 123
GC7A
Value
Activate Reversal:
<message> Approved
<cardValidationResu M
lt>
<availableBalance> 8000
Activate Reversal
Response:
<response> 000
<message> Approved
GC7B
Activate Reversal:
Activate Reversal
Response:
<response> 000
<message> Approved
GC8
Authorization:
<amount> 2000
Authorization
Response:
<type> GC
<response> 000
<number> 6035746100000000007
<message> Approved
<expDate> 1215
<cardValidationNum> 123
<authCode> 11111
<cardValidationResu M
lt>
<availableBalance> 4000
GC8A
Auth Reversal:
Auth Reversal
Response:
<response> 000
<message> Approved
<availableBalance> 6000
166
TABLE 2-28
orderId
GC9
Element
Value
Sale:
Element
Value
Sale Response:
<amount> 2000
<response> 000
<type> GC
<message> Approved
<number> 6035716431320000005
<expDate> 1215
<cardValidationNum> 123
<authCode> 11111
<cardValidationResu M
lt>
<availableBalance> 8000
GC9A
Deposit Reversal:
Deposit Reversal
Response:
<response> 000
<message> Approved
<availableBalance> 10000
GC10
Sale:
Sale Response:
<amount> 2000
<response> 000
<type> GC
<message> Approved
<number> 6035716431320000005
<expDate> 1215
<cardValidationNum> 123
<authCode> 11111
<cardValidationResu M
lt>
<availableBalance> 8000
GC10A
Credit:
Credit Response:
<response> 000
<message> Approved
<availableBalance> 10000
GC10B
Refund Reversal:
Refund Reversal
Response:
<response> 000
<message> Approved
<availableBalance> 8000
167
TABLE 2-28
orderId
GC11
Element
Value
Deactivate Reversal:
Element
Value
Deactivate
Reversal
Response:
<response> 000
<message> Approved
<availableBalance> 0
GC12
Load Reversal:
Load Reversal
Response:
<response> 000
<message> Approved
<availableBalance> 0
GC13
Unload:
Unload Response:
<amount> 2500
<response> 000
<type> GC
<number> 6035712300000000003
<expDate> 0116
<cardValidationNum> 123
GC13A
Unload Reversal:
<message> Approved
<cardValidationResu M
lt>
<availableBalance> 1500
Unload Reversal
Response:
<response> 000
<message> Approved
<availableBalance> 4000
GC14
Activate:
Activate Response:
<amount> 15000
<type> GC
<number> 6035716396360000001
<response> 301
<message> Invalid Account
Number
<expDate> 1216
<cardValidationNum> 123
168
TABLE 2-28
orderId
GC15
Element
Value
Activate:
Element
Value
Activate Response:
<amount> 10000
<response> 217
<type> GC
<number> 6035716390000000000
<expDate> 1216
<cardValidationNum> 123
GC16
Authorization:
<amount> 1500000
Authorization
Response:
<type> GC
<response> 352
<number> 6035716390000000000
<message> Decline
CVV/CID Fail
<expDate> 1216
<cardValidationNum> 123
GC17
Authorization:
<amount> 15000
<cardValidationResu M
lt>
<availableBalance> 14000
Authorization
Response:
<type> GC
<response> 281
<number> 6035709896360000009
<expDate> 1216
<cardValidationNum> 123
GC18
Capture:
Capture Response:
<litleTxnId> 5555
<response> 360
<message> No transaction
found with
specified
litleTxnId
GC19
Sale:
Sale Response:
<amount> 1000
<response> 000
<type> GC
<message> Approved
<number> 6035716490000000008
<expDate> 1215
<cardValidationNum> 123
<authCode> 11111
<cardValidationResu M
lt>
<availableBalance> 1500
169
TABLE 2-28
orderId
GC19A
Element
Value
Credit:
Element
Value
Credit Response:
<response> 304
<message> Lost/Stolen
Card
<amount> 10000
GC20
Balance Inquiry:
<type> GC
Balance Inquiry
Response:
<number> 6035716500000000004
<expDate> 0116
<response> 352
<message> Invalid CVV2
<cardValidationNum> 476
2.5.16
In addition to other normal required certification testing, you should submit the following
transactions to test the Mobile Point of Sale offering. Because these test cases require you to
submit specific values, they are not end-to-end test (i.e., mobile device to response message).
They are intended to verify your systems handling of the various response codes and messages
associated with the mobile solution.
To test end-to-end operation swipe a test card. Is long as the LitleXML message and the
submitted data is valid the certification system returns a response message indicating that the
transaction was approved.
NOTE:
These test cases require the substitution of specific values for the
<encryptedTrack> element. If a value for a required element is not
provided, submit any valid value.
Submission of any transactions not using the specified values will result
in an approved response, as long as the message contains valid data and
the track1Status and track2Status elements are set to 0.
1. Using the data provided in Table 2-29 for orderId mpos_auth1, submit a Sale transaction.
Verify that the response data matches the values for the Key Response Elements for that
orderId.
2. Using the data provided in Table 2-29 for orderId mpos_credit, submit a Credit transaction.
Verify that the response data matches the values for the Key Response Elements.
3. Using the data provided in Table 2-29 for orderId mposAuthFailure1, submit a Sale
transaction. This transaction simulates the failure to properly read the Track1 and Track 2
170
data. Verify that the response data matches the values for the Key Response Elements and that
your system properly handles this response.
4. Using the data provided in Table 2-29 for orderId mposAuthFailure2, submit a Sale
transaction. This transaction simulates a timeout error encountered while waiting for the
decrypted card information. Verify that the response data matches the values for the Key
Response Elements and that your system properly handles this response.
5. Using the data provided in Table 2-29 for orderId mposAuthFailure3, submit a Sale
transaction. This transaction simulates a failure to decrypt the card information. Verify that
the response data matches the values for the Key Response Elements and that your system
properly handles this response.
NOTE:
When in production, if you receive the soft declines in Steps 4 and 5, the
best practice would be to re-swipe the card and resubmit the transactions.
mpos_sale
Element
Value
<encryptedTrack> CASE1...(see
below)
<ksn> 77853211300008E0
0016
<formatId> 30
Value
<response> 000
<message> Approved
<authCode> 22222
<avsResult> 34
<track1Status> 0
<track2Status> 0
mpos_credit
<encryptedTrack> CASE1...(see
below)
<response> 000
<message> Approved
<ksn> 77853211300008E0
0016
<formatId> 30
<track1Status> 0
<track2Status> 0
mposAuthFai
lure1
<encryptedTrack> CASE8...(see
below)
<ksn> 77853211300008E0
0016
<response> 524
<message> Hard Decline Input data is
invalid
<formatId> 30
<track1Status> 1
<track2Status> 1
171
mposAuthFai
lure2
Element
Value
<encryptedTrack> TimeOut
<ksn> 77853211300008E0
0016
<formatId> 30
<track1Status> 0
Value
<response> 521
<message> Soft decline Card reader
decryption
service is not
available
<track2Status> 0
mposAuthFai
lure3
<encryptedTrack> CASE2...(see
below)
<ksn> 77853211300008E0
0016
<response> 523
<message> Soft decline Decryption failed
<formatId> 30
<track1Status> 0
<track2Status> 0
2.5.17
If you are planning to support MasterPass transaction, in addition to other required certification
testing, you should submit the following transactions to test the use of the additional LitleXML
elements required for a MasterPass transaction.
To test the MasterPass functionality using the data supplied in Table 2-30:
172
1. Submit an Authorization transaction using the data supplied for Order Id MCWalletAuth.
Verify that the response data matches the values for the Key Response Elements for that
orderId.
2. Submit a Sale transaction using the data supplied for Order Id MCWalletSale. Verify that the
response data matches the values for the Key Response Elements for that orderId.
TABLE 2-30 MasterPass Test Data
Supplied Data Elements
orderId
Element
MCWalletAut
h
Value
Value
<response> 000
<message> Approved
<walletSourceTypeId> 102
<wallet> (parent element)
MCWalletSal
e
<walletSourceType> MasterPass
<response> 000
<message> Approved
<walletSourceTypeId> 102
2.5.18
The following Apple Pay tests allow you to verify your submission of valid XML for two Apple
Pay scenarios. The first test scenario applies to the case where you decrypt the Apple Pay
PKPaymentToken, while the second scenarion applies to the Vantiv decryption PKPaymentToken
components submitted in a LitleXML transaction.
NOTE:
2.5.18.1
To test the submission of an Apple Pay transaction in LitleXML when you decrypt the
PKPaymentToken, you must include the information listed in the table below in an Authorization
or Sale transaction. Assuming you submit valid XML with appropriate values, the test
environment will return an approved response message.
173
Value
number
expDate
authenticationValue
orderSource
Set to applepay
2.5.18.2
When you receive a PKPaymentToken, you muse parse (not decrypt) the component parts and use
the data to populate the LitleXML <applepay> child elements. This test is designed to allow
you to verify your ability to parse the PKPaymentToken data and construct well formed
LitleXML. The test uses the data from the example PKPaymentToken shown below (data element
names in bold red type) to construct an Authorization or Sale transaction (see applepay). The
system returns a Response Code of 000 - Approved.
Example: PKPaymentToken
{"version":"EC_v1","data":"Ww9EI+10VVpyZrAb3nxu9c8PG4JEnIh4oTkDhZi4axj5QqC5WIir6
TJcFmk/3wkrNL/KaRXz3aan4WRO6cPL+cUTRpQUO9ECqTBItmQbJxGbN42713TyI+y97k3msl7bd5rJO
MIOpkCtfp2ua+3lnBhjGFnUzdCxq+/K6eoIEwYlAEfX9Sdpjm+plVfvSK7vj0BQCcXo1dXGkNUKwKWA4
GYPUE3qwbuiQWcZwLxAEF43274pACV4LBmdv0HYgYpcgCY0+U6/YSVKdpPrhHLDeLOlO7T4WwuimHojs
KA/BknpPY1uJfP+YJxj1fYghaAOAR0tA5cYJftlWLXaV9lZu113Ns1rxColh4PR8wsuw81CdOruvoURG
NaNyX+hG1suQoHeE8ECzKIE6DlHEeVMcdxXySwFPY7hxEY1QKSSXw==","signature":"MIAGCSqGSI
b3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIICvzCCAmWgAwIBAg
IIQpCV6UIIb4owCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYX
Rpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBA
oMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0MDUwODAxMjMzOVoXDTE5MDUwNzAxMjMzOVowXz
ElMCMGA1UEAwwcZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtUFJPRDEUMBIGA1UECwwLaU9TIFN5c3RlbX
MxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQg
AEwhV37evWx7Ihj2jdcJChIY3HsL1vLCg9hGCV2Ur0pUEbg0IO2BHzQH6DMx8cVMP36zIg1rrV1O/0ko
mJPnwPE6OB7zCB7DBFBggrBgEFBQcBAQQ5MDcwNQYIKwYBBQUHMAGGKWh0dHA6Ly9vY3NwLmFwcGxlLm
NvbS9vY3NwMDQtYXBwbGVhaWNhMzAxMB0GA1UdDgQWBBSUV9tv1XSBhomJdi9+V4UH55tYJDAMBgNVHR
MBAf8EAjAAMB8GA1UdIwQYMBaAFCPyScRPk+TvJ+bE9ihsP6K7/S5LMDQGA1UdHwQtMCswKaAnoCWGI2
h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB/wQEAwIHgDAPBgkqhkiG92
NkBh0EAgUAMAoGCCqGSM49BAMCA0gAMEUCIQCFGdtAk+7wXrBV7jTwzCBLE+OcrVL15hjif0reLJiPGg
IgXGHYYeXwrn02Zwcl5TT1W8rIqK0QuIvOnO1THCbkhVowggLuMIICdaADAgECAghJbS+/OpjalzAKBg
gqhkjOPQQDAjBnMRswGQYDVQQDDBJBcHBsZSBSb290IENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcn
RpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xND
174
A1MDYyMzQ2MzBaFw0yOTA1MDYyMzQ2MzBaMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludG
VncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQ
YDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPAXEY
QZ12SF1RpeJYEHduiAou/ee65N4I38S5PhM1bVZls1riLQl3YNIk57ugj9dhfOiMt2u2ZwvsjoKYT/VE
WjgfcwgfQwRgYIKwYBBQUHAQEEOjA4MDYGCCsGAQUFBzABhipodHRwOi8vb2NzcC5hcHBsZS5jb20vb2
NzcDA0LWFwcGxlcm9vdGNhZzMwHQYDVR0OBBYEFCPyScRPk+TvJ+bE9ihsP6K7/S5LMA8GA1UdEwEB/w
QFMAMBAf8wHwYDVR0jBBgwFoAUu7DeoVgziJqkipnevr3rr9rLJKswNwYDVR0fBDAwLjAsoCqgKIYmaH
R0cDovL2NybC5hcHBsZS5jb20vYXBwbGVyb290Y2FnMy5jcmwwDgYDVR0PAQH/BAQDAgEGMBAGCiqGSI
b3Y2QGAg4EAgUAMAoGCCqGSM49BAMCA2cAMGQCMDrPcoNRFpmxhvs1w1bKYr/0F+3ZD3VNoo6+8ZyBXk
K3ifiY95tZn5jVQQ2PnenC/gIwMi3VRCGwowV3bF3zODuQZ/0XfCwhbZZPxnJpghJvVPh6fRuZy5sJiS
FhBpkPCZIdAAAxggFfMIIBWwIBATCBhjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3
JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1
UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMCCEKQlelCCG+KMA0GCWCGSAFlAwQCAQUAoGkwGAYJKo
ZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTQxMDAzMjE1NjQzWjAvBgkqhkiG9w
0BCQQxIgQgg8i4X6yRAU7AXS1lamCf02UIQlpUvNPToXUaamsFUT8wCgYIKoZIzj0EAwIERzBFAiBe17
NGTuuk+W901k3Oac4Z90PoMhN1qRqnij9KNEb/XAIhALELZyDWw0fQM8t0pXO86gg9xXFz424rEMlJ01
TM1VxhAAAAAAAA","header":{"applicationData":"496461ea64b50527d2d792df7c38f301300
085dd463e347453ae72debf6f4d14","transactionId":"f9b0d3cfbb64cd155249c691aca3c521
de03725720616b810d90341f97f347b7","ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZI
zj0DAQcDQgAEarp8xOhLX9QliUPS9c54i3cqEfrJD37NG75ieNxncOeFLkjCk","publicKeyHash":"
jAMRQqg4nffHrXvfwRfbaEc11bk3QD3rv5K9xLqLgu0="}}
2.5.19
When you submit certain Online transactions, the system acts to detect if it is a duplicate by
comparing the id attribute and the credit card number against other successful Online
transactions of the same type processed within the previous two days. The system performs this
checking routine for the following transaction types: Capture, Force Capture, Capture Given
Auth, Credit, Sales, eCheck Credit, eCheck Sales, eCheckVoid, and Void.
If the system determines a transaction to be a duplicate, it returns the original response message
with the duplicate attribute set to true (see example below). This attribute indicates that the
response was returned on a previous transaction. Please refer to Online Duplicate Checking on
page 8 for additional information.
To test your handling of response messages that include the duplicate attribute:
NOTE:
When you submit the duplicate transaction, make sure that all
information, including the id attribute, is identical.
Online Duplicate Transaction checking is disabled if you submit a null
value (id="").
1. Send any of the following Sale transactions more than once within a two day period: Order
numbers 1, 2, 3, 4, or 5. The response for the second submission will contain the duplicate
attribute.
2. Send any of the following Capture transactions more than once within a two day period:
Order numbers 1A, 2A, 3A, 4A, or 5A. The response for the second submission will contain
Document Version: 1.8 XML Release: 9.4
175
the duplicate attribute. You may have to submit the corresponding Authorization
transaction prior to submitting the Capture transaction.
3. Send any of the following Credit transactions more than once within a two day period: Order
numbers 1B, 2B, 3B, 4B, or 5B. The response for the second submission will contain the
duplicate attribute. You may have to submit the corresponding Capture transaction prior to
submitting the Credit transaction.
4. Send any of the following Void transactions more than once within a two day period: Order
numbers 1C, 2C, 3C, 4C, or 5C. The response for the second submission will contain the
duplicate attribute. You may have to submit the corresponding Sale transaction prior to
submitting the Void transaction.
5. Send either of the following eCheck Sale transactions more than once within a two day
period: Order numbers 42 or 43. The response for the second submission will contain the
duplicate attribute.
6. Send any of the following eCheck Credit transactions more than once within a two day
period: Order numbers 46, 47, or 48. The response for the second submission will contain the
duplicate attribute.
2.5.20
Volume testing is useful if you plan to send large files. This is an optional test you can perform
during certification testing. Volume testing enables you to verify how many transactions (the
number of requests and responses) you can process within a specific time frame.
Litle & Co. recommends you submit transactions for a 15-minute time interval. Submit the
approximate number of transactions that you anticipate to be normal volume for any 15-minute
period. You can send in any valid transaction data; the actual data you send will not be verified.
176
3
LITLEXML TRANSACTION EXAMPLES
This chapter contains information and examples concerning the structure of LitleXML transaction
messages. Where differences exist between the structure of Batch and Online transactions, the
sections present examples of both structures.
NOTE:
177
3.1
3.1.1
Each Batch transmission you send to us is considered to be a single request. You can think of the
entire Batch request as a session composed of one or more individual batches, each containing
one or more transactions. You can also use a Batch as a request for retrieval of the response for a
previously processed session. Each request results in a response transmission sent from us to you.
Batch processing supports the following transaction types;
Activate Transactions
Authorization Transactions
Authorization Reversal
Capture Transactions
Credit Transactions
Deactivate Transactions
Load Transactions
Sale Transactions
Unload Transactions
178
For more information about Batch processing, see Batch Transaction Processing on page 5.
3.1.1.1
sFTP
For additional information concerning the recommended transmission methods, see Transferring
Session Files on page 77.
3.1.1.2
Payment transactions (for example, an Authorization, Capture, Credit, etc.) - at least one per
<batchRequest> element
NOTE:
3.1.1.3
At least one payment transaction response (for example, an Authorization response, Capture
response, Credit response, etc.).
179
NOTE:
180
3.2
Activate Transactions
Authorization Transactions
Authorization Reversal
Capture Transactions
Credit Transactions
Deactivate Transactions
Load Transactions
Sale Transactions
Unload Transactions
181
3.2.1
Litle & Co. supports the HTTPS POST communication protocol for Online processing.
For additional information concerning the recommended transmissions methods, see Transferring
Online Files on page 78.
3.2.2
3.2.3
182
3.3
The XML examples in this section are intended to present typical LitleXML
transactions. The examples may not include every possible element for a
particular transaction type. When coding your XML, always consult the
LitleXML schema files for information concerning all available elements.
Authorization Transactions
Activate Reversal Transactions (Online Only) (Private Label Gift Card transaction)
Capture Transactions
Credit Transactions
Deactivate Reversal Transactions (Online Only) (Private Label Gift Card transaction)
Deposit Reversal Transactions (Online Only) (Private Label Gift Card transaction)
183
Load Reversal Transactions (Online Only) (Private Label Gift Card transaction)
Refund Reversal Transactions (Online Only) (Private Label Gift Card transaction)
Sale Transactions
Unload Reversal Transactions (Online Only) (Private Label Gift Card transaction)
184
3.3.1
Authorization Transactions
The Authorization transaction enables you to confirm that a customer has submitted a valid
payment method with their order and has sufficient funds to purchase the goods or services they
ordered.
The lifespan of an authorization varies according to the payment type being used, as shown in
Table 3-1. During the lifespan, you can use a valid authorization multiple times as needed.
NOTE:
TABLE 3-1
Payment Type
Lifespan of Authorization
American Express
7 days
Bill Me Later
Discover
10 days
MasterCard
7 days
PayPal
Visa
7 days
This section describes the format you must use for an Authorization request, as well as the format
of the Authorization Response you receive from us.
3.3.1.1
You must structure an Authorization request as shown in the following examples. The structure of
an Authorization request is identical for either an Online or a Batch submission.
<authorization id="Authorization Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<orderId>Order Id</orderId>
<amount>Authorization Amount</amount>
<secondaryAmount>Secondary Amount</secondaryAmount>
<orderSource>Order Entry Source</orderSource>
185
<customerInfo>
<billToAddress>
<shipToAddress>
[ <card> | <paypal> | <paypage> | <token> | <mpos>]
<billMeLaterRequest>
<cardholderAuthentication>
<processingInstructions>
<pos>
<customBilling>
<taxType>payment or fee</taxType>
<enhancedData>
<amexAggregatorData>
<allowPartialAuth>
<healthcareIIAS>
<filtering>
<merchantData>
<recyclingRequest> (for Recycling Engine merchants)
<fraudFilterOverride>
<recurringRequest> (for Recurring Engine merchants)
<debtRepayment>true or false</debtRepayment>
<advancedFraudChecks>
<wallet>
</authorization>
Example: Batch Authorization Request - Card Not Present
The example below shows a batch request with a single card-not-present Authorization request. If
the batch included additional Authorization requests, each would have its own
<authorization> element with all applicable attributes and child elements. Also, the
numAuths attribute of the <batchRequest> element would increment for each additional
<authorization> element and the authAmount attribute would increase by the new amounts
from each authorization.
<litleRequest version="9.4" xmlns="http://www.litle.com/schema"
numBatchRequests = "1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
186
187
The following example contains two Authorization requests, each defined in its own
<authorization> element. The first is a card present transaction, which uses the <track>
child of the <card> element.
<litleRequest version="9.4" xmlns="http://www.litle.com/schema" id="123"
numBatchRequests="1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="01234567" numAuths="2" authAmount="68336"
merchantId="100">
<authorization id="AX54321678" reportGroup="RG27">
<orderId>12z58743y1</orderId>
<amount>12522</amount>
<orderSource>retail</orderSource>
<billToAddress>
<zip>95032</zip>
</billToAddress>
<card>
<track>%B40000001^Doe/JohnP^06041...?;40001=0604101064200?</track>
</card>
<pos>
<capability>magstripe</capability>
<entryMode>completeread</entryMode>
<cardholderId>signature</cardholderId>
</pos>
</authorization>
<authorization id="AX54325432" reportGroup="RG12">
<orderId>12z58743y7</orderId>
<amount>55814</amount>
<orderSource>retail</orderSource>
<billToAddress>
<zip>01854</zip>
</billToAddress>
<card>
<type>VI</type>
<number>4005550000081019</number>
<expDate>0911</expDate>
</card>
<pos>
<capability>keyedonly</capability>
188
<entryMode>keyed</entryMode>
<cardholderId>directmarket</cardholderId>
</pos>
<allowPartialAuth>true</allowPartialAuth>
</authorization>
</batchRequest>
</litleRequest>
189
</card>
<cardholderAuthentication>
<authenticationValue>BwABBJQ1gJDUCAAAAAAA=</authenticationValue>
<authenticationTransactionId>gMV75TmjAgk=</authenticationTransactionId>
</cardholderAuthentication>
</authorization>
</litleOnlineRequest>
The example below uses the following token related elements (click name to jump to element
definition): token and litleToken.
NOTE:
190
</shipToAddress>
<token>
<litleToken>1111000101039449</litleToken>
<expDate>1112</expDate>
<cardValidationNum>987</cardValidationNum>
</token>
</authorization>
191
<startDate>2013-07-21</startDate>
<amount>1500</amount>
<createDiscount>
<discountCode>New_Customer_Discount_1</addOnCode>
<name>New_Customer</name>
<amount>750</amount>
<startDate>2013-07-21</startDate>
<endDate>2013-07-22</endDate>
</createDiscount>
<createAddOn>
<addOnCode>Extra_Feature_1</addOnCode>
<name>Extra_1</name>
<amount>900</amount>
<startDate>2013-08-21</startDate>
<endDate>2014-07-21</endDate>
</createAddOn>
</subscription>
</recurringRequest>
</authorization>
</litleOnlineRequest>
3.3.1.2
An Authorization response has the following structure. The response message is identical for
Online and Batch transactions except Online includes the <postDate> element.
<authorizationResponse id="Authorization Id" reportGroup="iQ Report
Group" customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date transaction posted</postDate> (Online Only)
<message>Response Message</message>
<authCode>Approval Code</authCode>
<approvedAmount>Approved amount for partial Auth<approvedAmount>
<accountInformation>
<accountUpdater>
<fraudResult>
192
<billMeLaterResponseData>
<tokenResponse> (for Tokenized merchants submitting card data)
<enhancedAuthResponse>
<recycling> (included for declined Auths if feature is enabled)
<recurringResponse> (for Recurring Engine merchants)
<giftCardResponse> (included if Gift Card is Method of Payment)
</authorizationResponse>
Example: Batch Authorization Response
The example below shows a batch Authorization response that contains two transactions.
<litleResponse version="9.4" xmlns="http://www.litle.com/schema" id="123"
response="0" message="Valid Format" litleSessionId="987654321">
<batchResponse id="01234567" litleBatchId="4455667788" merchantId="100">
<authorizationResponse id="AX54321678" reportGroup="RG27">
<litleTxnId>84568456</litleTxnId>
<orderId>12z58743y1</orderId>
<response>000</response>
<responseTime>2011-03-01T10:24:31</responseTime>
<message>Approved</message>
<authCode>123456</authCode>
<fraudResult>
<avsResult>00</avsResult>
</fraudResult>
</authorizationResponse>
<authorizationResponse id="AX54325432" reportGroup="RG12">
<litleTxnId>84568457</litleTxnId>
<orderId>12z58743y7</orderId>
<response>000</response>
<responseTime>2011-03-01T10:24:31</responseTime>
<message>Approved</message>
<authCode>123456</authCode>
<fraudResult>
<avsResult>00</avsResult>
<authenticationResult>2</authenticationResult>
</fraudResult>
<enhancedAuthResponse>
<fundingSource>
<type>PREPAID</type>
<availableBalance>5000</availableBalance>
<reloadable>NO</reloadable>
<prepaidCardType>GIFT</prepaidCardType>
193
</fundingSource>
</enhancedAuthResponse>
</authorizationResponse>
</batchResponse>
</litleResponse>
194
If a tokenized merchant submits card data in the Authorization request, the response includes the
tokenResponse element. The example below is a response for an Online request
(litleOnlineresponse element not shown); therefore, it includes the postDate element.
<authorizationResponse id="99999" reportGroup="RG1" customerId="444">
<litleTxnId>21200000001108</litleTxnId>
<orderId>F12345</orderId>
<response>000</response>
<responseTime>2011-10-08T21:38:32</responseTime>
<postDate>2011-10-08</postDate>
<message>Approved</message>
<authCode>270005</authCode>
<fraudResult>
<avsResult>11</avsResult>
<cardValidationResult>P</cardValidationResult>
</fraudResult>
<tokenResponse>
<litleToken>1111100100240005</litleToken>
<tokenResponseCode>801</tokenResponseCode>
<tokenMessage>Account number was successfully registered</tokenMessage>
<type>VI</type>
<bin>402410</bin>
</tokenResponse>
</authorizationResponse>
In this example. the <accountUpdater> contains both original and new card information as
well as the <extendedCardResponse> element. This signifies that the card number changed
from the original to the new and (from the extended response code) that the issuer reported the
new account as closed. Although the Authorization was approved, this information allows you to
make an informed decision about how to proceed with the sale.
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<authorizationResponse id="834262" reportGroup="ABC Division">
<litleTxnId>969506</litleTxnId>
<orderId>65347567</orderId>
<response>000</response>
<responseTime>2011-07-25T15:13:43</responseTime>
<postDate>2011-07-25</postDate>
<message>Approved</message>
<authCode>123457</authCode>
195
<accountUpdater>
<originalCardTokenInfo>
<litleToken>1111100100240005</litleToken>
<type>VI</type>
<expDate>1112</expDate>
<bin>400555</bin>
</originalCardTokenInfo>
<newCardTokenInfo>
<litleToken>1111100100250017</litleToken>
<type>VI</type>
<expDate>1114</expDate>
<bin>400555</bin>
</newCardTokenInfo>
<extendedCardResponse>
<code>501</code>
<message>The account was closed</message>
</extendedCardResponse>
</accountUpdater>
<fraudResult>
<avsResult>00</avsResult>
<cardValidationResult>N</cardValidationResult>
<authenticationResult>2</authenticationResult>
</fraudResult>
</authorizationResponse>
</litleOnlineResponse>
196
<recurringResponse>
<subscriptionId>1234567890</subscriptionId>
<responseCode>000</responseCode>
<responseMessage>Approved</responseMessage>
</recurringResponse>
</authorizationResponse>
</litleOnlineResponse>
3.3.2
The Authorization Reversal transaction enables you to remove the hold on any funds being held
by an Authorization. The original Authorization transaction must have been processed within the
system. For information on how to use the Authorization Reversal transaction, see Notes on the
Use of Authorization Reversal Transactions on page 59. Also, if you use our Recycling Engine,
you can use the authReversal transaction to halt the recycling of an authorization
transaction.
3.3.2.1
You must structure an Authorization Reversal request as shown in the following examples. The
structure of the request is identical for either an Online or a Batch submission.
<authReversal id="Authorization Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<amount>Authorization Amount to Reverse</amount>
<actionReason>SUSPECT_FRAUD</actionReason>
</authReversal>
Example: Batch Authorization Reversal Request
197
<amount>1002</amount>
</authReversal>
<authReversal id="ID" customerId="customerId" reportGroup="000057">
<litleTxnId>81234567</litleTxnId>
<amount>1003</amount>
</authReversal>
<authReversal id="ID" customerId="customerId" reportGroup="000057">
<litleTxnId>78123456</litleTxnId>
<amount>1000</amount>
</authReversal>
</batchRequest>
</litleRequest>
3.3.2.2
The basic structure of an Authorization Reversal response is identical for Batch and Online
responses except Online may include a duplicate attribute.
<authReversalResponse id="Authorization Id" reportGroup="iQ Report
Group" customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<message>Response Message</message>
</authReversalResponse>
198
The following example shows a Batch Response containing three Authorization Reversal
responses.
<litleResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="ValidFormat" litleSessionId="21500040809">
<batchResponse litleBatchId="21500040908" merchantId="000902">
<authReversalResponse id="ID" reportGroup="core" customerId="Rev1">
<litleTxnId>21200000002700</litleTxnId>
<orderId>diAuth2</orderId>
<response>000</response>
<responseTime>2011-10-14T13:15:43</responseTime>
<message>Approved</message>
</authReversalResponse>
<authReversalResponse id="ID" reportGroup="core" customerId="viRev2">
<litleTxnId>21200000002809</litleTxnId>
<orderId>visaAuth2</orderId>
<response>000</response>
<responseTime>2011-10-14T13:15:43</responseTime>
<message>Approved</message>
</authReversalResponse>
<authReversalResponse id="ID" reportGroup="core" customerId="mcRev3">
<litleTxnId>21200000002908</litleTxnId>
<orderId>mcAuth2</orderId>
<response>000</response>
<responseTime>2011-10-14T13:15:43</responseTime>
<message>Approved</message>
</authReversalResponse>
</batchResponse>
</litleResponse>
199
</litleOnlineResponse>
3.3.3
Activate Transactions
The Activate transaction changes the status of a (Closed Loop) Gift Card from inactive to active
with a value as specified by the amount element. You can also use this transaction type to create
a Virtual Gift Card.
NOTE:
3.3.3.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
Activate Request
You must structure an Activate request as shown in the following examples. The structure of the
request is identical for either an Online or a Batch submission.
<activate id="Activate Id" reportGroup="iQ Report Group" customerId="Customer
Id">
<orderId>Order Id</orderId>
<amount>Activation Amount</amount>
<orderSource>Order Entry Source</orderSource>
[ <card> | <virtualGiftCard> ]
</activate>
Example: Activate Request - Gift Card
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<activate id="834262" reportGroup="ABC Division" customerId="038945">
<orderId>65347567</orderId>
<amount>40000</amount>
<orderSource>ecommerce</orderSource>
<card>
<type>GC</type>
<number>9000000000000001</number>
</card>
200
</activate>
</litleOnlineRequest>
3.3.3.2
Activate Response
An Activate response has the following structure. The response message is identical for Online
and Batch transactions except Online includes the <postDate> element.
<activateResponse id="Activate Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date transaction posted</postDate> (Online Only)
<message>Response Message</message>
<fraudResult>
<giftCardResponse>
<virtualGiftCardResponse>
</activateResponse>
201
202
3.3.4
The Activate Reversal transaction changes the status of a newly activated Gift Card from active to
inactive, thus reversing the operation of an Active transaction. The Activate Reversal references
the associated Activate transaction by means of the litleTxnId element returned in the Activate
response. This transaction type is available only for Online transactions.
NOTE:
3.3.4.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
You must structure an Activate Reversal request as shown in the following examples.
<activateReversal id="Activate Reversal Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id from Activate Response</litleTxnId>
</activateReversal>
Example: Activate Reversal Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<activateReversal id="12345" customerId="Customer Id"
reportGroup="Activate Reversals">
<litleTxnId>12345678</litleTxnId>
</activateReversal>
</litleOnlineRequest>
3.3.4.2
203
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date transaction posted</postDate> (Online Only)
<message>Response Message</message>
<giftCardResponse>
</activateReversalResponse>
Example: Activate Reversal Response
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<activateReversalResponse id="834262" reportGroup="ABC Division">
<litleTxnId>9695064321</litleTxnId>
<orderId>65347567</orderId>
<response>000</response>
<responseTime>2013-07-25T15:13:43</responseTime>
<postDate>2013-07-25</postDate>
<message>Approved</message>
<giftCardResponse>
<availableBalance>0</availableBalance>
</giftCardResponse>
</activateReversalResponse>
</litleOnlineResponse>
3.3.5
3.3.5.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
You must structure an Balance Inquiry request as shown in the following examples. The structure
of the request is identical for either an Online or a Batch submission.
<balanceInquiry id="Balance Inquiry Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<orderId>Order Id</orderId>
<orderSource>Order Entry Source</orderSource>
204
<card>
</balanceInquiry>
Example: Balance Inquiry Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<balanceInquiry id="834262" reportGroup="ABC Division"
customerId="038945">
<orderId>65347567</orderId>
<orderSource>ecommerce</orderSource>
<card>
<type>GC</type>
<number>9000000000000001</number>
</card>
</balanceInquiry>
</litleOnlineRequest>
3.3.5.2
An Balance Inquiry response has the following structure. The response message is identical for
Online and Batch transactions except Online includes the <postDate> element.
<balanceInquiryResponse id="Balance Inquiry Id" reportGroup="iQ
Report Group" customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date transaction posted</postDate> (Online Only)
<message>Response Message</message>
<fraudResult>
<giftCardResponse>
</balanceInquiryResponse>
Example: Balance Inquiry Response
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
205
3.3.6
The Cancel Subscription transaction cancels the specified subscription, removing the transaction
stream managed by the Recurring Engine.
3.3.6.1
You must structure an Cancel Subscription request as shown in the following examples. The
structure of the request is identical for either an Online or a Batch submission.
<cancelSubscription>
<subscriptionId>ID of Subscription to Cancel</subscriptionId>
</cancelSubscription>
Example: Cancel Subscription Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>password</password>
</authentication>
<cancelSubscription>
<subscriptionId>1234</subscriptionId>
</cancelSubscription>
206
</litleOnlineRequest>
3.3.6.2
A Cancel Subscription response has the following structure. The response message is identical for
Online and Batch transactions except Online includes the <postDate> element.
<cancelSubscriptionResponse>
<litleTxnId>Transaction Id</litleTxnId>
<response>Response Code</response>
<message>Response Message</message>
<responseTime>Date and Time in GMT</responseTime>
<subscriptionId>ID of Subscription Canceled</subscriptionId>
</cancelSubscriptionResponse>
Example: Cancel Subscription Response
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<cancelSubscriptionResponse>
<litleTxnId>1100030055</litleTxnId>
<response>000</response>
<message>Approved</message>
<responseTime>2013-07-11T14:48:46</responseTime>
<subscriptionId>123457</subscriptionId>
</cancelSubscriptionResponse>
</litleOnlineResponse>
207
3.3.7
Capture Transactions
The Capture transaction transfers funds from the customer to the merchant. The Capture
references the associated Authorization by means of the litleTxnId element returned in the
Authorization response.
You send a Capture after the order has been fulfilled. In some cases, it is not possible to fulfill a
customers entire order in one shipment (for example, if some items are backordered, or some
shipped from an off-site DCS). In this situation, you can send a Partial Capture transaction by
setting the partial attribute to true. A Partial Capture contains only the data relevant to the
items that were actually shipped, enabling you to settle the funds related to those items.
3.3.7.1
Capture Request
You must structure a Capture request as shown in the following examples. The structure of the
request is identical for either an Online or a Batch submission.
<capture id="Capture Id" reportGroup="iQ Report Group" customerId="Customer Id"
partial="false">
<litleTxnId>Transaction Id</litleTxnId>
<amount>Authorization Amount</amount>
<secondaryAmount>Secondary Amount</secondaryAmount>
<enhancedData>
<processingInstructions>
<payPalOrderComplete>Set to true for final Capture</payPalOrderComplete>
</capture>
Example: Batch Capture Request - Full Capture
The following Capture example is for a full capture. Although the <capture> element includes
an <amount> child, it is not required for a full Capture. If you omit the <amount> child element,
the capture amount defaults to the full amount from the associated Authorization.
<litleRequest version="9.4" xmlns="http://www.litle.com/schema" id="123"
numBatchRequests="1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="01234567" numAuths="0" authAmount="0" numCaptures="1"
captureAmount="55814" numCredits="0" creditAmount="0" numSales="0"
saleAmount="0" merchantId="100">
<capture id="AX54325432" reportGroup="RG12" partial="false">
<litleTxnId>84568457</litleTxnId>
<amount>55814</amount>
208
<enhancedData>
<customerReference>PO12346</customerReference>
<salesTax>1500</salesTax>
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>3714</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-09-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>500</taxAmount>
<taxRate>0.01667</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>table</itemDescription>
<productCode>TB123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>1500</taxAmount>
<lineItemTotal>30000</lineItemTotal>
<lineItemTotalWithTax>31500</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>301</commodityCode>
<unitCost>300.00</unitCost>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>500</taxAmount>
<taxRate>0.01667</taxRate>
<taxTypeIdentifier>03</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
</lineItemData>
<lineItemData>
<itemSequenceNumber>2</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
209
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<lineItemTotal>20000</lineItemTotal>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>301</commodityCode>
<unitCost>200.00</unitCost>
</lineItemData>
</enhancedData>
</capture>
</batchRequest>
</litleRequest>
A partial Capture has the partial attribute set to true and must include an amount child
element.
<litleRequest version="9.4" xmlns="http://www.litle.com/schema" id="123"
numBatchRequests="1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="01234567" numAuths="0" authAmount="0" numCaptures="1"
captureAmount="45814" numCredits="0" creditAmount="0" numSales="0"
saleAmount="0" merchantId="100">
<capture id="AX54325432" reportGroup="RG12" partial="true">
<litleTxnId>84568457</litleTxnId>
<amount>45814</amount>
<enhancedData>
<customerReference>PO12346</customerReference>
<salesTax>2100</salesTax>
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>3714</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-09-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>500</taxAmount>
210
<taxRate>0.01667</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>table</itemDescription>
<productCode>TB123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>1500</taxAmount>
<lineItemTotal>30000</lineItemTotal>
<lineItemTotalWithTax>31500</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>301</commodityCode>
<unitCost>300.00</unitCost>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>500</taxAmount>
<taxRate>0.01667</taxRate>
<taxTypeIdentifier>03</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
</lineItemData>
<lineItemData>
<itemSequenceNumber>2</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<lineItemTotal>20000</lineItemTotal>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>301</commodityCode>
<unitCost>200.00</unitCost>
</lineItemData>
</enhancedData>
</capture>
</batchRequest>
</litleRequest>
211
The following Capture example is for a full capture. Although the <capture> element includes
an <amount> child, it is not required for a full Capture. If you omit the <amount> child element,
the capture amount defaults to the full amount from the associated Authorization.
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>password</password>
</authentication>
<capture id="2" reportGroup="ABC Division" customerId="038945"
partial="false">
<litleTxnId>13254123434</litleTxnId>
<enhancedData>
<customerReference>PO12345</customerReference>
<salesTax>125</salesTax>
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>495</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-08-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
212
<commodityCode>300</commodityCode>
<unitCost>93.80</unitCost>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>03</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
</lineItemData>
<lineItemData>
<itemSequenceNumber>2</itemSequenceNumber>
<itemDescription>table</itemDescription>
<productCode>TB123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<lineItemTotal>30000</lineItemTotal>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>300.00</unitCost>
</lineItemData>
</enhancedData>
</capture>
</litleOnlineRequest>
A partial Capture has the partial attribute set to true and must include an <amount> child
element.
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>password</password>
</authentication>
<capture id="2" reportGroup="ABC Division" customerId="038945"
partial="true">
<litleTxnId>13254123434</litleTxnId>
<amount>100</amount>
<enhancedData>
<customerReference>PO12345</customerReference>
<salesTax>125</salesTax>
213
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>495</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-08-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>93.80</unitCost>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>03</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
</lineItemData>
<lineItemData>
<itemSequenceNumber>2</itemSequenceNumber>
<itemDescription>table</itemDescription>
<productCode>TB123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<lineItemTotal>30000</lineItemTotal>
214
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>300.00</unitCost>
</lineItemData>
</enhancedData>
</capture>
</litleOnlineRequest>
3.3.7.2
Capture Response
A Capture response has the following structure. The response message is identical for Online and
Batch transactions except Batch always includes the <orderId> element, while Online includes
the <postDate> element and may include a duplicate attribute.
<captureResponse id="Authorization Id" duplicate=true or false reportGroup="iQ
Report Group" customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId> (Batch Only)
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date Of Posting</postDate> (Online Only)
<message>Response Message</message>
<accountUpdater>
</captureResponse>
Example: Batch Capture Response
<litleResponse version="9.4" xmlns="http://www.litle.com/schema" id="123"
litleSessionId="987654321" response="0" message="Valid Format">
<batchResponse id="01234567" litleBatchId="4455667788"
merchantId="100">
215
<message>message</message>
</captureResponse>
</batchResponse>
</litleResponse>
3.3.8
You typically use a Capture Given Auth transaction when the associated Authorization occurred
outside of the system (for example, if you received a telephone Authorization). Another possible
use for a Capture Given Auth transaction is if the Authorization transaction occurred within the
system, but the <litleTxnId> is unknown by the submitting party (for example, if the Auth was
submitted by a merchant, but a fulfiller submits a Capture Given Auth).
3.3.8.1
You must specify the Capture Given Auth request as follows. The structure of the request is
identical for either an Online or a Batch submission.
<captureGivenAuth id="Capture Given Auth Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<orderId>Order Id</orderId>
<authInformation>
<amount>Authorization Amount</amount>
216
<secondaryAmount>Secondary Amount</secondaryAmount>
<orderSource>Order Entry Source</orderSource>
<billToAddress>
<shipToAddress>
[ <card> | <token> | <paypage> | <mpos>]
<customBilling>
<taxType>payment or fee</taxType>
<billMeLaterRequest>
<enhancedData>
<processingInstructions>
<pos>
<amexAggregatorData>
<merchantData>
<debtRepayment>true or false</debtRepayment>
</captureGivenAuth>
Example: Batch Capture Given Auth Request
The following example shows a single Capture Given Auth request. The example uses the
<card> child element, but a tokenized merchant could use the <token> child element in its
place.
<litleRequest version="9.4" xmlns="http://www.litle.com/schema"
numBatchRequests="1">
<authentication>
<user>User Name</user>
<password>password</password>
</authentication>
<batchRequest id="batchId" numCaptureGivenAuths="1"
captureGivenAuthAmount="10000" merchantId="100">
<captureGivenAuth id="AX54321678" reportGroup="RG27">
<orderId>orderId</orderId>
<authInformation>
<authDate>2011-09-21</authDate>
<authCode>123456</authCode>
</authInformation>
<amount>10000</amount>
<orderSource>ecommerce</orderSource>
<card>
<type>VI</type>
<number>4005550000081019</number>
217
<expDate>0910</expDate>
</card>
<enhancedData>
<customerReference>PO12345</customerReference>
<salesTax>125</salesTax>
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>495</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-09-21</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0055</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>93.80</unitCost>
</lineItemData>
</enhancedData>
</captureGivenAuth>
</batchRequest>
</litleRequest>
218
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<captureGivenAuth id="AX54321678" reportGroup="RG27">
<orderId>orderId</orderId>
<authInformation>
<authDate>2011-08-24</authDate>
<authCode>123456</authCode>
</authInformation>
<amount>10000</amount>
<orderSource>ecommerce</orderSource>
<card>
<type>VI</type>
<number>4005550000081019</number>
<expDate>0910</expDate>
</card>
<enhancedData>
<customerReference>PO12345</customerReference>
<salesTax>125</salesTax>
<deliveryType>TBD</deliveryType>
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>495</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-08-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
219
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>93.80</unitCost>
</lineItemData>
</enhancedData>
</captureGivenAuth>
</litleOnlineRequest>
The example below uses the following token related elements (click name to jump to element
definition): token and litleToken.
<captureGivenAuth id="99999" customerId="444" reportGroup="RG1">
<orderId>F12345</orderId>
<authInformation>
<authDate>2011-10-25</authDate>
<authCode>500005</authCode>
</authInformation>
<amount>15000</amount>
<orderSource>ecommerce</orderSource>
<billToAddress>
<name>John Doe</name>
<addressLine1>10 Main Street</addressLine1>
<city>San Jose</city>
<state>CA</state>
<zip>95032-1234</zip>
<country>USA</country>
</billToAddress>
<token>
<litleToken>1112000100010085</litleToken>
<expDate>1112</expDate>
<cardValidationNum>987</cardValidationNum>
</token>
</captureGivenAuth>
220
3.3.8.2
A Capture Given Auth response has the following structure. The response message is identical for
Online and Batch transactions except Online includes the <postDate> element and may include
a duplicate attribute.
<captureGivenAuthResponse id="Capture Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date of Posting</postDate> (Online Only)
<message>Response Message</message>
<tokenResponse> (for Tokenized merchants submitting card data)
</captureGivenAuthResponse>
Example: Batch Capture Given Auth Response
<litleResponse version="9.4" xmlns="http://www.litle.com/schema" id="123"
litleSessionId="987654321" response="0" message="Valid Format">
<batchResponse id="01234567" litleBatchId="4455667788" merchantId="100">
<captureGivenAuthResponse id="AX54325432" reportGroup="RG12">
<litleTxnId>84568457</litleTxnId>
<orderId>12z58743y7</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>message</message>
</captureGivenAuthResponse>
</batchResponse>
</litleResponse>
221
<litleTxnId>1100030204</litleTxnId>
<orderId>65347567</orderId>
<response>000</response>
<responseTime>2011-07-11T14:48:48</responseTime>
<postDate>2011-07-11</postDate>
<message>Approved</message>
</captureGivenAuthResponse>
</litleOnlineResponse>
Example: Capture Given Auth Response for Tokenized Merchant Sending Card
Data
<captureGivenAuthResponse id="99999" reportGroup="RG1" customerId="444">
<litleTxnId>21200000022005</litleTxnId>
<orderId>F12345</orderId>
<response>000</response>
<responseTime>2011-10-25T04:00:00</responseTime>
<postDate>2011-10-26</postDate>
<message>Approved</message>
<tokenResponse>
<litleToken>1111000100409510</litleToken>
<tokenResponseCode>801</tokenResponseCode>
<tokenMessage>Account number was successfully registered</tokenMessage>
<type>VI</type>
<bin>432610</bin>
</tokenResponse>
</captureGivenAuthResponse>
3.3.9
The Create Plan transaction allows you to define several attributes of a recurring payment
schedule. Later, you can associate existing, active plans with subscriptions, which establishes a
recurring payment schedule managed by the Recurring Engine.
3.3.9.1
You must specify the Create Plan transaction as follows. The structure of the request is identical
for either an Online or a Batch submission.
<createPlan>
<planCode>Plan Reference Code</planCode>
222
<name>Name of Plan</name>
<description>Description of Plan</description>
<intervalType>The Type of Interval</intervalType>
<amount>Amount of Recurring Payment</amount>
<numberOfPayments>1 to 99</numberOfRemianingPayments>
<trialNumberOfIntervals>Number of Trial Intervals</trialNumberOfIntervals>
<trialIntervalType>Type of Trial Period Interval</trialIntervalType>
<active>true or false</active>
</createPlan>
Example: Online Create Plan Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>password</password>
</authentication>
<createPlan>
<planCode>Gold12</planCode>
<name>Gold_Monthly</name>
<description>Gold Level with Monthly Payments</description>
<intervalType>MONTHLY</intervalType>
<amount>5000</amonut>
<numberOfPayments>4</numberOfPayments>
<trialNumberOfIntervals>1</trialNumberOfIntervals>
<trialIntervalType>MONTH</trialIntervalType>
<active>true</active>
</createPlan>
</litleOnlineRequest>
3.3.9.2
The Create Plan response message is identical for Online and Batch transactions.
<createPlanResponse>
<litleTxnId>Transaction Id</litleTxnId>
<response>Response Code</response>
<message>Response Message</message>
223
3.3.10
Credit Transactions
The Credit transaction enables you to refund money to a customer, even if the original transaction
occurred outside of our system. You can submit refunds against any of the following payment
transactions:
Capture Transactions
Sale Transactions
3.3.10.1
Although there are two different scenarios for Credit requests, there is
only one scenario for the Credit response.
You must specify the Credit request for a Vantiv processed transaction as follows. The structure
of the request is identical for either an Online or a Batch submission.
<credit id="Credit Id" reportGroup="iQ Report Group" customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<amount>Authorization Amount</amount>
224
<secondaryAmount>Secondary Amount</secondaryAmount>
<customBilling>
<enhancedData>
<processingInstructions>
<actionReason>SUSPECT_FRAUD</actionReason>
</credit>
Example: Batch Credit Request for a Vantiv Processed Transaction
To request a Credit against a sale settled by us, you only need to specify the <litleTxnId>
element. The application uses the <litleTxnId> to look-up the Capture referenced and obtain
all the necessary information including the amount.
NOTE:
225
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>93.80</unitCost>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>03</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
</lineItemData>
</enhancedData>
</credit>
</batchRequest>
</litleRequest>
To request a Credit against a sale settled by us, you need only specify the <litleTxnId>
element. The application uses the <litleTxnId> to look up the Capture referenced and obtain
all the necessary information including the amount. The example below includes the optional
<customBilling> and <enhancedData> elements.
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>password</password>
226
</authentication>
<credit id="2" reportGroup="ABC Division" customerId="038945">
<litleTxnId>13254123434</litleTxnId>
<customBilling>
<phone>8888888888</phone>
<descriptor>descriptor</descriptor>
</customBilling>
<enhancedData>
<customerReference>PO12345</customerReference>
<salesTax>125</salesTax>
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>495</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-07-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>93.80</unitCost>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>03</taxTypeIdentifier>
227
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
</lineItemData>
<lineItemData>
<itemSequenceNumber>2</itemSequenceNumber>
<itemDescription>table</itemDescription>
<productCode>TB123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<lineItemTotal>30000</lineItemTotal>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>300.00</unitCost>
</lineItemData>
</enhancedData>
</credit>
</litleOnlineRequest>
3.3.10.2
You must specify the Credit request for a Non-Vantiv processed transaction as follows. The
structure of the request is identical for either an Online or a Batch submission.
NOTE:
228
<enhancedData>
<processingInstructions>
<pos>
<amexAggregatorData>
<merchantData>
<actionReason>SUSPECT_FRAUD</actionReason>
</credit>
Example: Batch Credit Request for a Non-Vantiv Processed Transaction
If the sale occurred outside of our system, you must specify the following elements in your Credit
request: <orderId>, <amount>, and <card>, or <token> (<paypal> not supported for
this transaction type).
<litleRequest version="9.4" xmlns="http://www.litle.com/schema" id="123"
numBatchRequests="1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="01234567" numCredits="1" creditAmount="10000"
merchantId="100">
<credit id="AX54321678" reportGroup="RG27">
<orderId>12z58743y1</orderId>
<amount>10000</amount>
<orderSource>ecommerce</orderSource>
<billToAddress>
<name>John Doe</name>
<addressLine1>123 4th street</addressLine1>
<addressLine2>Apt. 20</addressLine2>
<addressLine3>second floor</addressLine3>
<city>San Jose</city>
<state>CA</state>
<zip>95032</zip>
<country>USA</country>
<email>[email protected]</email>
<phone>408-555-1212</phone>
</billToAddress>
<card>
<type>MC</type>
<number>5186005800001012</number>
<expDate>1110</expDate>
</card>
229
<enhancedData>
<customerReference>PO12345</customerReference>
<salesTax>125</salesTax>
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>495</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-09-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>93.80</unitCost>
</lineItemData>
</enhancedData>
</credit>
</batchRequest>
</litleRequest>
230
If the sale occurred outside of our system, you must specify the following elements in your Credit
request: <orderId>, <amount>, and <card>, or <token> (<paypal> not supported for
this transaction type).
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>password</password>
</authentication>
<credit id="2" reportGroup="ABC Division" customerId="038945">
<orderId>56789</orderId>
<amount>10000</amount>
<orderSource>ecommerce</orderSource>
<billToAddress>
<name>Mike J. Hammer</name>
<addressLine1>Two Main Street</addressLine1>
<addressLine2>Apartment 222</addressLine2>
<addressLine3></addressLine3>
<city>Riverside</city>
<state>RI</state>
<zip>02915</zip>
<country>US</country>
<email>[email protected]</email>
<phone>5555555555</phone>
</billToAddress>
<card>
<type>VI</type>
<number>4005550000081019</number>
<expDate>0907</expDate>
</card>
<customBilling>
<phone>5555555555</phone>
<descriptor>descriptor</descriptor>
</customBilling>
<enhancedData>
<customerReference>PO12345</customerReference>
<salesTax>125</salesTax>
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>495</shippingAmount>
<dutyAmount>0</dutyAmount>
231
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-08-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>93.80</unitCost>
</lineItemData>
<lineItemData>
<itemSequenceNumber>2</itemSequenceNumber>
<itemDescription>table</itemDescription>
<productCode>TB123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<lineItemTotal>30000</lineItemTotal>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>300.00</unitCost>
</lineItemData>
</enhancedData>
</credit>
</litleOnlineRequest>
232
3.3.10.3
Credit Response
The Credit response message is identical for Online and Batch transactions except Online
includes the postDate element and may include a duplicate attribute.
<creditResponse id="Credit Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date of Posting</postDate> (Online Only)
<message>Response Message</message>
<tokenResponse> (for Tokenized merchants submitting card data)
</creditResponse>
Example: Credit Response
The example below illustrates a Batch Credit response. A response for an Online transaction uses
a litleOnlineResponse element as the parent.
<litleResponse version="9.4" xmlns="http://www.litle.com/schema" id="123"
litleSessionId="987654321" response="0" message="Valid Format">
<batchResponse id="01234567" litleBatchId="4455667788" merchantId="100">
<creditResponse id="AX54325432" reportGroup="RG12">
<litleTxnId>84568457</litleTxnId>
<orderId>12z58743y7</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
</creditResponse>
</batchResponse>
</litleResponse>
233
When a tokenized merchant submits card data in the Credit request, the response includes the
tokenResponse element. The example below is a response for an Online request
(<litleOnlineResponse> element not shown), so it includes the <postDate> element.
<creditResponse id="99999" reportGroup="RG1" customerId="444">
<litleTxnId>21200000473208</litleTxnId>
<orderId>F12345</orderId>
<response>000</response>
<responseTime>2011-10-19T19:29:45</responseTime>
<postDate>2011-10-19</postDate>
<message>Approved</message>
<tokenResponse>
<litleToken>1111102200202001</litleToken>
<tokenResponseCode>801</tokenResponseCode>
<tokenMessage>Account number was successfully registered</tokenMessage>
<type>VI</type>
<bin>402410</bin>
</tokenResponse>
</creditResponse>
3.3.11
Deactivate Transactions
The Deactivate transaction changes the status of a (Closed Loop) Gift Card from active to
inactive.
NOTE:
3.3.11.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
Deactivate Request
You must structure a Deactivate request as shown in the following examples. The structure of the
request is identical for either an Online or a Batch submission.
<deactivate id="Activate Id" reportGroup="iQ Report Group" customerId="Customer
Id">
<orderId>Order Id</orderId>
<orderSource>Order Entry Source</orderSource>
<card>
</deactivate>
234
3.3.11.2
Deactivate Response
A Deactivate response has the following structure. The response message is identical for Online
and Batch transactions except Online includes the <postDate> element.
<deactivateResponse id="Deactivate Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date transaction posted</postDate> (Online Only)
<message>Response Message</message>
<fraudResult>
<approvedAmount>5000</approvedAmount>
<giftCardResponse> (included if Gift Card is Method of Payment)
</deactivateResponse>
Example: Online Deactivate Response
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<deactivateResponse id="834262" reportGroup="ABC Division">
<litleTxnId>9695064321</litleTxnId>
235
<orderId>65347567</orderId>
<response>000</response>
<responseTime>2013-07-25T15:13:43</responseTime>
<postDate>2013-07-25</postDate>
<message>Approved</message>
<approvedAmount>5000</approvedAmount>
<giftCardResponse>
<availableBalance>0</availableBalance>
<beginningBalance>5000</beginningBalance>
<endingBalance>0</endingBalance>
</giftCardResponse>
</deactivateResponse>
</litleOnlineResponse>
3.3.12
The Deactivate Reversal transaction changes the status of a newly deactivated Gift Card from
inactive to active, thus reversing the operation of an Deactivate transaction. The Deactivate
Reversal references the associated Deactivate transaction by means of the litleTxnId element
returned in the Deactivate response. This transaction type is available only for Online
transactions.
NOTE:
3.3.12.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
You must structure an Deactivate Reversal request as shown in the following examples.
<deactivateReversal id="Deactivate Reversal Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id from Deactivate Response</litleTxnId>
</deactivateReversal>
Example: Deactivate Reversal Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
236
</authentication>
<deactivateReversal id="12345" customerId="Customer Id"
reportGroup="Deactivate Reversals">
<litleTxnId>12345678</litleTxnId>
</deactivateReversal>
</litleOnlineRequest>
3.3.12.2
237
3.3.13
The Deposit Reversal transaction is a Gift Card transaction that reverses the deposit initiate by
either a Capture or Sale transaction. The Deposit Reversal references the associated Capture/Sale
transaction by means of the litleTxnId element returned in the Capture/Sale response. This
transaction type is available only for Online transactions.
NOTE:
3.3.13.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
You must structure an Deposit Reversal request as shown in the following examples.
<depositReversal id="Deposit Reversal Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id from Capture/Sale Response</litleTxnId>
</depositReversal>
Example: Deposit Reversal Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<depositReversal id="12345" customerId="Customer Id" reportGroup="Deposit
Reversals">
<litleTxnId>12345678</litleTxnId>
</depositReversal>
</litleOnlineRequest>
3.3.13.2
238
3.3.14
The eCheck Credit transaction enables you to refund a previous eCheck Sale. Merchants can
submit an eCheck Credit transaction for a sale regardless or whether the original transaction was
settled by our system, although the requests are structured differently. This section contains the
following:
239
NOTE:
3.3.14.1
Although there are two different scenarios for eCheck Credit requests, the
response message uses the same structure.
To request an eCheck Credit against an eCheck Sale that had been settled by us, you only need to
specify the <litleTxnId> element. When you specify this element, the application uses the
<litleTxnId> to look up the referenced echeckSale transaction and obtain the necessary
information. In this case, the <amount> element is optional, but should be included if the credit
amount is less than the captured amount. If you do not include the <amount> element, the system
assumes the credit to be for the total amount of the referenced transaction.
When requesting a echeckCredit against an echeckSale that occurred within our system, specify
the Credit request as follows:
<echeckCredit id="Credit Id" reportGroup="iQ Report Group" customerId="Customer
Id">
<litleTxnId>Transaction Id</litleTxnId>
<amount>Credit Amount</amount>
<secondaryAmount>Secondary Amount</secondaryAmount>
<customBilling>
</echeckCredit>
Example: eCheck Credit Request
The eCheck Credit batch request shown below contains three <echeckCredit> elements. The
first two use a Transaction Id as a reference. The third, which you would use for a sale occurring
outside of our system, uses the <orderId>, <amount>, <billToAddress>, and <echeck>
elements to provide the required information.
<litleRequest version="9.4" xmlns="http://www.litle.com/schema"
numBatchRequests="1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="xmlbat01" numEcheckCredit="3" echeckCreditAmount="12100"
merchantId="000053">
<echeckCredit id="credit1" reportGroup="new53" customerId="53">
<litleTxnId>4455667788</litleTxnId>
<amount>1000</amount>
</echeckCredit>
<echeckCredit reportGroup="new53">
<litleTxnId>4455667789</litleTxnId>
240
<amount>1100</amount>
</echeckCredit>
<echeckCredit reportGroup="new53">
<orderId>12z58743y1</orderId>
<amount>10000</amount>
<orderSource>ecommerce</orderSource>
<billToAddress>
<name>John Doe</name>
<addressLine1>123 4th street</addressLine1>
<addressLine2>Apt. 20</addressLine2>
<addressLine3>second floor</addressLine3>
<city>San Jose</city>
<state>CA</state>
<zip>95032</zip>
<country>USA</country>
<email>[email protected]</email>
<phone>408-555-1212</phone>
</billToAddress>
<echeck>
<accType>Checking</accType>
<accNum>5186005800001012</accNum>
<routingNum>000010101</routingNum>
<checkNum>1104</checkNum>
</echeck>
</echeckCredit>
</batchRequest>
</litleRequest>
3.3.14.2
If the original eCheck Sale transaction was not processed via our system, or the if the
<litleTxnId> for the original eCheck Sale transaction is not available, specify eCheck Credit
request as follows:
<echeckCredit id="eCheckCredit Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<orderId>Order Id</orderId>
<amount>Credit Amount</amount>
<secondaryAmount>Secondary Amount</secondaryAmount>
<orderSource>Order Entry Source</orderSource>
<billToAddress>
241
<echeck> or <echeckToken>
<customBilling>
<merchantData>
</echeckCredit>
The third transaction shown in the eCheck Credit Request example on page 240 shows an
example of a Credit request against a non-Vantiv processed transaction.
3.3.14.3
The eCheck Credit message is identical for either type of eCheck Credit request. The
<accountUpdater> element is included only if you submit account information in the request
transaction for which a NOC exists. In this case the system automatically updates the information
sent to the ACH network and includes the change information in the response.
The eCheck Credit response has the following structure:
<echeckCreditResponse id="eCheck Credit Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<message>Response Message</message>
<postDate>Date of Posting</postDate> (Online Only)
<accountUpdater>Account Change Info</accountUpdater>
<tokenResponse> (for Tokenized merchants submitting account data)
</echeckCreditResponse>
Example: eCheck Credit Response
<litleResponse version="9.4" xmlns="http://www.litle.com/schema" id="123"
response="0" message="Valid Format" litleSessionId="987654321">
<batchResponse id="01234567" litleBatchId="4455667788" merchantId="100">
<echeckCreditResponse id="AX54321678" reportGroup="RG27"
customerId="53">
<litleTxnId>84568456</litleTxnId>
<orderId>12z58743y1</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
</echeckCreditResponse>
</batchResponse>
242
</litleResponse>
3.3.15
You use this non-monetary transaction to verify the consumers account information prior to
submitting an eCheck Credit transaction (also see eCheck Prenotification on page 46). This
transaction type is only supprted for US transactions.
3.3.15.1
You must specify the eCheck Prenotification Credit request using the following format:
<echeckPreNoteCredit id="eCheck PreNote Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<orderId>Order Id</orderId>
<orderSource>Order Entry Source</orderSource>
<billToAddress>
<echeck>
<merchantData>
</echeckPreNoteCredit>
Example: eCheck Prenotification Credit Request
<litleRequest version="9.2" xmlns="http://www.litle.com/schema" id="123"
numBatchRequests="1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="654321" numEcheckPreNoteCredit="1" merchantId="100">
<echeckPreNoteCredit id="AX54321678" reportGroup="RG27" customerId="53">
<orderId>12z58743y1</orderId>
<orderSource>telephone</orderSource>
<billToAddress>
<firstName>John</firstName>
<lastName>Doe</lastName>
<addressLine1>123 4th street</addressLine1>
<addressLine2>Apt. 20</addressLine2>
<addressLine3>second floor</addressLine3>
<city>San Jose</city>
<state>CA</state>
243
<zip>95032</zip>
<country>USA</country>
<email>[email protected]</email>
<phone>408-555-1212</phone>
</billToAddress>
<echeck>
<accType>Checking</accType>
<accNum>5186005800001012</accNum>
<routingNum>000010101</routingNum>
<checkNum>1104</checkNum>
</echeck>
</echeckPreNoteCredit>
</batchRequest>
</litleRequest>
3.3.15.2
244
<litleTxnId>84568457</litleTxnId>
<orderId>12z58743y7</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
</echeckPreNoteCreditResponse>
</batchResponse>
</litleResponse>
3.3.16
You use this non-monetary transaction to verify the consumers account information prior to
submitting an eCheck Sale transaction (also see eCheck Prenotification on page 46). This
transaction type is only supprted for US transactions.
3.3.16.1
You must specify the eCheck Prenotification Credit request using the following format:
<echeckPreNoteSale id="eCheck PreNote Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<orderId>Order Id</orderId>
<orderSource>Order Entry Source</orderSource>
<billToAddress>
<echeck>
<merchantData>
</echeckPreNotesale>
Example: eCheck Prenotification Sale Request
<litleRequest version="9.2" xmlns="http://www.litle.com/schema" id="123"
numBatchRequests="1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="654321" numEcheckPreNoteSale="1" merchantId="100">
<echeckPreNoteSale id="AX54321678" reportGroup="RG27" customerId="53">
<orderId>12z58743y1</orderId>
<orderSource>telephone</orderSource>
<billToAddress>
245
<firstName>John</firstName>
<lastName>Doe</lastName>
<addressLine1>123 4th street</addressLine1>
<addressLine2>Apt. 20</addressLine2>
<addressLine3>second floor</addressLine3>
<city>San Jose</city>
<state>CA</state>
<zip>95032</zip>
<country>USA</country>
<email>[email protected]</email>
<phone>408-555-1212</phone>
</billToAddress>
<echeck>
<accType>Checking</accType>
<accNum>5186005800001012</accNum>
<routingNum>000010101</routingNum>
<checkNum>1104</checkNum>
</echeck>
</echeckPreNoteSale>
</batchRequest>
</litleRequest>
3.3.16.2
246
<litleTxnId>84568456</litleTxnId>
<orderId>12z58743y1</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
</echeckPreNoteCreditResponse>
<echeckPreNoteCreditResponse id="AX54325432" reportGroup="RG12">
<litleTxnId>84568457</litleTxnId>
<orderId>12z58743y7</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
</echeckPreNoteSaleResponse>
</batchResponse>
</litleResponse>
3.3.17
You use this transaction type to manually attempt redeposits of eChecks returned for either
Insufficient Funds or Uncollected Funds. You can use this element in either Batch or Online
transactions.
NOTE:
3.3.17.1
Do not use this transaction type if you are enabled for the Auto Redeposit
feature. If you are enabled for the Auto Redeposit feature, the system will
reject any echeckRedeposit transaction you submit.
You must specify the eCheck Redeposit request using the following format:
<echeckRedeposit id="eCheck Redeposit Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<echeck> or <echeckToken>
<merchantData>
</echeckredeposit>
247
NOTE:
If you include the echeck element, the values submitted for accType,
accNum, and routingNum children must match those submitted in the
original echeckSale transaction.
248
<accType>Checking</accType>
<accNum>1099999903</accNum>
<routingNum>114567895</routingNum>
</echeck>
<merchantdata>
<affiliate>ABC Marketing</affiliate>
</merchantdata>
</echeckRedeposit>
<echeckRedeposit reportGroup="001603">
<litleTxnId>3456557123</litleTxnId>
<echeck>
<accType>Savings</accType>
<accNum>10999999444</accNum>
<routingNum>114567895</routingNum>
</echeck>
<merchantdata>
<affiliate>ABC Marketing</affiliate>
</merchantdata>
</echeckRedeposit>
<echeckRedeposit reportGroup="001603">
<litleTxnId>123456789</litleTxnId>
</echeckRedeposit>
</batchRequest>
</litleRequest>
3.3.17.2
The eCheck Redeposit response indicates that we have received your eCheck Redeposit request.
This does not indicate when funds will be transferred. The <accountUpdater> element is
included only if the account information submitted in the request transaction has changed (NOC
exists). In this case the system automatically updates the information sent to the ACH network
and includes the change information in the response.
The eCheck Sale response has the following structure:
<echeckRedepositResponse id="eCheckRedeposit Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<message>Response Message</message>
<postDate>Date of Posting</postDate> (Online Only)
249
3.3.18
You use the eCheck Sale transaction to capture funds from a customer paying via electronic
checks. It is the eCheck equivalent of a Capture transaction. Setting the <verify> element to
true triggers an eCheck Verification operation prior to the capture. If the verification fails, the
system does not process the capture operation.
250
NOTE:
3.3.18.1
You must specify the eCheck Sale request using the following format:
<echeckSale id="eCheckSale Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<orderId>Order Id</orderId>
<verify>true or false</verify>
<amount>Authorization Amount</amount>
<secondaryAmount>Secondary Amount</secondaryAmount>
<orderSource>Order Entry Source</orderSource>
<billToAddress>
<shipToAddress>
<echeck> or <echeckToken>
<customBilling>
<merchantData>
</echeckSale>
Example: eCheck Sale Request
<litleRequest version="9.4" xmlns="http://www.litle.com/schema" id="123"
numBatchRequests="1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="654321" numEcheckSales="1" echeckSalesAmount="10000"
merchantId="100">
<echeckSale id="AX54321678" reportGroup="RG27" customerId="53">
<orderId>12z58743y1</orderId>
<verify>true</verify>
<amount>10000</amount>
<orderSource>telephone</orderSource>
<billToAddress>
251
<firstName>John</firstName>
<lastName>Doe</lastName>
<addressLine1>123 4th street</addressLine1>
<addressLine2>Apt. 20</addressLine2>
<addressLine3>second floor</addressLine3>
<city>San Jose</city>
<state>CA</state>
<zip>95032</zip>
<country>USA</country>
<email>[email protected]</email>
<phone>408-555-1212</phone>
</billToAddress>
<echeck>
<accType>Checking</accType>
<accNum>5186005800001012</accNum>
<routingNum>000010101</routingNum>
<checkNum>1104</checkNum>
</echeck>
</echeckSale>
</batchRequest>
</litleRequest>
3.3.18.2
The eCheck Sale response indicates that we have received your eCheck Sale request. This does
not indicate when funds will be transferred. The <accountUpdater> element is included only if
the account information submitted in the request transaction has changed (NOC exists). In this
case the system automatically updates the information sent to the ACH network and includes the
change information in the response.
NOTE:
252
<message>Response Message</message>
<postDate>Date of Posting</postDate> (Online Only)
<accountUpdater>Account Change Info</accountUpdater>
<tokenResponse> (for Tokenized merchants submitting account data)
</echeckSaleResponse>
Example: eCheck Sale Response
The response example below includes the accountUpdater element, which indicates that there
is a NOC against the account and provides the new account information. If the request used a
token, the accountUpdater element would have children providing the original and new token
information.
<litleResponse version="9.4" xmlns="http://www.litle.com/schema" id="123"
response="0" message="Valid Format" litleSessionId="987654321">
<batchResponse id="01234567" litleBatchId="4455667788" merchantId="100">
<echeckSalesResponse id="AX54321678" reportGroup="RG27" customerId="53">
<litleTxnId>84568456</litleTxnId>
<orderId>12z58743y1</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
</echeckSalesResponse>
<echeckSalesResponse id="AX54325432" reportGroup="RG12">
<litleTxnId>84568457</litleTxnId>
<orderId>12z58743y7</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
<accountUpdater>
<originalAccountInfo>
<accType>Checking</accType>
<accNum>5186005800001012</accNum>
<routingNum>000010101</routingNum>
</originalAccountInfo>
<newAccountInfo>
<accType>Checking</accType>
<accNum>5499576040500006</accNum>
<routingNum>000010102</routingNum>
</newAccountInfo>
</accountUpdater>
</echeckSalesResponse>
</batchResponse>
253
</litleResponse>
3.3.19
3.3.19.1
While eCheck Verification is a valuable tool that you can use to reduce
possible fraud and loss, unlike a credit card authorization, it does not
check for the availability of funds, nor does it place a hold on any funds.
You must specify the eCheck Verification request using the following format:
IMPORTANT: For an eCheckVerification transaction, you must submit the
firstName and lastName elements instead of the name element
(middleInitial is optional). For a corporate account you must include
the companyName element in addition to the firstName and lastName
elements. In both cases, you also must include the address, city,
state, zip and phone information.
For a corporate account, if you do not have the name of the check issuer,
you can use a value of unavailable for the firstName and lastName
elements.
254
255
If you do not have the name of the check issuer, you can use a value of
unavailable for the firstName and lastName elements.
256
3.3.19.2
The <accountUpdater> element is included only if the account information submitted in the
request transaction has changed (NOC exists). In this case the system automatically updates the
information sent to the ACH network and includes the change information in the response.
The eCheck Verification response has the following structure:
<echeckVerificationResponse id="echeckVerification Id" reportGroup="iQ Report
Group" customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<message>Response Message</message>
<postDate>Date of Posting</postDate> (Online Only)
<tokenResponse> (for Tokenized merchants submitting account data)
<accountUpdater>Account Change Info</accountUpdater>
</echeckSaleResponse>
Example: eCheck Verification Response
<litleResponse version="9.4" xmlns="http://www.litle.com/schema" id="123"
response="0" message="Valid Format" litleSessionId="987654321">
<batchResponse id="01234567" litleBatchId="4455667788" merchantId="100">
<echeckVerificationResponse id="AX54321678" reportGroup="RG27"
customerId="53">
<litleTxnId>84568456</litleTxnId>
<orderId>12z58743y1</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
</echeckVerificationResponse>
<echeckVerificationResponse id="AX54325432" reportGroup="RG12">
<litleTxnId>84568457</litleTxnId>
<orderId>12z58743y7</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
<accountUpdater>
<originalAccountInfo>
<accType>Checking</accType>
<accNum>5186005800001012</accNum>
257
<routingNum>000010101</routingNum>
</originalAccountInfo>
<newAccountInfo>
<accType>Checking</accType>
<accNum>5499576040500006</accNum>
<routingNum>000010102</routingNum>
</newAccountInfo>
</accountUpdater>
</echeckVerificationResponse>
</batchResponse>
</litleResponse>
3.3.20
You use an eCheck Void transaction to either halt automatic redeposit attempts of eChecks
returned for either Insufficient Funds or Uncollected Funds, or cancel an eCheck Sale transaction,
as long as the transaction has not yet settled. This also applies to merchant initiated redeposits.
You can use this element only in Online transactions.
3.3.20.1
The eCheck Void request references the <litleTxnId> of the previously approved transaction.
You must structure an eCheck Void request as follows.
<echeckVoid id = "echeckVoid Id" reportGroup="iQ Report Group">
<litleTxnId>Transaction Id</litleTxnId>
</echeckVoid>
Example: eCheck Void Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="81601">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<echeckVoid id="101" reportGroup="001601">
<litleTxnId>345454444</litleTxnId>
</echeckVoid>
</litleOnlineRequest>
258
3.3.20.2
The eCheck Void response message may also include a duplicate attribute. The eCheck Void
response has the following structure.
<echeckVoidResponse id="eCheck Void Id" reportGroup="iQ Report Group"
numDeposits=>"1"
<litleTxnId>Transaction Id</litleTxnId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date of Posting</postDate>
<message>Response Message</message>
</echeckVoidResponse>
Example: Online eCheck Void Response
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<echeckVoidResponse id="101" reportGroup="001601">
<litleTxnId>21200000026600</litleTxnId>
<response>000</response>
<responseTime>2010-06-17T21:20:50</responseTime>
<message>Approved</message>
<postDate>2010-06-17</postDate>
</echeckVoidResponse>
</litleOnlineResponse>
3.3.21
A Force Capture transaction is a Capture transaction used when you do not have a valid
Authorization for the order, but have fulfilled the order and wish to transfer funds.
CAUTION:
3.3.21.1
You must specify the Force Capture request as follows. The structure of the request is identical
for either an Online or a Batch submission.
259
260
<shippingAmount>495</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-09-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>93.80</unitCost>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>03</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
</lineItemData>
</enhancedData>
</forceCapture>
</batchRequest>
</litleRequest>
261
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<forceCapture id="AX54321678" reportGroup="RG27" customerId="038945">
<orderId>orderId</orderId>
<amount>10000</amount>
<orderSource>ecommerce</orderSource>
<card>
<type>VI</type>
<number>4005550000081019</number>
<expDate>0907</expDate>
</card>
<enhancedData>
<customerReference>PO12345</customerReference>
<salesTax>125</salesTax>
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>495</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-08-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
262
<unitCost>93.80</unitCost>
</lineItemData>
</enhancedData>
</forceCapture>
</litleOnlineRequest>
3.3.21.2
The Force Capture response message is identical for Online and Batch transactions, except Online
includes the <postDate> element and may include a duplicate attribute. The Force Capture
response has the following structure:
<forceCaptureResponse id="Capture Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date of Posting</postDate> (Online Only)
<message>Response Message</message>
<tokenResponse> (for Tokenized merchants submitting card data)
<accountUpdater>
</forceCaptureResponse>
Example: Batch Force Capture Response
<litleResponse version="9.4" xmlns="http://www.litle.com/schema" id="123"
litleSessionId="987654321" response="0" message="Valid Format">
<batchResponse id="01234567" litleBatchId="4455667788" merchantId="100">
<forceCaptureResponse id="AX54325432" reportGroup="RG12"
customerId="038945">
<litleTxnId>84568457</litleTxnId>
<orderId>12z58743y7</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
</forceCaptureResponse>
</batchResponse>
</litleResponse>
263
If the Online request is a duplicate (see Online Duplicate Checking on page 8), the response
includes the duplicate attribute set to true (not shown) and the entire original response.
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<forceCaptureResponse id="2" reportGroup="ABC Division"
customerId="038945">
<litleTxnId>1100030204</litleTxnId>
<orderId>65347567</orderId>
<response>000</response>
<responseTime>2011-07-11T14:48:48</responseTime>
<postDate>2011-07-11</postDate>
<message>Approved</message>
</forceCaptureResponse>
</litleOnlineResponse>
Example: Force Capture Response for Tokenized Merchant Sending Card Data
A tokenized merchant that includes card information in the request receives a response message
that includes the token element. The example below is an Online response.
<forceCaptureResponse id="99999" reportGroup="RG1" customerId="444">
<litleTxnId>21200000039504</litleTxnId>
<orderId>F12345</orderId>
<response>000</response>
<responseTime>2011-10-20T18:25:38</responseTime>
<postDate>2011-10-20</postDate>
<message>Approved</message>
<tokenResponse>
<litleToken>111310880008000</litleToken>
<tokenResponseCode>801</tokenResponseCode>
<tokenMessage>Account number was successfully registered</tokenMessage>
<type>AX</type>
<bin></bin>
</tokenResponse>
</forceCaptureResponse>
264
3.3.22
Load Transactions
The Load transaction adds funds to an active Gift Card. The load amount cannot exceed the
maximum allowed amount for the Gift Card. If you attempt to load more than the maximum
amount, the transaction will be declined with a response Code of 221 - Over Max Balance.
NOTE:
3.3.22.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
Load Request
You must specify the Load request as follows. The structure of the request is identical for either
an Online or a Batch submission.
<load id="Load Id" reportGroup="iQ Report Group" customerId="Customer Id">
<orderId>Order Id</orderId>
<amount>Amount to Load</amount>
<orderSource>Order Entry Source</orderSource>
<card>
</load>
Example: Online Load Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<load id="834262" reportGroup="ABC Division" customerId="038945">
<orderId>65347567</orderId>
<amount>40000</amount>
<orderSource>ecommerce</orderSource>
<card>
<type>GC</type>
<number>9000000000000001</number>
</card>
</load>
</litleOnlineRequest>
265
3.3.22.2
Load Response
An Load response has the following structure. The response message is identical for Online and
Batch transactions except Online includes the <postDate> element.
<loadResponse id="Load Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date transaction posted</postDate> (Online Only)
<message>Response Message</message>
<fraudResult>
<giftCardResponse> (included if Gift Card is Method of Payment)
</loadResponse>
Example: Load Response
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<loadResponse id="834262" reportGroup="ABC Division">
<litleTxnId>9695064321</litleTxnId>
<orderId>65347567</orderId>
<response>000</response>
<responseTime>2013-07-25T15:13:43</responseTime>
<postDate>2013-07-25</postDate>
<message>Approved</message>
<giftCardResponse>
<availableBalance>5000</availableBalance>
<beginningBalance>1000</beginningBalance>
<endingBalance>5000</endingBalance>
</giftCardResponse>
</loadResponse>
</litleOnlineResponse>
266
3.3.23
The Load Reversal transaction reverses the operation of a Load transaction, removing the newly
loaded amount from the Gift Card. The Load Reversal references the associated Load transaction
by means of the litleTxnId element returned in the Load response. You cannot perform a
partial Load Reversal. This transaction always reverses the full amount of the referenced Load
transaction. This transaction type is available only for Online transactions.
NOTE:
3.3.23.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
You must structure a Load Reversal request as shown in the following examples.
<loadReversal id="Load Reversal Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id from Load Response</litleTxnId>
</loadReversal>
Example: Online Load Reversal Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<loadReversal id="12345" customerId="Customer Id" reportGroup="Load
Reversals">
<litleTxnId>12345678</litleTxnId>
</loadReversal>
</litleOnlineRequest>
3.3.23.2
267
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date transaction posted</postDate>
<message>Response Message</message>
<giftCardResponse>
</loadReversalResponse>
Example: Online Load Reversal Response
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<loadReversalResponse id="834262" reportGroup="ABC Division">
<litleTxnId>9695064321</litleTxnId>
<orderId>65347567</orderId>
<response>000</response>
<responseTime>2013-07-25T15:13:43</responseTime>
<postDate>2013-07-25</postDate>
<message>Approved</message>
<giftCardResponse>
<availableBalance>1000</availableBalance>
</giftCardResponse>
</loadReversalResponse>
</litleOnlineResponse>
3.3.24
The Refund Reversal transaction is a Gift Card only transaction that reverses the operation of a
Refund transaction on the Gift Card. The Refund Reversal references the associated Credit
transaction by means of the litleTxnId element returned in the Credit response. You cannot
perform a partial Refund Reversal. This transaction always reverses the full amount of the
referenced Refund transaction. This transaction type is available only for Online transactions.
NOTE:
3.3.24.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
You must structure a Refund Reversal request as shown in the following examples.
<refundReversal id="Refund Reversal Id" reportGroup="iQ Report Group"
268
customerId="Customer Id">
<litleTxnId>Transaction Id from Refund Response</litleTxnId>
</refundReversal>
Example: Online Refund Reversal Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<refundReversal id="12345" customerId="Customer Id" reportGroup="Refund
Reversals">
<litleTxnId>12345678</litleTxnId>
</refundReversal>
</litleOnlineRequest>
3.3.24.2
269
<postDate>2013-07-25</postDate>
<message>Approved</message>
<giftCardResponse>
<availableBalance>1000</availableBalance>
</giftCardResponse>
</refundReversalResponse>
</litleOnlineResponse>
3.3.25
The Register Token transaction enables you to submit a credit card number, eCheck account
number, or Pay Page Registration Id to us and receive a token in return. While you can submit
Register Token transactions at any time, typically, you would make use of this transactions when
initially converting to the use of tokens. In this case you would submit large quantities of credit
cards/eCheck account numbers in Batches and replace them in your database with the tokens
returned.
NOTE:
3.3.25.1
You must specify the Register Token request as follows. The structure of the request is identical
for either an Online or a Batch submission. The child elements used differ depending upon
whether you are registering a credit card account, an eCheck account, or submitting a Pay Page
Registration Id.
When you submit the CVV2/CVC2/CID in a registerTokenRequest, the platform encrypts
and stores the value on a temporary basis for later use in a tokenized Auth/Sale transaction
submitted without the value. This is done to accommodate merchant systems/workflows where
the security code is available at the time of token registration, but not at the time of the Auth/Sale.
If for some reason you need to change the value of the security code supplied at the time of the
token registration, use an updateCardValidationNumOnToken transaction. To use the store
value when submitting an Auth/Sale transaction, set the cardValidationNum value to 000.
NOTE:
270
271
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="01234567" numTokenRegistrations="1" merchantId="000902">
<registerTokenRequest id="99999" reportGroup="RG1">
<orderId>F12345</orderId>
<accountNumber>4005101001000002</accountNumber>
<cardValidationNum>999</cardValidationNum>
</registerTokenRequest>
</batchRequest>
</litleRequest>
272
<orderId>F12345</orderId>
<paypageRegistrationId>12345678901234567</paypageRegistrationId>
</registerTokenRequest>
</batchRequest>
</litleRequest>
3.3.25.2
There is no structural difference an Online and Batch response; however, some child elements
change depending upon whether the token is for a credit card account or an eCheck account. The
response will have one of the following structures.
Register Token response for Credit Cards
<registerTokenResponse id="99999" reportGroup="RG1">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<litleToken>Token</litleToken>
<bin>BIN</bin>
<type>Method of Payment</type>
<response>Response Code</response>
<responseTime>Response Time</responseTime>
<message>Response Message</message>
</registerTokenResponse>
273
3.3.26
An RFR (Request For Response) transaction enables you to request a response file for a
previously submitted Batch. You make the request by submitting either the litleSessionId of
the Batch, or in the case of a request for an Account Updater file, the
accountUpdateFileRequestData element.
274
NOTE:
3.3.26.1
The use of RFR transactions for Account Updater files apply only to the
legacy Account Updater solution.
RFR Request
The following example shows an RFR request for the response, with 7766554321 as the value of
the <litleSessionId> element.
<litleRequest version="9.4" xmlns="http://www.litle.com/schema" id="123"
numBatchRequests="0">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<RFRRequest>
<litleSessionId>7766554321</litleSessionId>
</RFRRequest>
</litleRequest>
275
3.3.26.2
RFR Response
When using an RFR request to obtain the response file for a payment transaction Batch, the RFR
response is exactly the same as the original session response associated with the
<litleSessionId> you submitted in the RFR request. The session ID returned in the response
will be the session ID of the original session.
When using an RFR request in an Account Updater scenario, you will receive either an Account
Updater Completion response, if the file is ready, or an Account Updater RFR not ready
response, as shown in the example below.
Example: Account Updater RFR not ready Response
<litleResponse version="9.4" xmlns="http://www.litle.com/schema">
<RFRResponse response="1" message="The account update file is not ready
yet. Please try again later.">
</RFRResponse>
</litleResponse>
276
3.3.27
Sale Transactions
The Sale transaction enables you to both authorize fund availability and deposit those funds by
means of a single transaction. The Sale transaction is also known as a conditional deposit,
because the deposit takes place only if the authorization succeeds. If the authorization is declined,
the deposit will not be processed.
NOTE:
3.3.27.1
Sale Request
You must specify the Sale request as follows. The structure of the request is identical for either an
Online or a Batch submission.
NOTE:
277
<pos>
<payPalOrderComplete>Send true in the final Sale</payPalOrderComplete>
<amexAggregatorData>
<allowPartialAuth>
<healthcareIIAS>
<filtering>
<merchantData>
<recyclingRequest> (for Recycling Engine merchants)
<fraudFilterOverride>
<recurringRequest> (for Recurring Engine merchants)
<debtRepayment>true or false</debtRepayment>
<advancedFraudChecks>
<wallet>
</sale>
Example: Batch Sale Request
<litleRequest version="9.4" xmlns="http://www.litle.com/schema" id="123"
numBatchRequests="1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="01234567" numSales="1" saleAmount="12522"
merchantId="100">
<sale id="AX54321678" reportGroup="RG27">
<orderId>12z58743y1</orderId>
<amount>12522</amount>
<orderSource>ecommerce</orderSource>
<billToAddress>
<name>John Doe</name>
<addressLine1>123 4th street</addressLine1>
<addressLine2>Apt. 20</addressLine2>
<addressLine3>second floor</addressLine3>
<city>San Jose</city>
<state>CA</state>
<zip>95032</zip>
<country>USA</country>
<email>[email protected]</email>
<phone>408-555-1212</phone>
</billToAddress>
278
<card>
<type>MC</type>
<number>5186005800001012</number>
<expDate>1110</expDate>
</card>
</sale>
</batchRequest>
</litleRequest>
279
<type>VI</type>
<number>4005550000081019</number>
<expDate>1210</expDate>
<cardValidationNum>555</cardValidationNum>
</card>
<cardholderAuthentication>
<authenticationValue>BwABBJQ1AgJDUCAAAAAAA=</authenticationValue>
<authenticationTransactionId>gMV75TAgk=</authenticationTransactionId>
</cardholderAuthentication>
<customBilling>
<phone>8888888888</phone>
<descriptor>bdi*Litle&Co Test</descriptor>
</customBilling>
<enhancedData>
<customerReference>PO12345</customerReference>
<salesTax>125</salesTax>
<taxExempt>false</taxExempt>
<discountAmount>0</discountAmount>
<shippingAmount>495</shippingAmount>
<dutyAmount>0</dutyAmount>
<shipFromPostalCode>01851</shipFromPostalCode>
<destinationPostalCode>01851</destinationPostalCode>
<destinationCountryCode>USA</destinationCountryCode>
<invoiceReferenceNumber>123456</invoiceReferenceNumber>
<orderDate>2011-08-14</orderDate>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>00</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
<lineItemData>
<itemSequenceNumber>1</itemSequenceNumber>
<itemDescription>chair</itemDescription>
<productCode>CH123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<taxAmount>125</taxAmount>
<lineItemTotal>9380</lineItemTotal>
<lineItemTotalWithTax>9505</lineItemTotalWithTax>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
280
<unitCost>93.80</unitCost>
<detailTax>
<taxIncludedInTotal>true</taxIncludedInTotal>
<taxAmount>55</taxAmount>
<taxRate>0.0059</taxRate>
<taxTypeIdentifier>03</taxTypeIdentifier>
<cardAcceptorTaxId>011234567</cardAcceptorTaxId>
</detailTax>
</lineItemData>
<lineItemData>
<itemSequenceNumber>2</itemSequenceNumber>
<itemDescription>table</itemDescription>
<productCode>TB123</productCode>
<quantity>1</quantity>
<unitOfMeasure>EACH</unitOfMeasure>
<lineItemTotal>30000</lineItemTotal>
<itemDiscountAmount>0</itemDiscountAmount>
<commodityCode>300</commodityCode>
<unitCost>300.00</unitCost>
</lineItemData>
</enhancedData>
</sale>
</litleOnlineRequest>
3.3.27.2
Sale Response
The Sale response message is identical for Online and Batch transactions except Online includes
the postDate element and may include a duplicate attribute. The Sale response has the
following structure:
<saleResponse id="Sale Id" reportGroup="iQ Report Group" customerId="Customer
Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date of Posting</postDate> (Online Only)
<message>Response Message</message>
<authCode>Approval Code</authCode>
<approvedAmount>Approved amount for partial Auth</approvedAmount>
281
<accountInformation>
<fraudResult>
<billMeLaterResponseData>
<tokenResponse> (for Tokenized merchants submitting card data)
<enhancedAuthResponse>
<accountUpdater>
<recycling> (included for declined Auths if featrure is enabled)
<recurringResponse> (for Recurring Engine merchants)
<giftCardResponse> (included if Gift Card is Method of Payment)
</saleResponse>
Example: Batch Sale Response
<litleResponse version="9.4" xmlns="http://www.litle.com/schema" id="123"
response="0" message="Valid Format" litleSessionId="987654321">
<batchResponse id="01234567" litleBatchId="4455667788" merchantId="100">
<saleResponse id="AX54321678" reportGroup="RG27">
<litleTxnId>84568456</litleTxnId>
<orderId>12z58743y1</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
<authCode>123456</authCode>
<fraudResult>
<avsResult>00</avsResult>
</fraudResult>
</saleResponse>
<saleResponse id="AX54325432" reportGroup="RG12">
<litleTxnId>84568457</litleTxnId>
<orderId>12z58743y7</orderId>
<response>000</response>
<responseTime>2011-09-01T10:24:31</responseTime>
<message>Approved</message>
<authCode>123456</authCode>
<fraudResult>
<avsResult>00</avsResult>
<authenticationResult>2</authenticationResult>
</fraudResult>
</saleResponse>
</batchResponse>
</litleResponse>
282
Example: Online Sale Response for Tokenized Merchant Sending Card Data
A tokenized merchant that includes card information in the request receives a response message
that includes the token element. The example below is an Online response.
<saleResponse id="99999" reportGroup="RG1" customerId="444">
<litleTxnId>21200000028606</litleTxnId>
<orderId>F12345</orderId>
<response>000</response>
<responseTime>2011-10-26T17:30:00</responseTime>
<postDate>2011-10-26</postDate>
<message>Approved</message>
<authCode>089510</authCode>
<fraudResult>
<avsResult>11</avsResult>
<cardValidationResult>P</cardValidationResult>
</fraudResult>
<tokenResponse>
<litleToken>1111000100329510</litleToken>
<tokenResponseCode>801</tokenResponseCode>
<tokenMessage>Account number was successfully registered</tokenMessage>
<type>VI</type>
<bin>432610</bin>
</tokenResponse>
283
</saleResponse>
3.3.28
Unload Transactions
The Unload transaction removes funds from an active Gift Card. The unload amount cannot
exceed the available balance on the Gift Card. If you attempt to unload more than the available
balance, the transaction will be declined with a response Code of 209 - Invalid Amount.
284
NOTE:
3.3.28.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
Unload Request
You must specify the Unload request as follows. The structure of the request is identical for either
an Online or a Batch submission.
<unload id="Unload Id" reportGroup="iQ Report Group" customerId="Customer Id">
<orderId>Order Id</orderId>
<amount>Amount to Load</amount>
<orderSource>Order Entry Source</orderSource>
<card>
</unload>
Example: Online Unload Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<unload id="834262" reportGroup="ABC Division" customerId="038945">
<orderId>65347567</orderId>
<amount>40000</amount>
<orderSource>ecommerce</orderSource>
<card>
<type>GC</type>
<number>9000000000000001</number>
</card>
</onload>
</litleOnlineRequest>
3.3.28.2
Unload Response
An Unload response has the following structure. The response message is identical for Online and
Batch transactions except Online includes the <postDate> element.
<unloadResponse id="Unload Id" reportGroup="iQ Report Group"
285
customerId="Customer Id">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date transaction posted</postDate> (Online Only)
<message>Response Message</message>
<fraudResult>
<giftCardResponse>
</unloadResponse>
Example: Unload Response
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<unloadResponse id="834262" reportGroup="ABC Division">
<litleTxnId>9695064321</litleTxnId>
<orderId>65347567</orderId>
<response>000</response>
<responseTime>2013-07-25T15:13:43</responseTime>
<postDate>2013-07-25</postDate>
<message>Approved</message>
<giftCardResponse>
<availableBalance>1000</availableBalance>
<beginningBalance>5000</beginningBalance>
<endingBalance>1000</endingBalance>
</giftCardResponse>
</unloadResponse>
</litleOnlineResponse>
3.3.29
The Unload Reversal transaction reverses the operation of a Unload transaction, returning the
value removed from the Gift Card by the Unload transaction. The Unload Reversal references the
associated Unload transaction by means of the litleTxnId element returned in the Unload
response. You cannot perform a partial Unload Reversal. This transaction always reverses the full
amount of the referenced Unload transaction. This transaction type is available only for Online
transactions.
286
NOTE:
3.3.29.1
You must be enabled for (Closed Loop) Gift Card transactions to use this
transaction type. Please consult you Customer Experience Manager for
additional information about Gift Card transactions.
You must structure a Unload Reversal request as shown in the following examples.
<unloadReversal id="Unload Reversal Id" reportGroup="iQ Report Group"
customerId="Customer Id">
<litleTxnId>Transaction Id from Load Response</litleTxnId>
</unloadReversal>
Example: Online Unload Reversal Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<unloadReversal id="12345" customerId="Customer Id" reportGroup="Unload
Reversals">
<litleTxnId>12345678</litleTxnId>
</unloadReversal>
</litleOnlineRequest>
3.3.29.2
287
</unloadReversalResponse>
3.3.30
You use the Update Plan transaction to activate/deactivate Plans associated with recurring
payments. When you deactivate a Plan, by setting the active flag to false, you can no longer
reference that Plan for use with subscriptions. Existing subscriptions already using the deactivated
Plan will continue to use the Plan until the subscription is either modified or completed. You can
also reactivate a deactivated Plan by updating the Plan and setting the active flag to true.
3.3.30.1
You must structure an Update Plan request as shown in the following examples. The structure of
the request is identical for either an Online or a Batch submission.
<updatePlan>
<planCode>Plan Reference Code</planCode>
<active>true or false</active>
</updatePlan>
Example: Online Update Plan Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
288
merchantId="100">
<authentication>
<user>User Name</user>
<password>password</password>
</authentication>
<updatePlan>
<planCode>Reference_Code</planCode>
<active>false</active>
</updatePlan>
</litleOnlineRequest>
3.3.30.2
An Update Plan response has the following structure. The response message is identical for
Online and Batch transactions.
<updatePlanResponse>
<litleTxnId>Transaction Id</litleTxnId>
<response>Response Code</response>
<message>Response Message</message>
<responseTime>Date and Time in GMT</responseTime>
<planCode>Plan Reference Code</subscriptionId>
</updatePlanResponse>
Example: Online Update Plan Response
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<updatePlanResponse>
<litleTxnId>1100030055</litleTxnId>
<response>000</response>
<message>Approved</message>
<responseTime>2013-07-11T14:48:46</responseTime>
<planCode>Reference_Code</planCode>
</updatePlanResponse>
</litleOnlineResponse>
289
3.3.31
The Update Subscription transaction allows you to change certain subscription information
associated with a recurring payment. Using this transaction type you can change the plan, card,
billing information, and/or billing date. You can also create, update, or delete a Discount and/or
an Add On.
NOTE:
3.3.31.1
You can include multiple create, update, and delete Discounts and Add On
operations in a single updateSubscription transaction.
You must structure an Update Subscription request as shown in the following examples. The
structure of the request is identical for either an Online or a Batch submission.
<updateSubscription>
<subscriptionId>Subscription Id</subscriptionId>
<planCode>Plan Reference Code</subscriptionId>
<billToAddress>
[ <card> | <paypage> | <token>]
<billingDate>New Billing Date</billingDate>
<createDiscount>
<updateDiscount>
<deleteDiscount>
<createAddOn>
<updateAddOn>
<deleteAddOn>
</updateSubscription
Example: Online Update Subscription Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>password</password>
</authentication>
<updateSubscription>
<subscriptionId>1234</subscriptionId>
<planCode>Gold_Monthly</planCode>
<billToAddress>
290
<name>John Smith</name>
<addressLine1>100 Main St</addressLine1>
<city>Boston</city>
<state>MA</state>
<zip>12345</zip>
<country>US</country>
<email>[email protected]</email>
<phone>555-123-4567</phone>
</billToAddress>
<card>
<type>VI</type>
<number>4005550000081019</number>
<expDate>1210</expDate>
<cardValidationNum>555</cardValidationNum>
</card>
<deleteDiscount>
<discountCode>1GBExtra</discountCode>
</deleteDiscount>
<createAddOn>
<addOnCode>1WF</addOnCode>
<name>One_GB_Extra</name>
<amount>500<amount>
<startDate>2013-09-15</startDate>
<endDate>2013-09-22</endDate>
</createAddOn>
</updateSubscription>
</litleOnlineRequest>
3.3.31.2
An Update Subscription response has the following structure. The response message is identical
for Online and Batch transactions.
<updateSubscriptionResponse>
<litleTxnId>Transaction Id</litleTxnId>
<response>Response Code</response>
<message>Response Message</message>
<responseTime>Date and Time in GMT</responseTime>
<subscriptionId>ID of Subscription Canceled</subscriptionId>
<tokenResponse> (For Tokenized Merchants submitting Card/Paypage)
291
</cancelSubscriptionResponse>
Example: Online Update Subscription Response
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<updateSubscriptionResponse>
<litleTxnId>1100030055</litleTxnId>
<response>000</response>
<message>Approved</message>
<responseTime>2013-07-11T14:48:46</responseTime>
<subscriptionId>123457</subscriptionId>
</updateSubscriptionResponse>
</litleOnlineResponse>
3.3.32
3.3.32.1
You should only use this transaction type if you had previously submitted
the account number and security code in a registerTokenRequest
transaction and now need to change the CVV2/CVC2/CID value.
292
3.3.32.2
3.3.33
You use a Void transaction to cancel a transaction that occurred during the same business day.
You can void Capture, Credit, and Sale transactions. Also, if you use Recycling Engine, you can
293
use the void transaction to halt the recycling of a sale transaction. In this case the response may
include the recycling element. (see Using Void to Halt Recycling Engine on page 66).
NOTE:
If you attempt to void a transaction after the cutoff time, the system returns a response code of
362 and the message, Transaction Not Voided - Already Settled. In this situation, you can
cancel the original transaction by using its reverse transaction, as shown in Table 3-2.
TABLE 3-2
Capture Transactions
Credit Transactions
Sale Transactions
Credit Transactions
Credit Transactions
Sale Transactions
Credit Transactions
3.3.33.1
Void Request
The Void request references the <litleTxnId> of the previously approved transaction. You
must structure a Void request as follows.
<void id = "Void Id" reportGroup="iQ Report Group">
<litleTxnId>Transaction Id</litleTxnId>
<processingInstructions>
</void>
Example: Online Void Request
<litleOnlineRequest version="9.4" xmlns="http://www.litle.com/schema"
merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<void id="1" reportGroup="Void Division">
<litleTxnId>345454444</litleTxnId>
</void>
294
</litleOnlineRequest>
3.3.33.2
Void Response
The Void response message may also include a duplicate attribute. The Void response has the
following structure.
<voidResponse id="Void Id" reportGroup="iQ Report Group">
<litleTxnId>Transaction Id</litleTxnId>
<orderId>Order Id</orderId>
<response>Response Code</response>
<responseTime>Date and Time in GMT</responseTime>
<postDate>Date of Posting</postDate>
<message>Response Message</message>
<recycling> (May be included if halting recycling.)
</voidResponse>
Example: Online Void Response
If the request is a duplicate (see Online Duplicate Checking on page 8), the response includes the
duplicate attribute set to true and the entire original response.
<litleOnlineResponse version="9.4" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<voidResponse id="1" reportGroup="Void Division">
<litleTxnId>1100026202</litleTxnId>
<response>000</response>
<responseTime>2011-07-16T19:43:38</responseTime>
<postDate>2011-07-16</postDate>
<message>Approved</message>
</voidResponse>
</litleOnlineResponse>
When you use a Void transaction to halt recycling, the response may include the recycling
element. (see Using Void to Halt Recycling Engine on page 66).
<litleOnlineResponse version="8.16" xmlns="http://www.litle.com/schema"
response="0" message="Valid Format">
<voidResponse id="1" reportGroup="Void Division">
<litleTxnId>1100026202333456789</litleTxnId>
295
<response>000</response>
<responseTime>2011-07-16T19:43:38</responseTime>
<postDate>2011-07-16</postDate>
<message>Approved</message>
<recycling>
<creditLitleTnxId>1234567890123456789</message>
</recycling>
</voidResponse>
</litleOnlineResponse>
296
4
LITLEXML ELEMENTS
This chapter provides definitions for the elements and attributes used in LitleXML. This
information is intended to be used in combination with the various LitleXML schema files to
assist you as you build the code necessary to submit transactions to our transaction processing
systems. Each section defines a particular element, its relationship to other elements (parents and
children), as well as any attributes associated with the element.
For additional information on the structure of LitleXML requests and responses using these
elements, as well as XML examples, please refer to Chapter 3, "LitleXML Transaction
Examples".
The XML elements defined in this chapter are listed alphabetically.
297
4.1
accNum
accNum
The accNum element is a required child of the echeck, originalAccountInfo, and
newAccountInfo elements defining the account number of the eCheck account.
Type = String; minLength = 4; maxLength = 17
NOTE:
Although the schema does not specify a minimum length for the accNum
element, the number must be greater than or equal to 4 characters for the
transaction to succeed.
Parent Elements:
echeck, newAccountInfo, originalAccountInfo, accountInfo
Attributes:
None
Child Elements:
None
298
4.2
LitleXML Elements
accountInfo
The accountInfo element is a required child of the submerchantCredit, and
submerchantDebit transactions. It contains child elements used to provide details concerning
the Sub-merchant account.
Parent Elements:
submerchantCredit, submerchantDebit, vendorCredit, vendorDebit
Attributes:
None
Child Elements:
Required: accType, accNum, routingNum
Optional: ccdPaymentInformation
NOTE:
299
4.3
accountInformation
accountInformation
The accountInformation element is an optional child of the authorizationResponse and
saleResponse elements. It contains two children that define the card type and account number.
Parent Elements:
authorizationResponse, saleResponse
Attributes:
None
Child Elements:
Required: type
Optional: number
300
4.4
LitleXML Elements
accountNumber
The accountNumber element is a required child of the registerTokenRequest element
defining the account number for which you are requesting a token. It is also an optional child of
the virtualGiftCardResponse element, where it defines the account number of the requested
Virtual Gift Card.
Type = String; minLength = 13; maxLength = 25
Parent Elements:
registerTokenRequest, virtualGiftCardResponse
Attributes:
None
Child Elements:
None
301
4.5
accountNumberLength
accountNumberLength
The accountNumberLength element is a required child of the virtualGiftCard element
defining the requested length of the virtual Gift Card number you are requesting.
NOTE:
Parent Elements:
virtualGiftCard
Attributes:
None
Child Elements:
None
302
4.6
LitleXML Elements
accountUpdate
The accountUpdate element is the parent element for all Account Updater request transactions.
You can use this only with Batch transactions.
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
303
4.7
accountUpdateFileRequestData
accountUpdateFileRequestData
The accountUpdateFileRequestData element is a child of the RFRRequest element,
required when requesting the response file for an (legacy) Account Updater submission.
Parent Elements:
RFRRequest
Attributes:
None
Child Elements:
Required: merchantId
Optional: postDay
Example: accountUpdateFileRequestData Structure
<accountUpdateFileRequestData>
<merchantId>Merchant ID</merchantId>
<postDay>Post Date</postDay>
</accountUpdateFileRequestData>
304
4.8
LitleXML Elements
accountUpdater
The accountUpdater element is an optional child of the authorizationResponse,
captureResponse, echeckSalesResponse, echeckcreditResponse,
echeckVerificationResponse, forceCaptureResponse, and saleResponse elements.
This element is included in the response messages when the submitted account information has
changed.
In the case of eCheck accounts, the system automatically updates the information sent to the ACH
network and includes the original and updated information in the response. Similarly, if you use
the Account Updater service (for credit cards), the system automatically repairs the card
information sent to the card networks and depending upon the option you select, can return the
info to you.
Parent Elements:
authorizationResponse, captureResponse, forceCaptureResponse, echeckCreditResponse,
echeckRedepositResponse, echeckSalesResponse, saleResponse
Attributes:
None
Child Elements:
Required:extendedCardResponse, newAccountInfo, newCardInfo, newCardTokenInfo,
newTokenInfo, originalAccountInfo, originalCardInfo, originalCardTokenInfo, originalTokenInfo
IMPORTANT:
When using Account Updater (any variation), you must always code to
receive the extendedCardResponse element and its children. Vantiv
always returns this information whenever applicable regardless of
whether you receive other account updater information in the
transaction response message.
305
accountUpdater
<type>Card Type</type>
<number>New Account Number</number>
<expDate>New Expiration Date</expDate>
</newCardInfo>
</accountUpdater>
Example: accountUpdater Structure - Credit Cards with
extendedCardResponse
<accountUpdater>
<originalCardInfo>
<type>Card Type</type>
<number>Old Account Number</number>
<expDate>Old Expiration Date</expDate>
</originalCardInfo>
<newCardInfo>
<type>Card Type</type>
<number>New Account Number</number>
<expDate>New Expiration Date</expDate>
</newCardInfo>
<extendedCardResponse>
<message>Code Description</message>
<code>Either 501 or 504</code>
</extendedCardResponse>
</accountUpdater>
Example: accountUpdater Structure - Credit Cards only
extendedCardResponse
<accountUpdater>
<extendedCardResponse>
<message>Code Description</message>
<code>Either 501 or 504</code>
</extendedCardResponse>
</accountUpdater>
306
LitleXML Elements
<accountUpdater>
<originalCardTokenInfo>
<litleToken>Old Token</litleToken>
<type>Card Type</type>
<expDate>Old Expiration Date</expDate>
<bin>Old Card BIN</bin>
</originalCardTokenInfo>
<newCardTokenInfo>
<litleToken>New Token</litletoken>
<type>Card Type</type>
<expDate>New Expiration Date</expDate>
<bin>New Card BIN</bin>
</newCardTokenInfo>
</accountUpdater>
307
accountUpdater
<originalTokenInfo>
<accType>Original Account Type</accType>
<litleToken>Original Token</litleToken>
<routingNum>Original Routing Number</routingNum>
</originalTokenInfo>
<newTokenInfo>
<accType>New Account Type</accType>
<litleToken>New Token</litleToken>
<routingNum>New Routing Number</routingNum>
</newTokenInfo>
</accountUpdateFileRequestData>
308
4.9
LitleXML Elements
accountUpdateResponse
The accountUpdaterResponse element is the parent element for all Account Update
responses transactions. You can use this only with Batch transactions.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
309
accType
4.10 accType
The accType element is a required child of the echeck, originalAccountInfo, and
newAccountInfo elements defining the type of eCheck account used in the transaction.
Type = Choice (Enum); Enumerations = Checking, Savings, Corporate, or Corp Savings
NOTE:
Parent Elements:
echeck, newAccountInfo, originalAccountInfo, originalTokenInfo, newTokenInfo, accountInfo
Attributes:
None
Child Elements:
None
310
LitleXML Elements
4.11 actionReason
The actionReason element is an optional child of the authReversal element defining if the
reversal is due to suspected fraud.
Type = String (Enum); Enumerations = SUSPECT_FRAUD
NOTE:
Parent Elements:
authReversal, credit
Attributes:
None
Child Elements:
None
311
activate
4.12 activate
The actvate element is the parent element for the transaction type that activates a Gift Card.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
312
LitleXML Elements
4.13 activateResponse
The activateResponse element is the parent element for information returned to you in
response to an activate transaction. It can be a child of either a litleOnlineResponse
element or a batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, fraudResult, giftCardResponse, virtualGiftCardResponse
313
activateReversal
4.14 activateReversal
The actvateReversal element is the parent element for the transaction type that reverses the
activation of a Gift Card.
Parent Elements:
litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
314
LitleXML Elements
4.15 activateReversalResponse
The activateReversalResponse element is the parent element for information returned to
you in response to an activateReversal transaction. It can be a child of either a
litleOnlineResponse element or a batchResponse element.
Parent Elements:
litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, giftCardResponse
315
active
4.16 active
The active element is an optional child of both the createPlan and updatePlan elements.
You use this flag to activate/deactivate a Plan. When you deactivate a Plan, you can no longer
reference that Plan for use with subscriptions. Existing subscriptions making use of the
deactivated Plan will continue to use the Plan until either modified or completed. You can also
reactivate a deactivated Plan by updating the Plan and setting the active flag to true.
Type = Boolean; Valid Values = true or false
Parent Elements:
createPlan, updatePlan
Attributes:
None
Child Elements:
None
316
LitleXML Elements
4.17 addOnCode
The addOnCode element is the identifier of a defined add on charge to a subscription. You use
this element when creating, updating, and deleting an Add On applied to a subscription.
Type = String; minLength = N/A; maxLength = 25
Parent Elements:
createAddOn, updateAddOn, deleteAddOn
Attributes:
None
Child Elements:
None
317
addressIndicator
4.18 addressIndicator
The addressIndicator element is an optional child of the billMeLaterResponseData
element and indicates whether the shipping address is a commercial (c) or residential (r) shipping
address.
Type = String; minLength = N/A; maxLength = 1
Parent Elements:
billMeLaterResponseData
Attributes:
None
Child Elements:
None
318
LitleXML Elements
319
advancedAVSResult
4.20 advancedAVSResult
The advancedAVSResult element is an optional child element of the fraudResult element. It
defines the American Express Advanced AVS response codes that can be returned as verification
of information supplied in the <phone> and/or <email> child elements of the
<billToAddress> element. For a list of possible values, please refer to AAVS Response Codes
on page 724.
NOTE:
320
LitleXML Elements
4.21 advancedFraudChecks
The advancedFraudChecks element is an optional child of both the authorization and
sale elements and a required child of the fraudCheck element.
Parent Elements:
authorization, sale, fraudCheck
Attributes:
None
Child Elements:
Required: threatMetrixSessionId
Optional: customAttribute1 through customAttribute5
Example: advancedFraudChecks Structure
<advancedFraudChecks>
<threatMetrixSessionId>Session Id from Threat Metrix</threatMetrixSessionId>
<customAttribute1>Some attribute passed to ThreatMetrix</customAttribute1>
<customAttribute2>Some attribute passed to ThreatMetrix</customAttribute2>
<customAttribute3>Some attribute passed to ThreatMetrix</customAttribute3>
<customAttribute4>Some attribute passed to ThreatMetrix</customAttribute4>
<customAttribute5>Some attribute passed to ThreatMetrix</customAttribute5>
</advancedFraudChecks>
321
advancedFraudResults
4.22 advancedFraudResults
The advancedFraudResults element is an optional child of both the fraudResult and the
fraudCheckResponse elements. Child elements return the results of advanced fraud checks
performed by Threat Metrix, as well as a list of the rules triggered from the ThreatMetrix
(merchant) Policy.
Parent Elements:
fraudResult, fraudCheckResponse
Attributes:
None
Child Elements: (Required)
deviceReviewStatus, deviceReputationScore, triggeredRule
Example: advancedFraudChecks Structure
<advancedFraudResults>
<deviceReviewStatus>pass, fail, review, or unavailable</deviceReviewStatus>
<deviceReputationScore>Score Returned from ThreatMetix</deviceReputationScore>
<triggeredRule>Triggered Rule #1</triggeredRule>
.
.
.
<triggeredRule>Triggered Rule #N</triggeredRule>
</advancedFraudResults>
322
LitleXML Elements
4.23 affiliate
The affiliate element is an optional child element of the merchantData element. You can
use it to track transactions associated with various affiliate organizations.
Type = String; minLength = N/A; maxLength = 25
Parent Elements:
merchantData
Attributes:
None
Child Elements:
None
323
affluence
4.24 affluence
The affluence element is an optional child of the enhancedAuthResponse element and
defines whether the card used falls into one of the two defined affluent categories. If the card does
not meet the definition of either category, the system does not return the affluence element.
NOTE:
Enumeration
Description
MASS AFFLUENT
AFFLUENT
NOTE:
The Affluence indicator applies only to certain Visa and MasterCard cards.
This indicator does not apply to American Express or Discover cards.
324
LitleXML Elements
4.25 allowPartialAuth
The allowPartialAuth element is an optional child of both Authorization and Sale
transactions, which allows you to specify whether to authorize a partial amount if the entire
requested authorization amount exceeds available credit/balance.
NOTE:
When submitting transactions for private label gift cards (card type of
GC), the use of partial authorizations is determined by a setting in the
Merchant Profile (on or off globally). This flag has no effect.
For a Sale transaction, the deposit will be for the partial amount.
325
amexAggregatorData
4.26 amexAggregatorData
The amexAggregatorData element defines Amex Aggregator specific information in the
LitleXML. The system does not use the information unless you are designated as an Aggregator
by American Express.
Parent Elements:
authorization, captureGivenAuth, credit, forceCapture, sale
Attributes:
None
Child Elements: (Required)
sellerId, sellerMerchantCategoryCode
Example: amexAggregatorData Structure
<amexAggregatorData>
<sellerId>Seller Id</sellerId>
<sellerMerchantCategoryCode>MerchantCategoryCode</sellerMerchantCategoryCode>
</amexAggregatorData>
326
LitleXML Elements
4.27 amount
The amount element is a child of several elements. When used in a payment transaction this
element defines the amount of the transaction. When amount is a child of the subscription
element, it defines the amount of the recurring payment. As a child of the activate, load, or
unload transactions, amount defines the initial value of a newly activated gift Card, the amount
loaded onto a reloadable Gift Card, or the amount unloaded from a Gift Card, respectively. When
used in an Instruction-Based Dynamic Payout transaction type, it specifies the amount of funds to
transfer. Supply the value in cents without a decimal point. For example, a value of 1995 signifies
$19.95.
Type = Integer; totalDigits = 12
Parent Elements:
The amount element is a required child of each of the following Parent Elements: activate,
authorization, credit (required if original transaction was not processed by Vantiv),
captureGivenAuth, echeckCredit (required if original transaction was not processed by Vantiv),
echeckSale, echeckVerification, forceCapture,fraudCheck, load, sale, unload
This element is also a required child of the following Instruction-Based Dynamic Payout
transaction types: payFacCredit, payFacDebit, physicalCheckCredit, physicalCheckDebit,
reserveCredit, reserveDebit, submerchantCredit, submerchantDebit, vendorCredit, vendorDebit
NOTE:
The amount element is an optional child of each of the following Parent Elements: authReversal,
capture, credit, echeckCredit, subscription
NOTE:
For all cases where the amount element is optional, except when a child
of the subscription element, if you do not specify a value, the system
uses the entire amount from the referenced (by litleTxnId) transaction.
When amount is a child of the subscription element, if you do not
specify a value, the amount defaults to the value defined in the referenced
recurring plan (planCode element).
Attributes:
None
Child Elements:
None
327
applepay
4.28 applepay
The applepay element is an optional child of several transaction types and takes the place of the
card element in Apple Pay transaction where the merchant does not decrypt the (Apple Pay)
PKPaymentToken prior to submitting the transaction. It contains child elements for the
component parts of the PKPaymentToken.
Parent Elements:
authorization, captureGivenAuth, credit, forceCapture, registerTokenRequest, sale
Attributes:
None
Child Elements (all required):
data, header, signature, version
Example: applepay Structure
<applepay>
<data>User Name</data>
<header>
<applicationData>Base64 Hash of App Data Property</applicationData>
<ephemeralPublicKey>Base64 Encoded Ephemeral Public Key</ephemeralPublicKey>
<publicKeyHash>Base64 Hash of Public Key Bytes from Merchant
Certtificate</publicKeyHash>
<transactionId>Hex Transaction Id</transactionId>
</header>
<signature>Signature of Payment and Header Data</signature>
<version>Payment Token Version Info</version>
</applepay>
328
LitleXML Elements
4.29 applepayResponse
The applepayResponse element is an optional child of several transaction types and is returned
in response messages, when the request includes the applepay element.
Parent Elements:
authorizationResponse, captureGivenAuthResponse, creditResponse, forceCaptureResponse,
registerTokenResponse, saleResponse
Attributes:
None
Child Elements (all required):
applicationPrimaryAccountNumber, applicationExpirationDate, currencyCode,
transactionAmount, cardholderName, deviceManufacturerIdentifier, paymentDataType,
onlinePaymentCryptogram, eciIndicator
Example: authentication Structure
<applepayResponse>
<applicationPrimaryAccountNumber>User Name</applicationPrimaryAccountNumber>
<applicationExpirationDate></applicationExpirationDate>
<currencyCode>Encrypted Payment Data</currencyCode>
<transactionAmount>Ephemeral Public Key Bytes</transactionAmount>
<cardholderName>Hash of Public Key Bytes</cardholderName>
<deviceManufacturerIdentifier>Id of Device Mfr</deviceManufacturerIdentifier>
<paymentDataType></paymentDataType>
<onlinePaymentCryptogram>Payment Cryptogram</onlinePaymentCryptogram>
<eciIndicator>Payment token Version Info</eciIndicator>
</applepayResponse>
329
applicationData
4.30 applicationData
The applicationData element is an optional child of the header element and provides the
BASE64 Encoded string that is a hash of the original PKPaymentRequest of the Apple Pay
transaction.
Type = Base 64 Encoded String; minLength = N/A; maxLength = 10000
Parent Elements:
header
Attributes:
None
Child Elements:
None
330
LitleXML Elements
4.31 applicationExpirationDate
The applicationExpirationDate element is an optional child of the applepayResponse
element and defines expiration date of the application primary account number.
Type = String; minLength = N/A; maxLength = 20
Parent Elements:
applepayResponse
Attributes:
None
Child Elements:
None
331
applicationPrimaryAccountNumber
4.32 applicationPrimaryAccountNumber
The applicationPrimaryAccountNumber element is an optional child of the
applepayResponse element and defines the primary account number associated with the
application.
Type = String; minLength = N/A; maxLength = 20
Parent Elements:
applepayResponse
Attributes:
None
Child Elements:
None
332
LitleXML Elements
4.33 approvedAmount
The approvedAmount element defines the dollar amount of the approval. It appears in an
authorization or sale response only if the allowPartialAuth element is set to true in the
request transaction. It can also appear as the child of a deactivateResponse message where it
specifies the value of the Gift Card prior to deactivation.
Type = Integer; totalDigits = 8
Parent Elements:
authorizationResponse, saleResponse, deactivateResponse
Attributes:
None
Child Elements:
None
333
authAmount
4.34 authAmount
The authAmount element is an optional child of the authInformation element and is used to
define the dollar amount of the authorization for Capture Given Auth transactions.
Type = Integer; totalDigits = 8
Parent Elements:
authInformation
Attributes:
None
Child Elements:
None
334
LitleXML Elements
4.35 authCode
The authCode element is an optional child of both the authorizationResponse and
saleResponse elements. It is also a required child of the authInformation element (used in
captureGivenAuth transactions), where it specifies the authorization code from the associated
Authorization or Sale transaction.
Type = String; minLength = N/A; maxLength = 6
Parent Elements:
authInformation, authorizationResponse, saleResponse
Attributes:
None
Child Elements:
None
335
authDate
4.36 authDate
The authDate element is a required child of the authInformation element and defines the
date of the associated Authorization transaction.
Type = Date; Format = YYYY-MM-DD
Parent Elements:
authInformation
Attributes:
None
Child Elements:
None
336
LitleXML Elements
4.37 authenticatedByMerchant
The authenticatedByMerchant element is an optional child element of the
cardholderAuthentication element. This element indicates whether or not the customer has
logged in to a secure web site or has been authenticated by the call center ANI.
For Bill Me Later transactions, set this element to true if this is an ecommerce transaction and
you store and verify the customers BML account number. Set this element to false for call center
BML transaction or ecommerce transactions if you do not store and verify the customers BML
account number.
Type = Boolean; Valid Values = true or false
Parent Elements:
cardholderAuthentication
Attributes:
None
Child Elements:
None
337
authentication
4.38 authentication
The authentication element is a required element of both the litleOnlineRequest and the
batchRequest elements. It contains child elements used to authenticate that the XML message
is from a valid user.
NOTE:
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
None
Child Elements:
Required: user, password
Example: authentication Structure
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
338
LitleXML Elements
4.39 authenticationResult
The authenticationResult element is an optional child element of the fraudResult
element. It defines the Visa CAVV Result code (from Verified by Visa). For a list of possible
values, please refer to 3DS Authentication Result Codes on page 721.
Type = String; minLength = N/A; maxLength = 1
Parent Elements:
fraudResult
Attributes:
None
Child Elements:
None
339
authenticationTransactionId
4.40 authenticationTransactionId
The authenticationTransactionId element is an optional child of the
cardholderAuthentication element. This element defines the Verified by Visa Transaction
Id.
You must include this element for Visa transactions, when the orderSource element is set to
3dsAuthenticated.
Type = Base 64 Encoded String; minLength = N/A; maxLength = 28
Parent Elements:
cardholderAuthentication
Attributes:
None
Child Elements:
None
340
LitleXML Elements
4.41 authenticationValue
The authenticationValue element is an optional child of the
cardholderAuthentication element. This element defines either the Visa CAVV value
(fixed length 28 characters) or the MasterCard UCAF value (variable length up to 32 characters).
You must include this element for Visa and MasterCard transactions, when the orderSource
element is set to 3dsAuthenticated, as well as MasterCard transactions if the orderSource
element is set to 3dsAttempted.
Type = Base 64 Encoded String; minLength = N/A; maxLength = 56
Parent Elements:
cardholderAuthentication
Attributes:
None
Child Elements:
None
341
authInformation
4.42 authInformation
The authInformation element is a required child of the captureGivenAuth element. It
contains child elements used to provide details concerning the external (to the systems)
Authorization.
Parent Elements:
captureGivenAuth
Attributes:
None
Child Elements:
Required: authDate, authCode
Optional: fraudResult, authAmount
Example: authInformation Structure
<authInformation>
<authDate>Auth Date</authDate>
<authCode>Approval Code</authCode>
<fraudResult>
<avsResult>AVS Verification Result Code</avsResult>
<cardValidationResult>Validation Result Code</cardValidationResult>
<authenticationResult>Verified by Visa Result Code</authenticationResult>
</fraudResult>
<authAmount>Amount of Authorization</authAmount>
</authInformation>
342
LitleXML Elements
4.43 authorization
The authorization element is the parent element for all Authorization transactions. You can
use this element in either Online or Batch transactions.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: orderId, amount, orderSource, (choice of) card, paypal, paypage, mpos, token, or
applepay, cardholderAuthentication
NOTE:
343
authorizationResponse
4.44 authorizationResponse
The authorizationResponse element is the parent element for information returned to you in
response to an Authorization transaction. It can be a child of either a litleOnlineResponse
element or a batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, cardProductId (see Note below), authCode, authorizationResponseSubCode
(see Note below), approvedAmount, accountInformation, fraudResult, billMeLaterResponseData,
tokenResponse, enhancedAuthResponse, accountUpdater, recycling, recurringResponse,
giftCardResponse, applepayResponse, cardSuffix
NOTE:
344
LitleXML Elements
4.45 authorizationSourcePlatform
The authorizationSourcePlatform element is an optional child element of the
billMeLaterRequest element. This element defines the physical platform that was used for
submitting the authorization request (not the order). Specify as needed for auditing and
re-authorization management purposes.
Type = String; minLength = N/A; maxLength = 1 (valid values below)
Value
Description
application processing
call center
fulfillment/order management
kiosk
retail POS
Parent Elements:
billMeLaterRequest
Attributes:
None
Child Elements:
None
345
authReversal
4.46 authReversal
The authReversal element is the parent element for all Authorization Reversal transactions.
You can use this element in either Online or Batch transactions. Also see Notes on the Use of
Authorization Reversal Transactions on page 59. Also, if you use the Recycling Engine, you can
use the authReversal transaction to halt the recycling of an authorization transaction.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId
Optional: amount, actionReason, payPalNotes, surchargeAmount
NOTE:
If you do not specify an amount child element, the system reverses the
full amount from the associated Authorization transaction.
346
LitleXML Elements
4.47 authReversalResponse
The authReversalResponse element is the parent element for information returned to you in
response to an Auth Reversal transaction. It can be a child of either a litleOnlineResponse
element or a batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, giftCardResponse
NOTE:
347
availableBalance
4.48 availableBalance
The availableBalance element is a required child element of the fundingSource element
and an optional child of the giftCardResponse element. It defines the outstanding available
balance on the submitted prepaid or Gift Card. If the balance can not be determined, the element
returns, Not Available.
Type = String; minLength = N/A; maxLength = 20
Parent Elements:
fundingSource, giftCardResponse
Attributes:
None
Child Elements:
None
NOTE:
348
LitleXML Elements
4.49 avsResult
The avsResult element is an optional child element of the fraudResult element. It defines
the Address Verification response code returned by the networks. For a list of possible values,
please refer to AVS Response Codes on page 723.
Type = String; minLength = N/A; maxLength = 2
Parent Elements:
fraudResult
Attributes:
None
Child Elements:
None
349
balanceInquiry
4.50 balanceInquiry
The balanceInquiry element is the parent element for the transaction type that queries the
available balance of a Gift Card.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
350
LitleXML Elements
4.51 balanceInquiryResponse
The balanceInquiryResponse element is the parent element for information returned to you
in response to a balanceInquiry transaction. It can be a child of either a
litleOnlineResponse element or a batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, fraudResult, giftCardResponse
351
batchRequest
4.52 batchRequest
This is the root element for all LitleXML Batch requests.
Parent Elements:
litleRequest
Attributes:
NOTE:
Attribute Name
Type
Required?
Description
id
String
No
numAuths
Integer
No
authAmount
Integer
No
numAuthReversals
Integer
No
authReversalAmount
Integer
No
numCaptures
Integer
No
352
LitleXML Elements
Attribute Name
Type
Required?
Description
captureAmount
Integer
No
numCredits
Integer
No
creditAmount
Integer
No
numForceCaptures
Integer
No
forceCaptureAmount
Integer
No
numSales
Integer
No
saleAmount
Integer
No
numCaptureGivenAuths
Integer
No
captureGivenAuthAmount
Integer
No
353
batchRequest
Attribute Name
Type
Required?
Description
numEcheckSales
Integer
No
echeckSalesAmount
Integer
No
numEcheckCredit
Integer
No
echeckCreditAmount
Integer
No
numEcheckVerification
Integer
No
echeckVerificationAmount
Integer
No
numEcheckRedeposit
Integer
No
numEcheckPreNoteSale
Integer
No
numEcheckPreNoteCredi
t
Integer
No
numAccountUpdates
Integer
No
354
LitleXML Elements
Attribute Name
Type
Required?
Description
numTokenRegistrations
Integer
No
numUpdateCardValidatio
nNumOnTokens
Integer
No
numCancelSubscriptions
Integer
No
numUpdateSubscriptions
Integer
No
numCreatePlans
Integer
No
numUpdatePlans
Integer
No
numActivates
Integer
No
numDeactivates
Integer
No
activateAmount
Integer
No
numLoads
Integer
No
loadAmount
Integer
No
355
batchRequest
Attribute Name
Type
Required?
Description
numUnloads
Integer
No
unloadAmount
Integer
No
numBalanceInquirys
Integer
No
numPayFacCredit
Integer
No
numPayFacDebit
Integer
No
numSubmerchantCredit
Integer
No
numSubmerchantDebit
Integer
No
numReserveCredit
Integer
No
numReserveDebit
Integer
No
numVendorCredit
Integer
No
numVendorDebit
Integer
No
356
LitleXML Elements
Attribute Name
Type
Required?
Description
payFacCreditAmount
Integer
No
payFacDebitAmount
Integer
No
submerchantCreditAmou
nt
Integer
No
submerchantDebitAmoun
t
Integer
No
reserveCreditAmount
Integer
No
reserveDebitAmount
Integer
No
vendorCreditAmount
Integer
No
vendorDebitAmount
Integer
No
357
batchRequest
Attribute Name
Type
Required?
Description
merchantId
String
Yes
Child Elements:
At least one of the following required: activate, authorization, authReversal, balanceInquiry,
cancelSubscription, capture, captureGivenAuth, createPlan, credit, deactivate, echeckCredit,
echeckPreNoteSale, echeckRedeposit, echeckSale, echeckVerification, forceCapture, load,
registerTokenRequest, sale, unload, updateCardValidationNumOnToken, updatePlan,
updateSubscription, payFacCredit, payFacDebit, reserveCredit, reserveDebit, submerchantCredit,
submerchantDebit, vendorCredit, vendorDebit
358
LitleXML Elements
4.53 batchResponse
The batchResponse element is the parent element for information returned to you in response
to a batch you submitted for processing. It is a child of a litleResponse element.
Parent Elements:
litleResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
litleBatchId
Long
Yes
merchantId
String
Yes
maxLength = 50
Child Elements:
Required: activateResponse, authorizationResponse, authReversalResponse, captureResponse,
captureGivenAuthResponse, createPlanResponse, creditResponse, deactivateResponse,
echeckCreditResponse, echeckPreNoteCreditResponse, echeckPreNoteSaleResponse,
echeckRedepositResponse, echeckSalesResponse, echeckVerificationResponse,
forceCaptureResponse, loadResponse, registerTokenResponse, saleResponse, unloadResponse,
updateCardValidationNumOnTokenResponse, cancelSubscriptionResponse, updatePlanResponse,
updateSubscriptionResponse, payFacCreditResponse, payFacDebitResponse,
physicalCheckCreditResponse, physicalCheckDebitResponse, reserveCreditResponse,
reserveDebitResponse, submerchantCreditResponse, submerchantDebitResponse,
vendorCreditResponse, vendorDebitResponse
NOTE:
359
beginningBalance
4.54 beginningBalance
The beginningBalance element is an optional child of the giftCardResponse element. It
defines the available balance on the submitted Gift Card prior to the requested operation.
NOTE:
360
LitleXML Elements
4.55 billingDate
The billingDate element is an optional child of the updateSubscription element that
defines the new date for the recurring billing when the scheduled date need to be changed.
Type = Date; Format = YYYY-MM-DD
Parent Elements:
updateSubscription
Attributes:
None
Child Elements:
None
361
billMeLaterRequest
4.56 billMeLaterRequest
The billMeLaterRequest element is the parent of several child elements used to define
merchant, product type, terms and conditions, and other items for Bill Me Later authorization
transactions, or where you must reference an external (to Vantiv) BML transaction.
Parent Elements:
authorization, captureGivenAuth, credit, sale
Attributes:
None
Child Elements: (all optional)
bmlMerchantId, bmlProductType, itemCategoryCode, termsAndConditions, preapprovalNumber,
virtualAuthenticationKeyPresenceIndicator, virtualAuthenticationKeyData,
authorizationSourcePlatform
NOTE:
Example: billMeLaterRequest
<billMeLaterRequest>
<bmlMerchantId>bmlMerchantId</bmlMerchantId>
<bmlProductType>bmlProductType</bmlProductType>
<termsAndConditions>termsAndConditions</termsAndConditions>
<preapprovalNumber>preapprovalNumber</preapprovalNumber>
<virtualAuthenticationKeyPresenceIndicator> Indicator
</virtualAuthenticationKeyPresenceIndicator>
<virtualAuthenticationKeyData> virtualAuthenticationKeyData
</virtualAuthenticationKeyData>
362
LitleXML Elements
<itemCategoryCode>itemCategoryCode</itemCategoryCode>
<authorizationSourcePlatform>platformType</authorizationSourcePlatform>
</billMeLaterRequest>
363
billMeLaterResponseData
4.57 billMeLaterResponseData
The billMeLaterResponseData element is the parent of several child elements used in the
response XML for Bill Me Later authorization transactions.
Parent Elements:
authorizationResponse, saleResponse
Attributes:
None
Child Elements:
bmlMerchantId, creditLine, addressIndicator
NOTE:
364
LitleXML Elements
4.58 billToAddress
The billToAddress element contains several child elements that define the postal mailing
address (and telephone number) used for billing purposes. It also contains several elements used
for the eCheck verification process.
Parent Elements:
authorization, captureGivenAuth, credit, echeckCredit (required if original transaction was not
processed by Vantiv), echeckPreNoteCredit, echeckPreNoteSale, echeckSale, echeckVerification,
forceCapture,fraudCheck, sale, updateSubscription
Attributes:
None
Child Elements: (all optional)
name, firstName, middleInitial, lastName, companyName, addressLine1, addressLine2,
addressLine3, city, state, zip, country, email, phone
NOTE:
365
billToAddress
366
LitleXML Elements
4.59 bin
The bin element provides the 6-digit Bank (or Issuer) Identification Number of the Issuing Bank.
The system returns this value in XML responses when issuing new tokens to replace Visa or
MasterCard account numbers.
For Discover and American Express cards, this element is empty in a
registerTokenResponse.
For Discover, when included with Account Updater information in a payment transaction
response, the bin element will have a value of discov.
Type = String; minLength = 0; maxLength = 6
Parent Elements:
The bin element is an optional child of each listed parent element.
registerTokenResponse, tokenResponse, newCardTokenInfo, originalCardTokenInfo,
originalToken, updatedToken
Attributes:
None
Child Elements:
None
367
bmlMerchantId
4.60 bmlMerchantId
The bmlMerchantId element is a value assigned by Bill Me Later to identify the merchant
within the Bill Me Later system.
Type = Long; minLength = N/A; maxLength = 19
Parent Elements:
The bmlMerchantId element is an optional child of each listed parent element.
billMeLaterRequest, billMeLaterResponseData
Attributes:
None
Child Elements:
None
368
LitleXML Elements
4.61 bmlProductType
The bmlProductType element is a value assigned by Bill Me Later to identify the merchant
account type within the Bill Me Later system.
Type = String; minLength = 2; maxLength = 2
Parent Elements:
The bmlProductType element is an optional child of each listed parent element.
billMeLaterRequest, billMeLaterResponseData
NOTE:
At this time, the only valid value for this element is BL.
Attributes:
None
Child Elements:
None
369
bypassVelocityCheck
4.62 bypassVelocityCheck
The bypassVelocityCheck element is an optional child of the processingInstructions element,
which allows you to specify whether or not the system performs velocity checking on the
transaction.
NOTE:
370
LitleXML Elements
4.63 campaign
The campaign element is an optional child element of the merchantData element. You can use
it to track transactions associated with various marketing campaigns.
Type = String; minLength = N/A; maxLength = 25
Parent Elements:
merchantData
Attributes:
None
Child Elements:
None
371
cancelSubscription
4.64 cancelSubscription
The cancelSubscription element is the parent element for the transaction that cancels a
subscription. You can use this element in either Online or Batch transactions.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
None
Child Elements:
Required: subscriptionId
372
LitleXML Elements
4.65 cancelSubscriptionResponse
The cancelSubscriptionresponse element is the parent element for the response to a
cancelSubscription transaction.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
None
Child Elements:
Required: subscriptionId, litleTxnId, response, message, responseTime
373
capability
4.66 capability
The capability element is a required child of the pos element, which describes the capability
of the point of sale terminal.
Type = String (Enum); minLength = N/A; maxLength = N/A
Parent Elements:
pos
Attributes:
None
Child Elements:
None
Enumerations:
Enumeration
Description
notused
magstripe
keyedonly
NOTE:
374
LitleXML Elements
4.67 capture
The capture element is the parent element for all Capture (deposit) transactions. You can use
this element in either Online or Batch transactions.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute
Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
partial
Boolean
No
maxLength = 25
Child Elements:
Required: litleTxnId, payPalOrderComplete (required only if closing a PayPal order)
Optional: amount, enhancedData, payPalNotes, processingInstructions, secondaryAmount,
surchargeAmount
NOTE:
375
captureGivenAuth
4.68 captureGivenAuth
The captureGivenAuth element is the parent element for all Capture Given Auth transactions.
These are specialized Capture transactions used when the litleTxnId for the associated
Authorization is unknown or when the Authorization occurred outside our system. You can use
this element in either Online or Batch transactions.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: orderId, authInformation, amount, orderSource, choice of card, token, mpos, paypage,
or applepay
Optional: billToAddress, shipFromPostalCode, customBilling, taxType, enhancedData,
processingInstructions, pos, amexAggregatorData, merchantData, secondaryAmount,
surchargeAmount, debtRepayment
NOTE:
376
LitleXML Elements
4.69 captureGivenAuthResponse
The captureGivenAuthResponse element is the parent element for information returned to
you in response to a Capture Given Auth transaction. It can be a child of either a
litleOnlineResponse element or a batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, tokenResponse, giftCardResponse, applepayResponse
NOTE:
377
captureResponse
4.70 captureResponse
The captureResponse element is the parent element for information returned to you in
response to a Capture transaction. It can be a child of either a litleOnlineResponse element
or a batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
Child Elements:
Required: litleTxnId, orderId (required for Batch), response, responseTime, message
Optional: postDate, accountUpdater, giftCardResponse
NOTE:
378
LitleXML Elements
4.71 card
The card element defines payment card information. It is a required element for most transaction
types unless the transaction uses an alternate payment method such as PayPal. It contains one or
more child elements depending upon whether the transaction is a card-not-present or a
card-present (face-to-face) transaction.
Parent Elements:
activate, accountUpdate, authorization, balanceInquiry, captureGivenAuth, credit, deactivate,
forceCapture, load, sale, unload, updateSubscription
Attributes:
None
Child Elements:
For card-not-present transactions (Required): type, number, expDate
For card-present transactions (Required): track
For both transactions types (Optional): cardValidationNum
Example: card Structure - Card-Not-Present
<card>
<type>Card Type Abbreviation</type>
<number>Account Number</number>
<expDate>Expiration Date</expDate>
<cardValidationNum>Card Validation Number</cardValidationNum>
</card>
Example: card Structure - Card-Present
<card>
<track>Magnetic Stripe Read</track>
</card>
379
cardAcceptorTaxId
4.72 cardAcceptorTaxId
The cardAcceptorTaxId element is an optional child of the detailTax element and defines
the merchant's Tax Id. This ID is nine digits long if the merchant is domiciled in the U.S. If the
card acceptor tax ID is unknown, do not include this element.
Type = String; minLength = 1; maxLength = 20
Parent Elements:
detailTax
Attributes:
None
Child Elements:
None
380
LitleXML Elements
4.73 cardholderAuthentication
The cardholderAuthentication element is an optional child element of the Authorization
and Sale transactions. The children of this element have two purposes. The first is to define
Verified by Visa or MasterCard SecureCode data in the Authorization or Sale transactions
(authenticationValue, authenticationTransactionId, and
authenticatedByMerchant elements). The remaining child element,
customerIpAddress, as well as the authenticationTransactionId, are used in Bill Me
Later transactions. The customerIpAddress element can also be used to supply the customer
IP Address by merchants enabled for American Express Advanced AVS services.
NOTE:
Parent Elements:
authorization, sale
Attributes:
None
Child Elements:
authenticationValue, authenticationTransactionId, customerIpAddress, authenticatedByMerchant
Example: cardholderAuthentication Structure
<cardholderAuthentication>
<authenticationValue>BwABBJQ1AgAAAAAgJDUCAAAAAAA=</authenticationValue>
<authenticationTransactionId>EaOMucALHQqLAEGAgk=</authenticationTransactionId>
<customerIpAddress>Customer Ip</customerIpAddress>
<authenticatedByMerchant>Boolean</authenticatedByMerchant>
</cardholderAuthentication>
NOTE:
381
cardholderId
4.74 cardholderId
The cardholderId element is a required child of the pos element, which describes the method
used for cardholder identification at the point of sale.
Type = String (Enum); minLength = N/A; maxLength = N/A
Parent Elements:
pos
Attributes:
None
Child Elements:
None
Enumerations:
Enumeration
Description
signature
pin
PIN number
nopin
directmarket
NOTE:
382
LitleXML Elements
4.75 cardholderName
The cardholderName element is an optional child of the applepayResponse element and
provides the name of the cardholder whose card initiated the Apple Pay transaction.
Type = String; minLength = N/A; maxLength = 512
Parent Elements:
applepayResponse
Child Elements:
None
383
cardOrToken
4.76 cardOrToken
The cardOrToken element is an abstract that allows the substitution of either the card or token
element. You must specify one of the two substitution elements as a child of the accountUpdate
element.
Parent Elements:
accountUpdate
Substitution Options:
card, token
384
LitleXML Elements
4.77 cardProductType
The cardProductType element is an optional child of the enhancedAuthResponse element
and whether the card used is commercial or consumer.
Type = String (enum); minLength = N/A; maxLength = N/A
Parent Elements:
enhancedAuthResponse
Attributes:
None
Child Elements:
None
Enumerations:
Enumeration
Description
COMMERCIAL
CONSUMER
UNKNOWN
385
cardSuffix
4.78 cardSuffix
The cardSuffix element is an optional child of both the authorizationResponse and
saleResponse elements. It provides the last four digits of the actual PAN for Apple Pay
transactions, when the underlying card is either Visa or MasterCard.
Type = String; minLength = 3; maxLength = 6
Parent Elements:
authorizationResponse, saleResponse
Attributes:
None
Child Elements:
None
386
LitleXML Elements
4.79 cardValidationNum
The cardValidationNum element is an optional child of the card element, which you use to
submit either the CVV2 (Visa), CVC2 (MasterCard), or CID (American Express and Discover)
value.
NOTE:
Some American Express cards may have a 4-digit CID on the front of the
card and/or a 3-digit CID on the back of the card. You can use either of the
numbers for card validation, but not both.
387
cardValidationResult
4.80 cardValidationResult
The cardValidationResult element is an optional child element of the fraudResult
element. It defines the Card Validation response code returned by the networks. For a list of
possible values, please refer to Card Validation Response Codes on page 727.
Type = String; minLength = N/A; maxLength = 2
Parent Elements:
fraudResult
Attributes:
None
Child Elements:
None
388
LitleXML Elements
4.81 cashBackAmount
The cashBackAmount element is an optional child of the giftCardResponse element. It
defines the Cash Back amount provided to the Gift Card holder.
NOTE:
389
catLevel
4.82 catLevel
The catLevel element is an optional child of the pos element, which describes the capability of
the Cardholder Activated Terminal. Although optional in the schema, it is required for all CAT
transactions.
Type = String (Enum); minLength = N/A; maxLength = N/A
Parent Elements:
pos
Attributes:
None
Child Elements:
None
Enumerations:
Enumeration
Description
self service
390
LitleXML Elements
4.83 ccdPaymentInformation
The ccdPaymentInformation element is an optional child of the echeck element. This
element is intended for use by PayFacs using Instuction Based Dynamic Payout to submit a
description of the transaction. The description will appear in the extended detail section of the
receivers bank statement, if that section is supported by the receivers bank..
Type = String; minLength = N/A; maxLength = 80
Parent Elements:
accountInfo, echeck
Attributes:
None
Child Elements:
None
391
chargeback
4.84 chargeback
The chargeback element is an optional child of the filtering element. To disable the
chargeback filtering operation for a selected transaction include the chargeback element with a
setting of false.
Type = Boolean; Valid Value = false
NOTE:
Parent Elements:
filtering
Attributes:
None
Child Elements:
None
392
LitleXML Elements
4.85 checkNum
The checkNum element is an optional child of the echeck element defining the check number of
used in the transaction.
Type = String; minLength = N/A; maxLength = 15
Parent Elements:
echeck
Attributes:
None
Child Elements:
None
393
city
4.86 city
The city element defines the customers city name in the billToAddress and
shipToAddress elements. In the customBilling element, city defines the location of the
merchant for card-present transactions.
Type = String; minLength = N/A; maxLength = 35
Parent Elements:
billToAddress, shipFromPostalCode, customBilling
Attributes:
None
Child Elements:
None
394
LitleXML Elements
4.87 clinicOtherAmount
The clinicAmount element is an optional child of the healthcareAmounts element and
defines the healthcare amount used for the clinic/office visits. The decimal is implied. Example:
500 = $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
Optional: healthcareAmounts
Attributes:
None
Child Elements:
None
395
code
4.88 code
The code element is a required child of the extendedCardResponse element. The
code/message combination can be either 501- The account was closed, or 504 - Contact the
cardholder for updated information.
Type = String; minLength = N/A; maxLength = 3
Parent Elements:
extendedCardResponse
Attributes:
None
Child Elements:
None
396
LitleXML Elements
4.89 commodityCode
The commodityCode element is an optional child of the lineItemData element, which
specifies the Identifier assigned by the card acceptor that categorizes the purchased item.
Although the schema defines it as an optional child of the enhancedData element, it is required
by Visa for Level III interchange rates.
Type = String; minLength = 1; maxLength = 12
Parent Elements:
lineItemData
Attributes:
None
Child Elements:
None
NOTE:
397
companyName
4.90 companyName
The companyName element is an optional child of the billToAddress element, which specifies
the name of the company associated with the corporate checking account. This element is
required when performing an eCheck Verification of a check from a corporate account, as defined
by the <accType> child of the <echeck> element.
Type = String; minLength = N/A; maxLength = 40
Parent Elements:
billToAddress
Attributes:
None
Child Elements:
None
398
LitleXML Elements
4.91 country
The country element defines the country portion of the postal mailing address in both the
billToAddress and shipToAddress elements.
Type = String (Enum); minLength = N/A; maxLength = 3
NOTE:
Parent Elements:
billToAddress, shipFromPostalCode
Attributes:
None
Child Elements:
None
399
createAddOn
4.92 createAddOn
The createAddOn element is the parent of several child elements used to define an additional
charge added to a new or existing subscription.
Parent Elements:
subscription, updateSubscription
Attributes:
None
Child Elements (all Required):
addOnCode, name, amount, startDate, endDate
Example: customerInfo Structure
<createAddOn>
<addOnCode>Add On Reference Code</addOnCode>
<name>Name of Add On</name>
<amount>Amount of Add On</amount>
<startDate>Start Date of Add On Charge</startDate>
<endDate>End Date of Add On Charge</endDate>
</createAddOn>
400
LitleXML Elements
4.93 createDiscount
The createDiscount element is the parent of several child elements used to define a discount
to be applied to a new or existing subscription.
Parent Elements:
subscription, updateSubscription
Attributes:
None
Child Elements (all Required):
discountCode, name, amount, startDate, endDate
Example: customerInfo Structure
<createDiscount>
<discountCode>Discount Reference Code</discountCode>
<name>Name of Discount</name>
<amount>Amount of Discount</amount>
<startDate>Start Date of Discount</startDate>
<endDate>End Date of Discount</endDate>
</createDiscount>
401
createPlan
4.94 createPlan
The createPlan element is the parent of several child element that define the attributes of a
recurring payment plan. You associate Plans with subscriptions to define the billing behavior for
the recurring payment.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
None
Child Elements:
planCode, name, description, intervalType, amount, numberOfPayments, trialNumberOfIntervals,
trialIntervalType, active
Example: createPlan Structure
<createPlan>
<planCode>Plan Reference Code</planCode>
<name>Name of Plan</name>
<description>Description of Plan</description>
<intervalType>The Type of Interval</intervalType>
<amount>Amount of Recurring Payment</amount>
<numberOfPayments>1 to 99</numberOfRemianingPayments>
<trialNumberOfIntervals>Number of Trial Period
Intervals</trialNumberOfIntervals>
<trialIntervalType>Type of Trial Period Interval</trialIntervalType>
<active>true or false</active>
</createPlan>
402
LitleXML Elements
4.95 createPlanResponse
The createPlanResponse element is the parent element for the response to a createPlan
transaction.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
None
Child Elements:
planCode, litleTxnId, response, message, responseTime
403
credit
4.96 credit
The credit element is the parent element for all Credit transactions. You can use this element in
either Online or Batch transactions.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
For credits to transactions processed by Vantiv (Required): litleTxnId
For credits to transactions processed by Vantiv (Optional): amount, payPalNotes,
secondaryAmount, surchargeAmount,
NOTE:
If you do not specify an amount child element, the system uses the full
amount from the associated Capture, Force Capture, or Sale transaction.
The amount element is required for credits to transactions not processed
by Vantiv
404
LitleXML Elements
For credits to transactions not processed by Vantiv (Required): orderId, amount, orderSource,
choice of card, token, paypage, mpos, paypal, or applepay
For credits to transactions not processed by Vantiv (Optional): billToAddress,
billMeLaterRequest, amexAggregatorData
For both transaction types (Optional): customBilling, taxType, enhancedData,
processingInstructions, merchantData, actionReason, pos
405
creditLine
4.97 creditLine
The creditLine element is an optional child of the billMeLaterResponseData element
and indicates the credit line of the customer. The amount is specified using a two-digit implied
decimal.
Type = Integer; totalDigits = 8
Parent Elements:
billMeLaterResponseData
Attributes:
None
Child Elements:
None
406
LitleXML Elements
4.98 creditLitleTxnId
The creditLitleTxnId element is the Transaction Id (litleTxnId) of a Credit transaction
automatically submitted under the following conditions:
You submitted a Void transaction to halt the recycling of a declined Sale transaction by the
Recovery/Recycling Engine.
407
creditResponse
4.99 creditResponse
The creditResponse element is the parent element for information returned to you in response
to a Credit transaction. It can be a child of either a litleOnlineResponse element or a
batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
Child Elements:
Required: litleTxnId, response, responseTime, message
Optional: postDate, orderId, tokenResponse, giftCardResponse, applepayResponse
NOTE:
408
LitleXML Elements
4.100 currencyCode
The currencyCode element is an optional child of the applepayResponse element and
provides the 3-character code for the currency used in the transaction.
Type = String; minLength = N/A; maxLength = 3
Parent Elements:
applepayResponse
Attributes:
None
Child Elements:
None
409
customAttribute1
4.101 customAttribute1
The customAttribute1 through customAttribute5 elements are an optional children of the
advancedFraudChecks element. These elements allow users of Advanced Fraud Tools with
self-serve rules to submit additional custom data to ThreatMetrix for inclusion in the ffraud
evaluation process. For example, if you assigned a certain attribute to your customers for
segmentation purposes, you might wish to submit the assigned value and also establish a
ThreatMetix rule so the value was included in the evaluation.
NOTE:
Once you decide to use a particular custom attribute for a particular value
set and establish a rule for its evaluation, you
410
LitleXML Elements
4.102 customBilling
The customBilling element allows you to specify custom billing descriptor information for the
transaction. This billing descriptor is used instead of the descriptor defined as the default billing
descriptor. If you do not define this element, the default is used.
NOTE:
Parent Elements:
authorization, captureGivenAuth, credit, echeckCredit, echeckSale, forceCapture, sale,
Attributes:
None
Child Elements:
Required for card-not-present transactions: phone, or url
NOTE:
411
customBilling
</customBilling>
Example: customBilling Structure - Card-Present
<customBilling>
<city>City</city>
<descriptor>Billing Descriptor</descriptor>
</customBilling>
412
LitleXML Elements
4.103 customerInfo
The customerInfo element is the parent of several child elements use to define customer
information for Bill Me Later transactions.
Parent Elements:
authorization, sale
Attributes:
None
Child Elements:
ssn, dob, customerRegistrationDate, customerType, incomeAmount, employerName,
customerWorkTelephone, residenceStatus, yearsAtResidence, yearsAtEmployer
NOTE:
Although the schema defines all child elements as optional, under certain
conditions ssn, dob, customerRegistrationDate, and customerType
are required for the transaction to succeed.
413
customerIpAddress
4.104 customerIpAddress
The customerIpAddress element is an optional child element of the
cardholderAuthentication element. This element defines the IP Address of the customer's
system. This element is used either for Bill Me Later transactions or to supply the customer IP
Address by merchants enables for American Express Advanced AVS services.
Type = Ip Address; Format = nnn.nnn.nnn.nnn
NOTE:
Parent Elements:
cardholderAuthentication
Attributes:
None
Child Elements:
None
414
LitleXML Elements
4.105 customerReference
The customerReference element defines a reference string used by the customer for the
purchase (for example, a Purchase Order Number). Although the schema defines it as an optional
child of the enhancedData element, it is required by Visa for Level III interchange rates;
however, you should omit this element if it is blank.
Type = String; minLength = 1; maxLength = 17
Parent Elements:
enhancedData
Attributes:
None
Child Elements:
None
415
customerRegistrationDate
4.106 customerRegistrationDate
The customerRegistrationDate element is an optional child of the customerInfo element
defining the earliest date on file with this customer. The latest allowable date is the current date. It
is used in combination with several other elements to provide required information for some Bill
Me Later transactions.
Type = Date; Format = YYYY-MM-DD
NOTE:
In order for a BML transaction to succeed, you must include this element
if the customer does not have a BML account.
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
None
416
LitleXML Elements
4.107 customerType
The customerType element is an optional child of the customerInfo element defining
whether the customer is a new or existing customer. An existing customer is a customer in good
standing that has been registered with the merchant for a minimum of 30 days and has made at
least one purchase in the last 30 days. It is used in combination with several other elements to
provide required information for some Bill Me Later transactions.
Type = Choice (Enum); Enumerations = New or Existing
NOTE:
In order for a BML transaction to succeed, you must include this element
if the customer does not have a BML account.
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
None
417
customerWorkTelephone
4.108 customerWorkTelephone
The customerWorkTelephone element is an optional child of the customerInfo element and
defines the customers work telephone number. It is used in combination with several other
elements to provide information for some Bill Me Later transactions.
Type = String; minLength = N/A; maxLength = 20
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
None
418
LitleXML Elements
4.109 data
The data element is a required child of the applepay element. It is the payment data dictionary,
BASE64 encoded string from the PKPaymentToken.
Type = String; minLength = N/A; maxLength = 2000
Parent Elements:
applepay
Attributes:
None
Child Elements:
None
419
deactivate
4.110 deactivate
The deactvate element is the parent element for the transaction type that deactivate a Gift Card.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
420
LitleXML Elements
4.111 deactivateResponse
The deactivateResponse element is the parent element for information returned to you in
response to a deactivate transaction. It can be a child of either a litleOnlineResponse
element or a batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, fraudResult, giftCardResponse
421
deactivateReversal
4.112 deactivateReversal
The deactvateReversal element is the parent element for the transaction type that reverses the
deactivation of a Gift Card.
Parent Elements:
litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
422
LitleXML Elements
4.113 deactviateReversalResponse
The deactivateReversalResponse element is the parent element for information returned to
you in response to an deactivateReversal transaction.
Parent Elements:
litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, giftCardResponse
423
debtRepayment
4.114 debtRepayment
The debtRepayment element is an optional child of authorization, captureGivenAuth,
forceCapture, and sale transactions. You use this flag only if the method of payment is Visa and
the transaction is a for a debt repayment. Also, your MCC must be either 6012 or 6051. If you set
this flag to true and you are not one of the allowed MCCs, the system declines the transaction
with a Response Reason Code of 852 - Debt Repayment only allowed for VI transactions on
MCCs 6012 and 6051.
Type = Boolean; Valid Values = true or false (default)
Parent Elements:
authorization, captureGivenAuth, forceCapture, sale
Attributes:
None
Child Elements:
None
424
LitleXML Elements
4.115 deleteAddOn
The deleteAddOn element is the parent element used to define an Add On to be removed from
an existing subscription.
Parent Elements:
updateSubscription
Attributes:
None
Child Elements (all Required):
addOnCode
Example: deleteAddOn Structure
<deleteAddOn>
<addOnCode>Add On Reference Code</addOnCode>
</deleteAddOn>
425
deleteDiscount
4.116 deleteDiscount
The deleteDiscount element is the parent element used to define a discount to be removed
from an existing subscription.
Parent Elements:
updateSubscription
Attributes:
None
Child Elements (all Required):
discountCode
Example: deleteDiscount Structure
<deleteDiscount>
<discountCode>Discount Reference Code</discountCode>
</deleteDiscount>
426
LitleXML Elements
4.117 deliveryType
The deliveryType element is an optional child of the enhancedData element and defines the
shipping method used for delivery of the product.
NOTE:
Enumeration
Description
CNC
DIG
Digital Delivery
PHY
Physical Delivery
SVC
Service Delivery
TBD (default)
To be determined.
427
dentalAmount
4.118 dentalAmount
The dentalAmount element is an optional child of the healthcareAmounts element and
defines the healthcare amount used for dental related purchases. The decimal is implied.
Example: 500 = $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
Optional: healthcareAmounts
Attributes:
None
Child Elements:
None
428
LitleXML Elements
4.119 depositReversal
The depositReversal element is the parent element for a Gift Card specific transaction type
that reverses a capture or sale transaction.
Parent Elements:
litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
429
depositReversalResponse
4.120 depositReversalResponse
The depositReversalResponse element is the parent element for information returned to you
in response to an depositReversal transaction.
Parent Elements:
litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, giftCardResponse
430
LitleXML Elements
4.121 description
The description element is an optional child of the createPlan element and provides a text
description of the Plan element.
Type = String; minLength = N/A; maxLength = 100
Parent Elements:
createPlan
Attributes:
None
Child Elements:
None
431
descriptor
4.122 descriptor
The descriptor element is a required child of the customBilling element. This element
defines the text you wish to display on the customer bill, enabling the customer to better
recognize the charge.
Type = String; minLength = N/A; maxLength = 25
NOTE:
you must use an asterisk (*) after the prefix as a separator, in one of the
following positions: 4th, 8th, or 13th. Do not use an asterisk in more
than one position.
Parent Elements:
customBilling
Attributes:
None
Child Elements:
None
432
LitleXML Elements
4.123 destinationCountryCode
The destinationCountryCode element defines the country portion of the postal mailing
address in the enhancedData element.
Type = String (Enum); minLength = N/A; maxLength = 3
NOTE:
Parent Elements:
enhancedData
Attributes:
None
Child Elements:
None
433
destinationPostalCode
4.124 destinationPostalCode
The destinationPostalCode element defines the postal code of the destination in the
enhancedData element.
Type = String; minLength = N/A; maxLength = 20
NOTE:
Parent Elements:
enhancedData
Attributes:
None
Child Elements:
None
434
LitleXML Elements
4.125 detailTax
The detailTax element is an optional child of both the enhancedData and lineItemData
elements, which you use to specify detailed tax information (for example, city or local tax). The
total sum of the detailTax values should match either the salesTax value, if detailTax is a
child of enhancedData, or the taxAmount element if detailTax is a child of lineItemData.
Parent Elements:
enhancedData, lineItemData
NOTE:
Attributes:
None
Child Elements:
Required: taxAmount
Optional: taxIncludedInTotal, taxRate, taxTypeIdentifier, cardAcceptorTaxId
Example: detailTax Structure
<detailTax>
<taxIncludedInTotal>true or false</taxIncludedInTotal>
<taxAmount>Additional Tax Amount</taxAmount>
<taxRate>Tax Rate of This Tax Amount</taxRate>
<taxTypeIdentifier>Tax Type Enum</taxTypeIdentifier>
<cardAcceptorTaxId>Tax ID of Card Acceptor</cardAcceptorTaxId>
</detailTax>
435
deviceManufacturerIdentifier
4.126 deviceManufacturerIdentifier
The deviceManufacturerIdentifier element is an optional child of the
applepayResponse element and defines the manufacturer of the device originating the
transaction.
Type = String; minLength = N/A; maxLength = 20
Parent Elements:
applepayResponse
Attributes:
None
Child Elements:
None
436
LitleXML Elements
4.127 deviceReputationScore
The deviceReputationScore element is a required child of the advancedFraudResults
element and specifies score resulting from the ThreatMetrix analysis of the customer device.
Type = Integer; totalDigits = 8
Parent Elements:
advancedFraudResults
Attributes:
None
Child Elements:
None
437
deviceReviewStatus
4.128 deviceReviewStatus
The deviceReviewStatus element is a required child of the advancedFraudResults
element and specifies the results of the comparison of the deviceReputationScore against the
threshold levels configured for the merchant. Typical values are: pass, fail, review, unavailable,
and invalid_session.
NOTE:
438
LitleXML Elements
4.129 discountAmount
The discountAmount element defines the amount of the discount for the order. Although the
schema defines it as an optional child of the enhancedData element, it is required by Visa for
Level III interchange rates. The decimal is implied. Example: 500 = $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
enhancedData
Attributes:
None
Child Elements:
None
439
discountCode
4.130 discountCode
The discountCode element is the identifier of a defined discount. You use this element when
creating, updating, and deleting a discount applied to a subscription.
Type = String; minLength = N/A; maxLength = 25
Parent Elements:
createDiscount, updateDiscount, deleteDiscount
Attributes:
None
Child Elements:
None
440
LitleXML Elements
4.131 dob
The dob element is an optional child of the customerInfo element. It is used in combination
with several other elements to provide required information for some Bill Me Later transactions.
Type = Date; Format = YYYY-MM-DD
NOTE:
In order for a BML transaction to succeed, you must include this element
if:
the customer has a BML account, but the account has not been
authenticated.
You do not need to include this element if the BML account has been
authenticated.
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
None
441
dutyAmount
4.132 dutyAmount
The dutyAmount element defines duty on the total purchased amount for the order. Although the
schema defines it as an optional child of the enhancedData element, it is required by Visa for
Level III interchange rates. The decimal is implied. Example: 500 = $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
enhancedData
Attributes:
None
Child Elements:
None
442
LitleXML Elements
4.133 echeck
The echeck element is a required child of the echeckSale, echeckVerification, and
echeckCredit (when the credit is against a transaction not originally processed through our
system) elements. It contains child elements used to provide details concerning the eCheck
account.
Parent Elements:
echeckCredit, echeckPreNoteCredit, echeckPreNoteSale, echeckSale, echeckVerification
Attributes:
None
Child Elements:
Required: accType, accNum, routingNum
Optional: checkNum, ccdPaymentInformation
Example: echeck Structure
<echeck>
<accType>Account Type Abbreviation</accType>
<accNum>Account Number</accNum>
<routingNum>Routing Number</routingNum>
<checkNum>Check Number</checkNum>
<ccdPaymentInformation>Payment Description</ccdPaymentInformation>
</echeck>
443
eCheckAccountSuffix
4.134 eCheckAccountSuffix
The eCheckAccountSuffix element is an optional child of the tokenResponse element that
provides the last three characters of the eCheck account number.
Type = String; minLength = 3; maxLength = 3
Parent Elements:
registerTokenResponse, tokenResponse
Attributes:
None
Child Elements:
None
444
LitleXML Elements
4.135 echeckCredit
The echeckCredit element is the parent element for all eCheck Credit transactions. You can
use this element in either Batch or Online transactions.
Parent Elements:
batchRequest, litleOnlineRequest
Attributes:
Attribute
Name
Type
Required? Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
For credits to transactions processed by Vantiv (Required): litleTxnId
For credits to transactions processed by Vantiv (Optional): amount
NOTE:
If you do not specify an amount child element, the system uses the full
amount from the associated echeckSale transaction.
For credits to transactions not processed by Vantiv (Required): orderId, amount, orderSource,
billToAddress, echeckOrEcheckToken (allows the substitution of either the echeck or
echeckToken elements)
For credits to transactions not processed by Vantiv (Optional): merchantData
For both (Optional): customBilling, secondaryAmount
445
echeckCreditResponse
4.136 echeckCreditResponse
The echeckCreditResponse element is the parent element for information returned to you in
response to an echeckCredit transaction.
Parent Elements:
batchResponse, litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
446
LitleXML Elements
4.137 echeckForToken
The echeckForToken element is a child of the registerTokenRequest element. It contains
the routing and account number of the eCheck account which the system uses to generate a token.
Parent Elements:
registerTokenRequest
Attributes:
None
Child Elements:
Required: accNum, routingNum
Example: echeck Structure
<echeckForToken>
<accNum>Account Number</accNum>
<routingNum>Routing Number</routingNum>
</echeckForToken>
447
echeckOrEcheckToken
4.138 echeckOrEcheckToken
The echeckOrEcheckToken element is an abstract that allows the substitution of either the
echeck or echeckToken element. In eCheck transactions, except echeckVoid, you must specify
one of the two substitution elements as a child.
Parent Elements:
echeckCredit, echeckRedeposit, echeckSale, echeckVerification
Substitution Options:
echeck, echeckToken
448
LitleXML Elements
4.139 echeckPreNoteCredit
The echeckPreNoteCredit element is the parent element for all eCheck Prenotification Credit
transactions. You use this transaction type to preform an eCheck Prenotification, when the
subsequent eCheck transaction will be an eCheck Credit transaction. You can use this element
only in Batch transactions. This transaction type is only supprted for US transactions.
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: orderId, orderSource, billToAddress, echeck
Optional: merchantData
449
echeckPreNoteCreditResponse
4.140 echeckPreNoteCreditResponse
The echeckPreNoteCreditResponse element is the parent element for information returned
to you in response to an echeckPreNoteCredit transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
450
LitleXML Elements
4.141 echeckPreNoteSale
The echeckPreNoteSale element is the parent element for all eCheck Prenotification Sale
transactions. You use this transaction type to preform an eCheck Prenotification, when the
subsequent eCheck transaction will be an eCheck Sale transaction. You can use this element only
in Batch transactions. This transaction type is only supprted for US transactions.
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: orderId, orderSource, billToAddress, echeck
Optional: merchantData
451
echeckPreNoteSaleResponse
4.142 echeckPreNoteSaleResponse
The echeckPreNoteSaleResponse element is the parent element for information returned to
you in response to an echeckPreNoteSale transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
452
LitleXML Elements
4.143 echeckRedeposit
The echeckRedeposit element is the parent element for all eCheck Redeposit transactions. You
use this transaction type to manually attempt redeposits of eChecks returned for either Insufficient
Funds or Uncollected Funds. You can use this element in either Batch or Online transactions.
NOTE:
Do not use this transaction type if you are enabled for the Auto Redeposit
feature. If you are enabled for the Auto Redeposit feature, the system will
reject any echeckRedeposit transaction you submit.
Parent Elements:
batchRequest, litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId
Optional: echeckOrEcheckToken (allows the substitution of either the echeck or echeckToken
elements), merchantData
453
echeckRedepositResponse
4.144 echeckRedepositResponse
The echeckRedepositResponse element is the parent element for information returned to you
in response to an echeckRedeposit transaction.
Parent Elements:
batchResponse, litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, response, responseTime, message
Optional: postDate, accountUpdater
NOTE:
454
LitleXML Elements
4.145 echeckSale
The echeckSale element is the parent element for all eCheck Sale transactions. You can use this
element in either Batch or Online transactions.
Parent Elements:
batchRequest, litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: orderId, amount, orderSource, billToAddress, echeckOrEcheckToken (allows the
substitution of either the echeck or echeckToken elements)
NOTE:
The value for the orderSource element must be one of the following:
telephone, ecommerce, recurringtel, or echeckppd.
455
echeckSalesResponse
4.146 echeckSalesResponse
The echeckSalesResponse element is the parent element for information returned to you in
response to an echeckSale transaction.
Parent Elements:
batchResponse, litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, accountUpdater, tokenResponse
NOTE:
456
LitleXML Elements
4.147 echeckToken
The echeckToken element replaces the echeck element in tokenized eCheck transactions and
defines the tokenized account information.
Parent Elements:
echeckCredit, echeckRedeposit, echeckSale, echeckVerification
Attributes:
None
Child Elements:
Required: litleToken, routingNum, accType
Optional: checkNum
Example: echeck Structure
<echeckToken>
<litleToken>Token</litleToken>
<routingNum>Routing Number</routingNum>
<accType>Account Type Abbreviation</accType>
<checkNum>Check Number</checkNum>
</echeckToken>
457
echeckVerification
4.148 echeckVerification
The echeckVerification element is the parent element for all eCheck Verification
transactions. You use this transaction type to initiate a comparison of the consumers account
information against positive/negative databases. You can use this element in either Batch or
Online transactions. This transaction type is only supprted for US transactions.
Parent Elements:
batchRequest, litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: orderId, amount, orderSource, billToAddress, echeckOrEcheckToken (allows the
substitution of either the echeck or echeckToken elements)
Optional: litleTxnId, merchantData
458
LitleXML Elements
4.149 echeckVerificationResponse
The echeckVerificationResponse element is the parent element for information returned to
you in response to a eCheck Verification transaction.
Parent Elements:
batchResponse, litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate
NOTE:
459
echeckVoid
4.150 echeckVoid
The echeckVoid element is the parent element for all eCheck Void transactions. You use this
transaction type to either cancel an eCheck Sale transaction, as long as the transaction has not yet
settled, or halt automatic redeposit attempts of eChecks returned for either Insufficient Funds or
Uncollected Funds. You can use this element only in Online transactions.
Parent Elements:
litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId
460
LitleXML Elements
4.151 echeckVoidResponse
The echeckVoidResponse element is the parent element for information returned to you in
response to an eCheck Void transaction.
Parent Elements:
litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
461
eciIndicator
4.152 eciIndicator
The eciIndicator element is an optional child of the applepayResponse element and
specifies electronic commerce indicator associated with an Apple Pay transaction.
Type = String; minLength = N/A; maxLength = 2
Parent Elements:
applepayResponse
Attributes:
None
Child Elements:
None
462
LitleXML Elements
4.153 email
The email element defines the email address of the customer in both the billToAddress and
shipToAddress elements.
Type = String; minLength = N/A; maxLength = 100
Parent Elements:
billToAddress, shipToAddress
Attributes:
None
Child Elements:
None
463
employerName
4.154 employerName
The employerName element is an optional child of the customerInfo element and defines the
name of the customers place of employment. It is used in combination with several other
elements to provide information for some Bill Me Later transactions.
Type = String; minLength = N/A; maxLength = 20
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
464
LitleXML Elements
4.155 encryptedTrack
The encryptedTrack element is a required child of the mpos element. This element provides
the encrypted track data resulting from a card swipe using a ROAM device.
Type = String; minLength = 1; maxLength = 1028
Parent Elements:
mpos
Attributes:
None
Child Elements:
None
465
endDate
4.156 endDate
The endDate element is a optional child of both the createAddOn and createDiscount
element, where it specifies either the ending date of the Add On charge or the ending date of the
discount.
Type = Date; Format = YYYY-MM-DD
Parent Elements:
createAddOn, createDiscount
Attributes:
None
Child Elements:
None
466
LitleXML Elements
4.157 endingBalance
The endingBalance element is an optional child of the giftCardResponse element. It
defines the available balance on the submitted Gift Card after the requested operation.
NOTE:
467
enhancedAuthResponse
4.158 enhancedAuthResponse
The enhancedAuthResponse element is an optional child of both the
authorizationResponse and saleResponse elements. Through its child elements, it can
provide information concerning whether the card used for the transaction is Prepaid and if so, the
available balance. Depending upon the card used, other elements can indicate affluence, card
product type, prepaid card type, reloadability and whether or not it is a virtual account number.
Parent Elements:
authorizationResponse, saleResponse
Attributes:
None
Child Elements: (all Optional)
fundingSource, affluence, issuerCountry, cardProductType, virtualAccountNumber
Example: enhancedAuthResponse - with fundingSource
<enhancedAuthResponse>
<fundingSource>
<type>PREPAID</type>
<availableBalance>0</availableBalance>
<reloadable>YES|NO|UNKNOWN</reloadable>
<prepaidCardType>GIFT</prepaidCardType>
</fundingSource>
</enhancedAuthResponse>
Example: enhancedAuthResponse - with affluence
<enhancedAuthResponse>
<affluence>AFFLUENT</affluence>
</enhancedAuthResponse>
Example: enhancedAuthResponse - with issuerCountry
<enhancedAuthResponse>
<issuerCountry>MEX</issuerCountry>
</enhancedAuthResponse>
468
LitleXML Elements
469
enhancedData
4.159 enhancedData
The enhancedData element allows you to specify extra information concerning a transaction in
order to qualify for certain purchasing interchange rates. The following tables provide
information about required elements you must submit to achieve Level 2 or Level 3 Interchange
rates for Visa and MasterCard.
In addition to the requirements below, please be aware of the following:
For Visa:
The transaction must be taxable.
The tax charged must be between 0.1% and 22% of the transaction amount.
For Level 3, the transaction must use a a corporate or purchasing card.
For MasterCard:
The transaction must be taxable.
The tax charged must be between 0.1% and 30% of the transaction amount.
For Level 3, the transaction must use a corporate, business, or purchasing card.
NOTE:
You can qualify for MasterCard Level 2 rates without submitting the total
tax amount (submit 0) if your MCC is one of the following: 4111, 4131,
4215, 4784, 8211, 8220, 8398, 9661, 9211, 9222, 9311, 9399, 9402.
You must include at least one line item with amount, description, and quantity defined.
TABLE 4-1
MasterCard Level 2
Data
MasterCard Level 3
Data
customerReference
cardAcceptorTaxId (child of
detailTax)
salesTax
Product Code
Item Description
itemDescription (child of
lineItemData)
Item Quantity
470
TABLE 4-1
LitleXML Elements
MasterCard Level 2
Data
MasterCard Level 3
Data
unitOfMeasure (child of
lineItemData)
or
lineItemTotalWithTax (child of
lineItemData)
TABLE 4-2
Sales Tax
Sales Tax
salesTax
Discount Amount
discountAmount
Freight/Shipping Amount
shippingAmount
Duty Amount
dutyAmount
itemSequenceNumber (child of
lineItemData)
commodityCode (child of
lineItemData)
Item Description
itemDescription (child of
lineItemData)
Product Code
Quantity
Unit of Measure
unitOfMeasure (child of
lineItemData)
unit Cost
itemDiscountAmount (child of
lineItemData)
471
enhancedData
NOTE:
Two child elements, deliveryType and shippingAmount, are required for Bill Me Later
Authorization and Sale transactions.
Parent Elements:
authorization, capture, captureGivenAuth, credit, forceCapture, sale
Child Elements: (all Optional)
customerReference, salesTax, deliveryType, taxExempt, discountAmount, shippingAmount,
dutyAmount, shipFromPostalCode, destinationPostalCode, destinationCountryCode,
invoiceReferenceNumber, orderDate, detailTax, lineItemData
Example: enhancedData Structure
<enhancedData>
<customerReference>Customer Reference</customerReference>
<salesTax>Amount of Sales Tax Included in Transaction</salesTax>
<deliveryType>TBD</deliveryType>
<taxExempt>true or false</taxExempt>
<discountAmount>Discount Amount Applied to Order</discountAmount>
<shippingAmount>Amount to Transport Order</shippingAmount>
<dutyAmount>Duty on Total Purchase Amount</dutyAmount>
<shipFromPostalCode>Ship From Postal Code</shipFromPostalCode>
<destinationPostalCode>Ship To Postal Code</destinationPostalCode>
<destinationCountryCode>Ship To ISO Country Code</destinationCountryCode>
<invoiceReferenceNumber>Merchant Invoice Number</invoiceReferenceNumber>
<orderDate>Date Order Placed</orderDate>
<detailTax>
<taxIncludedInTotal>true or false</taxIncludedInTotal>
<taxAmount>Additional Tax Amount</taxAmount>
<taxRate>Tax Rate of This Tax Amount</taxRate>
472
LitleXML Elements
473
entryMode
4.160 entryMode
The entryMode element is a required child of the pos element, which describes the method used
for card data entry at the point of sale.
Type = String (Enum); minLength = N/A; maxLength = N/A
Parent Elements:
pos
Attributes:
None
Child Elements:
None
Enumerations:
Enumeration
Description
notused
keyed
track1
track 1 read
track2
magnetic stripe read (track 2 when known or when the terminal makes
no distinction between tracks 1 and 2.)
completeread
474
LitleXML Elements
4.161 ephemeralPublicKey
The ephemeralPublicKey element is a required child of the header element and provides the
BASE64 Encoded string of the ephemeral public key bytes from the Apple Pay transaction.
Type = Base 64 Encoded String; minLength = N/A; maxLength = 400
Parent Elements:
header
Attributes:
None
Child Elements:
None
475
expDate
4.162 expDate
The expDate element is a child of the card, token, paypage elements, which specifies the
expiration date of the card and is required for card-not-present transactions.
NOTE:
You should submit whatever expiration date you have on file, regardless
of whether or not it is expired/stale.
We recommend all merchant with recurring and/or installment payments
participate in the Account Updater program.
476
LitleXML Elements
4.163 extendedCardResponse
The extendedCardResponse element is an optional child of the accountUpdater element,
which contains two child elements, code and message. The codes/messages can be either 501 The Account Was Closed. or 504 - Contact the cardholder for updated information.
IMPORTANT:
When using Account Updater (any variation), you must always code to
receive the extendedCardResponse element and its children. We
always return this information whenever applicable regardless of
whether you receive other account updater information in the
transaction response message.
Parent Elements:
accountUpdater
Attributes:
None
Child Elements:
code, message
Example: newCardInfo Structure
<extendedCardResponse>
<message>Message for Code</message>
<code>Either 501 or 504</code>
</extendedCardResponse>
477
filtering
4.164 filtering
The filtering element is an optional child of either the Authorization or Sale request
transaction. You use its child elements to selectively enable/disable the various Basic Fraud
toolkit features. Setting either the <international> or <chargeback> child element to false
disables that filtering feature for the transaction. The <prepaid> child can be set to true to
enable the feature selectively, or set to false to disable the feature for the transaction, if you
elected to use the filter all prepaid configuration option.
Parent Elements:
authorization, sale
Attributes:
None
Child Elements:
Optional: prepaid, international, chargeback
NOTE:
Although included in the schema and shown in the example below, the
<chargeback> element is not supported. To override the chargeback filter
for a selected transaction, use the fraudFilterOverride flag (see
fraudFilterOverride on page 486). Please consult your Customer
Experience Manager for additional information.
478
LitleXML Elements
4.165 finalPayment
The fianlPayment element is a required child of the
litleInternalRecurringRequestType. A value of true indicates that this is the final
payment of the subscription. Since this element is used only in internally generated transaction,
you do not need to code for its use.
Type = Boolean; Valid Values = true or false
Parent Elements:
litleInternalRecurringRequest
Attributes:
None
Child Elements:
None
479
firstName
4.166 firstName
The firstName element is a child of the billtoAddress element, which specifies the first
name of the account holder and is required for echeckVerification transactions.
NOTE:
480
LitleXML Elements
4.167 forceCapture
The forceCapture element is the parent element for all Force Capture transactions. These are
specialized Capture transactions used when you do not have a valid Authorization for the order,
but have fulfilled the order and wish to transfer funds. You can use this element in either Online
or Batch transactions.
CAUTION:
You must be authorized by Litle & Co. before processing this transaction
type. In some instances, using a Force Capture transaction can lead to
chargebacks and fines.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: orderId, amount, orderSource, choice of card, token, mpos, paypage, or applepay
Optional: billToAddress, customBilling, taxType, enhancedData, processingInstructions, pos,
amexAggregatorData, merchantData, secondaryAmount, surchargeAmount, debtRepayment,
481
forceCaptureResponse
4.168 forceCaptureResponse
The forceCaptureResponse element is the parent element for information returned to you in
response to a Force Capture transaction. It can be a child of either a litleOnlineResponse
element or a batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, tokenResponse, accountUpdater, giftCardResponse, applepayResponse
NOTE:
482
LitleXML Elements
4.169 formatId
The formatId element is a required child of the mpos element. This element identifies the
format of the encrypted track submitted from the device.
Type = String; minLength = 1; maxLength = 1028
Parent Elements:
mpos
Attributes:
None
Child Elements:
None
483
fraudCheck
4.170 fraudCheck
The fraudCheck element is the parent element for the standalone Advanced Fraud Check
transaction. You use this transaction type to retrieve the results of the Advanced Fraud Check tool
without submitting an Authorization or Sale transaction. You can use this element only in Online
transactions.
Parent Elements:
litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: advancedFraudChecks
Optional: billToAddress, shipToAddress, amount
484
LitleXML Elements
4.171 fraudCheckResponse
The fraudCheckResponse element is the parent element for information returned to you in
response to a standalone Fraud Check transaction.
Parent Elements:
litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, response, responseTime, message
Optional: advancedFraudResults
485
fraudFilterOverride
4.172 fraudFilterOverride
The fraudFilterOverride element is an optional child of both the authorization and
the sale elements. A setting of true will override (disable) all fraud filters for the submitted
transaction.
Type = Boolean; Valid Values = true or false
Parent Elements:
authorization, sale
Attributes:
None
Child Elements:
None
486
LitleXML Elements
4.173 fraudResult
The fraudResult element is an optional child of the authorizationResponse, the
saleResponse and the authInformation elements. It contains child elements defining any
fraud checking results.
Parent Elements:
activateResponse, authorizationResponse, deactivateResponse, loadResponse, saleResponse,
unloadResponse, authInformation
Attributes:
None
Child Elements: (All Optional)
authenticationResult, avsResult, cardValidationResult, advancedAVSResult,
advancedFraudResults
Example: fraudResult Structure
<fraudResult>
<avsResult>00</avsResult>
<cardValidationResult>N</cardValidationResult>
<authenticationResult>2</authenticationResult>
<advancedAVSResult>011</advancedAVSResult>
<advancedFraudResults>
<deviceReviewStatus>pass, fail, review, or unavailable</deviceReviewStatus>
<deviceReputationScore>Score from ThreatMetix</deviceReputationScore>
<triggeredRule>Triggered Rule_may occur multiple times</triggeredRule>
</advancedFraudResults>
</fraudResult>
NOTE:
487
fundingSource
4.174 fundingSource
The fundingSource element is an optional child of the enhancedAuthResponse element.
Through its child elements, it provides information concerning whether the card used for the
transaction is Prepaid, Credit, Debit, or FSA and if Prepaid, the available balance, the type of
prepaid card, and whether it is reloadable.
Parent Elements:
enhancedAuthResponse
Attributes:
None
Child Elements:
Required: type, availableBalance, reloadable, prepaidCardType
Example: fundingSource Structure
<fundingSource>
<type>PREPAID</type>
<availableBalance>0</availableBalance>
<reloadable>YES|NO|UNKNOWN</reloadable>
<prepaidCardType>GIFT</prepaidCardType>
</fundingSource>
NOTE:
488
LitleXML Elements
4.175 fundingSubmerchantId
The fundingSubmerchantId element is a required child of each funding instruction request
transaction type, where it specifies the identifier of the submerchant whose funds are moved by
the instruction.
NOTE:
If you are processing solely on the Vantiv Core platform or on both the
Vantiv Core and Vantiv eCommerce platforms, the value of the
fundingSubmerchantId is the Vantiv supplied Sub-merchant Merchant
Id.
If you are processing solely on the Vantiv eCommerce platform, the value
of the fundingSubmerchantId is the Litle supplied Sub-merchant
Merchant Id.
489
fundsTransferId
4.176 fundsTransferId
The fundingTransferId element is a required child of each funding instruction
request/response transaction type, where it specifies the PayFac assigned identifier for the
transaction. You must use unique values for each transaction across you entire organization. This
identifier is mirrored in the response messages.
Type = String; minLength = N/A; maxLength = 25
Parent Elements:
payFacCredit, payFacCreditResponse, payFacDebit, payFacDebitResponse, physicalCheckCredit,
physicalCheckCreditResponse, physicalCheckDebit, physicalCheckDebitResponse,
reserveCredit, reserveCreditResponse, reserveDebit, reserveDebitResponse, submerchantCredit,
submerchantCreditResponse, submerchantDebit, submerchantDebitResponse, vendorCredit,
vendorCreditResponse, vendorDebit, vendorDebitResponse
Attributes:
None
Child Elements:
None
490
LitleXML Elements
4.177 giftCardBin
The giftCardBin element is a required child of the virtualGiftCard element defining the
requested BIN of the virtual Gift Card number you are requesting.
NOTE:
491
giftCardResponse
4.178 giftCardResponse
The giftCardResponse element is an optional child of several transaction types. Through its
child elements, it provides details about the beginning, ending, and available balance on a Gift
Card, as well as the cash back amount, if applicable.
Parent Elements:
activateResponse, activateReversalResponse, authorizationResponse, authReversalResponse,
balanceInquiryResponse, captureGivenAuthResponse, captureResponse, creditResponse,
deactivateResponse, deactviateReversalResponse, depositReversalResponse,
forceCaptureResponse, loadResponse, loadReversalResponse, refundReversalResponse,
saleResponse, unloadResponse, unloadReversalResponse
Attributes:
None
Child Elements (All Optional, but must contain at least one child):
Optional: availableBalance, beginningBalance, endingBalance, cashBackAmount
NOTE:
492
LitleXML Elements
4.179 header
The header element is a required child of the applepay element. Its child elements provides
information required to process the Apple Pay transaction.
Type = String; minLength = N/A; maxLength = 10000
Parent Elements:
applepay
Attributes:
None
Child Elements (All Optional, but must contain at least one child):
Optional: applicationData, ephemeralPublicKey, publicKeyHash, transactionId
Example: header Structure
<header>Password</header>
<applicationData>Base64 Hash of App Data Property</applicationData>
<ephemeralPublicKey>Base64 Encoded Ephemeral Public Key</ephemeralPublicKey>
<publicKeyHash>Base64 Hash of Public Key Bytes from Merchant
Certtificate</publicKeyHash>
<transactionId>Hex Transaction Id</transactionId>
</header>
493
healthcareAmounts
4.180 healthcareAmounts
The healthcareAmount element is a required child of the healthcareIIAS element. Through
its child elements, it provides details about the dollar amount and type of IIAS qualified items
purchased using Healthcare Prepaid cards.
The value used for the totalHealthcareAmount child must be the sum of the values applied to
the following elements: RxAmount, visionAmount, clinicOtherAmount, and
dentalAmount.
Parent Elements:
healthcareIIAS
Attributes:
None
Child Elements:
Required: totalHealthcareAmount
Optional: RxAmount, visionAmount, clinicOtherAmount, dentalAmount
Example: fundingSource Structure
<healthcareAmounts>
<totalHealthcareAmount>Total of Healthcare Items</totalHealthcareAmount>
<RxAmount>Amount for Medications</RxAmount>
<visionAmount>Amount for Vision Items</visionAmount>
<clinicOtherAmount>Amount for Clinic Charges</clinicOtherAmount>
<dentalAmount>Amount for Dental Charges</dentalAmount>
</healthcareAmounts>
494
LitleXML Elements
4.181 healthcareIIAS
The healthcareIIAS element is an optional child of Authorization and Sale transactions.
Through its child elements, it provides information about IIAS qualified items purchased using
Healthcare Prepaid cards.
Parent Elements:
authorization, sale
Attributes:
None
Child Elements:
Required: healthcareAmounts, IIASFlag
Example: fundingSource Structure
<healthcareIIAS>
<healthcareAmounts>
<totalHealthcareAmount>Total of Healthcare Items</totalHealthcareAmount>
<RxAmount>Amount for Medications</RxAmount>
<visionAmount>Amount for Vision Items</visionAmount>
<clinicOtherAmount>Amount for Clinic Charges</clinicOtherAmount>
<dentalAmount>Amount for Dental Charges</dentalAmount>
</healthcareAmounts>
<IIASFlag>Y</IIASFlag>
</healthcareIIAS>
495
IIASFlag
4.182 IIASFlag
The IIASFlag element is a required child of the healthcareIIAS element. This element only
supports a value of Y.
Type = String (enum); minLength = N/A; maxLength = 1; Valid Value = Y
Parent Elements:
healthcareIIAS
Child Elements:
None
496
LitleXML Elements
4.183 incomeAmount
The incomeAmount element is an optional child of the customerInfo element and defines the
yearly income of the customer. It is used in combination with several other elements to provide
information for some Bill Me Later transactions.
Type = Long; minLength = N/A; maxLength = N/A
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
None
497
incomeCurrency
4.184 incomeCurrency
The incomeCurrency element is an optional child of the customerInfo element and defines
the currency of the incomeAmount element. The default value is USD (United States Dollars). It
is used in combination with several other elements to provide information for some Bill Me Later
transactions.
Type = String (Enum); minLength = N/A; maxLength = N/A
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
None
Enumerations:
Enumeration
Description
AUD
Australian Dollar
CAD
Canadian Dollar
CHF
Swiss Francs
DKK
Denmark Kroner
EUR
Euro
GBP
HKD
JPY
Japanese Yen
NOK
Norwegian Krone
NZD
SEK
Swedish Kronor
SGD
Singapore Dollar
USD (default)
498
LitleXML Elements
4.185 international
The international element is an optional child of the filtering element. To disable the
filtering operation for a selected transaction include the international element with a setting
of false.
Type = Boolean; Valid Value = false
Parent Elements:
filtering
Attributes:
None
Child Elements:
None
499
intervalType
4.186 intervalType
The intervalType element is a required child of the createPlan element and defines the billing
period associated with the Plan.
Type = String (enum); minLength = N/A; maxLength = N/A
Parent Elements:
createPlan
Attributes:
None
Child Elements:
None
Enumerations:
Enumeration
Description
ANNUAL
SEMIANNUAL
QUARTERLY
MONTHLY
WEEKLY
500
LitleXML Elements
4.187 invoiceReferenceNumber
The invoiceReferenceNumber element is an optional child of the enhancedData element,
which specifies the merchants invoice number. If you do not know the invoice number, do not
include this element.
Type = String; minLength = 1; maxLength = 15
Parent Elements:
enhancedData
Attributes:
None
Child Elements:
None
501
issuerCountry
4.188 issuerCountry
The issuerCountry element is an optional child of the enhancedAuthResponse element,
which defines the country of the bank that issued the card submitted in the Authorization or Sale
transaction.
Type = String; minLength = N/A; maxLength = 3
Parent Elements:
enhancedAuthResponse
Attributes:
None
Child Elements:
None
502
LitleXML Elements
4.189 itemCategoryCode
The itemCategoryCode element is an optional child of the billMeLaterRequest element
and defines the Bill Me Later item category for the type of product sold.
NOTE:
503
itemDescription
4.190 itemDescription
The itemDescription element is a required child of the lineItemData element, which
provides a brief text description of the item purchased.
Type = String; minLength = N/A; maxLength = 26
Parent Elements:
lineItemData
Attributes:
None
Child Elements:
None
504
LitleXML Elements
4.191 itemDiscountAmount
The itemDiscountAmount element is an optional child of the lineItemData element, which
specifies the item discount amount. Although an optional element, it is required by Visa for Level
III Interchange rates. The value must be greater than or equal to 0. The decimal is implied.
Example: 500 = $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
lineItemData
Attributes:
None
Child Elements:
None
505
itemSequenceNumber
4.192 itemSequenceNumber
The itemSequenceNumber element is an optional child of the lineItemData element
(required for Visa transactions). When providing line item data, you must number each item
sequentially starting with 1.
Type = Integer; minInclusive value = 1, maxInclusive value = 99
Parent Elements:
lineItemData
Attributes:
None
Child Elements:
None
506
LitleXML Elements
4.193 ksn
The ksn element is a required child of the mpos element. This element defines the Key serial
Number returned from the encrypting device. It is created automatically from the unique
identifier of the device and an internal transaction counter.
Type = String; minLength = 1; maxLength = 1028
Parent Elements:
mpos
Attributes:
None
Child Elements:
None
507
lastName
4.194 lastName
The lastName element is a child of the billtoAddress element, which specifies the last name
of the account holder and is required for echeckVerification transactions.
NOTE:
508
LitleXML Elements
4.195 lineItemData
The lineItemData element contains several child elements used to define information
concerning individual items in the order. Although the schema defines it as an optional child of
the enhancedData element, it is required for Level III interchange rates.
NOTE:
Parent Elements:
enhancedData
Attributes:
None
Child Elements:
Required: itemDescription
Optional: itemSequenceNumber, productCode, quantity, unitOfMeasure, taxAmount,
lineItemTotal, lineItemTotalWithTax, itemDiscountAmount, commodityCode, unitCost, detailTax
NOTE:
509
lineItemData
510
LitleXML Elements
4.196 lineItemTotal
The lineItemTotal element is an optional child of the lineItemData element, which
specifies the total cost of the line items purchased, not including tax. For example, if the order
was for 500 pencils at $1.00 each, the lineItemTotal would be $500. Although an optional
element, it is required by Visa and MasterCard when specifying line item data. The decimal is
implied. Example: 500 = $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
lineItemData
Attributes:
None
Child Elements:
None
511
lineItemTotalWithTax
4.197 lineItemTotalWithTax
The lineItemTotalWithTax element is an optional child of the lineItemData element,
which specifies the total cost of the line items purchased including tax. If the tax is not known, do
not include this element. The decimal is implied. Example: 500 = $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
lineItemData
Attributes:
None
Child Elements:
None
512
LitleXML Elements
4.198 litleInternalRecurringRequest
The litleInternalRecurringRequest element and its children is an element structure that
exists solely for internally (to system) generated transactions associated with recurring payments
managed by the Recurring engine. You do not need to code for this structure.
Parent Elements:
sale
Attributes:
None
Child Elements:
subscriptionId, recurringTxnId, finalPayment
513
litleOnlineRequest
4.199 litleOnlineRequest
This is the root element for all LitleXML Online requests.
Parent Elements:
None
Attributes:
Attribute Name
Type
Required?
Description
version
String
Yes
xmlns
String
Yes
merchantId
String
Yes
loggedInUser
String
No
Child Elements:
Required: authentication
One of the following required: activate, activateReversal, authorization, authReversal,
balanceInquiry, cancelSubscription, capture, captureGivenAuth, createPlan, credit, deactivate,
deactivateReversal, depositReversal, echeckCredit, echeckRedeposit, echeckSale,
echeckVerification, echeckVoid, forceCapture, fraudCheck, load, loadReversal,
registerTokenRequest, refundReversal, sale, unload, updateCardValidationNumOnToken,
updatePlan, updateSubscription, unloadReversal, void
514
LitleXML Elements
4.200 litleOnlineResponse
This is the root element for all LitleXML Online responses.
Parent Elements:
None
Attributes:
Attribute Name
Type
Required?
Description
version
String
Yes
xmlns
String
Yes
response
String
Yes
515
litleOnlineResponse
Attribute Name
Type
Required?
Description
message
String
Yes
Child Elements:
One of the following required: activateResponse, activateReversalResponse,
authorizationResponse, authReversalResponse, balanceInquiryResponse,
cancelSubscriptionResponse, captureGivenAuthResponse, captureResponse, createPlanResponse,
deactivateResponse, deactviateReversalResponse, depositReversalResponse, creditResponse,
echeckCreditResponse, echeckRedepositResponse, echeckSalesResponse,
echeckVerificationResponse, forceCaptureResponse, loadResponse, loadReversalResponse,
refundReversalResponse, registerTokenResponse, saleResponse, unloadResponse,
unloadReversalResponse, updateCardValidationNumOnTokenResponse, voidResponse,
updatePlanResponse, updateSubscriptionResponse
516
LitleXML Elements
4.201 litleRequest
This is the root element for all LitleXML Batch requests.
Parent Elements:
None
Attributes:
Attribute Name
Type
Required?
Description
version
String
Yes
xmlns
String
Yes
id
String
No
numBatchRequests
Integer
Yes
Child Elements:
Required: authentication
One of the following required: batchRequest, RFRRequest
517
litleResponse
4.202 litleResponse
This is the root element for all LitleXML Batch responses.
Parent Elements:
None
Attributes:
Attribute Name
Type
Required?
Description
version
String
Yes
xmlns
String
Yes
id
String
No
response
String
Yes
518
LitleXML Elements
Attribute Name
Type
Required?
Description
message
String
Yes
litleSessionId
Long
Yes
Child Elements:
One of the following required: batchResponse, RFRResponse
519
litleSessionId
4.203 litleSessionId
The litleSessionId element is a child of the RFRRequest element used to request the
response from a previously submitted Batch. The value of the litleSessionId must be the
same at the value returned in the corresponding attribute of the litleResponse.
Type = Long; minLength = N/A; maxLength = 19
Parent Elements:
RFRRequest
Attributes:
None
Child Elements:
None
520
LitleXML Elements
4.204 litleToken
The litleToken element defines the value of the token. The system returns this value in XML
responses when issuing new tokens to replace account numbers. The length of the token is the
same as the length of the submitted account number for credit card tokens or a fixed length of
seventeen (17) characters for eCheck account tokens.
Type = String; minLength = 13; maxLength = 25
Parent Elements:
The litleToken element is an optional child of each listed parent element.
registerTokenResponse, tokenResponse, newCardTokenInfo, originalCardTokenInfo,
originalToken, originalTokenInfo, newTokenInfo, updatedToken, token, echeckToken
Attributes:
None
Child Elements:
None
521
litleTxnId
4.205 litleTxnId
The litleTxnId element is used to identify transactions in the system. The system returns this
element in XML responses. You use it in various requests to reference the original transaction.
For example, when you submit a Capture transaction, you include the litleTxnId for the
associated Authorization.
Type = Long; minLength = N/A; maxLength = 19
Parent Elements:
This element is a required child of the following: accountUpdateResponse, activateResponse,
activateReversal, activateReversalResponse, authorizationResponse, authReversalResponse,
capture, captureResponse, credit, creditResponse, captureGivenAuthResponse,
deactivateResponse, deactivateReversal, deactviateReversalResponse, depositReversal,
depositReversalResponse, echeckCredit, echeckCreditResponse, echeckPreNoteCreditResponse,
echeckPreNoteSaleResponse, echeckRedeposit, echeckRedepositResponse,
echeckSalesResponse, echeckVerificationResponse, echeckVoid, echeckVoidResponse,
forceCapture, forceCaptureResponse, fraudCheckResponse, loadResponse, loadReversal,
loadReversalResponse, payFacCreditResponse, payFacDebitResponse,
physicalCheckCreditResponse, physicalCheckDebitResponse, refundReversal,
refundReversalResponse, saleResponse, unloadResponse, void, voidResponse,
cancelSubscriptionResponse, updatePlanResponse, updateSubscriptionResponse, unloadReversal,
unloadReversalResponse, submerchantCreditResponse, submerchantDebitResponse,
vendorCreditResponse, vendorDebitResponse
NOTE:
Attributes:
None
Child Elements:
None
522
LitleXML Elements
4.206 load
The load element is the parent element for the transaction type that adds funds to a reloadable
Gift Card.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
523
loadResponse
4.207 loadResponse
The loadResponse element is the parent element for information returned to you in response to
a load transaction. It can be a child of either a litleOnlineResponse element or a
batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, fraudResult, giftCardResponse
524
LitleXML Elements
4.208 loadReversal
The loadReversal element is the parent element for the transaction type that reverses the
loading of a Gift Card.
Parent Elements:
litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
525
loadReversalResponse
4.209 loadReversalResponse
The loadReversalResponse element is the parent element for information returned to you in
response to an loadReversal transaction.
Parent Elements:
litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, giftCardResponse
526
LitleXML Elements
4.210 merchantData
The merchantData element is an optional child element of several transaction types. You can
use its children to track transactions based upon marketing campaigns, affiliates, or other user
defined parameter.
Parent Elements:
authorization, captureGivenAuth, credit, echeckCredit, echeckPreNoteCredit, echeckPreNoteSale,
echeckRedeposit, echeckSale, echeckVerification, forceCapture, sale
Attributes:
None
Child Elements (all optional):
affiliate, campaign, merchantGroupingId
527
merchantGroupingId
4.211 merchantGroupingId
The merchantGroupingId element is an optional child element of the merchantData
element. You can use it to track transactions based upon this user defined parameter.
Type = String; minLength = N/A; maxLength = 25
Parent Elements:
merchantData
Attributes:
None
Child Elements:
None
528
LitleXML Elements
4.212 merchantId
The merchantId element is a child of the accountUpdateFileRequestData element used
when you request an Account Update file. This value is a unique string used to identify the
merchant within the system.
Type = String; minLength = N/A; maxLength = 50
Parent Elements:
accountUpdateFileRequestData
Attributes:
None
Child Elements:
None
NOTE:
529
message
4.213 message
The message element contains a brief definition of the response code returned for the
transaction.
When it is a child of the extendedCardResponse element, the only values allowed are either
"The account was closed," or "Contact the cardholder for updated information."
For a complete list of response codes and associated messages, please refer to Appendix A.
Type = String; minLength = N/A; maxLength = 512
Parent Elements:
activateResponse, activateReversalResponse, authorizationResponse, captureResponse,
captureGivenAuthResponse, creditResponse, deactivateResponse, deactviateReversalResponse,
depositReversalResponse, echeckCreditResponse, echeckPreNoteCreditResponse,
echeckPreNoteSaleResponse, echeckRedepositResponse, echeckSalesResponse,
echeckVerificationResponse, echeckVoidResponse, extendedCardResponse,
forceCaptureResponse, fraudCheckResponse, loadResponse, loadReversalResponse,
refundReversalResponse, saleResponse, unloadResponse, unloadReversalResponse,
voidResponse, cancelSubscriptionResponse,updatePlanResponse, updateSubscriptionResponse,
payFacCreditResponse, payFacDebitResponse, physicalCheckCreditResponse,
physicalCheckDebitResponse, reserveCreditResponse, reserveDebitResponse,
submerchantCreditResponse, submerchantDebitResponse, vendorCreditResponse,
vendorDebitResponse
Attributes:
None
Child Elements:
None
530
LitleXML Elements
4.214 middleInitial
The middleInitial element is a child of the billtoAddress element, which specifies the
middle initial of the account holder. It is an optional element used for echeckVerification
transactions.
Type = String; minLength = N/A; maxLength = 1
Parent Elements:
billToAddress
Attributes:
None
Child Elements:
None
531
mpos
4.215 mpos
The mpos element defines payment card information when the transaction originates with a
ROAM device.
Parent Elements:
authorization, captureGivenAuth, credit, forceCapture, sale, registerTokenRequest
Attributes:
None
Child Elements: (all Required)
ksn, formatId, encryptedTrack, track1Status, track2Status
Example: mpos Structure
<mpos>
<ksn>Key Serial Number</ksn>
<formatId>Format of Encrypted Track</formatId>
<encrytpedTrack>Encrypted Track Data</encrytpedTrack>
<track1Status>Card Validation Number</track1Status>
<track2Status>Card Validation Number</track2Status>
</mpos>
532
LitleXML Elements
4.216 name
The name element defines the customer name in both the billToAddress and shipToAddress
elements. When used as a child of one of the Recurring Engine associated parents (i.e.,
createAddOn, updateAddOn, createDiscount, updateDiscount, or createPlan), the
name element specifies the name of the parent item being created/updated.
Type = String; minLength = N/A; maxLength = 100
Parent Elements:
billToAddress, shipToAddress, createAddOn, updateAddOn, createDiscount, updateDiscount,
createPlan
NOTE:
Attributes:
None
Child Elements:
None
533
newAccountInfo
4.217 newAccountInfo
The newAccountInfo element is an optional child of the accountUpdater element, which
contains child elements providing the updated information for the submitted account.
Parent Elements:
accountUpdater
Attributes:
None
Child Elements:
accType, accNum, routingNum
Example: newAccountInfo Structure
<newAccountInfo>
<accType>Account Type</accType>
<accNum>New Account Number</accNum>
<routingNum>New Routing Number</routingNum>
</newAccountInfo>
534
LitleXML Elements
4.218 newCardInfo
The newCardInfo element is an optional child of the accountUpdater element, which
contains child elements providing the updated information for the submitted card.
Parent Elements:
accountUpdater
Attributes:
None
Child Elements:
type, number, expDate
Example: newCardInfo Structure
<newCardInfo>
<type>Card Type</type>
<number>New Account Number</number>
<expDate>New Expiration Date</expDate>
</newCardInfo>
535
newCardTokenInfo
4.219 newCardTokenInfo
The newCardTokenInfo element is an optional child of the accountUpdater element, which
contains child elements providing the updated token information for the submitted token.
Parent Elements:
accountUpdater
Attributes:
None
Child Elements:
litleToken, type, expDate, bin
Example: newCardInfo Structure
<newCardTokenInfo>
<litleToken>New Token</litletoken>
<type>Card Type</type>
<expDate>New Expiration Date</expDate>
<bin>New Card BIN</bin>
</newCardTokenInfo>
536
LitleXML Elements
4.220 newTokenInfo
The newTokenInfo element is an optional child of the accountUpdater element, which
contains child elements providing the updated information for the submitted account. The system
returns this information when processing a tokenized eCheck transactions and a change (NOC) is
found against the account.
Parent Elements:
accountUpdater
Attributes:
None
Child Elements:
accType, litleToken, routingNum
Example: newAccountInfo Structure
<newTokenInfo>
<accType>Account Type</accType>
<litleToken>New Token Number</litleToken>
<routingNum>New Routing Number</routingNum>
</newTokenInfo>
537
nextRecycleTime
4.221 nextRecycleTime
The nextRecycleTime element is an optional child of the recycleAdvice element, which
specifies the date and time (in GMT) recommended for the next recycle of the declined
Authorization/Sale transaction. The format of the element is YYYY-MM-DDTHH:MM:SSZ. For
example, 2011-04-21T11:00:00Z.
NOTE:
Per the ISO8601 standard, the Z appended to the end of the date/time
stamp indicates the time is GMT.
Parent Elements:
recycleAdvice
Attributes:
None
Child Elements:
None
538
LitleXML Elements
4.222 number
The number element is defines the account number associated with the transaction or the new/old
account number associated with an update. This is a required child of the card element for
card-not-present transactions.
Type = String; minLength = 13; maxLength = 25
Parent Elements:
accountInformation, card, newCardInfo, originalCardInfo
Attributes:
None
Child Elements:
None
539
numberOfPayments
4.223 numberOfPayments
The numberOfPayments element is defines the number of payments in a recurring billing plan
including the initial payment. The timing of subsequent charges is defined by the planCode
element. This element is an optional child of both the subscription, and createPlan
elements. When submitted as a child of the subscription element, the value overrides the
default value defined in the Plan.
NOTE:
540
LitleXML Elements
4.224 onlinePaymentCryptogram
The onlinePaymentCryptogram element is a required child of the applepayResponse
element and provides the BASE64 Encoded signature cryptogram associated with the Apple Pay
transaction.
Type = Base 64 Encoded String; minLength = N/A; maxLength = 56
Parent Elements:
applepayResponse
Attributes:
None
Child Elements:
None
541
orderDate
4.225 orderDate
The orderDate element is an optional child of the enhancedData element, which specifies the
date the order was placed. If you do not know the order date, do not include this element.
Type = Date; Format = YYYY-MM-DD
Parent Elements:
enhancedData
Attributes:
None
Child Elements:
None
542
LitleXML Elements
4.226 orderId
The orderId element defines a merchant-assigned value representing the order in the merchants
system.
Type = String; minLength = N/A; maxLength = 25
NOTE:
If you are using the orderId element as the transaction signature for the
Recycling Engine, do not use the pipe character ("|") in the orderId. Use of
the pipe character in this scenario will cause recycling errors.
Parent Elements:
accountUpdate, accountUpdateResponse, activate, activateResponse, activateReversalResponse,
authorization, authorizationResponse, balanceInquiry, captureResponse, credit, creditResponse,
captureGivenAuth, captureGivenAuthResponse, deactivate, deactivateResponse,
deactviateReversalResponse, depositReversalResponse, echeckCredit, echeckCreditResponse,
echeckPreNoteCredit, echeckPreNoteSaleResponse, echeckPreNoteCreditResponse,
echeckPreNoteSale, echeckSale, echeckSalesResponse, echeckVerification,
echeckVerificationResponse, forceCapture, forceCaptureResponse, load, loadResponse,
loadReversalResponse, refundReversalResponse, registerTokenRequest, sale, saleResponse,
unload, unloadResponse, unloadReversalResponse
Attributes:
None
Child Elements:
None
543
orderSource
4.227 orderSource
The orderSource element defines the order entry source for the type of transaction.
Type = Choice (enum); minLength = N/A; maxLength = N/A
Parent Elements:
activate, authorization, balanceInquiry, captureGivenAuth, credit, deactivate, echeckCredit,
echeckPreNoteCredit, echeckPreNoteSale, echeckSale, echeckVerification forceCapture, load,
sale, unload
Attributes:
None
Child Elements:
None
Enumerations:
NOTE:
If you submit the wrong orderSource value, we return the response code
370 - Internal System Error - Contact Litle.
Bill Me Later transactions must use an orderSource of either
ecommerce, mailorder, or telephone. Use of other types will cause the
authorization to fail.
eCheckSale transactions must use an orderSource of one of the
following: telephone, ecommerce, echeckppd, or recurringtel.
Enumeration
Description
3dsAuthenticated
Use this value only if you authenticated the cardholder via an approved 3DS
system such as Visa Verified By Visa and MasterCard SecureCode. This value
applies to Visa and MasterCard transactions only.
NOTE: Your Merchant Profile must be configured to process 3DS type
payments and accept this value.
544
LitleXML Elements
Enumeration
Description
3dsAttempted
Use this value only if you attempted to authenticate the cardholder via an
approved 3DS system such as Visa VerifiedByVisa and MasterCard SecureCode,
but either the Issuer or cardholder is not participating in the 3DS program. This
value applies to Visa and MasterCard transactions only. If this is a MasterCard
transaction, you must include the authenticationValue returned by
MasterCard.
NOTE: Your Merchant Profile must be configured to process 3DS type
payments and accept this value.
echeckppd
(eCheck only) Use this value for eCheck PPD transactions (Prearranged
Payment and Deposit Entries). This type of transaction occurs when a merchants
receives a written authorization, including a voided paper check, from a consumer
so that the merchant can debit the consumer account. These transactions can be
single entry or recurring debits to a consumer's account.
ecommerce
installment
mailorder
recurring
The transaction is a recurring transaction. For Visa transactions, you can use this
value for all transactions in a recurring stream including the initial transaction.
retail
telephone
recurringtel
applepay
545
originalAccountInfo
4.228 originalAccountInfo
The originalAccountInfo element is an optional child of the accountUpdater element,
which contains child elements providing the original information for the submitted account.
Parent Elements:
accountUpdater
Attributes:
None
Child Elements:
accType, accNum, routingNum
Example: originalAccountInfo Structure
<originalAccountInfo>
<accType>Account Type</accType>
<litleToken>Original Token Number</litleToken>
<routingNum>Original Routing Number</routingNum>
</originalAccountInfo>
546
LitleXML Elements
4.229 originalCard
The originalCard element is an optional child of the accountUpdateResponse element,
which contains child elements providing the original information for the submitted card.
Parent Elements:
accountUpdateResponse
Attributes:
None
Child Elements:
type, number, expDate
Example: originalCard Structure
<originalCard>
<type>Card Type</type>
<number>Old Account Number</number>
<expDate>Old Expiration Date</expDate>
</originalCard>
547
originalCardInfo
4.230 originalCardInfo
The originalCardInfo element is an optional child of the accountUpdater element, which
contains child elements providing the original information for the submitted card.
Parent Elements:
accountUpdater
Attributes:
None
Child Elements:
type, number, expDate
Example: originalCard Structure
<originalCardInfo>
<type>Card Type</type>
<number>Old Account Number</number>
<expDate>Old Expiration Date</expDate>
</originalCardInfo>
548
LitleXML Elements
4.231 originalCardTokenInfo
The originalCardTokenInfo element is an optional child of the accountUpdater element,
which contains child elements providing the original information for the submitted token.
Parent Elements:
accountUpdater
Attributes:
None
Child Elements:
litleToken, type, expDate, bin
Example: originalCard Structure
<originalCardTokenInfo>
<litleToken>Old Token</litleToken>
<type>Card Type</type>
<expDate>Old Expiration Date</expDate>
<bin>Old Card BIN</bin>
</originalCardTokenInfo>
549
originalToken
4.232 originalToken
The originalToken element is an optional child of the accountUpdateResponse element,
which contains child elements providing the original information for the submitted token.
Parent Elements:
accountUpdateResponse
Attributes:
None
Child Elements:
type, number, expDate, bin
Example: originalCard Structure
<originalToken>
<litleToken>Old Token Number</litleToken>
<expDate>Old Expiration Date</expDate>
<type>Card Type</type>
<bin>Card BIN</bin>
</originalToken>
550
LitleXML Elements
4.233 originalTokenInfo
The originalTokenInfo element is an optional child of the accountUpdater element, which
contains child elements providing the original token information for the submitted account. The
system returns this information when processing a tokenized eCheck transactions and a change
(NOC) is found against the account.
Parent Elements:
accountUpdater
Attributes:
None
Child Elements:
accType, litleToken, routingNum
Example: originalAccountInfo Structure
<originalTokenInfo>
<accType>Account Type</accType>
<litletoken>Old Account Number</litletoken>
<routingNum>Old Routing Number</routingNum>
</originalTokenInfo>
551
password
4.234 password
The password element is a required child of the authentication element. It is used in
combination with the user element to authenticate that the message is from a valid source.
Type = String; minLength = N/A; maxLength = 20
Parent Elements:
authentication
Attributes:
None
Child Elements:
None
552
LitleXML Elements
4.235 payerId
The payerId element is a required child of the paypal element for all cases except for an
Online Credit transaction, where you can choose between this element and the payerEmail
element. This element specifies the Payer Id returned from PayPal.
NOTE:
The value of the <payerId> element must match the PAYERID value
returned by the GetExpressCheckout call operation to PayPal.
553
payFacCredit
4.236 payFacCredit
The payFacCredit element is the parent element for the transaction type that a PayFac uses to
distribute funds to themselves (i.e., from the PayFac Settlement Account to the PayFac Operating
Account).
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: amount, fundingSubmerchantId, fundsTransferId
554
LitleXML Elements
4.237 payFacCreditResponse
The payFacCreditResponse element is the parent element for information returned to you in
response to a payFacCredit transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: litleTxnId, fundsTransferId, response, responseTime, message
555
payFacDebit
4.238 payFacDebit
The payFacDebit element is the parent element for the transaction type that a PayFac uses to
move funds from the PayFac Operating Account back to the PayFac Settlement Account.
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: amount, fundingSubmerchantId, fundsTransferId
556
LitleXML Elements
4.239 payFacDebitResponse
The payFacDebitResponse element is the parent element for information returned to you in
response to a payFacDebit transaction.
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: litleTxnId, fundsTransferId, response, responseTime, message
557
paymentDataType
4.240 paymentDataType
The paymentDataType element is an optional child of the applepayResponse element and
specifies data type of the payment data associated with an Apple Pay transaction.
Type = String; minLength = N/A; maxLength = 20
Parent Elements:
applepayResponse
Attributes:
None
Child Elements:
None
558
LitleXML Elements
4.241 paypage
The paypage element defines Pay Page account information. It replaces the card or token
elements in transactions using the Pay Page feature of the Vault solution. When you submit the
paypage element in a request, response messages will include token information.
Parent Elements:
authorization, captureGivenAuth, credit, forceCapture, sale, updateSubscription
Attributes:
None
Child Elements:
Required: paypageRegistrationId
Optional: expDate, cardValidationNum, type
NOTE:
559
paypageRegistrationId
4.242 paypageRegistrationId
The paypageRegistrationId element is a required child of the paypage element, and
specifies the Pay Page Registration ID generated by securepaypage.litle.com (Pay Page). It can
also be used in a Register Token Request to obtain a token based on Pay Page activity prior to
submitting an Authorization or Sale transaction.
Type = String; minLength = N/A; maxLength = 512
Parent Elements:
paypage, registerTokenRequest
Attributes:
None
Child Elements:
None
560
LitleXML Elements
4.243 paypal
The paypal element defines paypal account information. It replaces the card or token elements
in transactions using PayPal as a payment method.
Parent Elements:
authorization, sale
Attributes:
None
Child Elements:
Required: payerId, transactionId
Optional: token
Example: paypal Structure
<paypal>
<payerId>PayPal Customer Identifier</payerId>
<token>Token Value Returned</token>
<transactionId>PayPal Transaction ID</transactionId>
</paypal>
561
payPalNotes
4.244 payPalNotes
The payPalNotes element is an optional child of multiple transaction types. You use this field to
record additional information about the PayPal transaction.
Type = String; Type = String; minLength = N/A; maxLength = 255
Parent Elements:
authReversal, capture, credit, sale
Attributes:
None
Child Elements:
None
562
LitleXML Elements
4.245 payPalOrderComplete
The payPalOrderComplete element is an optional child of both the capture and sale
elements, but is required to close a PayPal order. Set the value to true to close the order, when
you have fulfilled the order and do not need to send any further auths or deposits against it. Set
the value to false to keep the order open for additional auths or deposits.
Type = Boolean; Valid values = true or false
Parent Elements:
capture, sale
Attributes:
None
Child Elements:
None
563
phone
4.246 phone
The phone element has two different uses in LitleXML depending upon the parent element.
When used as a child of either the billToAddress or shipToAddress elements, it defines the
customers phone number. When used as a child of the customBilling element, it defines the
phone number of the merchant.
564
LitleXML Elements
4.247 physicalCheckCredit
The physicalCheckCredit element is the parent element for the transaction type that a PayFac
uses to distribute funds to a third party who issues physical checks on the PayFacs behalf. (i.e.,
from the PayFac Settlement Account to the Third Party Account).
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: amount, fundingSubmerchantId, fundsTransferId
565
physicalCheckCreditResponse
4.248 physicalCheckCreditResponse
The physicalCheckCreditResponse element is the parent element for information returned
to you in response to a physicalCheckCredit transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: litleTxnId, fundsTransferId, response, responseTime, message
566
LitleXML Elements
4.249 physicalCheckDebit
The physicalCheckDebit element is the parent element for the transaction type that a PayFac
uses to move funds from a third party who issues physical checks on the PayFacs behalf. (i.e.,
from the Third Party Account to the PayFac Settlement Account).
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: amount, fundingSubmerchantId, fundsTransferId
567
physicalCheckDebitResponse
4.250 physicalCheckDebitResponse
The physicalCheckDebitResponse element is the parent element for information returned to
you in response to a physicalCheckDebit transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: litleTxnId, fundsTransferId, response, responseTime, message
568
LitleXML Elements
4.251 planCode
The planCode element is the identifier of a defined recurring payment plan. You use it to specify
the payment plan when submitting a recurring transaction to the Recurring Engine. For example,
there could be a define plan called Monthly that instructs the Recurring Engine to bill the
consumer the same amount every month for the number of months defined by the
numberOfPayments element. This element is a required child of the subscription element.
Type = String; minLength = N/A; maxLength = 25
Parent Elements:
subscription, updateSubscription, createPlan, updatePlan, updatePlanResponse
Attributes:
None
Child Elements:
None
569
pos
4.252 pos
The pos element contains child elements used to specify information required when submitting
authorization, captureGivenAuth, credit, forceCapture, and sale transactions from
point of sale terminals.
Parent Elements:
authorization, captureGivenAuth, credit, forceCapture, sale
Attributes:
None
Child Elements:
capability, entryMode, cardholderId, terminalId, catLevel
Example: pos Structure
<pos>
<capability>Capabilty Enumeration</capability>
<entryMode>Entry Mode Enumeration</entryMode>
<cardholderId>Cardholder ID Enumeration</cardholderId>
<terminalId>1234567890</terminalId>
<catLevel>Capabilty of CAT Terminal</catLevel>
</pos>
NOTE:
570
LitleXML Elements
4.253 postDate
The postDate element defines the date the transaction was posted. The format is
YYYY-MM-DD. It occurs only in response to Online transactions.
NOTE:
Although the schema defines this element as optional in all cases except
for the voidResponse parent element, the system returns it in the
response for all Online transactions.
571
postDay
4.254 postDay
The postDay element is an optional child of the accountUpdateFileRequestData element
that defines the date you submitted the Account Updater request. The format is YYYY-MM-DD.
NOTE:
This is also the same date that the system created the Account Updater
acknowledgement file.
572
LitleXML Elements
4.255 preapprovalNumber
The preapprovalNumber element is an optional child of the billMeLaterRequest element,
which you use to specify the pre-approval number issued by Bill Me Later. If you include this
element, the value must be 16 digits in length. Do not include this element to indicate there is no
pre-approval. Internal pre-approval is indicated by using 1 as the first digit.
Type = String; minLength = 13; maxLength = 25
Parent Elements:
billMeLaterRequest
Attributes:
None
Child Elements:
None
573
prepaid
4.256 prepaid
The prepaid element is an optional child of the filtering element. How you choose to
implement the Prepaid Filtering feature determines the use of the prepaid element. If your
configuration filters all prepaid card transactions, you can disable the feature on selected
transactions by including the prepaid element with a setting of false. If your configuration
filters prepaid card transactions on a per transaction basis, you enable the filtering on a selected
transaction by including the prepaid element with a setting of true.
Type = Boolean; Valid Values = true or false
Parent Elements:
filtering
Attributes:
None
Child Elements:
None
574
LitleXML Elements
4.257 prepaidCardType
The prepaidCardType element is an optional child of the enhancedAuthResponse element,
which specifies the type of prepaid card submitted in the Authorization or Sale transaction. For
example, a few of the possible values are: GIFT, PAYROLL, and GENERAL_PREPAID
Type = String; minLength = N/A; maxLength = 50
Parent Elements:
fundingSource
Attributes:
None
Child Elements:
None
575
processingInstructions
4.258 processingInstructions
The processingInstructions element contains a child element that allows you to specify
whether or not the system performs velocity checking on the transaction.
Parent Elements: (optional for all)
authorization, capture, captureGivenAuth, credit, forceCapture, sale, void
Attributes:
None
Child Elements:
bypassVelocityCheck
NOTE:
576
LitleXML Elements
4.259 productCode
The productCode element is an optional child of the lineItemData element, which specifies
the product code of the purchased item. This value is a merchant defined description code of the
product/service. This could be an inventory number, UPC, catalog number, or some other value
that the merchant uses to define the specific product. Although an optional element, it is required
by Visa and MasterCard when specifying line item data.
Type = String; minLength = 1; maxLength = 12
Parent Elements:
lineItemData
Attributes:
None
Child Elements:
None
577
publicKeyHash
4.260 publicKeyHash
The publicKeyHash element is a required child of the header element and provides the
BASE64 Encoded string that is a hash of the merchants certificate public key bytes associated
with the Apple Pay transaction.
Type = Base 64 Encoded String; minLength = N/A; maxLength = 200
Parent Elements:
header
Attributes:
None
Child Elements:
None
578
LitleXML Elements
4.261 quantity
The quantity element is an optional child of the lineItemData element, which specifies the
number of items purchased. Although an optional element, it is required by Visa and MasterCard
when specifying line item data. The value must be greater than zero, but no more than 12 digits
not including the decimal point.
NOTE:
If you accidentally omit the quantity element, our system will submit the
transaction using a default value of 1.
579
recurringRequest
4.262 recurringRequest
The recurringRequest element is the parent of several child element that define the number of
payments and plan type of recurring transaction to be handled by the Recurring Engine. It is an
optional child of the Authorization and Sale transactions.
Parent Elements:
authorization, sale
Attributes:
None
Child Elements:
subscription
Example: recurringRequest Structure
<recurringRequest>
<subscription>
<planCode>Plan Reference Code</planCode>
<numberOfPayments>1 to 99</numberOfRemianingPayments>
<startDate>Start Date of Recurring Cycle</startDate>
<amount>Amount of Recurring Payment</amount>
</subscription>
</recurringRequest>
580
LitleXML Elements
4.263 recurringResponse
The recuringResponse element is the parent element for the subscriptionId,
responseCode, responseMessage, and recurringTxnId elements associated with a requested
recurring payment. The system returns this element only when the sale transaction includes a
recurringRequest element.
Parent Elements:
authorizationResponse, saleResponse
Attributes:
None
Child Elements:
subscriptionId, responseCode, responseMessage, recurringTxnId
Example: recurringResponse Structure
<recurringResponse>
<subscriptionId>1234567890</subscriptionId>
<responseCode>Response Code</responseCode>
<responseMessage>Response Message</responseMessage>
</recurringResponse>
581
recurringTxnId
4.264 recurringTxnId
The recurringTxnId element is an optional child of the recurringResponse element used
to identify the record of recurring, scheduled transactions.
Type = Long; minLength = N/A; maxLength = 19
Parent Elements:
recurringResponse, litleInternalRecurringRequest
NOTE:
Attributes:
None
Child Elements:
None
582
LitleXML Elements
4.265 recycleAdvice
The recyclingAdvice element contains a two child elements that either specifies the date and
time (in GMT) recommended for the next recycle of the declined Authorization/Sale transaction
or indicates that there is no additional recycling advice. The two children are mutually exclusive.
Parent Elements: (optional for all)
recycling
Attributes:
None
Child Elements:
nextRecycleTime, recycleAdviceEnd
NOTE:
583
recycleAdviceEnd
4.266 recycleAdviceEnd
The recycleAdviceEnd element is an optional child of the recycleAdvice element and
signifies that no further recycling recommendations are available.
Type = String; minLength = N/A; maxLength = 20
Parent Elements:
recycleAdvice
Attributes:
None
Child Elements:
None
584
LitleXML Elements
4.267 recycleBy
The recycleBy element is an optional child of the recyclingRequest element and determines
the use of the Recycling Engine/Recycling Advice. The default setting is Litle, so omitting this
element is the same as submitting a value of Litle.
NOTE:
Enum
Description
Merchant
This setting indicates that the merchant controls the recycling of the transaction. For A/B
comparison testing, transactions using this setting will be counted as merchant controlled.
After setting this value in the initial transaction, subsequent transactions should have
same value. Any different value will be ignored.
Litle
This setting indicates either that the Recycling Engine controls the recycling of the
transaction or the recycling of the transaction will follow the Recycling Advice returned in
the response message. For A/B comparison testing, transactions using this setting will be
counted as Vantiv controlled.
After setting this value in the initial transaction, subsequent transactions should have
same value. Any different value will be ignored.
None
For A/B comparison testing, transactions using this setting are excluded from all counts.
These transactions will not be counted as either merchant or Vantiv controlled.
585
recycleEngineActive
4.268 recycleEngineActive
The recycleEngineActive element is an optional child of the recycling element that
indicates whether or not the engine is recycling the declined transaction. This element is returned
only if you are using the Recycling Engine.
Type = Boolean; Valid values = true or false
Parent Elements:
recycling
Attributes:
None
Child Elements:
None
586
LitleXML Elements
4.269 recycleId
The recycleId element is an optional child of the recyclingRequest element. Merchants
can use this identifier as part of the transaction signature used to track the recycling of a
transaction. This element is an alternative to using the orderId element as part of the transaction
signature.
Type = String; minLength = N/A; maxLength = 25
Parent Elements:
recyclingRequest
Attributes:
None
Child Elements:
None
587
recycling
4.270 recycling
The type element has two uses in LitleXML depending upon the parent. When used as a child of
either the authorizationResponse or saleResponse elements, the recycling element
contains a child element that specify either the recommended date and time for the next recycling
attempt for the declined Authorization/Sale transaction or a statement that no further advice is
available for merchants using the Recycling Advice feature. For merchants using the Recycling
Engine feature there is a child element that specifies whether or not the engine is recycling the
declined transaction.
When used as a child of the voidResponse, the recycling element contains a child providing
the Transaction Id of the Credit transaction issued. This occurs only if a Void transaction is used
to halt the recycling of a transaction by the recycling and the transaction has already been
approved and captured (see Using Void to Halt Recycling Engine on page 66).
588
LitleXML Elements
You submitted a Void transaction to halt the recycling of a declined Sale transaction by the
Recovery/Recycling Engine.
Parent Elements:
voidResponse
Attributes:
None
Child Elements:
creditLitleTxnId
Example: recycling Structure - child of voidResponse
<recycling>
<creditLitleTxnId>1234567890123456789</creditLitleTxnId>
</recycling>
589
recyclingRequest
4.271 recyclingRequest
The recyclingrequest element is an optional child of the authorization and sale
transactions, which contains a child element that specifies who is responsible for recycling the
transaction. It also contains an optional element for an identifier assigned by the merchant to track
the recycling of the transaction. This element only applies to merchants using either the Recycling
Engine or Recycling Advice.
Parent Elements:
authorization, sale
Attributes:
None
Child Elements:
recycleBy, recycleId
Example: recyclingRequest Structure
<recyclingRequest>
<recycleBy>Merchant or Litle or None</recycleBy>
<recycleId>abcdef1234567890</recycleId>
</recyclingRequest>
590
LitleXML Elements
4.272 refundReversal
The refundReversal element is the parent element for a Gift Card specific transaction type that
reverses the a refund associated with a Gift Card.
Parent Elements:
litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
591
refundReversalResponse
4.273 refundReversalResponse
The refundReversalResponse element is the parent element for information returned to you
in response to an refundReversal transaction.
Parent Elements:
litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, giftCardResponse
592
LitleXML Elements
4.274 registerTokenRequest
The registerTokenRequest element is the parent element for the Register Token transaction.
You use this transaction type when you wish to submit an account number for tokenization, but
there is no associated payment transaction.
You can use this element in either Online or Batch transactions.
NOTE:
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: either accountNumber, echeckForToken, mpos, paypageRegistrationId, or applepay
Optional: orderId, cardValidationNum
NOTE:
593
registerTokenResponse
4.275 registerTokenResponse
The registerTokenResponse element is the parent element for the response to
registerTokenRequest transactions. You receive this transaction type in response to the
submission of an account number for tokenization in a registerTokenRequest transaction.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, response, message, responseTime
Optional: eCheckAccountSuffix, orderId, litleToken, bin, type, applepayResponse
594
LitleXML Elements
4.276 reloadable
The reloadable element is an optional child of the fundingSource element and defines
whether the prepaid card is reloadable.
NOTE:
595
reserveCredit
4.277 reserveCredit
The reserveCredit element is the parent element for the transaction type that a PayFac uses to
move funds from the PayFac Settlement Account to the PayFac Reserve Account.
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: amount, fundingSubmerchantId, fundsTransferId
596
LitleXML Elements
4.278 reserveCreditResponse
The reserveCreditResponse element is the parent element for information returned to you in
response to a reserveCredit transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: litleTxnId, fundsTransferId, response, responseTime, message
597
reserveDebit
4.279 reserveDebit
The reserveDebit element is the parent element for the transaction type that a PayFac uses to
move funds from the PayFac Reserve Account to the PayFac Settlement Account.
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: amount, fundingSubmerchantId, fundsTransferId
598
LitleXML Elements
4.280 reserveDebitResponse
The reserveDebitResponse element is the parent element for information returned to you in
response to a reserveDebit transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: litleTxnId, fundsTransferId, response, responseTime, message
599
residenceStatus
4.281 residenceStatus
The residenceStatus element is an optional child of the customerInfo element and defines
the type of domicile in which the customer resides. It is used in combination with several other
elements to provide required information for some Bill Me Later transactions.
Type = String (Enum); Enumerations = Own, Rent, or Other
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
None
600
LitleXML Elements
4.282 response
The response element contains a three digit numeric code which specifies either that the
transaction is approved (000 code) or declined. The message element provides a brief definition
of the response code.
For a complete list of response codes and associated messages, please refer to Payment
Transaction Response Codes on page 702.
Type = String; minLength = N/A; maxLength = 3
Parent Elements:
activateResponse, activateReversalResponse, authorizationResponse, authReversalResponse,
captureResponse, captureGivenAuthResponse, creditResponse, deactivateResponse,
deactviateReversalResponse, depositReversalResponse, echeckCreditResponse,
echeckPreNoteCreditResponse, echeckPreNoteSaleResponse, echeckRedepositResponse,
echeckSalesResponse, echeckVerificationResponse, echeckVoidResponse,
forceCaptureResponse, fraudCheckResponse, loadResponse, loadReversalResponse,
registerTokenResponse, refundReversalResponse, saleResponse, voidResponse,
cancelSubscriptionResponse, unloadResponse, updatePlanResponse,
updateSubscriptionResponse, unloadReversalResponse, payFacCreditResponse,
payFacDebitResponse, physicalCheckCreditResponse, physicalCheckDebitResponse,
submerchantCreditResponse, reserveCreditResponse, reserveDebitResponse,
submerchantDebitResponse, vendorCreditResponse, vendorDebitResponse
Attributes:
None
Child Elements:
None
601
responseCode
4.283 responseCode
The responseCode element contains a three digit numeric code which along with the
responseMessage element specifies either acceptance by the Recurring Engine or the reason
the recurring Engine was unable to schedule subsequent payments.
Type = String; minLength = N/A; maxLength = 3
Parent Elements:
recurringResponse
Attributes:
None
Child Elements:
None
602
LitleXML Elements
4.284 responseMessage
The responseMessage element contains a brief definition of the responseCode returned for
the recurring transaction.
Type = String; minLength = N/A; maxLength = 512
Parent Elements:
recurringResponse
Attributes:
None
Child Elements:
None
603
responseTime
4.285 responseTime
The responseTime element provides a date/time stamp of the response. The format of the
element is YYYY-MM-DDTHH:MM:SS. For example, 2009-12-21T11:37:04.
Type = dateTime; minLength = N/A; maxLength = 19
Parent Elements:
activateResponse, activateReversalResponse, authorizationResponse, authReversalResponse,
captureResponse, captureGivenAuthResponse, creditResponse, deactivateResponse,
deactviateReversalResponse, depositReversalResponse,echeckCreditResponse,
echeckPreNoteCreditResponse, echeckPreNoteSaleResponse, echeckRedepositResponse,
echeckSalesResponse, echeckVerificationResponse, echeckVoidResponse,
forceCaptureResponse, fraudCheckResponse, loadResponse, loadReversalResponse,
registerTokenResponse, refundReversalResponse, saleResponse, voidResponse,
cancelSubscriptionResponse, unloadResponse, unloadReversalResponse, updatePlanResponse,
updateSubscriptionResponse, payFacCreditResponse, payFacDebitResponse,
physicalCheckCreditResponse, physicalCheckDebitResponse, reserveCreditResponse,
reserveDebitResponse, submerchantCreditResponse, submerchantDebitResponse,
vendorCreditResponse, vendorDebitResponse
Attributes:
None
Child Elements:
None
604
LitleXML Elements
4.286 RFRRequest
The RFRRequest element is an optional child of a litleRequest element. You can use this
type of request in one of two ways.
If the completion file is not ready, you receive an RFRResponse message with the response
attribute set to 1 and the message attribute reading, The account Update file is not ready yet.
Please try again later.
Parent Elements:
litleRequest
Attributes:
None
Child Elements: (Choice of)
litleSessionId or accountUpdateFileRequestData
Example: RFRRequest Structure - Batch
<RFRRequest>
<litleSessionId>Session ID</litleSessionId>
</RFRRequest>
Example: RFRRequest Structure - Account Updater
<RFRRequest>
<accountUpdateFileRequestData>
<merchantId>Merchant ID</merchantId>
<postDay>Post Date</postDay>
</accountUpdateFileRequestData>
</RFRRequest>
605
RFRResponse
4.287 RFRResponse
The RFRResponse element is an optional child of a litleResponse element returned in
response to a RFRRequest.
Parent Elements:
litleResponse
Attributes:
Attribute Name
Type
Required?
Description
response
String
Yes
message
String
Yes
Child Elements:
None
606
LitleXML Elements
4.288 routingNum
The routingNum element is a required child of the echeck, originalAccountInfo, and
newAccountInfo elements defining the routing number of the Echeck account.
Type = String; minLength = 9; maxLength = 9
Parent Elements:
echeck, newAccountInfo, originalAccountInfo, newTokenInfo, originalTokenInfo, accountInfo
Attributes:
None
Child Elements:
None
NOTE:
607
RxAmount
4.289 RxAmount
The RxAmount element is an optional child of the healthcareAmounts element and defines
the healthcare amount used for the purchased medications. The decimal is implied. Example: 500
= $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
Optional: healthcareAmounts
Attributes:
None
Child Elements:
None
608
LitleXML Elements
4.290 sale
The sale element is the parent element for all Sale transactions. A Sale transaction is a
combination Authorization and Capture transaction. You can use this element in either Online or
Batch transactions.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: orderId, amount, orderSource, (choice of) card, paypal, paypage, mpos, token, or
applepay
NOTE:
609
sale
610
LitleXML Elements
4.291 saleResponse
The saleResponse element is the parent element for information returned in response to a Sale
transaction. It can be a child of either a litleOnlineResponse element or a batchResponse
element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute
Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, cardProductId (see Note below), authCode, authorizationResponseSubCode
(see Note below), approvedAmount, accountInformation, fraudResult, billMeLaterResponseData,
tokenResponse, enhancedAuthResponse, accountUpdater, recycling, recurringResponse,
giftCardResponse, applepayResponse, cardSuffix
611
NOTE:
saleResponse
612
LitleXML Elements
4.292 salesTax
The salesTax element defines the amount of sales tax included in the transaction amount.
Although the schema defines it as an optional child of the enhancedData element, it is required
to receive the best interchange rate for Level II and Level III corporate purchases. The decimal is
implied. Example: 500 = $5.00.
NOTE:
For a non-taxable transaction, use 0 as the value. In this case you must
also set the taxExempt element to true.
If you provide detailTax data, the salesTax should be the sum of the
detailTax.
613
secondaryAmount
4.293 secondaryAmount
The secondaryAmount element defines the principal portion of the total amount when a
convenience fee applied to the transaction by the merchant. for example, if the total charge is
$105, with the principal amount being $100 and the convenience fee being $5, you must use $100
as the value for the secondaryAmount element. Supply the value in cents without a decimal
point. For example, a value of 400 signifies $4.00.
Type = Integer; totalDigits = 12
NOTE:
Although this element appears in the schema, the feature associated with
its use is not yet generally available. Please consult your Customer
Experience Manager for additional information.
Parent Elements:
authorization, capture, credit, captureGivenAuth, echeckCredit, echeckSale, forceCapture, sale
Attributes:
None
Child Elements:
None
614
LitleXML Elements
4.294 sellerId
The sellerId element is a required child of the amexAggregatorData element, which defines
the Seller Id as assigned by American Express.
Type = String; minLength = 1; maxLength = 16
Parent Elements:
amexAggregatorData
Attributes:
None
Child Elements:
None
615
sellerMerchantCategoryCode
4.295 sellerMerchantCategoryCode
The sellerMerchantCategoryCode element is a required child of the amexAggregatorData
element, which defines the Merchant Category Code as assigned by American Express.
Type = String; minLength = 1; maxLength = 4
Parent Elements:
amexAggregatorData
Attributes:
None
Child Elements:
None
616
LitleXML Elements
4.296 shipFromPostalCode
The shipFromPostalCode element defines the postal code from which the product ships in the
enhancedData element.
Type = String; minLength = N/A; maxLength = 20
NOTE:
Parent Elements:
enhancedData
Attributes:
None
Child Elements:
None
617
shippingAmount
4.297 shippingAmount
The shippingAmount element defines shipping cost for the order. Although the schema defines
it as an optional child of the enhancedData element, it is required by Visa for Level III
interchange rates. The decimal is implied. Example: 500 = $5.00.
This element is also required for Bill Me Later transactions.
Type = Integer; totalDigits = 8
Parent Elements:
enhancedData
Attributes:
None
Child Elements:
None
618
LitleXML Elements
4.298 shipToAddress
The shipToAddress element contains several child elements that define the postal mailing
address (and telephone number) used for shipping purposes.
Parent Elements:
authorization, captureGivenAuth, fraudCheck, sale
Attributes:
None
Child Elements: (all Optional)
name, addressLine1, addressLine2, addressLine3, city, state, zip, country, email, phone
Example: shipToAddress Structure
<shipToAddress>
<name>Customers Full Name</name>
<addressLine1>Address Line 1</addressLine1>
<addressLine2>Address Line 2</addressLine2>
<addressLine3>Address Line 3</addressLine3>
<city>City</city>
<state>State Abbreviation</state>
<zip>ZIP Code</zip>
<country>Country Code</country>
<email>Email Address</email>
<phone>Telephone Number</phone>
</shipToAddress>
619
signature
4.299 signature
The signature element is a required child of the applepay element. It is the BASE64 encoded
string signature of the payment and header data from the PKPaymentToken.
Type = String; minLength = N/A; maxLength = 10000
Parent Elements:
applepay
Attributes:
None
Child Elements:
None
620
LitleXML Elements
4.300 ssn
The ssn element is an optional child of the customerInfo element. It is used in combination
with several other elements to provide required information for some Bill Me Later transactions.
Type = Pattern; minLength = 4 (last four digits of SSN); maxLength = 9 (full SSN)
NOTE:
In order for a BML transaction to succeed, you must include this element
if:
the customer has a BML account, but the account has not been
authenticated.
You do not need to include this element if the BML account has been
authenticated.
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
None
621
startDate
4.301 startDate
The startDate element is a optional child of the subscription element, which specifies the
date the recurring billing should begin. It is also an optional child of both the createAddOn and
createDiscount element, where it specifies either the starting date of the Add On charge or the
starting date of the discount.
Type = Date; Format = YYYY-MM-DD
Parent Elements:
subscription, createAddOn, createDiscount, updateAddOn, updateDiscount
Attributes:
None
Child Elements:
None
622
LitleXML Elements
4.302 state
The state element defines the customers state name in the billToAddress,
shipToAddress, taxBilling and elements.
Type = String; minLength = N/A; maxLength = 2
NOTE:
Although the schema defines the maxLength for this element as 30, the
best practice is to use the 2 character abbreviation. When submitting an
eCheck Verification transaction, you must use the 2 character
abbreviation or the transaction will be rejected with a 370 reason code.
Parent Elements:
billToAddress, shipToAddress, taxExempt
Attributes:
None
Child Elements:
None
623
submerchantCredit
4.303 submerchantCredit
The submerchantCredit element is the parent element for the transaction type that a PayFac
uses to move funds from the PayFac Settlement Account to the Sub-merchant Account.
NOTE:
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: accountInfo, amount, fundingSubmerchantId, fundsTransferId, submerchantName
624
LitleXML Elements
4.304 submerchantCreditResponse
The submerchantCreditResponse element is the parent element for information returned to
you in response to a submerchantCredit transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: litleTxnId, fundsTransferId, response, responseTime, message
625
submerchantDebit
4.305 submerchantDebit
The submerchantDebit element is the parent element for the transaction type that a PayFac
uses to move funds from the Sub-merchant Account to the PayFac Settlement Account.
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: accountInfo, amount, fundingSubmerchantId, fundsTransferId, submerchantName
626
LitleXML Elements
4.306 submerchantDebitResponse
The submerchantDebitResponse element is the parent element for information returned to
you in response to a submerchantDebit transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: litleTxnId, fundsTransferId, response, responseTime, message
627
submerchantName
4.307 submerchantName
The submerchantName element is a required child of the submerchantCredit element and
specifies the name of the Sub-merchant.
Type = String; minLength = 1; maxLength = 256
Parent Elements:
submerchantCredit, submerchantCredit, submerchantDebit
Attributes:
None
Child Elements:
None
628
LitleXML Elements
4.308 subscription
The subscription element is a required child of the recurringRequest element and the
parent of several child element that define information about the recurring transaction stream to
be handled by the Recurring Engine.
Parent Elements:
recurringRequest
Attributes:
None
Child Elements (required):
planCode
Child Elements (optional):
numberOfPayments, startDate, amount, createDiscount, createAddOn
NOTE:
629
subscription
630
LitleXML Elements
4.309 subscriptionId
The subscriptionId element is a required child of the recurringResponse element and
defines the assigned identifier for the sequence of recurring billing transactions. You also use this
element in the updateSubscription and cancelSubscription transactions to identify the
subscription for changes/cancellation.
Type = Long; minLength = N/A; maxLength = 19
Parent Elements:
recurringResponse, litleInternalRecurringRequest, cancelSubscription, updateSubscription,
updateSubscriptionResponse, cancelSubscriptionResponse
Attributes:
None
Child Elements:
None
631
surchargeAmount
4.310 surchargeAmount
The surchargeAmount element defines the amount of the surcharge applied to the transaction
by the merchant. Supply the value in cents without a decimal point. For example, a value of 400
signifies $4.00.
Type = Integer; totalDigits = 12
NOTE:
Parent Elements:
authorization, authReversal, capture, credit, captureGivenAuth, forceCapture, sale
Attributes:
None
Child Elements:
None
632
LitleXML Elements
4.311 taxAmount
The taxAmount element is a required child of the detailTax element and an optional child of
the lineItemData element and defines the detail tax amount on the purchased good or service.
The decimal is implied. Example: 500 = $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
Required: detailTax
Optional: lineItemData
NOTE:
Attributes:
None
Child Elements:
None
633
taxExempt
4.312 taxExempt
The taxExempt element is an optional child of the enhancedData element and specifies
whether or not the transaction is exempt from sales tax. If you do not include this element, the
value defaults to false.
NOTE:
You must set this element to true, if you set the salesTax element to 0.
634
LitleXML Elements
4.313 taxIncludedInTotal
The taxIncludedInTotal element is an optional child of the detailTax element and defines
whether or not the tax is included in the total purchase amount.
Type = Boolean; Valid Values = true or false
Parent Elements:
detailTax
Attributes:
None
Child Elements:
None
635
taxRate
4.314 taxRate
The taxRate element is an optional child of the detailTax element and defines the tax rate
applied to this specific taxable amount.
Type = Decimal; totalDigits = 5
Parent Elements:
detailTax
Attributes:
None
Child Elements:
None
636
LitleXML Elements
4.315 taxType
The taxType element is an optional child of several transaction types that designates the
transaction as either a convenience fee or tax payment for merchants using the Visa Tax Payment
Program or the MasterCard Convenience Fee Program.
Type = String (enum); minLength = N/A; maxLength = 1; Valid Values = payment or fee
Parent Elements:
authorization, captureGivenAuth, credit, forceCapture, sale
Attributes:
None
Child Elements:
None
637
taxTypeIdentifier
4.316 taxTypeIdentifier
The taxTypeIdentifier element is an optional child of the detailTax element and defines
the type of tax collected on this specific tax amount. If the tax type identifier is unknown, do not
include this element.
Type = String (Enum); minLength = N/A; maxLength = 2
Parent Elements:
detailTax
Attributes:
None
Child Elements:
None
Enumerations:
Enumeration
Description
00
Unknown
01
02
03
04
05
06
Other Tax
10
11
12
13
14
20
Room Tax
21
Occupancy Tax
22
Energy Tax
638
LitleXML Elements
4.317 terminalId
The terminalId element is an optional child of the pos element and defines the identifier of the
terminal used at the point of sale.
NOTE:
639
termsAndConditions
4.318 termsAndConditions
The termsAndConditions element is an optional child of the billMeLaterRequest element
and defines the specific lending terms of the BML account.
NOTE:
The Bill Me Later documentation requires you use code 12103 for Call
Center purchases and code 32103 for Web purchases.
Please refer to your Bill Me Later documentation for additional
information.
640
LitleXML Elements
4.319 threatMetrixSessionId
The threatMetrixSessionId element is a required child of the advancedFraudChecks
element.
Type = String; Allowed Characters = a-z, A-Z, 0-9, -, _ ; minLength = 1; maxLength = 128
NOTE:
While generated by you at the time the consumer accesses your page,
each threatMetrixSessionId must include a 5-character prefix,
supplied by your Implementation Consultant, followed by a dash ("-"). The
remainder of the Id must be unique for each instance of the customer
accessing your page.
Parent Elements:
advancedFraudChecks
Attributes:
None
Child Elements:
None
641
token
4.320 token
The token element has two uses depending upon whether the element concerns a Vantiv
generated token (for tokenized merchants) or a PayPal generated token.
642
LitleXML Elements
4.321 tokenMessage
The tokenMessage element provides a short, human-readable explanation of the
tokenResponseCode (see Table 4-3).
Type = String; minLength = N/A; maxLength = N/A
Parent Elements:
tokenResponse
Attributes:
None
Child Elements:
None
643
tokenResponse
4.322 tokenResponse
The tokenResponse element is the parent element for several children defining the registered
token, as well the either card type and BIN, or last three characters of the account number in the
case of eChecks. This element appears in the response only if a tokenized merchant submits card
or eCheck account information in the transaction request.
Parent Elements:
authorizationResponse, captureGivenAuthResponse, creditResponse, echeckCreditResponse,
echeckRedepositResponse, echeckSalesResponse, echeckVerificationResponse,
forceCaptureResponse, saleResponse, updateSubscriptionResponse
Attributes:
None
Child Elements:
Required: tokenResponseCode, tokenMessage
Optional: litleToken, type, bin, eCheckAccountSuffix
Example: tokenResponse Structure
<tokenResponse>
<litleToken>Token</litleToken>
<tokenResponseCode>Response Code</tokenResponseCode>
<tokenMessage>Response Message</tokenMessage>
<type>Method of Payment</type>
<bin>BIN</bin>
<eCheckAccountSuffix>Last 3 of Account Number</eCheckAccountSuffix> (returned
for eCheck account tokens)
</tokenResponse>
644
LitleXML Elements
4.323 tokenResponseCode
The tokenResponseCode element provides a 3-digit code (see Table 4-3) indicating the results
of a transaction involving the conversion or attempted conversion of an account number to a
token. The tokenMessage element contains a short, human-readable explanation of the
tokenResponseCode.
Type = String; minLength = N/A; maxLength = 3
Parent Elements:
tokenResponse
Attributes:
None
Child Elements:
None
TABLE 4-3
Code
Message
801
802
820
821
822
823
898
899
645
totalHealthcareAmount
4.324 totalHealthcareAmount
The totalHealthcateAmount element is a required child of the healthcareAmounts
element and defines the total amount of healthcare related purchases. This value must be the
greater than or equal to the sum of the values applied to the following elements: RxAmount,
visionAmount, clinicOtherAmount, and dentalAmount. The decimal is implied. Example:
500 = $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
Optional: healthcareAmounts
Attributes:
None
Child Elements:
None
646
LitleXML Elements
4.325 track
The track element is child of the card element, which is required for card-present transactions.
The contents of the track element is the data read from the magnetic stripe.
Type = String; minLength = 1; maxLength = 256
Parent Elements:
card
Attributes:
None
Child Elements:
None
647
track1Status
4.326 track1Status
The track1Status element is a required child of the mpos element. This element indicates
whether the device read track 1 from the magnetic stripe. A value of 0 indicates a successful read,
while a value of 1 indicates a failure.
Type = Integer; minInclusive = 0; maxInclusive = 1028
Parent Elements:
mpos
Attributes:
None
Child Elements:
None
648
LitleXML Elements
4.327 track2Status
The track2Status element is a required child of the mpos element. This element indicates
whether the device read track 2 from the magnetic stripe. A value of 0 indicates a successful read,
while a value of 1 indicates a failure.
Type = Integer; minInclusive = 0; maxInclusive = 1028
Parent Elements:
mpos
Attributes:
None
Child Elements:
None
649
transactionAmount
4.328 transactionAmount
The transactionAmount element is an optional child of the applepayResponse element
and specifies the amount of the transaction. The decimal is implied. Example: 500 = $5.00.
Type = Integer; totalDigits = 12
Parent Elements:
applepayResponse
Attributes:
None
Child Elements:
None
650
LitleXML Elements
4.329 transactionId
The transactionId element is used in two locations: in PayPal transactions, as a child of the
paypal element and in Apple Pay transactions as a child of the header element.
651
transactionId
Child Elements:
None
652
LitleXML Elements
4.330 trialIntervalType
The trialIntervalType element is an optional child of the createPlan element and defines
the interval period of a trial associated with the Plan. The overall length of a trial period is defined
by the trialIntervalType combined with the trialNumberOfIntervals element.
Type = String (enum); minLength = N/A; maxLength = N/A
Parent Elements:
createPlan
Attributes:
None
Child Elements:
None
Enumerations:
Enumeration
Description
MONTH
DAY
653
trialNumberOfIntervals
4.331 trialNumberOfIntervals
The trialNumberOfIntervals element is an optional child of the createPlan element and
defines the number of trial intervals (trialIntervalType) associated with the Plan. The
overall length of a trial period is defined by the trialIntervalType combined with the
trialNumberOfIntervals element.
Type = Integer; minLength = 1; maxLength = 99
Parent Elements:
createPlan
Attributes:
None
Child Elements:
None
654
LitleXML Elements
4.332 triggeredRule
The triggeredRule element is an optional child of the advancedFraudResult element. It
can appear multiple times in the response, once for each triggered rule from the ThreatMetrix
policy. A triggered rule is one where the threshold is exceeded.
Type = String; minLength = N/A; maxLength = 64
Parent Elements:
advancedFraudResults
Attributes:
None
Child Elements:
None
655
type
4.333 type
The type element has two uses in LitleXML depending upon the parent. In one case it defines
the type of account used in the transaction in terms of association, company, Bill Me Later,
PayPal, or eCheck. When used as a child of the fundingSource element, it defines the card type
in terms of prepaid, credit, debit, FSA, or unknown.
Enumeration
Description
MC
MasterCard
VI
Visa
AX
American Express
DC
DI
Discover
PP
PayPal
JC
BL
Bill Me Later
EC
eCheck
656
LitleXML Elements
Enumeration
Description
GC
Gift Card
(empty)
Enumeration
Description
UNKNOWN
PREPAID
CREDIT
DEBIT
FSA
NOTE:
657
unitCost
4.334 unitCost
The unitCost element is an optional child of the lineItemData element, which specifies the
price of one unit of the item purchased. Although the schema defines it as an optional child of the
enhancedData element, it is required by Visa for Level III interchange rates. The value must be
greater than or equal to 0.
Type = Decimal; minInclusive value = 0, totalDigits = 12
Parent Elements:
lineItemData
Attributes:
None
Child Elements:
None
658
LitleXML Elements
4.335 unitOfMeasure
The unitOfMeasure element is an optional child of the lineItemData element, which
specifies the unit of measure of the purchased item. For example, each, kit, pair, gallon, and
month would all be valid values. Although an optional element, it is required by Visa and
MasterCard when specifying line item data.
Type = String; minLength = 1; maxLength = 12
Parent Elements:
lineItemData
Attributes:
None
Child Elements:
None
659
unload
4.336 unload
The unload element is the parent element for the transaction type that removes funds from a Gift
Card.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
660
LitleXML Elements
4.337 unloadResponse
The unloadResponse element is the parent element for information returned to you in response
to an unload transaction. It can be a child of either a litleOnlineResponse element or a
batchResponse element.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, fraudResult, giftCardResponse
661
unloadReversal
4.338 unloadReversal
The unloadReversal element is the parent element for the transaction type that reverses the
unloading of a Gift Card.
Parent Elements:
litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
662
LitleXML Elements
4.339 unloadReversalResponse
The unloadReversalResponse element is the parent element for information returned to you
in response to an unloadReversal transaction.
Parent Elements:
litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, orderId, response, responseTime, message
Optional: postDate, giftCardResponse
663
updateAddOn
4.340 updateAddOn
The updateAddOn element is the parent of several child elements used to modify an additional
charge added to an existing subscription.
Parent Elements:
updateSubscription
Attributes:
None
Child Elements (all Required):
addOnCode, name, amount, startDate, endDate
Example: updateAddOn Structure
<updateAddOn>
<addOnCode>Add On Reference Code</addOnCode>
<name>Name of Add On</name>
<amount>Amount of Add On</amount>
<startDate>Start Date of Add On Charge</startDate>
<endDate>End Date of Add On Charge</endDate>
</updateAddOn>
664
LitleXML Elements
4.341 updatedCard
The updatedCard element is an optional child of the accountUpdateResponse element,
which contains child elements providing the updated information for the submitted card.
Parent Elements:
accountUpdateResponse
Attributes:
None
Child Elements:
type, number, expDate
Example: updatedCard Structure
<updatedCard>
<type>Card Type</type>
<number>New Account Number</number>
<expDate>New Expiration Date</expDate>
</updatedCard>
665
updateCardValidationNumOnToken
4.342 updateCardValidationNumOnToken
The updateCardValidationNumOnToken element is the parent element for the transaction
type used to update a CVV2/CVC2/CID code stored temporarily on the platform. You should
only use this transaction type if you had previously submitted the account number and security
code in a registerTokenRequest transaction and now need to change the CVV2/CVC2/CID
value.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleToken, cardValidationNum
Optional: orderId
666
LitleXML Elements
4.343 updateCardValidationNumOnTokenResponse
The updateCardValidationOnTokenResponse element is the parent element for the
response to updateCardValidationNumOnToken transactions.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId, response, message, responseTime
Optional: orderId
667
updateDiscount
4.344 updateDiscount
The updateDiscount element is the parent of several child elements used to define updates to a
discount applied to an existing subscription.
Parent Elements:
updateSubscription
Attributes:
None
Child Elements (all Required):
discountCode, name, amount, startDate, endDate
Example: customerInfo Structure
<updateDiscount>
<discountCode>Discount Reference Code</discountCode>
<name>Name of Discount</name>
<amount>Amount of Discount</amount>
<startDate>Start Date of Discount</startDate>
<endDate>End Date of Discount</endDate>
</updateDiscount>
668
LitleXML Elements
4.345 updatePlan
The updatePlan element is the parent of the transaction used to activate/deactivate Plans
associated with recurring payments. When you deactivate a Plan, you can no longer reference that
Plan for use with subscriptions. Existing subscriptions making use of the deactivated Plan will
continue to use the Plan until either modified or completed. You can also reactivate a deactivated
Plan by updating the Plan and setting the active flag to true.
Parent Elements:
litleOnlineRequest, litleRequest
Attributes:
None
Child Elements:
planCode, active
Example: createPlan Structure
<updatePlan>
<planCode>Plan Reference Code</planCode>
<active>true or false</active>
</updatePlan>
669
updatePlanResponse
4.346 updatePlanResponse
The updatePlanResponse element is the parent of the response message to the updatePlan
transaction used to deactivate Plans associated with recurring payments.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
None
Child Elements:
litleTxnId, response, message, responseTime, planCode
Example: updatePlan Structure
<updatePlan>
<litleTxnId>Transaction ID</litleTxnId>
<response>Response Reason Code</response>
<message>Response Message</message>
<responseTime>Date and Time in GMT</responseTime>
<planCode>Plan Reference Code</planCode>
</updatePlan>
670
LitleXML Elements
4.347 updateSubscription
The updateSubscription element is the parent element for the transaction that updates the
subscription information associated with a recurring payment. Using this transaction type you can
change the plan, card, billing information, and/or billing date. You can also create, update, or
delete a Discount and/or an Add On.
Parent Elements:
litleOnlineRequest, batchRequest
Attributes:
None
Child Elements:
Required: subscriptionId
Optional: planCode, billToAddress, (choice of) card, paypage, or token, billingDate,
createDiscount, deleteDiscount, updateDiscount, createAddOn, updateAddOn, deleteAddOn
Example: updateSubscription - Change Plan
<updatedSubscription>
<subscriptionId>Subscription Id</subscriptionId>
<planCode>New Plan Code</planCode>
</updatedSubscription>
Example: updateSubscription - Change Card
<updatedSubscription>
<subscriptionId>Subscription Id</subscriptionId>
<card>
<type>Card Type Abbreviation</type>
<number>Account Number</number>
<expDate>Expiration Date</expDate>
</card>
</updatedSubscription>
Example: updateSubscription - Change Billing Date
<updatedSubscription>
<subscriptionId>Subscription Id</subscriptionId>
671
updateSubscription
672
LitleXML Elements
<createAddOn>
<addOnCode>Add On Reference Code</addOnCode>
<name>Name of Add On</name>
<amount>Amount of Add On</amount>
<startDate>Start Date of Add On Charge</startDate>
<endDate>End Date of Add On Charge</endDate>
</createAddOn>
</updatedSubscription>
Example: updateSubscription - Update Discount
<updatedSubscription>
<subscriptionId>Subscription Id</subscriptionId>
<updateDiscount>
<discountCode>Discount Reference Code</discountCode>
<name>Name of Discount</name>
<amount>Amount of Discount</amount>
<startDate>Start Date of Discount</startDate>
<endDate>End Date of Discount</endDate>
</updateDiscount>
</updatedSubscription>
Example: updateSubscription - Update Add On
<updatedSubscription>
<subscriptionId>Subscription Id</subscriptionId>
<updateAddOn>
<addOnCode>Add On Reference Code</addOnCode>
<name>Name of Add On</name>
<amount>Amount of Add On</amount>
<startDate>Start Date of Add On Charge</startDate>
<endDate>End Date of Add On Charge</endDate>
</updateAddOn>
</updatedSubscription>
Example: updateSubscription - Delete Discount
<updatedSubscription>
<subscriptionId>Subscription Id</subscriptionId>
673
updateSubscription
<deleteDiscount>
<discountCode>Discount Reference Code</discountCode>
</deleteDiscount>
</updatedSubscription>
Example: updateSubscription - Delete Add On
<updatedSubscription>
<subscriptionId>Subscription Id</subscriptionId>
<deleteAddOn>
<addOnCode>Add On Reference Code</addOnCode>
</deleteAddOn>
</updatedSubscription>
674
LitleXML Elements
4.348 updateSubscriptionResponse
The updateSubscriptionresponse element is the parent element for the response to an
updateSubscription transaction.
Parent Elements:
litleOnlineResponse, batchResponse
Attributes:
None
Child Elements:
subscriptionId, litleTxnId, response, message, responseTime, tokenResponse
675
updatedToken
4.349 updatedToken
The updatedToken element is an optional child of the accountUpdateResponse element,
which contains child elements providing the updated information for the submitted token.
Parent Elements:
accountUpdateResponse
Attributes:
None
Child Elements:
type, number, expDate, bin
Example: originalCard Structure
<updatedToken>
<litleToken>New Token Number</litleToken>
<expDate>New Expiration Date</expDate>
<type>Card Type</type>
<bin>Card BIN</bin>
</updatedToken>
676
LitleXML Elements
4.350 url
The url element is an optional child of the customBilling element. You use it to designate
your customer service web site instead of providing a customer service phone number. This
element may include any of the following characters: A-Z, a-z, 0-9, /, \, -, ., or _.
Type = String; minLength = N/A; maxLength = 13
NOTE:
Parent Elements:
customBilling
Attributes:
None
Child Elements:
None
677
user
4.351 user
The user element is a required child of the authentication element. It is a unique identifier
of the user/merchant used to authenticate that the message is from a valid source.
Type = String; minLength = N/A; maxLength = 20
Parent Elements:
authentication
Attributes:
None
Child Elements:
None
678
LitleXML Elements
4.352 vendorCredit
The vendorCredit element is the parent element for the transaction type that a PayFac uses to
move funds from the PayFac Settlement Account the Vendor Account.
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: accountInfo, amount, fundingSubmerchantId, fundsTransferId, vendorName
679
vendorCreditResponse
4.353 vendorCreditResponse
The vendorCreditResponse element is the parent element for information returned to you in
response to a vendorCredit transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: litleTxnId, fundsTransferId, response, responseTime, message
680
LitleXML Elements
4.354 vendorDebit
The vendorDebit element is the parent element for the transaction type that a PayFac uses to
move funds from the Vendor Account to the PayFac Settlement Account.
Parent Elements:
batchRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: accountInfo, amount, fundingSubmerchantId, fundsTransferId, vendorName
681
vendorDebitResponse
4.355 vendorDebitResponse
The vendorDebitResponse element is the parent element for information returned to you in
response to a vendorDebit transaction.
Parent Elements:
batchResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
maxLength = 50
maxLength = 25
Child Elements:
Required: litleTxnId, fundsTransferId, response, responseTime, message
682
LitleXML Elements
4.356 vendorName
The vendorName element is a required child of both the vendorCredit and vendorDebit
elements and specifies the name of the vendor involved in the funding instructions.
Type = String; minLength = 1; maxLength = 256
Parent Elements:
vendorCredit, vendorDebit
Attributes:
None
Child Elements:
None
683
verificationCode
4.357 verificationCode
NOTE:
684
LitleXML Elements
4.358 verify
The verify element is an optional child of the echeckSale element, which allows you to
specify to perform an eCheck Verification prior to processing the sale. If the account fails the
verification operation, the system does not process the sale.
Type = Boolean; Valid Values = true or false
Parent Elements:
echeckSale
Attributes:
None
Child Elements:
None
685
version
4.359 version
The version element is a required child of the applepay element and provides version
information about the payment token.
Type = String; minLength = 5; maxLength = 20
Parent Elements:
applepay
Attributes:
None
Child Elements:
None
686
LitleXML Elements
4.360 visionAmount
The visionAmount element is an optional child of the healthcareAmounts element and
defines the healthcare amount used for vision related purchases. The decimal is implied.
Example: 500 = $5.00.
Type = Integer; totalDigits = 8
Parent Elements:
Optional: healthcareAmounts
Attributes:
None
Child Elements:
None
687
virtualAccountNumber
4.361 virtualAccountNumber
The virtualAccountNumber element is an optional child of the enhancedAuthResponse
element and indicates if the card number used for the transaction corresponds to a virtual account
number.
Type = Boolean; Valid Values = true or false
Parent Elements:
enhancedAuthResponse
Attributes:
None
Child Elements:
None
688
LitleXML Elements
4.362 virtualAuthenticationKeyData
The virtualAuthenticationKeyData is an optional child of the billMeLaterRequest
element.
Type = String; minLength = N/A; maxLength = 4
Parent Elements:
billMeLaterRequest
Attributes:
None
Child Elements:
None
689
virtualAuthenticationKeyPresenceIndicator
4.363 virtualAuthenticationKeyPresenceIndicator
The virtualAuthenticationKeyPresenceIndicator is an optional child of the
billMeLaterRequest element.
Type = String; minLength = N/A; maxLength = 1
Parent Elements:
batchRequest
Attributes:
None
Child Elements:
None
690
LitleXML Elements
4.364 virtualGiftCard
The virtualGiftCard element is an optional child of the activate transaction. You include
this element when you are requesting a Virtual Gift Card.
NOTE:
Parent Elements:
activate
Attributes:
None
Child Elements (all required):
accountNumberLength, giftCardBin
Example: virtualGiftCard Structure
<virtualGiftCard>
<accountNumberLength>Length of Virtual Card Number</accountNumberLength>
<giftCardBin>Requested BIN of Virtual Gift Card</giftCardBin>
</virtualGiftCard>
691
virtualGiftCardResponse
4.365 virtualGiftCardResponse
The virtualGiftCardResponse element is an optional child of the activateResponse
transaction. This element is returned when you request a Virtual Gift Card number via an
activate transaction and through its children, defines the virtual gift Card number, as well as
the Card Validation number.
Parent Elements:
activateResponse
Attributes:
None
Child Elements (all optional):
accountNumber, cardValidationNum
Example: virtualGiftCard Structure
<virtualGiftCardResponse>
<accountNumber>Virtual Card Number</accountNumber>
<cardValidationNum>Validation Number</cardValidationNum>
</virtualGiftCardResponse>
692
LitleXML Elements
4.366 void
The void element is the parent element for all Void transactions. You can use this element only in
Online transactions. If you use this Recycling Engine, you can use the void transaction to halt
the recycling of a sale transaction.
Parent Elements:
litleOnlineRequest
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
maxLength = 25
Child Elements:
Required: litleTxnId
Optional: processingInstructions
693
voidResponse
4.367 voidResponse
The voidResponse element is the parent element for information returned to you in response to
a Void transaction.
Parent Elements:
litleOnlineResponse
Attributes:
Attribute Name
Type
Required?
Description
id
String
No
customerId
String
No
reportGroup
String
Yes
duplicate
Boolean
No
maxLength = 25
694
LitleXML Elements
4.368 wallet
The wallet element is an optional child of the of both the authorization and sale
transactions. You must use this element along with its child elements, when the consumer used
MasterPass to make a purchase.
Parent Elements:
authorization, sale
Attributes:
None
Child Elements:
walletSourceType, walletSourceTypeId
Example: wallet Structure
<wallet>
<walletSourceType>MasterPass</walletSourceType>
<walletSourceTypeId>MasterPass supplied Id</walletSourceTypeId>
</wallet>
695
walletSourceType
4.369 walletSourceType
The walletSourceType element is a required child of the wallet element, which defines the
source of the transaction information. You must submitted this element with the transaction when
the consumer uses MasterPass.The only allowed value is MasterPass.
Type = String (Enum); minLength = N/A; maxLength = N/A
Parent Elements:
wallet
Attributes:
None
Child Elements:
None
Enumerations:
Enumeration
Description
MasterPass
696
LitleXML Elements
4.370 walletSourceTypeId
The walletSourceTypeId element is a required child of the wallet element. The value of this
element is returned from MasterPass along with the card information and must be submitted with
the transaction when the consumer uses MasterPass.
Type = String; minLength = N/A; maxLength = N/A
Parent Elements:
wallet
Attributes:
None
Child Elements:
None
697
yearsAtEmployer
4.371 yearsAtEmployer
The yearsAtEmployer element is an optional child of the customerInfo element and defines
the number of years the customer has worked for their current employer. It is used in combination
with several other elements to provide required information for some Bill Me Later transactions.
Type = Integer; totalDigits = 2
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
None
698
LitleXML Elements
4.372 yearsAtResidence
The yearsAtResidence element is an optional child of the customerInfo element and
defines the number of years the customer has resided in their current domicile. It is used in
combination with several other elements to provide required information for some Bill Me Later
transactions.
Type = Integer; totalDigits = 2
Parent Elements:
customerInfo
Attributes:
None
Child Elements:
None
699
zip
4.373 zip
The zip element defines the customers postal code in both the billToAddress and
shipToAddress elements.
Type = String; minLength = N/A; maxLength = 20
NOTE:
Parent Elements:
billToAddress, shipToAddress
Attributes:
None
Child Elements:
None
700
A
PAYMENT TRANSACTION RESPONSE CODES
This appendix provides reference material regarding the codes that are returned in a LitleXML
response for a payment transaction. This appendix contains the following sections:
701
A.1
Table A-1 shows all possible values for the <response> and <message> elements. You should
code appropriately to handle all codes applicable to the transactions you use.
TABLE A-1
Response
Code
Response Message
Response
Type
Description
000
Approved
Approved
No action required.
010
Partially Approved
Approved
100
Soft
Decline
101
Issuer Unavailable
Soft
Decline
102
Re-submit Transaction
Soft
Decline
110
Insufficient Funds
Soft
Decline
111
Hard
Decline
120
Call Issuer
Referral or
Soft
Decline
121
Call AMEX
Referral
702
TABLE A-1
Response
Code
Response Message
Response
Type
122
Referral
123
Call Discover
Referral
124
Call JBS
Referral
125
Call Visa/MasterCard
Referral
126
Referral
127
Hard
Decline
130
Referral
140
Referral
191
N/A
192
Hard
Decline
206
Soft
Decline
207
Hard
Decline
209
Invalid Amount
Hard
Decline
211
Reversal Unsuccessful
Hard
Decline
Description
703
TABLE A-1
Response
Code
Response Message
Response
Type
Description
212
Missing Data
Hard
Decline
213
Hard
Decline
214
Hard
Decline
215
Restricted Card
Hard
Decline
216
Invalid Deactivate
Hard
Decline
217
Hard
Decline
218
Hard
Decline
219
Hard
Decline
221
Hard
Decline
222
Invalid Activate
Hard
Decline
223
Hard
Decline
226
Incorrect CVV
Hard
Decline
229
Illegal Transaction
Hard
Decline
251
Duplicate Transaction
Hard
Decline
252
System Error
Hard
Decline
704
TABLE A-1
Response
Code
Response Message
Response
Type
253
Deconverted BIN
Hard
Decline
254
Merchant Depleted
Hard
Decline
255
Hard
Decline
257
Hard
Decline
258
Hard
Decline
301
Hard
Decline
302
Hard
Decline
303
Pick Up Card
Hard
Decline
304
Lost/Stolen Card
Hard
Decline
305
Expired Card
Hard
Decline
306
Hard
Decline
Description
705
TABLE A-1
Response
Code
Response Message
307
Restricted Card
Response
Type
Hard
Decline
Description
The card has a restriction
preventing approval for this
transaction. Please contact the
issuing bank for a specific
reason.
You may also receive this code if
the transaction was declined due
to Prior Fraud Advice Filtering
and you are using a schema
version V8.10 or older.
308
Hard
Decline
309
Hard
Decline
310
Hard
Decline
311
Hard
Decline
312
Hard
Decline
313
Hard
Decline
Hard
Decline
706
TABLE A-1
Response
Code
Response Message
Response
Type
316
Hard
Decline
318
Hard
Decline
319
Hard
Decline
320
Hard
Decline
321
Invalid Merchant
Hard
Decline
322
Invalid Transaction
Hard
Decline
Description
323
No such issuer
Hard
Decline
324
Invalid Pin
Hard
Decline
325
Hard
Decline
707
TABLE A-1
Response
Code
Response Message
Response
Type
326
Hard
Decline
327
Hard
Decline
328
Hard
Decline
Recurring/Installment Payments
no longer accepted by the card
issuing bank.
330
Hard
Decline
331
Hard
Decline
332
Hard
Decline
335
Hard
Decline
336
Hard
Decline
340
Invalid Amount
Hard
Decline
341
Hard
Decline
346
Hard
Decline
Description
708
TABLE A-1
Response
Code
Response Message
Response
Type
347
Hard
Decline
348
Hard
Decline
349
Do Not Honor
Soft
Decline
350
Generic Decline
Soft or
Hard
Decline
Description
351
Hard
Decline
352
Hard
Decline
354
Hard
Decline
356
Soft
Decline
357
Hard
Decline
358
Hard
Decline
360
Hard
Decline
709
TABLE A-1
Response
Code
Response Message
Response
Type
361
Hard
Decline
362
Hard
Decline
363
Auto-void on refund
Hard
Decline
364
Hard
Decline
365
Hard
Decline
366
Hard
Decline
367
Hard
Decline
368
Soft
Decline
369
Hard
Decline
370
Hard
Decline
372
Soft
Decline
Description
710
TABLE A-1
Response
Code
Response Message
Response
Type
373
Hard
Decline
375
Hard
Decline
376
Hard
Decline
377
Hard
Decline
378
Hard
Decline
380
Hard
Decline
381
Hard
Decline
382
Hard
Decline
383
Hard
Decline
384
Hard
Decline
385
Hard
Decline
Description
711
TABLE A-1
Response
Code
Response Message
Response
Type
401
Invalid E-mail
Hard
Decline
469
Hard
Decline
470
Approved
471
Hard
Decline
472
Hard
Decline
473
Approved
475
Invalid Subscription Id
Hard
Decline
476
Hard
Decline
477
Hard
Decline
478
Hard
Decline
480
Hard
Decline
481
Hard
Decline
482
Hard
Decline
Description
712
TABLE A-1
Response
Code
Response Message
Response
Type
Description
483
Hard
Decline
500
Hard
Decline
501
Hard
Decline
502
N/A
503
N/A
504
N/A
505
No match found
N/A
506
No changes found
N/A
530
Hard
531
Hard
550
Hard
Decline
713
TABLE A-1
Response
Code
Response Message
Response
Type
601
Soft
Decline
602
Soft
Decline
610
Hard
Decline
611
Hard
Decline
612
Hard
Decline
613
Hard
Decline
614
Hard
Decline
615
Hard
Decline
616
Hard
Decline
617
Hard
Decline
Description
714
TABLE A-1
Response
Code
Response Message
Response
Type
618
Hard
Decline
619
Hard
Decline
620
Hard
Decline
621
Hard
Decline
622
Hard
Decline
623
Hard
Decline
624
Hard
Decline
625
Hard
Decline
Description
715
TABLE A-1
Response
Code
Response Message
Response
Type
626
Hard
Decline
627
Hard
Decline
628
Hard
Decline
629
Hard
Decline
637
Invalid terminal Id
Hard
Decline
701
Hard
Decline
702
Hard
Decline
703
Hard
Decline
704
Hard
Decline
705
On negative file
Hard
Decline
706
Blocked agreement
Hard
Decline
707
Other
708
Invalid Data
Hard
Decline
Description
716
TABLE A-1
Response
Code
709
Response Message
Response
Type
Hard
Decline
Description
A BML response indicating one or
more required data elements are
missing.
Also, returned for an eCheck
transaction that is missing a
required data element. For
example, failure to include the
name element in an echeckSale
or echeckCredit transaction
would result in this code being
returned.
710
Hard
Decline
711
Hard
Decline
712
Duplicate transaction
Hard
Decline-
713
Hard
Decline
714
Inactive Account
Hard
Decline
716
Invalid Auth
Hard
Decline
717
Hard
Decline
801
Approved
802
Approved
805
Approved
820
Hard
Decline
717
TABLE A-1
Response
Code
Response Message
Response
Type
Description
821
Hard
Decline
822
Hard
Decline
835
Hard
Decline
850
Hard
Decline
851
Hard
Decline
852
Hard
Decline
877
Hard
Decline
878
Hard
Decline
879
Hard
Decline
898
Soft
Decline
899
Soft
Decline
900
Hard
Decline
950
Hard
Decline
718
TABLE A-1
Response
Code
Response Message
Response
Type
951
Absolute Decline
Hard
Decline
952
Hard
Decline
953
Hard
Decline
954
Hard
Decline
955
Hard
Decline
956
Hard
Decline
957
Hard
Decline
958
Hard
Decline
Description
719
TABLE A-1
Response
Code
Response Message
Response
Type
959
Hard
Decline
961
Hard
Decline
962
Hard
Decline
Description
720
A.2
TABLE A-2
Authentication
Result Code
Description
721
TABLE A-2
Authentication
Result Code
Description
CAVV passed verification but no liability shift because a) ECI was not
5 or 6 or b) the card type is an excluded (e.g., Commercial Card)
722
A.3
TABLE A-3
Description
00
01
02
10
11
12
13
14
20
30
31
32
Address unavailable
33
General error
34
40
723
A.4
For example, a code of 210 would indicate that the name was not sent, the phone matches, and the
email does not match.
You should code your system to parse all codes from this list. The description is not included in
the response.
TABLE A-4
AAVS Response
Code
Description
000
No Match
001
002
003
010
011
012
013
020
724
TABLE A-4
AAVS Response
Code
Description
021
030
031
033
100
101
102
103
110
111
Full match
112
113
120
121
130
131
133
200
201
202
203
210
211
212
213
220
725
TABLE A-4
AAVS Response
Code
Description
221
230
231
233
300
301
302
303
310
311
312
313
320
321
330
331
333
No response
726
A.5
CVV2
CVC2
CID
TABLE A-5
CVV2/CVC2/CID
Response Code
Description
Match
No Match
Not Processed
(empty response)
727
A.6
Description
10PaymentsOnDeviceLocalDay
10PaymentsOnFuzzyDeviceLocalDay
10PaymentsOnTrueIPLocalDay
10PaymentsWithEmailAddressLocalDay
728
TABLE A-6
Description
100PaymentsOnDeviceLocalMonth
100PaymentsOnFuzzyDeviceLocalMonth
100PaymentsOnTrueIPLocalMonth
2ScreenResolutionsPerDeviceGlobalDay
20PaymentsOnDeviceLocalDay
20PaymentsOnFuzzyDeviceLocalDay
20PaymentsOnTrueIPLocalDay
3CustomerIDsPerDeviceLocalDay
3CustomerIDsPerDeviceLocalWeek
3DevicesPerCustomerIDLocalDay
3DevicesPerCustomerIDLocalWeek
729
TABLE A-6
Description
3DevicesPerEmailGlobalDay
3DevicesPerEmailGlobalWeek
3DevicesPerPaymentCardGlobalDay
3DevicesPerPaymentCardGlobalWeek
3EmailsPerDeviceGlobalDay
3EmailsPerDeviceGlobalWeek
3EmailsPerFuzzyDeviceLocalHour
3PaymentCardsPerDeviceGlobalWeek
3ProxiesPerDeviceGlobalDay
730
TABLE A-6
Description
4ScreenResolutionsPerDeviceGlobalDay
5PaymentsOnDeviceLocalDay
5PaymentsOnFuzzyDeviceLocalDay
5PaymentsOnTrueIPLocalDay
5PaymentsWithEmailAddressLocalHour
50PaymentsOnDeviceLocalWeek
50PaymentsOnFuzzyDeviceLocalWeek
50PaymentsOnTrueIPLocalWeek
AnonymousProxy
AnonymousProxyIP
ComputerGeneratedEmail
731
TABLE A-6
Description
CookiesDisabled
CookiesJavascriptDisabled
CustomAttribute1OnLocalBlacklist
CustomAttribute1OnLocalWhitelist
CustomAttribute2OnLocalBlacklist
CustomAttribute2OnLocalWhitelist
CustomAttribute3OnLocalBlacklist
CustomAttribute3OnLocalWhitelist
CustomAttribute4OnLocalBlacklist
CustomAttribute4OnLocalWhitelist
CustomAttribute5OnLocalBlacklist
CustomAttribute5OnLocalWhitelist
CustomerIDOnLocalBlacklist
CustomerIDOnLocalWhitelist
CustomerNameOnLocalBlacklist
CustomerNameOnLocalWhitelist
732
TABLE A-6
Description
DeviceNotFingerprinted
DeviceIDOnThreatMetrixGlobalBlacklist
DeviceRejectedByNetworkInLastWeek
DeviceOnLocalBlacklist
DeviceOnLocalWhitelist
DeviceOnThreatMetrixGlobalBlacklist
DeviceCountriesNotAllowed
EmailDistanceTraveled
EmailHostnameTooLong
EmailHostnameWithNonLetters
EmailOnLocalBlacklist
733
TABLE A-6
Description
EmailOnLocalWhitelist
EmailUsernameTooLong
EmailUsernameWithNonLetters
EmailOnThreatMetrixGlobalBlacklist
EmailRejectedByNetworkInLastWeek
FlashBrowserLanguageMismatch
FlashCookesJavascriptDisabled
FlashCookiesDisabled
FlashDisabled
734
TABLE A-6
Description
FlashImagesCookiesDisabled
FlashImagesCookiesJavascriptDisabled
FlashImagesDisabled
FlashImagesJavascriptDisabled
FlashJavascriptDisabled
FuzzyDeviceOnLocalBlacklist
FuzzyDeviceOnLocalWhitelist
FuzzyDeviceOnThreatMetrixGlobalBlackli
st
FuzzyDeviceRejectedByNetworkInLastW
eek
GeolocationLanguageMismatch
HiddenProxy
735
TABLE A-6
Description
ImagesCookiesDisabled
ImagesCookiesJavascriptDisabled
ImagesDisabled
ImagesJavascriptDisabled
IPHasNegativeReputation
IPOnLocalBlacklist
IPOnLocalWhitelist
IPOnThreatMetrixGlobalBlacklist
JavascriptDisabled
KnownVPNISP
OpenProxy
PaymentCardDistanceTraveled
736
TABLE A-6
Description
PaymentCardOnThreatMetrixGlobalBlack
list
PaymentCardRejectedByNetworkInLastW
eek
PhoneNumberOnLocalBlacklist
PhoneNumberOnLocalWhitelist
PossibleCookieWipingDay
PossibleCookieWipingHour
PossibleCookieWipingWeek
PossibleVPNOrTunnel
PossibleVPNConnection
PotentialVirtualMachine
ProxyHasNegativeReputation
737
TABLE A-6
Description
ProxyIPHasNegativeReputation
ProxyIPOnLocalBlacklist
ProxyIPOnLocalWhitelist
ProxyIPOnThreatMetrixGlobalBlacklist
SatelliteISP
SatelliteProxyISP
SessionAnomaly
ShippingAddressTrueIPGeolocationMism
atch
SuspectedSessionCloaking
SuspectedTORNetwork
SystemStateAnomaly
738
TABLE A-6
Description
TimeZoneTrueGeolocationMismatch
TransparentProxy
TrueIPHasNegativeReputation
TrueIPOnLocalBlacklist
TrueIPOnLocalWhitelist
TrueIPOnThreatMetrixGlobalBlacklist
TrueIPProxyIPCityMismatch
TrueIPProxyIPGeolocationMismatch
TrueIPProxyIPISPMismatch
TrueIPProxyIPOrganizationMismatch
TrueIPProxyIPRegionMismatch
739
TABLE A-6
Description
TrueIPRejectedByNetworkInLastWeek
UnusualProxyAttributes
740
A.7
TABLE A-7
741
TABLE A-7
742
A.8
TABLE A-8
response
value
The response value and message in the table represent the values for the
response and message attributes of either a litleResponse or
litleOnlineResponse.
message
Description
200 OK
200 OK
200 OK
Objectionable content
detected. Contact
[email protected].
200 OK
N/A
N/A
N/A
N/A
N/A
N/A
417 Expectation
Failed
743
A.9
TABLE A-9
eCheck Return
Reason Code
Description
R01
R02
Account is closed
R03
No account on file
R04
R05
R06
R07
R08
Payment stopped
R09
R10
R11
R12
R13
R14
R15
R16
R17
744
TABLE A-9
eCheck Return
Reason Code
Description
R18
R19
Amount error
R20
R21
R22
Invalid individual ID
R23
R24
Duplicate entry
R25
R26
R27
R28
R29
R30
R31
R32
RDFI non-settlement
R33
Return of item
R34
R35
R36
R37
R38
R39
R40
R41
R42
R43
R44
Invalid individual ID
R45
745
TABLE A-9
eCheck Return
Reason Code
Description
R46
R47
Duplicate enrollment
R50
R51
R52
R53
R61
R67
Duplicate return
R68
R69
Field errors
R70
R71
R72
R73
Timely original return - RDFI certifies the original return entry was
sent within established timeframe for original returns
R74
R75
R76
No errors found
R80
R81
R82
R83
R84
R94
746
TABLE A-9
eCheck Return
Reason Code
Description
R95
R97
R98
R99
747
Description
C01
C02
C03
C04
C05
C06
C07
C08
C09
Incorrect individual ID
C13
C61
Misrouted NOC
C62
C63
Incorrect company ID
C64
Incorrect individual ID
C65
C66
C67
C68
C69
C96
C99
748
B
CREDIT CARD NUMBER FORMATS
This appendix has two parts. The first provides basic information about card numbers, such as
length, prefixes, and validation numbers. The second part provides information about the Luhn
Mod-10 algorithm used to validate account numbers.
Credit Card Number Formats:
Table B-1 provides information on number formats for various credit card types.
CAUTION:
The data presented here is for informational proposes only and is subject to
change by the Credit Card Associations/Companies. You should verify the
information using additional sources prior to using it to create or alter any of your
business systems, processes, or procedures.
TABLE B-1
Card Number
Prefix/Range
Number
Length
Card Validation
Number Length
American
Express
34 and 37
15 digits
4 digits
Diners Club
International
36
14 digits
3 digits
Diners Club
(US and
Canada)
54 and 55
16 digits
3 digits
Card Type
Comments
749
Card Type
Card Number
Prefix/Range
Number
Length
Card Validation
Number Length
Discover
30000000-30599999
14 digits
3 digits
30950000-30959999
or
35280000-35899999
16 digits
Comments
36
38
39
64
65
6011
62212600-62699999
62400000-62699999
62820000-62889999
JCB
35 (except
352800-358999)
16 digits
3 digits
MasterCard
51-55
16 digits
3 digits
Account numbers
352800-358999 are
processed through the
Discover network
or
19 digits
Visa
16 digits
3 digits
or
19 digits
750
3. If the result of step 2 is a multiple of 10, the account number is Mod-10 compliant.
Example: Mod-10 Algorithm
For the account number 4005550000081019, the computations are shown in the table below.
x2
x2
x2
x2
x2
x2
x2
x2
10
8+
0+
0+
5+
1+0+
5+
0+
0+
0+
0+
0+
8+
2+
0+
2+
751
752
C
TEST CARD NUMBERS
The following table provides a list of credit card numbers you can use in our Certification
environment to construct your own transactions beyond what is required for certification. These
account numbers are extracted from the Certification tests of Chapter 2 and the transaction
examples of Chapter 3. Never use these account numbers in the live, production environment.
IMPORTANT: Per PCI DSS Requirements and Security Assessment Procedure, Section
6.4.3, "Production data (live PANs) are not used for testing or
development."
TABLE C-1
Account Number
Card Type
CVV2/CID
4457010000000009
Visa
349
4457010100000008
Visa
992
4457010140000141
Visa
N/A
4457010200000247
Visa
N/A
4100200300011001
Visa
463
4100200300012009
Visa
N/A
4100200300013007
Visa
N/A
4100200310000002
Visa
N/A
4024720001231239
Visa
N/A
4457012400000001
Visa
N/A
4457013200000001
Visa
N/A
4457119922390123
Visa
N/A
753
TABLE C-1
Account Number
Card Type
CVV2/CID
4457000300000007
Visa
N/A
4457000100000009
Visa
N/A
4457003100000003
Visa
N/A
4457000400000006
Visa
N/A
4457000200000008
Visa
N/A
4457000800000002
Visa
N/A
4457000900000001
Visa
N/A
4457001000000008
Visa
N/A
4005550000081019
Visa
N/A
4000000000000001
Visa
555
5112000100000003
MasterCard
N/A
5112002100000009
MasterCard
N/A
5112002200000008
MasterCard
N/A
5112000200000002
MasterCard
N/A
5112000300000001
MasterCard
N/A
5112000400000000
MasterCard
N/A
5112010400000009
MasterCard
N/A
5112000600000008
MasterCard
N/A
5112010000000003
MasterCard
261
5112010100000002
MasterCard
251
5112010140000004
MasterCard
N/A
5500000254444445
MasterCard
N/A
5592106621450897
MasterCard
N/A
5590409551104142
MasterCard
N/A
5587755665222179
MasterCard
N/A
5445840176552850
MasterCard
N/A
5390016478904678
MasterCard
N/A
5112010201000109
MasterCard
N/A
5112010202000108
MasterCard
N/A
754
TABLE C-1
Account Number
Card Type
CVV2/CID
5194560012341234
MasterCard
N/A
5435101234510196
MasterCard
987
5112000900000005
MasterCard
N/A
6011010000000003
Discover
758
6011010100000002
Discover
184
6011010140000004
Discover
N/A
375000026600004
American Express
N/A
375001000000005
American Express
N/A
375001010000003
American Express
0421
375001014000009
American Express
N/A
341234567890127
American Express
N/A
755
756
D
PAYFAC INSTRUCTION-BASED DYNAMIC
PAYOUT
This appendix discusses the Vantiv Instruction-Based Dynamic Payout option provided for use by
PayFacs (Payment Facilitators).
Topics covered in this document include:
Advantages of Using Instruction-Based Dynamic Payout
Overview of Instruction-Based Dynamic Payout
Example of Funding Instruction Session File
Funding Instruction Certification Testing
SSR Reports
757
Operational Efficiencies
Simplified and consolidated reconciliation
Outsourcing the creation of 1099K forms
Alleviates the need for home-grown funding engine
Eliminates accounts receivable (if doing end-of-month invoicing)
758
D.2
759
D.2.1
The diagram below illustrates the timing and flow of transactions, reports, and money movement.
In the diagram, the process begins with the delivery of transactions on Monday morning from the
Sub-merchants to the PayFac and completes on Wednesday morning with the final money
movement.
NOTE:
FIGURE D-2
The diagram below does not include information about the delivery of FIO
reports. Please refer to the PayFac Funds In and Out Report InfoSheet for
additional information.
760
D.2.2
Figure D-3 below provides definitions of the various accounts form/to which funds move as a
result of the various funding instructions you submit. In addition to what is shown in the
illustration, money movement can also occur originating with the card brands or bank in the case
of eCheck transactions. The card brands/banks credit or debit the PayFac Settlement Account as a
result of capture and refund transactions. Also, for chargebacks, American Express fees and
Vantiv fees, credits and debits are made to the PayFac Operating Account.
The LitleXML shown in Example of Funding Instruction Session File on page 763 provides
examples of the transactions used for each type of money movement.
IMPORTANT: Beginning on March 1, 2015, Vantiv will perform a check on the net
(deposits - refunds) money movement between accounts for each Batch
of funding instructions. If there are insufficient funds in any account
impacted by the funding instructions, the entire Batch is rejected without
processing any instructions. The returned error message will provide
information about which account lacks the necessary funds.
FIGURE D-3
Account Definitions
761
D.2.2.1
Beginning on March 1, 2015, Vantiv will perform a front-end check on each Funding Instruction
Batch verifying the account balances are adequate to cover the net money movement from each
account. If there are insufficient funds in any account impacted by the funding instructions, the
entire Batch is rejected. The returned error message will provide information about which account
lacks the necessary funds.
For example, you submit a Batch of funding instructions that include a number of
reserveCredit and reserveDebit transactions, such that the net funds movement (credits debits) results in $200,000 being moved from the PayFac Reserve Account to the PayFac
Settlement Account. However, the current balance in the PayFac Reserve account is only
$175,000. The front-end checks would detect this situation and reject the entire Batch with a
reject message similar to: The specified Funding Instructions would result in a negative balance
in your PayFac Reserve account.
762
D.3
763
<accType>Checking</accType>
<accNum>123456789012</accNum>
<routingNum>114567895</routingNum>
</accountInfo>
</submerchantCredit>
<!-- Example of PayFac debiting the Submerchant. Funds move from the
Submerchant Account to the PayFac Settlement Account. -->
<submerchantDebit reportGroup="SubMerchantRefund">
<fundingSubmerchantId>SomeSubMerchant</fundingSubmerchantId>
<submerchantName>Some Merchant Inc.</submerchantName>
<fundsTransferId>00004</fundsTransferId>
<amount>4000</amount>
<accountInfo>
<accType>Checking</accType>
<accNum>123456789012</accNum>
<routingNum>114567895</routingNum>
</accountInfo>
</submerchantDebit>
<!-- Example of PayFac adding money into reserves. Funds move from the
PayFac Settlement Account to the Reserve Account. -->
<reserveCredit reportGroup="Reserve">
<fundingSubmerchantId>merchant101</fundingSubmerchantId>
<fundsTransferId>00005</fundsTransferId>
<amount>5000</amount>
</reserveCredit>
<!-- Example of PayFac getting money from Reserves. Funds move from the
Reserve Account to the PayFac Settlement Account. -->
<reserveDebit reportGroup="SubMerchantRefund">
<fundingSubmerchantId>merchant101</fundingSubmerchantId>
<fundsTransferId>00006</fundsTransferId>
<amount>6000</amount>
</reserveDebit>
</batchRequest>
</litleRequest>
<!-- Example of PayFac funding the vendor. Funds move from the PayFac
Settlement Account to the Vendor Account. -->
<vendorCredit reportGroup="vendorPayment">
<fundingSubmerchantId>SomeVendor</fundingSubmerchantId>
<vendorName>Some Vendor Inc.</vendorName>
<fundsTransferId>00007</fundsTransferId>
<amount>7000</amount>
<accountInfo>
<accType>Checking</accType>
<accNum>123456789012</accNum>
764
<routingNum>114567895</routingNum>
</accountInfo>
</vendorCredit>
<!-- Example of PayFac debiting the vendor account. Funds move from the
Vendor Account to the Payfac Settlement Account. -->
<vendorDebit reportGroup="vendorReturn">
<fundingSubmerchantId>SomeVendor</fundingSubmerchantId>
<vendorName>Some Vendor Inc.</vendorName>
<fundsTransferId>00008</fundsTransferId>
<amount>8000</amount>
<accountInfo>
<accType>Checking</accType>
<accNum>123456789014</accNum>
<routingNum>114567895</routingNum>
</accountInfo>
</vendorDebit>
<!-- Example of PayFac funding the Physical Check Account. Funds move from
the PayFac Settlement Account to the Physical Check Account -->
<physicalCheckCredit reportGroup="physicalCheck">
<fundingSubmerchantId>merchant101</fundingSubmerchantId>
<fundsTransferId>00009</fundsTransferId>
<amount>9000</amount>
</physicalCheckCredit>
<!-- Example of PayFac debiting the Physical Check account. Funds move from
the Physical Check Account to the PayFac Settlement Account-->
<physicalCheckDebit reportGroup="physicalCheckDebit">
<fundingSubmerchantId>merchant101</fundingSubmerchantId>
<fundsTransferId>00010</fundsTransferId>
<amount>10000</amount>
</physicalCheckDebit>
765
D.4
TABLE D-1
Transaction Type
Element
Value
Element
Value
payFacCredit
<fundsTransferId> 00001
<fundsTransferId> 00001
<amount> 1000
<response> 000
<message> Approved
submerchantCredit
<fundsTransferId> 00003
<fundsTransferId> 00003
<amount> 3000
<response> 000
<message> Approved
reserveCredit
<fundsTransferId> 00005
<fundsTransferId> 00005
<amount> 5000
<response> 000
<message> Approved
vendorCredit
<fundsTransferId> 00007
<fundsTransferId> 00007
<amount> 7000
<response> 000
<message> Approved
physicalCheckCre
dit
<fundsTransferId> 00009
<fundsTransferId> 00009
<amount> 9000
<response> 000
<message> Approved
766
TABLE D-1
Transaction Type
payFacDebit
Element
<fundsTransferId> 00002
Value
Element
Value
<fundsTransferId> 00002
<amount> 2000
<response> 000
<message> Approved
submerchantDebit
<fundsTransferId> 00004
<fundsTransferId> 00004
<amount> 4000
<response> 000
<message> Approved
reserveDebit
<fundsTransferId> 00006
<fundsTransferId> 00006
<amount> 6000
<response> 000
<message> Approved
vendorDebit
<fundsTransferId> 00008
<fundsTransferId> 00008
<amount> 8000
<response> 000
<message> Approved
physicalCheckDebi
t
<fundsTransferId> 00010
<fundsTransferId> 00010
<amount> 10000
<response> 000
<message> Approved
767
D.5
SSR Reports
SSR Reports
You are required to receive the following Scheduled Secure Reports when using the
Instruction-Based Dynamic Payout feature:
Failed Fund Transfer Report - contains data about failures to transfers funds to
Sub-merchants accounts. The report is produced daily.
NoC Report - contains NoC data detailing changes in Sub-merchants accounts discovered
during funds transfer operations. The report is produced daily and removed after 24 hours.
Account Balance Report- contains data about balances in various accounts used by this
solution. The report is produced daily.
TIN Validation Report - contains data about Legal Entity Tax Identification Numbers
validation failures. The report is produced daily.
Funding Instruction Discrepancy Report - provides data about each funding instruction,
between 30 to 60 days old, that does not reconcile with submitted Funds In/Out reports.
Activity Discrepancy Report - provides data reconciling the Finds In/Out report, settlement
activity, and Net Sales per Source by activity day.
Funding Instruction ACH Summary Report - provides counts of all funding instruction
types, as well as counts of NOCs and fund transfer failures for the previous month
Funding Instruction Confirmation Report - provides data about all settled funding
instructions from the previous day.
Balance Summary Report - provides a summary of the balance in the PayFac account for
the previous day.
In addition to the required reports listed above, you can use the SSR to track transactional data,
chargebacks, and to assist in reconciliation operations. Some of these reports are:
Net Settled Sales by Transaction Report - includes all settled and conveyed transactions
(deposits and refunds), including echeck transactions. The report can be scheduled based
upon either Activity (post) or Settlement (funds transfer) day.
Session Report - includes all transactions for a particular activity post day and allows
reconciliation against submitted transactions.
Transaction Summary Report - includes summarized deposits and refunds (both settled and
conveyed) submitted by the merchant and broken down by purchase currency, reporting
groups, and payment type for a particular activity post day.
Activity Report - includes summarized financial data for transactions (deposits and refunds)
based upon activity post date and broken down by Reporting Group and payment type.
Settlement Report - includes summarized financial data for settled transactions (deposits and
refunds) based upon settlement (funds transfer) date and broken down by Reporting Group
and payment type.
768
Chargeback Status Report - provides details of all chargeback activities for a designated
activity (post day) date or date range in the case of a monthly report. This report is run daily
or monthly.
Fee Report - provides a detailed breakdown of all Vantiv and Passthrough (Interchange) fees
associated with transactions for a given activity (post) or fund transfer (settlement) date.
NOTE:
For additional information about these and other reports, please refer to
the latest version of the Vantiv Scheduled Secure Reports Reference
Guide.
769
770
SSR Reports
Index
Numerics
3DS response certification testing, 123
A
AAVS Response Codes, 724
accNum, 298
Account Updater, 14
accountInfo, 299
accountInformation, 300
accountNumber, 301
accountNumberLength, 302
accountUpdate, 303
accountUpdateFileRequestData, 304
accountUpdater, 305
accountUpdateResponse, 309
accType, 310
actionReason, 311
activate, 312
activateResponse, 313
activateReversal, 314
activateReversalResponse, 315
active, 316
addOnCode, 317
address response certification testing, 117
addressIndicator, 318
addressLine1, 319
Advanced AVS Response Codes, 724
Advanced Fraud Tools, 32
advancedAVSResult, 320
advancedFraudChecks, 321
advancedFraudResult, 322
affiliate, 323
affluence, 324
Affluence Indicator Feature, 26
allowPartialAuth, 325
American Express
Authorization lifespan, 185
amexAggregatorData, 326
amount, 327
applepay, 328
applepayResponse, 329
applicationData, 330
applicationExpirationDate, 331
applicationPrimaryAccountNumber, 332
approvedAmount, 333
authAmount, 334
authCode, 335
authDate, 336
authenticatedByMerchant, 337
authentication, 338
authenticationResult, 339
authenticationTransactionId, 340
authenticationValue, 341
authInformation, 342
Authorization
lifespan, 185
authorization, 343
Authorization lifespan
American Express, 57
Bill Me Later, 58
Discover, 57
MasterCard, 57
PayPal, 57
Visa, 57
Authorization Reversal transactions
certification testing, 99
authorizationResponse, 344
authorizationSourcePlatform, 345
authReversal, 346
authReversalResponse, 347
availableBalance, 348
AVS Filtering, 31
AVS response code testing, 116
AVS Response Codes, 723
avsResult, 349
B
balanceInquiry, 350
balanceInquiryResponse, 351
Basic Fraud Tools, 28
AVS Filtering, 31
Fraud Velocity Filtering, 30
Prepaid Card Filtering, 28
Prior Chargeback Filtering, 29
Prior Fraud Filtering, 30
Security Code No-match Filtering, 30
Basic Fraud tools
771
2015 Vantiv, LLC - All Rights Reserved.
C
campaign, 371
cancelSubscription, 372
cancelSubscriptionResponse, 372, 373
capability, 374
capture, 375
captureGivenAuth, 376
captureGivenAuthResponse, 377
captureResponse, 378
card, 379
cardAcceptorTaxId, 380
Cardholder Type Indicator Feature, 26
cardholderAuthentication, 381
cardholderId, 382
cardholderName, 383
cardOrToken, 384
cardProductType, 385
cardValidationNum, 387
cardValidationResult, 388
cashBackAmount, 389
catLevel, 390
certification testing
3DS responses, 123
address responses, 117
Authorization Reversal transactions, 99
AVS response codes, 116
response codes and messages, 120
volume testing, 176
chargeback, 392
checkNum, 393
city, 394
clinicOtherAmount, 395
code, 396
commodityCode, 397
companyName, 398
country, 399
createAddOn, 400
createDiscount, 401
createPlan, 402
createPlanResponse, 403
credit, 404
creditLine, 406
creditLitleTxnId, 407
creditResponse, 408
customBilling, 411
Customer Insight Features, 25
customerInfo, 413
customerIpAddress, 414
customerReference, 415
customerRegistrationDate, 416
customerType, 417
customerWorkTelephone, 418
D
data, 419
deactivate, 420
deactivateResponse, 421
deactivateReversal, 422
deactivateReversalResponse, 423
debtRepayment, 424
Decline Notice
eCheck Verification, 45
deleteAddOn, 425
deleteDiscount, 426
deliveryType, 427
dentalAmount, 428
depositReversal, 429
depositReversalResponse, 430
description, 431
descriptor, 432
destinationCountryCode, 433
destinationPostalCode, 434
detailTax, 435
deviceManufacturerIdentifier, 436
deviceReputationScore, 437
deviceReviewStatus, 438
discountAmount, 439
discountCode, 440
Discover
772
Index
E
echeck, 443
eCheck Auto Redeposit Feature, 46
eCheck NoC Update Feature, 46
eCheck Processing Feature, 44
eCheck Validation Feature, 44
eCheck Verification
Decline Notice, 45
eCheck Verification Feature, 44
eCheckAccountSuffix, 444
echeckCredit, 445
echeckCreditResponse, 446
echeckForToken, 447
echeckOrEcheckToken, 448
echeckPreNoteCredit, 449
echeckPreNoteCreditResponse, 450
echeckPreNoteSale, 451
echeckPreNoteSaleResponse, 452
echeckRedeposit, 453
echeckRedepositResponse, 454
echeckSale, 455
echeckSalesResponse, 456
echeckToken, 457
echeckVerification, 458
echeckVerificationResponse, 459
echeckVoid, 460
echeckVoidResponse, 461
eciIndicator, 462
email, 463
employerName, 464
encryptedTrack, 465
endDate, 466
endingBalance, 467
enhancedAuthResponse, 468
enhancedData, 470
entryMode, 474
ephemeralPublicKey, 475
error messages
response Header, 743
XML validation, 741
expDate, 476
extendedCardResponse, 477
F
Features
Account Updater, 14
Affluence Indicator, 26
Cardholder Type Indicator, 26
Customer Insight, 25
Duplicate Transaction Detection, 7
eCheck Auto Redeposit, 46
eCheck NoC Update, 46
eCheck Processing, 44
eCheck Validation, 44
eCheck Verification, 44
Healthcare Card, 48
Issuer Country Indicator, 26
Prepaid Indicator, 25
Report Groups, 10
Tokenization, 38
filtering, 478
Filtering Rules, 31
finalPayment, 479
firstName, 480
forceCapture, 481
forceCaptureResponse, 482
formatId, 483
Fraud Check transaction, 37
Fraud Filtering
Filtering Rules, 31
Fraud Toolkit, 28
Advanced Fraud Tools, 32
Basic Fraud Tools, 28
Fraud Velocity Filtering, 30
fraudCheck, 484, 610
fraudCheckResponse, 485
fraudFilterOverride, 486
fraudResult, 487
fundingSource, 488
fundingSubmerchantId, 489
fundsTransferId, 490
G
giftCardBin, 491
giftCardResponse, 492
H
header, 493
773
2015 Vantiv, LLC - All Rights Reserved.
I
idle time timeout, 81
IIASFlag, 496
incomeAmount, 497
incomeCurrency, 498
Instruction-Based Dynamic Payout, 67
international, 499
International Card Filtering, 29
intervalType, 500
invoiceReferenceNumber, 501
Issuer Country Indicator Feature, 26
issuerCountry, 502
itemCategoryCode, 503
itemDescription, 504
itemDiscountAmount, 505
itemSequenceNumber, 506
K
ksnr, 507
L
lastName, 508
lineItemData, 509
lineItemTotal, 511
lineItemTotalWithTax, 512
litleInternalRecurringRequest, 513
litleOnlineRequest, 514
litleOnlineResponse, 515
litleRequest, 517
litleResponse, 518
litleSessionId, 520
litleToken, 521
litleTxnId, 522
load, 523
loadResponse, 524
loadReversal, 525
loadReversalResponse, 526
M
MasterCard
Authorization lifespan, 185
merchantData, 527
merchantGroupingId, 528
merchantId, 529
message, 530
middleInitial, 531
mpos, 532
N
name, 533
newAccountInfo, 534
newCardInfo, 535
newCardTokenInfo, 536
newTokenInfo, 537
nextRecycleTime, 538
number, 539
numberOfPayments, 540
O
onlinePaymentCryptogram, 541
optional certification tests
3DS responses, 123
address responses, 117
AVS response codes, 116
response codes and messages, 120
volume testing, 176
orderDate, 542
orderId, 543
orderSource, 544
originalAccountInfo, 546
originalCard, 547
originalCardInfo, 548
originalCardTokenInfo, 549
originalToken, 550
originalTokenInfo, 551
P
password, 552
payerId, 553
payFacCredit, 554
payFacCreditResponse, 555
payFacDebit, 556
payFacDebitResponse, 557
paymentDataType, 558
paypage, 559
paypageRegistrationId, 560
774
Index
PayPal
Authorization lifespan, 185
paypal, 561
payPalOrderComplete, 563
persistent connection timeout, 81
phone, 564
physicalCheckCredit, 565
physicalCheckCreditResponse, 566
physicalCheckDebit, 567
physicalCheckDebitResponse, 568
planCode, 569
pos, 570
postDate, 571
postDay, 572
preapprovalNumber, 573
prepaid, 574
Prepaid Card Filtering, 28
Prepaid Indicator Feature, 25
prepaidCardType, 575
Prior Chargeback Filtering, 29
Prior Fraud Filtering, 30
processingInstructions, 576
productCode, 577
publicKeyHash, 578
Q
quantity, 579
R
recurringRequest, 580
recurringResponse, 580, 581
recurringTxnId, 582
recycleAdvice, 583
recycleAdviceEnd, 584
recycleBy, 585
recycleEngineActive, 586
recycleId, 587
recycling, 588
Recycling Engine, 12
Recycling Engine and Auth Reversal, 60, 66
recyclingRequest, 590
refundReversal, 591
refundReversalResponse, 592
registerTokenRequest, 593
registerTokenResponse, 594
reloadable, 595
sale, 609
saleResponse, 611
salesTax, 613
secondaryAmount, 614
Security Code No-match Filtering, 30
sellerId, 615
sellerMerchantCategoryCode, 616
shipFromPostalCode, 617
shippingAmount, 618
shipToAddress, 619
signature, 620
ssn, 621
startDate, 622
state, 623
stopping auto-recycling, 60, 66
submerchantCredit, 624
submerchantCreditResponse, 625
submerchantDebit, 626
submerchantDebitResponse, 627
submerchantName, 628
subscription, 629
subscriptionId, 631
surchargeAmount, 632
T
Tagging Transactions, 11
taxAmount, 633
taxExempt, 634
775
2015 Vantiv, LLC - All Rights Reserved.
taxIncludedInTotal, 635
taxRate, 636
taxType, 637
taxTypeIdentifier, 638
terminalId, 639
termsAndConditions, 640
testing
Authorization Reversal transactions, 99
optional certification tests
3DS responses, 123
address responses, 117
AVS response codes, 116
response codes and messages, 120
volume testing, 176
threatMetrixSessionId, 641
timeout
persistent connection, 81
Timeout settings, 81
token, 642
Tokenization Feature, 38
tokenMessage, 643
tokenResponse, 644
tokenResponseCode, 645
totalHealthcareAmount, 646
track, 647
track1Status, 648
track2Status, 649
transactionAmount, 650
transactionId, 651
trialIntervalType, 653
trialNumberOfIntervals, 654
triggeredRule, 655
type, 656
U
unitCost, 658
unitOfMeasure, 659
unload, 660
unloadResponse, 661
unloadReversal, 662
unloadReversalResponse, 663
updateAddOn, 664
updateCardValidationNumOnToken, 666
updateCardValidationNumOnTokenResponse, 6
67
updatedCard, 665
updateDiscount, 668
updatedToken, 676
updatePlan, 669
updatePlanResponse, 670
updateSubscription, 671
updateSubscriptionResponse, 675
url, 677
user, 678
V
vendorCredit, 679
vendorCreditResponse, 680
vendorDebit, 681
vendorDebitResponse, 682
vendorName, 683
verificationCode, 684
verify, 685
version, 686
virtualAccountNumber, 688
virtualAuthenticationKeyData, 689
virtualAuthenticationKeyPresenceIndicator, 690
virtualGiftCard, 691
virtualGiftCardResponse, 692
Visa
Authorization lifespan, 185
visionAmount, 687
void, 693
voidResponse, 694
volume certification testing, 176
W
wallet, 695
walletSourceType, 696
walletSourceTypeId, 697
X
XML elements
accNum, 298
accountInfo, 299
accountInformation, 300
accountNumber, 301
accountNumberLength, 302
accountUpdate, 303
accountUpdateFileRequestData, 304
accountUpdater, 305
accountUpdateResponse, 309
776
Index
accType, 310
actionReason, 311
activate, 312
activateResponse, 313
activateReversal, 314
activateReversalResponse, 315
active, 316
addOnCode, 317
addressIndicator, 318
addressLine1, 319
advancedAVSResult, 320
advancedFraudChecks, 321
advancedFraudResult, 322
affiliate, 323
affluence, 324
allowPartialAuth, 325
amexAggregatorData, 326
amount, 327
applepay, 328
applepayResponse, 329
applicationData, 330
applicationExpirationDate, 331
applicationPrimaryAccountNumber, 332
approvedAmount, 333
authAmount, 334
authCode, 335
authDate, 336
authenticatedByMerchant, 337
authentication, 338
authenticationResult, 339
authenticationTransactionId, 340
authenticationValue, 341
authInformation, 342
authorization, 343
authorizationResponse, 344
authorizationSourcePlatform, 345
authReversal, 346
authReversalResponse, 347
availableBalance, 348
avsResult, 349
balanceInquiry, 350
balanceInquiryResponse, 351
batchRequest, 352
batchResponse, 359
beginningBalance, 360
billingDate, 361
billMeLaterRequest, 362
billMeLaterResponseData, 364
billToAddress, 365
bin, 367
bmlMerchantId, 368
bmlProductType, 369
bypassVelocityCheck, 370
campaign, 371
cancelSubscription, 372
cancelSubscriptionResponse, 372, 373
capability, 374
capture, 375
captureGivenAuth, 376
captureGivenAuthResponse, 377
captureResponse, 378
card, 379
cardAcceptorTaxId, 380
cardholderAuthentication, 381
cardholderId, 382
cardholderName, 383
cardOrToken, 384
cardProductType, 385
cardValidationNum, 387
cardValidationResult, 388
cashBackAmount, 389
catLevel, 390
chargeback, 392
checkNum, 393
city, 394
clinicOtherAmount, 395
code, 396
commodityCode, 397
companyName, 398
country, 399
createAddOn, 400
createDiscount, 401
createPlan, 402
createPlanResponse, 403
credit, 404
creditLine, 406
creditLitleTxnId, 407
creditResponse, 408
customBilling, 411
customerInfo, 413
customerIpAddress, 414
customerReference, 415
customerRegistrationDate, 416
customerType, 417
777
2015 Vantiv, LLC - All Rights Reserved.
customerWorkTelephone, 418
data, 419
deactivate, 420
deactivateResponse, 421
deactivateReversal, 422
deactivateReversalResponse, 423
debtRepayment, 424
deleteAddOn, 425
deleteDiscount, 426
deliveryType, 427
dentalAmount, 428
depositReversal, 429
depositReversalResponse, 430
description, 431
descriptor, 432
destinationCountryCode, 433
destinationPostalCode, 434
detailTax, 435
deviceManufacturerIdentifier, 436
deviceReputationScore, 437
deviceReviewStatus, 438
discountAmount, 439
discountCode, 440
dob, 441
dutyAmount, 442
echeck, 443
eCheckAccountSuffix, 444
echeckCredit, 445
echeckCreditResponse, 446
echeckForToken, 447
echeckOrEcheckToken, 448
echeckPreNoteCredit, 449
echeckPreNoteCreditResponse, 450
echeckPreNoteSale, 451
echeckPreNoteSaleResponse, 452
echeckRedeposit, 453
echeckRedepositResponse, 454
echeckSale, 455
echeckSalesResponse, 456
echeckToken, 457
echeckVerification, 458
echeckVerificationResponse, 459
echeckVoid, 460
echeckVoidResponse, 461
eciIndicator, 462
email, 463
employerName, 464
encryptedTrack, 465
endDate, 466
endingBalance, 467
enhancedAuthResponse, 468
enhancedData, 470
entryMode, 474
ephemeralPublicKey, 475
expDate, 476
extendedCardResponse, 477
filtering, 478
finalPayment, 479
firstName, 480
forceCapture, 481
forceCaptureResponse, 482
formatId, 483
fraudCheck, 484, 610
fraudCheckResponse, 485
fraudFilterOverride, 486
fraudResult, 487
fundingSource, 488
fundingSubmerchantId, 489
fundsTransferId, 490
giftCardBin, 491
giftCardResponse, 492
header, 493
healthcareIIAS, 495
IIASFlag, 496
incomeAmount, 497
incomeCurrency, 498
international, 499
intervalType, 500
invoiceReferenceNumber, 501
issuerCountry, 502
itemCategoryCode, 503
itemDescription, 504
itemDiscountAmount, 505
itemSequenceNumber, 506
ksn, 507
lastName, 508
lineItemData, 509
lineItemTotal, 511
lineItemTotalWithTax, 512
litleInternalRecurringRequest, 513
litleOnlineRequest, 514
litleOnlineResponse, 515
litleRequest, 517
litleResponse, 518
litleSessionId, 520
litleToken, 521
778
Index
litleTxnId, 522
load, 523
loadResponse, 524
loadReversal, 525
loadReversalResponse, 526
merchantData, 527
merchantGroupingId, 528
merchantId, 529
message, 530
middleInitial, 531
mpos, 532
name, 533
newAccountInfo, 534
newCardInfo, 535
newCardTokenInfo, 536
newTokenInfo, 537
nextRecycleTime, 538
number, 539
numberOfPayments, 540
onlinePaymentCryptogram, 541
orderDate, 542
orderId, 543
orderSource, 544
originalAccountInfo, 546
originalCard, 547
originalCardInfo, 548
originalCardTokenInfo, 549
originalToken, 550
originalTokenInfo, 551
password, 552
payerId, 553
payFacCredit, 554
payFacCreditResponse, 555
payFacDebit, 556
payFacDebitResponse, 557
paymentDataType, 558
paypage, 559
paypageRegistrationId, 560
paypal, 561
payPalOrderComplete, 563
phone, 564
physicalCheckCredit, 565
physicalCheckCreditResponse, 566
physicalCheckDebit, 567
physicalCheckDebitResponse, 568
planCode, 569
pos, 570
postDate, 571
postDay, 572
preapprovalNumber, 573
prepaid, 574
prepaidCardType, 575
processingInstructions, 576
productCode, 577
publicKeyHash, 578
quantity, 579
recurringRequest, 580
recurringResponse, 580, 581
recurringTxnId, 582
recycleAdvice, 583
recycleAdviceEnd, 584
recycleBy, 585
recycleEngineActive, 586
recycleId, 587
recycling, 588
recyclingRequest, 590
refundReversal, 591
refundReversalResponse, 592
registerTokenRequest, 593
registerTokenResponse, 594
reloadable, 595
reserveCredit, 596
reserveCreditResponse, 597
reserveDebit, 598
reserveDebitResponse, 599
residenceStatus, 600
response, 601
responseCode, 602
responseMessage, 603
responseTime, 604
RFRRequest, 605
RFRResponse, 606
routingNum, 607
RxAmount, 608
sale, 609
saleResponse, 611
salesTax, 613
secondaryAmount, 614
sellerId, 615
sellerMerchantCategoryCode, 616
shipFromPostalCode, 617
shippingAmount, 618
shipToAddress, 619
signature, 620
779
2015 Vantiv, LLC - All Rights Reserved.
ssn, 621
startDate, 622
state, 623
submerchantCredit, 624
submerchantCreditResponse, 625
submerchantDebit, 626
submerchantDebitResponse, 627
submerchantName, 628
subscription, 629
subscriptionId, 631
surchargeAmount, 632
taxAmount, 633
taxExempt, 634
taxIncludedInTotal, 635
taxRate, 636
taxType, 637
taxTypeIdentifier, 638
terminalId, 639
termsAndConditions, 640
threatMetrixSessionId, 641
token, 642
tokenMessage, 643
tokenResponse, 644
tokenResponseCode, 645
totalHealthcareAmount, 646
track, 647
track1Status, 648
track2Status, 649
transactionAmount, 650
transactionId, 651
trialIntervalType, 653
trialNumberOfIntervals, 654
triggeredRule, 655
type, 656
unitCost, 658
unitOfMeasure, 659
unload, 660
unloadResponse, 661
unloadReversal, 662
unloadReversalResponse, 663
updateAddOn, 664
updateCardValidationNumOnToken, 666
updateCardValidationNumOnTokenResponse, 667
updatedCard, 665
updateDiscount, 668
updatedToken, 676
updatePlan, 669
78
.....
updatePlanResponse, 670
updateSubscription, 671
updateSubscriptionResponse, 675
url, 677
user, 678
vendorCredit, 679
vendorCreditResponse, 680
vendorDebit, 681
vendorDebitResponse, 682
vendorName, 683
verificationCode, 684
verify, 685
version, 686
virtualAccountNumber, 688
virtualAuthenticationKeyData, 689
virtualAuthenticationKeyPresenceIndicator, 690
virtualGiftCard, 691
virtualGiftCardResponse, 692
visionAmount, 687
void, 693
voidResponse, 694
wallet, 695
walletSourceType, 696
walletSourceTypeId, 697
yearsAtEmployer, 698
yearsAtResidence, 699
zip, 700
Y
yearsAtEmployer, 698
yearsAtResidence, 699
Z
zip, 700