AIM Guide
AIM Guide
AIM Guide
December 2015
Authorize.Net Trademarks:
Advanced Fraud Detection Suite™
Authorize.Net®
Authorize.Net Your Gateway to IP Transactions™
Authorize.Net Verified Merchant Seal™
Automated Recurring Billing™
eCheck.Net®
2
CONTENTS
Contents
Chapter 1 Introduction 9
AIM Minimum Requirements 9
Payment Card Industry (PCI) Data Security Standard 10
Managing Integration Settings 10
Features of AIM 11
eCheck.Net 12
PayPal Express Checkout 13
Payment Processors 13
North American Payment Processors 13
European Payment Processors 15
Asia-Pacific Processors 15
EVOSnap 16
Accepted Authorization/Settlement Currencies 16
Accepted Billing Currencies 16
Accepted Card Types 16
EVOSnap Supported Services 17
Software Development Kits 20
Retail 25
Credit Card Transaction Types 25
Authorization and Capture 26
Authorization Only 26
Prior Authorization and Capture 27
Capture Only 27
Credit (Refund) 28
Unlinked Credit 28
Void 29
Visa Verification Transactions 30
Partial Authorization Transactions 30
Using the Merchant Interface 32
Date Revision
December 2015 This revision contains only editorial changes and no technical updates.
October 2015 Added a note about TLS to "AIM Minimum Requirements," page 9.
August 2015 Updated EVOSnap information in "Payment Processors," page 13.
July 2015 Added a section on EVOSnap to "Payment Processors," page 13.
Added a new transaction POST location to "Transaction Post Location,"
page 33.
April 2015 Added CAD to FDMS in "North American Payment Processors," page 13.
Changed authentication indicator 1 to optional for MasterCard SecureCode
in "Valid Value Combinations for MasterCard SecureCode Fields," page 47.
Removed a note stating that the processor EVO does not support partial
authorizations. EVO now supports partial authorizations.
Conventions
Support
The following resources can help you successfully integrate a merchant web site or other
application to the Authorize.Net Payment Gateway.
The Developer Center provides sandbox accounts, sample code, FAQs, and
troubleshooting tools.
Developer training videos cover a variety of topics.
The developer community provides answers to questions from other Authorize.Net
developers.
Ask us a question at our Developer Support page.
Search our knowledge base for answers to commonly asked questions.
AIM is a payment processing solution you can customize to give a merchant control over
all of the steps in processing a transaction:
Collecting customer payment information through a custom application
Generating a receipt to the customer
Securely transmitting data to the payment gateway for transaction processing
Securely storing cardholder information
And more, depending on the merchant’s business requirements
For merchants who prefer a payment solution that collects, transmits, and
stores cardholder data, Authorize.Net recommends the Server Integration
Note Method (SIM). For more information, see the Server Integration Method (SIM)
Developer Guide.
SIM does not require merchants to purchase and install an SSL/TLS digital
certificate, which reduces the complexity of securely handling and storing
cardholder information, simplifying compliance with the Payment Card
Industry (PCI) Data Security Standard.
The merchant must have a merchant bank account that allows Internet transactions.
The merchant’s web site must have server-side scripting or CGI capabilities such as
ASP Classic, C#, Cold Fusion, Java, Perl, PHP, or VB.Net.
The merchant must be able to securely store payment gateway account data, such as
their API Login ID or Transaction Key.
The merchant must have a valid SSL or TLS certificate and their web site must be
capable of initiating both client- and server-side connections.
After June 30th 2016, the PCI Security Standards Council will require that all
merchants use TLS certificate version 1.1 or later. Authorize.Net recommends
Note as a best practice that you use the latest available version of TLS, and that you
upgrade your solution as soon as possible. For more information, see:
https://www.pcisecuritystandards.org/documents/Migrating_from_SSL_
Early_TLS_Information%20Supplement_v1.pdf
Using AIM involves transmitting sensitive cardholder data using the merchant’s
web server. Therefore, if the merchant stores cardholder information, it must be
Important stored securely and in accordance with the Payment Card Industry (PCI) Data
Security Standard. For more information about PCI and other industry standard
processing practices, see the Standards, Compliance, and Security training
video.
Merchants who need a solution that collects, transmits, and stores cardholder
data should use the Server Implementation Method (SIM). For more
Note information about SIM, see the Server Integration Method (SIM) Developer
Guide.
Features of AIM
In addition to basic transaction processing, AIM provides merchants with several features
for configuring transaction security options and further customizing their customers’
checkout experience. These features are listed in the table below. Discuss these features
with your merchant and select the appropriate features for their integration.
eCheck.Net
In addition to processing credit card transactions, the payment gateway also supports
electronic check transactions with our eCheck.Net product. Contact the merchant to
determine whether eCheck.Net is enabled for their payment gateway account, and if it is
not, whether they would like to have it enabled. If eCheck.Net is enabled, you must ensure
that the merchant’s web site integration supports all eCheck.Net field requirements. See
the eCheck.Net Developer Guide for more information.
Payment Processors
The merchant’s payment processor determines the card types and currencies that the
merchant can support.
Asia-Pacific Processors
Authorize.Net supports the following Asia-Pacific payment processors for Card-Not-
Present (CNP) transactions.
EVOSnap
There are multiple EVOSnap processing platforms. If you use the U.S. Dollar (USD), you
are assigned to EVOSnap U.S. If you use any other currencies, you are assigned to
EVOSnap International.
Unsupported Services
Apple Pay and soft descriptors are not supported by EVOSnap.
Duplication Rules
Same Terminal ID
Same Card Number
Same Dollar Amount
Duplicates are flagged when they occur within an hour of each other.
Magstripe
Level 2 Support
PO# is required when any level 2 data is submitted. Level 2 data includes tax, duty, and
freight information.
Billing Address
First name
Last name
Address
City
State/province (only required if country is US or Canada)
Country
ZIP/postal code
The employeeId field is required; however, if a value is not passed with the field,
Authorize.Net sends a default value of 0000 to the processor.
Consolidated Accounts
The Consolidated Accounts feature is not supported on the EVOSnap platform. Multiples
market types require multiple accounts.
Merchants using Automated Recurring Billing must be approved by their merchant service
provider, also known as their acquirer.
International Services
Table 6 Authorize.Net Services Supported by EVOSnap International
Not Supported
Retail
Level 2 data
Soft descriptors
Partial authorization
Consolidated accounts (MOTO/E-Commerce)—separate accounts are required.
Automated recurring billing and customer information manager
CVV
EVOSnap requires CVV for all international transactions. CVV must be enabled in the
Authorize.Net merchant interface’s Virtual Terminal settings.
To enable CVV:
Transactions are declined if the submitted address data does not match. Merchants can
override this behavior on a per-transaction basis, if permitted by EVOSnap. Merchant
accounts are configured to either use or not use AVS processing when they are boarded.
If the account is configured to not use AVS processing, AVS is not performed, even if the
data is included. If the merchant account is configured to use AVS every transaction must
include AVS data, unless the merchant is authorized by EVOSnap to override the AVS
processing.
API
Customer code is required. If not present, customer code is populated with 0000. Country
code must be in ISO format. For example, GBR, CHE, AUS.
Error Codes
RTC 350
Description—EVOSnap: country must be a valid three-character value if specified.
Message—country must be a valid three-character value if specified.
RTC 351
Description—EVOSnap: employee ID cannot be more than 6 characters in length, 4
for a retail transaction.
Message—employee ID must be 1 to %x characters in length.
Note—the %x is replaced with a 6 for E-Commerce and MOTO transaction types and
4 for retail transaction types.
Billing Information
When any billing information is submitted, all billing fields must be provided.
For information on setting the currency using the AIM API, see x_currency_code, page 36.
The SDK provides utilities to help developers build payment flows for each of the
integration methods. You can download the SDKs:
http://developer.authorize.net/downloads/
The payment gateway supports several credit card transaction types for transactions
submitted using AIM.
To implement AIM for a merchant’s web site or proprietary business application, you need
to develop an application that:
Developer test accounts with API login IDs and transaction keys are also available to help
you test your integration with the Authorize.Net Payment Gateway:
http://developer.authorize.net/testaccount
x_name_of_field=value of field
E-commerce
This market type is used for any transaction where the customer enters their card data
through a website or software application. The following fields are required when the
market type is e-commerce:
x_market_type = 0
x_card_num
x_exp_date
x_exp_date
Retail
This market type is distinctly different from the other two and is used in a scenario where
the customer is physically present with the merchant (or a terminal controlled by the
merchant). Generally, retail transactions involve the card being swiped through a magnetic
track reader and this raw track data is submitted for the transaction. The following fields
are required when the market type is Retail:
x_market_type = 2
x_device_type
x_track1 or x_track2
or
While Authorize.Net supports all market types, the same cannot be said for all
merchant accounts. We recommend checking with your merchant account
Note provider to confirm that your account is configured to accept all of the market
types that are relevant to your business.
The payment processor EVO does not support Track 1 data. EVO also does
not support consolidated accounts; you must have separate e-commerce and
Note retail market types.
Some of the field requirements listed in this section for each credit card
transaction type are in addition to the minimum field requirements already set
Note forth above for ALL transactions submitted to the payment gateway. For a list of
all fields that are required for each credit card transaction type, see
Appendix A, "Fields by Transaction Type," on page 77.
x_type=AUTH_CAPTURE
Authorization Only
This transaction type is sent for authorization only. The transaction is not sent for
settlement until the Prior Authorization and Capture credit card transaction type is
submitted (see definition below), or the transaction is submitted for capture manually in
the Merchant Interface. For more information about capturing Authorization Only
transactions in the Merchant Interface, see the Merchant Integration Guide.
If no action is taken on the Authorization Only transaction on the payment gateway within
30 days, the authorization expires and is no longer available for capture. A new
Authorization Only transaction then has to be submitted to obtain a new authorization
code.
x_type=AUTH_ONLY
Merchants can submit Authorization Only transactions when they want to verify the
availability of funds on the customer’s credit card before finalizing the transaction. This
transaction type can also be submitted if the merchant does not currently have an item in
stock or wants to review orders before shipping goods.
The payment gateway accepts this transaction type and initiates settlement if the following
conditions are met:
The original Authorization Only transaction was submitted within the previous 30 days
(Authorization Only transactions expire on the payment gateway after 30 days).
The transaction is submitted with the valid transaction ID (x_trans_id) of an original,
successfully authorized, Authorization Only transaction.
The original transaction is not yet captured or expired, or it generated an error.
The amount being requested for capture is less than or equal to the original
authorized amount. Only a single Prior Authorization and Capture transaction can be
submitted against an Authorization Only transaction.
The unique field requirements for a Prior Authorization and Capture transaction are:
x_type=PRIOR_AUTH_CAPTURE
x_trans_id=Transaction ID
For this transaction type, the amount field (x_amount) is required only if a Prior
Authorization and Capture transaction is submitted for an amount that is less than the
amount of the original Authorization Only transaction. If no amount is submitted, the
payment gateway initiates settlement for the amount of the original authorized transaction.
Capture Only
This transaction type is used to complete a previously authorized transaction that was not
originally submitted through the payment gateway or that requires voice authorization.
The payment gateway accepts this transaction type and initiates settlement if the
transaction is submitted with the valid authorization code issued to the merchant to
complete the transaction.
x_type=CAPTURE_ONLY
x_auth_code=Authorization Code
For instructions on how to perform a Capture Only transaction in the Merchant Interface,
see the Merchant Integration Guide.
Credit (Refund)
This transaction type is used to refund a customer for a transaction that was originally
processed and successfully settled through the payment gateway.
The payment gateway accepts Credits if the following conditions are met:
x_type=CREDIT
x_trans_id=Transaction ID
Unlinked Credit
This transaction type is used to issue a refund for a transaction that was not originally
submitted through the payment gateway. It also enables the merchant to override
restrictions for submitting refunds for payment gateway transactions; for example, if the
merchant is beyond the 120-day period for submitting a refund or would like to refund an
amount that is greater than the original transaction amount.
The ability to submit unlinked credits is not a standard feature of a merchant’s payment
gateway account. To obtain the expanded credits capability (ECC), the merchant must
submit an application, which can be found at http://www.authorize.net/files/ecc.pdf.
Void
This transaction type can be used to cancel either an original transaction that is not yet
settled or an entire order composed of more than one transaction. A Void prevents the
transaction or the order from being sent for settlement. A Void can be submitted against
any other transaction type.
If you are not sure whether a transaction is settled, you can attempt to submit a
Void first. If the Void transaction results in an error, the original transaction is
Note likely settled, and you can submit a Credit for the transaction.
The payment gateway accepts Voids if the following conditions are met:
x_type=void
x_trans_id=Transaction ID, or x_split_tender_id=Split Tender ID
Bill To address (x_address) and zip code (x_zip) are required in order to perform the AVS
check.
The payment processor EVO does not support Visa Verification transactions.
Note
Merchants must indicate that they can handle the extra processing either by selecting the
Partial Authorization option in the account settings of the Merchant Interface, or by
sending an x_allow_partial_auth=true value with an individual transaction. Without this
flag, the transaction would be handled as any other and would be either fully authorized or
declined due to lack of funds on the card.
When the first transaction is successfully approved for a partial amount of the total order, a
split tender ID is generated and returned to the merchant in the response. This ID must be
passed back with each of the remaining transactions of the group, using the x_split_
tender_id=<value> element. If you include both a split tender ID and a transaction ID on
the same request, an error results.
If successfully authorized, all transactions in the group are held until the final transaction
of the group is successfully authorized.
If the merchant needs to release the group of transactions before the final transaction is
approved (if the balance is paid by cash, for example), send a PRIOR_AUTH_CAPTURE
request and include the split tender ID instead of a transaction ID.
If the merchant needs to void the group before completion, send a void request using the
split tender ID instead of a transaction ID. This action voids all the transactions in the
group.
When an authorization is granted for an amount less than the purchase amount, a
split tender ID is provided in addition to the Transaction ID. The split tender ID is used
on subsequent payments for that purchase.
The transaction is not submitted for settlement until either the merchant submits
payments adding up to the full requested amount or until the merchant indicates that
the transaction has been completed (when all or part of the remaining balance is paid
in cash).
You can void all transactions in an order using a split tender ID, or you can void
individual transactions using a transaction ID.
The split tender ID cannot be submitted together with a transaction ID; only one or the
other can be submitted.
For more information on submitting transactions in the Merchant Interface, see the
Merchant Integration Guide or click Help in the top right corner of the Merchant Interface.
https://secure2.authorize.net/gateway/transact.dll
https://secure.authorize.net/gateway/transact.dll
Note
Transactions should be sent using HTTP POST, not HTTP GET. HTTP
GET sends information in clear text and is therefore not secure.
Note For more information, see RFC 2616, section 15.1.3.
Merchant Information
Table 9 Merchant Information
Transaction Information
Table 10 Transaction Information
Order Information
Table 11 Order Information
The value for the x_line_item field can include delimited item information. Item
information must be delimited by a bracketed pipe <|>. Line item values must be included
in the order listed below.
The following table describes the Item Information elements of the x_line_item field. A
code example is presented after the table.
Item Information
Description
Elements
Item ID<|> Required
Value: The ID assigned to an item.
Format: 31-character maximum
Item Name<|> Required
Value: The name of an item.
Format: 31-character maximum
Item Description<|> Optional
Value: A detailed description of an item.
Format: 255-character maximum
Item Quantity<|> Required
Value: The quantity of the item on this order.
Format: Maximum of 2 decimal places. Must be a positive number.
Item Price (unit cost)<|> Required
Value: Cost of an item per unit, excluding tax, freight, and duty.
Format: Maximum of 2 decimal places. Must be a positive number.
The dollar sign ($) is not allowed in delimited information.
Item Taxable Optional (FALSE by default)
Value: Indicates whether the item is subject to tax.
Format: TRUE, FALSE, T, F, YES, NO, Y, N, 1, 0
The merchant can submit a maximum of 30 distinct line items containing itemized order
information for each transaction. All field separators are required whether or not the field
has a value. In the example below, the item description field after golf balls<|> has no
value, yet the bracketed pipe remains.
For Prior Authorization and Capture transactions, if line item information was
submitted with the original transaction, adjusted information can be submitted if
Note the transaction changed. If no adjusted line item information is submitted, the
information submitted with the original transaction applies.
Customer Information
Table 13 Customer Information
If your payment processor is EVO and you submit one of the following fields,
you must submit them all.
Note x_first_name
x_last_name
x_address
x_city
x_state
x_zip
Shipping Information
Table 14 Shipping Information
If your payment processor is EVO and you submit one of the following fields,
you must submit them all.
Note x_ship_to_first_name
x_ship_to_last_name
x_ship_to_address
x_ship_to_city
x_ship_to_state
x_ship_to_zip
x_tax
This optional field can contain either the valid tax amount or delimited tax information.
When submitting delimited tax information, you must delimit values with a bracketed pipe
<|> in the order shown below. The total amount of the transaction in x_amount must
include this amount.
Example 1
x_tax=Tax1<|>state tax<|>0.09
x_freight
This optional field can contain either the valid freight amount or delimited freight
information. When submitting delimited freight information, you must delimit values with a
bracketed pipe <|>, as shown in the example below. The total amount of the transaction
inthe x_amount field must include this amount.
Example 2 x_freight
x_freight=Freight<|>ground overnight<|>12.95
x_duty
This optional field can contain either the valid duty amount or delimited duty information.
When submitting delimited duty information, you must delimit values with a pipe <|>, as
shown in the example below. The total amount of the transaction in the x_amount field
must include this amount.
freight description<|>
freight amount: the dollar sign ($) is not allowed within delimited information. The total
amount of the transaction in the x_amount field must include this amount.
Example 3 x_duty
x_duty=Duty1<|>export<|>15.00
x_tax_exempt
This optional field can contain the tax exempt status of the order.
The values of this field can include: TRUE, FALSE, T, F, YES, NO, Y, N, 1, 0.
x_po_num
This optional field can contain the merchant-assigned purchase order number, up to 25
characters, no symbols. The purchase order number must be created dynamically on the
merchant server or provided per transaction. The payment gateway does not perform this
function.
If your payment processor is EVO and you submit Level 2 data, you must also
submit the x_po_num field.
Note
Cardholder Authentication
The payment gateway supports the transmission of authentication fields for the following
cardholder authentication programs:
Verified by Visa
MasterCard SecureCode
Merchants using a third-party cardholder authentication solution can submit the following
authentication values with Visa and/or MasterCard transactions.
The cardholder authentication fields are currently supported only through the
Chase Paymentech, FDMS Nashville, Global Payments, and TSYS
Note processors for Visa and MasterCard transactions. Cardholder authentication
information submitted for transactions processed through any other processor
is ignored.
For example, when the MasterCard value for the x_authentication_indicator field is 1,
the value for the x_cardholder_authentication_value field is optional.
Merchant-Defined Fields
Merchants can also choose to include merchant-defined fields to further customize the
information included with a transaction. Merchant-defined fields are any fields that are not
recognized by the payment gateway as standard application programming interface (API)
fields.
For example, the merchant might want to provide a field in which customers provide
specific shipping instructions and product color information. All you need to do is submit a
custom field name and any accompanying text with the transaction request string—for
example, shipping_instructions and product_color.
Standard payment gateway fields that are misspelled are treated as merchant-
defined fields.
Note
Merchant-defined data fields are not intended to and must not be used to
capture personally identifying information. Accordingly, the merchant is
Warning prohibited from capturing, obtaining, and/or transmitting any personally
identifying information in or by means of the merchant-defined data fields.
Personally identifying information includes, but is not limited to, name, address,
credit card number, social security number, driver's license number, state-
issued identification number, passport number, and card verification numbers
(CVV, CVC2, CVV2, CID, CVN). If Authorize.Net discovers that the merchant is
capturing and/or transmitting personally identifying information by means of the
merchant-defined data fields, whether or not intentionally, CyberSource will
immediately suspend the merchant's account, which will result in a rejection of
any and all transaction requests submitted by the merchant after the point of
suspension.
The transaction response from the payment gateway is returned as a delimited string and
provides information about the status of a transaction—whether it was accepted or
declined—as well as information included in the transaction request.
Fields in the response are delimited by a character that is specified in the transaction
request string (x_delim_char) or configured in the Merchant Interface. The merchant
server can parse this data to customize receipt messages that can be displayed or
emailed to the customer. Transaction results are also provided in the payment gateway
merchant confirmation email and on the Transaction Detail page for the transaction in the
Merchant Interface.
You can use the following fields to customize the format of the payment gateway
transaction response. You can also configure these settings in the Merchant Interface. For
more information about configuring these settings in the Merchant Interface, see the
Merchant Integration Guide.
If the transaction request does not include the duplicate window field, and the payment
gateway detects a duplicate transaction within the default window of 2 minutes, the
payment gateway response will contain the response code of 3 (processing error) with a
response reason code of 11 (duplicate transaction) with no additional details.
If the transaction request does include the duplicate window field and value, and the
payment gateway detects a duplicate transaction within the window of time specified, the
payment gateway response for the duplicate transaction will include the response code
and response reason code listed above, as well as information about the original
transaction (as outlined below).
If the original transaction was declined, and a value was passed in the duplicate window
field, the payment gateway response for the duplicate transaction will include the following
information for the original transaction:
AVS result
CCV result
Transaction ID
If the original transaction was approved, and a value was passed in the duplicate window
field, the payment gateway response will also include the authorization code for the
original transaction. All duplicate transactions submitted after the duplicate window are
processed normally, whether specified in the transaction request or after the payment
gateway’s default 2-minute duplicate window.
Version 3.0
The version 3.0 response contains system fields from position 1 to 38 and echoes
merchant-defined fields from 39 on, in the order received by the system.
The following are examples of a 3.0 transaction query string and response:
Version 3.1
The version 3.1 response string contains 68 system fields with field number 39
representing the Card Code (CVV2/CVC2/CID) response code. Merchant-defined fields
are echoed from field 69 onward. Merchants wishing to use the Card Code feature and
merchants who accept partial authorization transactions must use transaction version 3.1.
You can also configure the transaction version per transaction by using the x_version
element.
Note
Response Code indicates the overall status of the transaction with possible values of
approved, declined, errored, or held for review.
Response Reason Text details the specific reason for the transaction status. This
information can be returned to the merchant and/or customer to provide more
information about the status of the transaction.
Response Description
Code
1 This transaction has been approved.
2 This transaction has been declined.
3 There has been an error processing this transaction.
4 This transaction is being held for review.
Email Receipt
Merchants can choose to send an email receipt generated by the payment gateway to
customers who provide an email address with their transaction. The email receipt includes
a summary and results of the transaction. To the customer, this email appears to be sent
from the merchant contact that is configured as the Email Sender in the Merchant
Interface.
To send the customer email receipt, submit the API fields that appear in the following
table, with the transaction request string. These settings can also be configured in the
Merchant Interface.
For more information about configuring these settings, see the Merchant Integration
Guide.
In addition, the merchant can receive a transaction confirmation email from the payment
gateway at the completion of each transaction, which includes order information and the
results of the transaction. Merchants can sign up for confirmation emails in the Merchant
Interface. For more information, see the Merchant Integration Guide.
Test the payment gateway integration carefully before going live to ensure successful and
smooth transaction processing.
In order to use this environment, you must have an Authorize.Net developer test account
with an associated API Login ID and Transaction Key. Test transactions to this
environment are accepted with these credentials only. If you do not have a developer test
account, you can register one at http://developer.authorize.net/testaccount.
You do not need to use Test Mode when testing with a developer test account.
For more information about Test Mode, see the Merchant Integration Guide.
Note
In this phase, you can test the integration in one of two ways:
By including the x_test_request field with a value of TRUE in the transaction request
string sent to https://secure.authorize.net/gateway/transact.dll. See the example
below.
By placing the merchant’s payment gateway account in Test Mode in the Merchant
Interface. New payment gateway accounts are placed in Test Mode by default. For
more information about Test Mode, see the Merchant Integration Guide. When you
process test transactions in Test Mode, the payment gateway returns a transaction ID
of 0. This means you cannot test follow-on transactions such as credits, voids, etc.,
while in Test Mode. To test follow-on transactions, you can either submit x_test_
request=TRUE as indicated above, or process a test transaction with any valid credit
card number in live mode, as explained below.
Phase 3
If testing in the live environment is successful, you are ready to submit live transactions
and verify that they are being submitted successfully. Either remove the x_test_request
field from the transaction request string, or set it to FALSE, or if you are using Test Mode,
turn it off in the Merchant Interface. To receive a true response, you must submit a
transaction using a real credit card number. You can use any valid credit card number to
submit a test transaction. You can void successful transactions immediately to prevent live
test transactions from being processed. This can be done quickly on the Unsettled
Transactions page of the Merchant Interface. It is recommended that when testing using a
live credit card, you use a nominal value, such as USD 0.01. Therefore, if you forget to
void the transaction, the impact is minimal. For VISA verification transactions, submit a
USD 0.00 value instead, if the processor accepts it.
Visa verification transactions are being switched from USD 0.01 to USD 0.00
for all processors. For Visa transactions using USD 0.00, the Bill To address
Note (x_address) and zip code (x_zip) fields are required.
For example, to test AVS response reason code number 27, submit the test transaction
with the credit card number 4222222222222 and the amount 27.00.
To test the AVS or CCV responses in the live environment, submit live transactions with
the correct street address, ZIP code, and Card Code information to generate successful
responses, and incorrect street address, ZIP code, and Card Code information to
generate other responses. You can void successful transactions immediately to prevent
live test transactions from being processed. You can do it quickly on the Unsettled
Transactions page of the Merchant Interface. It is not possible to test the AVS or CCV
responses in the developer test environment. For more information about AVS, see the
Merchant Integration Guide.
For more information about response reason codes, see Chapter 4, "Transaction
Response," on page 49 of this guide.
This appendix provides a complete listing of all API fields that should be submitted for
each transaction type supported for AIM. It is divided into the following sections:
The minimum fields that are required in order to submit a transaction.
Additional fields that are required in order to configure advanced features of AIM.
“Best practice” fields, or fields that the payment gateway recommends should be
submitted per transaction in order to maintain a strong connection to the payment
gateway—for example, to prevent possible conflicts if integration settings in the
Merchant Interface are inadvertently changed.
* These fields can support either a straight numeric value, or line item details similar to x_line_item.
For Prior Authorization and Capture transactions, if line item information was
submitted with the original transaction, adjusted information can be submitted if
Note the transaction changed. If no adjusted line item information is submitted, the
information submitted with the original transaction applies.
* The x_relay_response field is not technically an AIM feature; however, it is recommended that you submit this field per transaction
with the value of FALSE as a best practice to further define the AIM transaction format.