Professional Documents
Culture Documents
Table of Contents
INTRODUCTION ..........................................................................................................................4 ADVANCED INTEGRATION METHOD (AIM) .............................................................................5 What is AIM? .............................................................................................................................5 How Does AIM Work? ...............................................................................................................5 What is Required to Implement AIM? ........................................................................................5 The AIM Application Program Interface (API)............................................................................5 AIM Implementation...................................................................................................................6 Using the Merchant Interface to Configure AIM.........................................................................6 Minimum Requirements for AIM ................................................................................................6
Security Considerations for AIM ........................................................................................................ 7
STANDARD TRANSACTION SUBMISSION API FOR AIM........................................................9 Merchant Account Information...................................................................................................9 Gateway Response Configuration ...........................................................................................10 Customer Name and Billing Address.......................................................................................11 Additional Customer Data........................................................................................................12 Email Settings..........................................................................................................................12 Invoice Information ..................................................................................................................13 Customer Shipping Address ....................................................................................................13 Transaction Data .....................................................................................................................13 Level 2 Data.............................................................................................................................15 TRANSACTION SUBMISSION API FOR AIM WELLS FARGO SECURESOURCE MERCHANTS .............................................................................................................................17 Customer Name and Billing Address.......................................................................................17 Email Settings..........................................................................................................................18 Additional Customer Data........................................................................................................18 GATEWAY RESPONSE API......................................................................................................20 Fields in the Gateway Response .............................................................................................20 AIM Transaction Response Types...........................................................................................21
Version 3.0.......................................................................................................................................... 21 Version 3.1.......................................................................................................................................... 22 Upgrading the Transaction Version................................................................................................. 22
APPENDIX A TYPES OF CREDIT CARD TRANSACTIONS .................................................30 Credit Card Transaction Types................................................................................................30 APPENDIX B FEATURES OF THE GATEWAY .....................................................................33 Address Verification System....................................................................................................33 Credit Card Identification Code (CVV2/CVC2/CID) .................................................................34 APPENDIX C CUSTOMIZING NOTIFICATION TO CUSTOMERS ........................................35
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
APPENDIX D THE MD5 HASH SECURITY FEATURE ..........................................................36 What is the MD5 Hash Security Feature? ...............................................................................36 How is the Signature Constructed? .........................................................................................36 How Should the Feature be Set Up on the Merchants Server?..............................................36 How is the MD5 Hash Value Set Up in the Merchant Interface? .............................................36 APPENDIX E SUBMITTING TEST TRANSACTIONS TO THE SYSTEM ..............................38 Test Mode................................................................................................................................38
Running a Test Transaction ............................................................................................................. 38 Test credit card numbers .................................................................................................................. 39
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Introduction
Payment gateways facilitate electronic commerce by enabling merchants to accept credit cards and electronic checks as methods of payment for goods and services sold online. The gateway acts as a bridge between the merchant's Website and the financial institutions that process payment transactions. Payment data is collected online from the shopper and submitted to the gateway for real-time authorization. Authorization is the process of checking the validity and available balance of a customer's credit card before the transaction can be accepted. To authorize a given credit card transaction, the gateway transmits the transaction information to the appropriate financial institutions for validation, then returns the response (approved or declined) from the institution to the merchant or customer. The payment gateway supports real-time and offline requests for credit card authorization. Note: The payment gateway is targeted towards merchants that process Card-Not-Present transactions. In a Card-Not-Present transaction, the merchant and the shopper are not in the same physical location and the customer usually calls in the payment data or keys in the details of the credit card on a Website. All e-commerce and mail/telephone orders are Card-Not-Present transactions. The gateway also supports electronic check transactions. Merchants can collect customer bank account numbers and routing numbers to pay for purchases. This document describes how transactions can be submitted to the gateway for real-time processing using Advanced Integration Method (AIM). AIM is the recommended integration method for merchants who have the capability to initate both client and server side SSL connections. This method offers the merchant a high degree of security and control because transaction data is submitted to the gateway over a secure server-toserver connection that is initiated by the merchant server. Since the merchant server will receive a response directly from the gateway, the merchant has more control over the response to the end customer.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
AIM Implementation
To implement AIM, a developer would design a script that does the following: 1. Securely obtains all of the information needed to process a transaction. 2. Initiates a secure HTTPS form POST from their server to https://secure.authorize.net/gateway/transact.dll. Note: Authorize.Net will only accept transactions on port 443. This post will include all system variables mentioned in the tables below (see the following section entitled Standard Transaction Submission API for AIM). 3. Receives the response from the gateway and processes the response to display the appropriate result to the end user.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 7 of 44 x_amount x_card_num x_exp_date x_type Amount of purchase inclusive of tax Customer's card number Customer's card expiration date Type of transaction (AUTH_CAPTURE, AUTH_ONLY, CAPTURE_ONLY, CREDIT, VOID, PRIOR_AUTH_CAPTURE
The following is the minimum set of NAME/VALUE pairs that should be submitted to the gateway when using AIM for an eCheck transaction.
FIELD NAME x_version x_delim_data x_relay_response x_login x_tran_key x_amount x_bank_aba_code x_bank_acct_num x_bank_acct_type x_bank_name x_bank_acct_name x_type FIELD VALUE 3.1 True False Your Login ID Transaction key obtained from the Merchant Interface Amount of purchase inclusive of tax ABA routing number Bank Account Number Type of Account Checkings or Savings Name of bank at which account is maintained Name underwhich the account is maintained at the bank Type of transaction (AUTH_CAPTURE, CREDIT)
Security Considerations for AIM Every transaction submitted to the system using AIM should have a transaction key. The transaction key needs to be securely stored on the merchant server and submitted with each transaction. The gateway rejects all transactions that do not have a transaction key or that include an invalid key. The transaction key is generated by the system and can be obtained from Merchant Interface. To obtain the transaction key from the Merchant Interface 1. 2. 3. 4. 5. Log into the Merchant Interface Select Settings from the Main Menu Click on Obtain Transaction Key in the Security section Type in the answer to the secret question configured on setup Click Submit
It is strongly recommended that the merchant periodically change the transaction key. The merchant will have to disable the old key and generate a new key. The old key will be valid for 24 hours before it expires. To disable the old key on the Merchant Interface: 1. 2. 3. 4. Log into the Merchant Interface Select Settings from the Main Menu Click on Obtain Transaction Key in the Security section Type in the answer to the secret question configured on setup
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
5. Check the box that says Disable Old Key 6. Click Submit Note: Use only port 443 for AIM information transfers for reasons of security.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
x_version
Optional If no value is specified, the value located in the Transaction Version settings within the Merchant Interface will be used.
x_test_request
Optional
TRUE, FALSE
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
x_delim_char
Optional
x_encap_char
Optional
x_relay_response
Required
FALSE
N/A
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 11 of 44 FIELD REQUIRED VALUE MAX LENGTH DESCRIPTION response is desired. As all AIM transactions are direct response, a value of FALSE is required.
x_last_name
Optional
Any string
50
x_company
Optional
Any string
50
x_address
Optional
Any string
60
x_city
Optional
Any string
40
x_state
Any valid two40 digit state code or full state name Any string 20
x_zip
x_country
x_phone
Optional
Any valid two60 digit country code or full country name (spelled in English) Any string 25 Recommended format is (123)123-1234 Any string Recommended format is (123)123-1234
Contains the phone number of the customer associated with the billing address for the transaction.
x_fax
Optional
25
Contains the fax number of the customer associated with the billing address for the transaction.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
x_customer_ip
Optional
x_customer_tax_id
Optional
Required format 15 is 255.255.255.255. If this value is not passed, it will default to 255.255.255.255 9 digits/numbers 9 only
Email Settings
The following fields describe how and when emails will be sent when transactions are processed by the system.
FIELD x_email REQUIRED Optional VALUE Any valid email address MAX LENGTH 255 DESCRIPTION Email address to which the customers copy of the confirmation email is sent. No email will be sent to the customer if the email address does not meet standard email format checks. Indicates whether a confirmation email should be sent to the customer.
x_email_customer
Optional
TRUE, FALSE
x_merchant_email
Optional
If no value is submitted, system will default to the value configured in the Merchant Interface. Any valid email 255 address
Email address to which the merchants copy of the customer confirmation email should be sent. If a value is submitted, an email will be sent to this address as well as the address(es) configured in the Merchant Interface.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Invoice Information
Based on their respective requirements, merchants may submit invoice information with a transaction. Two invoice fields are provided in the gateway API.
FIELD x_invoice_num x_description REQUIRED Optional Optional VALUE Any string Any string MAX LENGTH 20 255 DESCRIPTION Merchant-assigned invoice number. Description of the transaction.
Any valid two40 digit state code or full state name Any string 20
x_ship_to_zip x_ship_to_country
Any valid two60 digit country code or full country name (spelled in English)
Contains the customer shipping zip. Contains the customer shipping country.
Transaction Data
The following fields contain transaction-specific information such as amount, payment method, and transaction type.
FIELD x_amount x_currency_code REQUIRED Required Optional VALUE Any amount Valid currency MAX LENGTH 15 3 DESCRIPTION Total value to be charged or credited inclusive of tax. Currency of the transaction
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 14 of 44 FIELD REQUIRED VALUE code MAX LENGTH DESCRIPTION amount. If left blank, this value will default to the value specified in the Merchant Interface. See Appendix G for other values. Indicates the method of payment for the transaction being sent to the system. If left blank, this value will default to CC. Indicates the type of transaction. If the value in the field does not match any of the values stated, the transaction will be rejected. If no value is submitted in this field, the gateway will process the transaction as an AUTH_CAPTURE Indicates whether the transaction is a recurring billing transaction. Routing number of a bank for eCheck.Net transactions.
x_method
Required
CC, ECHECK
N/A
x_type
Required
x_recurring_billing
Optional
YES, NO
x_bank_aba_code
Conditional Required if x_method = ECHECK Conditional Required if x_method = ECHECK Conditional Required if x_method = ECHECK Conditional Required if x_method = ECHECK Conditional Required if x_method = ECHECK
x_bank_acct_num
20
x_bank_acct_type
CHECKING, SAVINGS
Describes the type of bank account; if no value is provided, default is set to CHECKING. Contains the name of the customers financial institution.
x_bank_name
50
x_bank_acct_name
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 15 of 44 FIELD x_echeck_type REQUIRED Conditional Required if x_method = ECHECK x_card_num Conditional Required if x_method = CC Conditional Required if x_method = CC Numeric credit card number 22 VALUE WEB MAX LENGTH DESCRIPTION This indicates that the eCheck payment request originated from a Website. The system will default this value to WEB if no value is sent. Contains the credit card number.
x_exp_date
x_card_code
Optional
MMYY, MM/YY, MM-YY, MMYYYY, MM/YYYY, MM-YYYY, YYYY-MM-DD, YYYY/MM/DD Valid CVV2, CVC2 or CID value Valid transaction ID
N/A
x_trans_id
Conditional
10
x_auth_code
Required if x_type = CREDIT, VOID, or PRIOR_AUTH_CA PTURE Conditional Valid 6 authorization code Required if x_type = CAPTURE_ONLY
Three- or four-digit number on the back of a credit card (on front for American Express). ID of a transaction previously authorized by the gateway.
Authorization code for a previous transaction not authorized on the gateway that is being submitted for capture.
Level 2 Data
The system supports Level 2 transaction data by providing the following fields as part of the transaction submission API.
FIELD x_po_num x_tax x_tax_exempt x_freight REQUIRED Optional Optional Optional Optional VALUE Any string MAX LENGTH 25 DESCRIPTION Contains the purchase order number. Contains the tax amount. Indicates whether the transaction is tax exempt. Contains the freight amount charged.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 16 of 44 FIELD x_duty REQUIRED Optional MAX LENGTH Any valid amount 10 VALUE DESCRIPTION Contains the amount charged for duty.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
x_last_name
Required
Any string
50
x_company
Required
Any string
50
x_address
Required
Any string
60
x_city
Required
Any string
40
x_state
Required
Any valid two40 digit state code or full state name Any string 20
x_zip
Required
x_country
Required
x_phone
Required
Any valid two60 digit country code or full country name (spelled in English) Any string 25
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 18 of 44 FIELD REQUIRED VALUE Recommended format is (123)123-1234 MAX LENGTH DESCRIPTION associated with the billing address for the transaction.
Email Settings
FIELD x_email REQUIRED Required
VALUE
Any valid email address
x_customer_tax_id
Conditional IF x_type = ECHECK, merchant must provide EITHER x_customer_tax_id OR x_drivers_license_n um AND x_drivers_license_st ate AND x_drivers_license_D OB Conditional IF x_type = ECHECK, merchant must provide EITHER x_customer_tax_id OR x drivers license n
Required for all eCheck transactions for Wells Fargo SecureSource Merchants. Tax ID or SSN of the customer initiating the transaction. If the Tax ID or SSN is not available, the customers drivers license number, drivers license state and date of birth must be used in its place.
x_drivers_license_num
50
Required for all eCheck transactions for Wells Fargo SecureSource Merchants where the Tax ID or SSN is not provided.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 19 of 44 FIELD REQUIRED VALUE MAX LENGTH DESCRIPTION
x_drivers_license_state
x_drivers_license_dob
um AND x_drivers_license_st ate AND x_drivers_license_d ob Conditional 2-character state abbreviation IF x_type = ECHECK, merchant must provide EITHER x_customer_tax_id OR x_drivers_license_n um AND x_drivers_license_st ate AND x_drivers_license_d ob YYYY-MMConditional DDD, YYYY/MM/DD, IF x_type = ECHECK, merchant MM/DD/YYYY, MM-DD-YYYY, must provide EITHER x_customer_tax_id OR x_drivers_license_n um AND x_drivers_license_st ate AND x_drivers_license_d ob
Required for all eCheck transactions for Wells Fargo SecureSource Merchants where the Tax ID or SSN is not provided.
N/A
Required for all eCheck transactions for Wells Fargo SecureSource Merchants where the Tax ID or SSN is not provided.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
DESCRIPTION
Indicates the result of the transaction: 1 = Approved 2 = Declined 3 = Error A code used by the system for internal transaction tracking. A code representing more details about the result of the transaction. Brief description of the result, which corresponds with the Response Reason Code. The six-digit alphanumeric authorization or approval code. Indicates the result of Address Verification System (AVS) checks: A = Address (Street) matches, ZIP does not B = Address information not provided for AVS check E = AVS error G = Non-U.S. Card Issuing Bank N = No Match on Address (Street) or ZIP P = AVS not applicable for this transaction R = Retry System unavailable or timed out S = Service not supported by issuer U = Address information is unavailable W = 9 digit ZIP matches, Address (Street) does not X = Address (Street) and 9 digit ZIP match Y = Address (Street) and 5 digit ZIP match Z = 5 digit ZIP matches, Address (Street) does not This number identifies the transaction in the system and can be used to submit a modification of this transaction at a later time, such as voiding, crediting or capturing the transaction. Echoed from form input value for x_invoice_num. Echoed from form input value for x_description. Echoed from form input value for x_amount. Echoed from form input value for x_method. Echoed from form input value for x_type. Echoed from form input value for x_cust_id.
2 3 4 5 6
Response Subcode Response Reason Code Response Reason Text Approval Code AVS Result Code
Transaction ID
8 9 10 11 12 13
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 21 of 44 POSITION IN RESPONSE 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 FIELD NAME OF VALUE IN RESPONSE Cardholder First Name Cardholder Last Name Company Billing Address City State Zip Country Phone Fax Email Ship to First Name Ship to Last Name Ship to Company Ship to Address Ship to City Ship to State Ship to Zip Ship to Country Tax Amount Duty Amount Freight Amount Tax Exempt Flag PO Number MD5 Hash Card Code (CVV2/CVC2/CID) Response Code
DESCRIPTION
Echoed from form input value for x_first_name. Echoed from form input value for x_last_name. Echoed from form input value for x_company. Echoed from form input value for x_address. Echoed from form input value for x_city. Echoed from form input value for x_state. Echoed from form input value for x_zip. Echoed from form input value for x_country. Echoed from form input value for x_phone. Echoed from form input value for x_fax. Echoed from form input value for x_email. Echoed from form input value for x_ship_to_first_name. Echoed from form input value for x_ship_to_last_name. Echoed from form input value for x_ship_to_company. Echoed from form input value for x_ship_to_address. Echoed from form input value for x_ship_to_city. Echoed from form input value for x_ship_to_state. Echoed from form input value for x_ship_to_zip. Echoed from form input value for x_ship_to_country. Echoed from form input value for x_tax. Echoed from form input value for x_duty. Echoed from form input value for x_freight. Echoed from form input value for x_tax_exempt. Echoed from form input value for x_po_num. System-generated hash that may be validated by the merchant to authenticate a transaction response received from the gateway. Indicates the results of Card Code verification: M = Match N = No Match P = Not Processed S = Should have been present U = Issuer unable to process request Reserved for future use. Echo of merchant-defined fields.
40 - 68 69 -
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 on. Merchants wishing to use the Card Code feature must use transaction version 3.1. Upgrading the Transaction Version To upgrade the transaction version, do the following: 1. Log into the Merchant Interface 2. Select Settings from the Main Menu 3. Click on Transaction Version in the Transaction Response section 4. Change the Transaction Version by using the drop-down box 5. Click Submit to save changes Note: You can only upgrade to a higher transaction version. You cannot set your transaction version to a previous version.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
The code returned from the processor indicating that the card used needs to be picked up. The value submitted in the amount field did not pass validation for a number.
3 3
10 11
3 3 3
12 13 14
15
16
3 3 3
17 18 19
The credit card number is invalid. The credit card expiration date is The format of the date submitted was incorrect. invalid. The credit card has expired. The ABA code is invalid. The value submitted in the x_bank_aba_code field did not pass validation or was not for a valid financial institution. The account number is invalid. The value submitted in the x_bank_acct_num field did not pass validation. A duplicate transaction has been A transaction with identical amount and credit submitted. card information was submitted two minutes prior. An authorization code is required A transaction that required x_auth_code to be but not present. present was submitted without a value. The merchant Login ID is invalid or the account is inactive. The Referrer or Relay Response The Relay Response or Referrer URL does not URL is invalid. match the merchants configured value(s) or is absent. Applicable only to SIM and WebLink APIs. The transaction ID is invalid. The transaction ID value is non-numeric or was not present for a transaction that requires it (i.e., VOID, PRIOR_AUTH_CAPTURE, and CREDIT). The transaction was not found. The transaction ID sent in was properly formatted but the gateway had no record of the transaction. The merchant does not accept this The merchant was not configured to accept the type of credit card. credit card submitted in the transaction. ACH transactions are not The merchant does not accept electronic checks. accepted by this merchant. An error occurred during processing. Please try again in 5 minutes.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 24 of 44 3 20 An error occurred during processing. Please try again in 5 minutes. An error occurred during processing. Please try again in 5 minutes. An error occurred during processing. Please try again in 5 minutes. An error occurred during processing. Please try again in 5 minutes. The Nova Bank Number or Terminal ID is incorrect. Call Merchant Service Provider. An error occurred during processing. Please try again in 5 minutes. An error occurred during processing. Please try again in 5 minutes. The transaction resulted in an AVS mismatch. The address provided does not match billing address of cardholder. The merchant does not accept this type of credit card. The PaymentTech identification numbers are incorrect. Call Merchant Service Provider. The configuration with the processor is invalid. Call Merchant Service Provider. The FDC Merchant ID or Terminal ID is incorrect. Call Merchant Service Provider. This reason code is reserved or not applicable to this API. FIELD cannot be left blank.
21
22
23
24
25
26
27
3 3
28 29
The Merchant ID at the processor was not configured to accept this card type.
30
31
3 3
32 33
34
35
3 3
36 37
The VITAL identification numbers are incorrect. Call Merchant Service Provider. An error occurred during The merchant was incorrectly set up at the processing. Call Merchant processor. Service Provider. The authorization was approved, but settlement failed. The credit card number is invalid.
The word FIELD will be replaced by an actual field name. This error indicates that a field the merchant specified as required was not filled in. The merchant was incorrectly set up at the processor.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 25 of 44 3 38 The Global Payment System identification numbers are incorrect. Call Merchant Service Provider. The supplied currency code is either invalid, not supported, not allowed for this merchant or doesnt have an exchange rate. This transaction must be encrypted. This transaction has been declined. The merchant was incorrectly set up at the processor.
39
3 2
40 41
42
43
44
45
46
47
3 3 3
48 49 50
51
52
Only merchants set up for the FraudScreen.Net service would receive this decline. This code will be returned if a given transactions fraud score is higher than the threshold set by the merchant. There is missing or invalid This is applicable only to merchants processing information in a required field. through the Wells Fargo SecureSource product who have requirements for transaction submission that are different from merchants not processing through Wells Fargo. The merchant was incorrectly set The merchant was incorrectly set up at the up at the processor. Call your processor. Merchant Service Provider. This transaction has been The merchant would receive this error if the declined. Card Code filter has been set in the Merchant Interface and the transaction received an error code from the processor that matched the rejection criteria set by the merchant. This transaction has been This error would be returned if the transaction declined. received a code from the processor that matched the rejection criteria set by the merchant for both the AVS and Card Code filters. Your session has expired or does not exist. You must log in to continue working. The amount requested for This occurs if the merchant tries to capture funds settlement may not be greater greater than the amount of the original than the original amount authorization-only transaction. authorized. This processor does not accept The merchant attempted to settle for less than partial reversals. the originally authorized amount. A transaction amount greater than $99,999 will not be accepted. This transaction is awaiting Credits or refunds may only be performed settlement and cannot be against settled transactions. The transaction refunded. against which the credit/refund was submitted has not been settled, so a credit cannot be issued. The sum of all credits against this transaction is greater than the original transaction amount. The transaction was authorized,
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 26 of 44 but the client could not be notified; the transaction will not be settled. The transaction type was invalid for ACH transactions. The referenced transaction does not meet the criteria for issuing a credit. The sum of credits against the referenced transaction would exceed the original debit amount. This merchant accepts ACH transactions only; no credit card transactions are accepted. An error occurred in processing. Please try again in 5 minutes. An error occurred in processing. Please try again in 5 minutes. An error occurred in processing. Please try again in 5 minutes. An error occurred in processing. Please try again in 5 minutes. An error occurred in processing. Please try again in 5 minutes. An error occurred in processing. Please try again in 5 minutes. An error occurred in processing. Please try again in 5 minutes. The referenced transaction was not approved.
3 3
53 54
55
56
The transaction is rejected if the sum of this credit and prior credits exceeds the original debit amount. The merchant processes eCheck transactions only and does not accept credit cards.
3 3 3 3 3 3 3 3
57 58 59 60 61 62 63 64
65
3 3
66 67
3 3 3 3 3
68 69 70 71 72
This error is applicable to Wells Fargo SecureSource merchants only. Credits or refunds cannot be issued against transactions that were not authorized. This transaction has been The transaction was declined because the declined. merchant configured their account through the Merchant Interface to reject transactions with certain values for a Card Code mismatch. This transaction cannot be The transaction did not meet gateway security accepted for processing. guidelines. The given transaction type is not This error code is applicable to merchants using supported for this merchant. the Wells Fargo SecureSource product only. This product does not allow transactions of type CAPTURE_ONLY. The version parameter is invalid. The value submitted in x_version was invalid. The transaction type is invalid. The value submitted in x_type was invalid. The transaction method is invalid. The value submitted in x_method was invalid. The bank account type is invalid. The value submitted in x_bank_acct_type was invalid. The authorization code is invalid. The value submitted in x_auth_code was more than six characters in length.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 27 of 44 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 The drivers license date of birth is invalid. The duty amount is invalid. The freight amount is invalid. The tax amount is invalid. The SSN or tax ID is invalid. The Card Code (CVV2/CVC2/CID) is invalid. The drivers license number is invalid. The drivers license state is invalid. The requested form type is invalid. Scripts are only supported in version 2.5. The requested script is either invalid or no longer supported. This reason code is reserved or not applicable to this API. This reason code is reserved or not applicable to this API. This reason code is reserved or not applicable to this API. This reason code is reserved or not applicable to this API. This reason code is reserved or not applicable to this API. This reason code is reserved or not applicable to this API. This reason code is reserved or not applicable to this API. Version 2.5 is no longer supported. The gateway no longer supports the requested method of integration. A valid country is required. The format of the value submitted in x_drivers_license_num was invalid. The value submitted in x_duty failed format validation. The value submitted in x_freight failed format validation. The value submitted in x_tax failed format validation. The value submitted in x_customer_tax_id failed validation. The value submitted in x_card_code failed format validation. The value submitted in x_drivers_license_num failed format validation. The value submitted in x_drivers_license_state failed format validation. The merchant requested an integration method not compatible with the AIM API. The system no longer supports version 2.5; requests cannot be posted to scripts. The system no longer supports version 2.5; requests cannot be posted to scripts.
93
3 3
94 95
This code is applicable to Wells Fargo SecureSource merchants only. Country is a required field and must contain the value of a supported country. This code is applicable to Wells Fargo SecureSource merchants only. This code is applicable to Wells Fargo SecureSource merchants only.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 28 of 44 3 96 This country is not authorized for This code is applicable to Wells Fargo buyers. SecureSource merchants only. Country is a required field and must contain the value of a supported country. This transaction cannot be Applicable only to SIM API. Fingerprints are accepted. only valid for a short period of time. This code indicates that the transaction fingerprint has expired. This transaction cannot be Applicable only to SIM API. The transaction accepted. fingerprint has already been used. This transaction cannot be Applicable only to SIM API. The serveraccepted. generated fingerprint does not match the merchant-specified fingerprint in the x_fp_hash field. The eCheck type is invalid. Applicable only to eCheck. The value specified in the x_echeck_type field is invalid. The given name on the account Applicable only to eCheck. The specified name and/or the account type does not on the account and/or the account type do not match the actual account. match the NOC record for this account. This request cannot be accepted. A password or transaction key was submitted with this WebLink request. This is a high security risk. This transaction cannot be A valid fingerprint, transaction key, or password accepted. is required for this transaction. This transaction is currently Applicable only to eCheck. The value submitted under review. for country failed validation. This transaction is currently Applicable only to eCheck. The values under review. submitted for city and country failed validation. This transaction is currently Applicable only to eCheck. The value submitted under review. for company failed validation. This transaction is currently Applicable only to eCheck. The value submitted under review. for bank account name failed validation. This transaction is currently Applicable only to eCheck. The values under review. submitted for first name and last name failed validation. This transaction is currently Applicable only to eCheck. The values under review. submitted for first name and last name failed validation. This transaction is currently Applicable only to eCheck. The value submitted under review. for bank account name does not contain valid characters. A valid billing country is This code is applicable to Wells Fargo required. SecureSource merchants only. A valid billing state/provice is This code is applicable to Wells Fargo required. SecureSource merchants only. The transaction resulted in an The system-generated void for the original AVSAVS mismatch. The address rejected transaction failed. provided does not match billing address of cardholder. This transaction has been The system-generated void for the original
97
3 3
98 99
3 3
100 101
102
3 3 3 3 3 3
109
110
3 3 2
141
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 29 of 44 declined. This transaction has been declined. The transaction was authorized, but the client could not be notified; the transaction will not be settled. This transaction has been declined. FraudScreen-rejected transaction failed. The system-generated void for the original card code-rejected and AVS-rejected transaction failed. The system-generated void for the original transaction failed. The response for the original transaction could not be communicated to the client. The system-generated void for the original card code-rejected transaction failed.
145
152
165
Note: Response code reasons that are not included in numerical order are reserved, or may not be applicable to this API.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
The amount being requested for settlement in this transaction is less than or equal to the original authorized amount.
If no amount is submitted in this transaction, the gateway will initiate settlement for the amount of the originally authorized transaction. In addition to the required fields in the API, the following is required to submit a PRIOR_AUTH_CAPTURE type transaction: x_version = 3.1 x_login = merchant Login ID x_tran_key = transaction key x_trans_id = the transaction ID of the previously authorized transaction This transaction is also referred to as a Refund and indicates to the gateway that money should flow from the merchant to the customer. The gateway will accept a credit or a refund request if the transaction submitted meets the following conditions: The transaction is submitted with the ID of the original transaction against which the credit is being issued (x_trans_id). The gateway has a record of the original transaction. The original transaction has been settled. The sum of the amount submitted in the Credit transaction and all credits submitted against the original transaction is less than the original transaction amount. The full or last four digits of the credit card number submitted with the credit transaction match the full or last four digits of the credit card number used in the original transaction. The transaction is submitted within 120 days of the settlement date and time of the original transaction. A transaction key is required to submit a credit to the system (i.e., x_tran_key should have a valid value when a CREDIT transaction is submitted). For details about how to submit CREDIT transactions to the Payment Gateway, please see the Issuing Credits Guide at http://www.authorizenet.com/files/creditreturnsummary.pdf. This is a request to settle a transaction that was not submitted for authorization through the payment gateway. The gateway will accept this transaction if an authorization code is submitted. x_auth_code is a required field for CAPTURE_ONLY type transactions. This transaction is an action on a previous transaction and is used to cancel the previous transaction and ensure it does not get sent for settlement. It can be done on any type of transaction (i.e., CREDIT, AUTH_CAPTURE, CAPTURE_ONLY, and AUTH_ONLY). The transaction will be accepted by the gateway if the following conditions are met: The transaction is submitted with the ID of the transaction that has to be voided. The gateway has a record of the transaction referenced by the ID. The transaction has not been sent for settlement. For a transaction of type VOID, the following fields are required (in addition to the other required fields in the API): x_version = 3.1 x_login = merchant Login ID
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
CREDIT
CAPTURE_ONLY
VOID
x_tran_key x_trans_id
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Note: It is recommended that merchants enable some level of Address Verification to avoid non-qualified transaction surcharges that can be levied by merchant banks and merchant service providers. Please note, however, that the merchant will incur applicable transaction fees for transactions that are declined due to an AVS mismatch (as with any other declined transaction). System defaults are marked in italics in the table above.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
x_header_email_receipt x_footer_email_receipt
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
1. Log into the Merchant Interface 2. Select Settings from the Main Menu 3. Click on MD5 Hash in the Security section 4. Enter the MD5 Hash Value 5. Confirm the MD5 Hash Value entered 6. Click Submit to save changes
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Transaction processed as test Transaction processed as test Transaction processed as test Transaction processed as a live transaction
If there is no value submitted in the x_test_request field, the system will use the configuration specified in the Merchant Interface.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Test credit card numbers Any of the following card numbers can be used to run test transactions. Please note that these numbers do not represent real card accounts; they will return a decline in live mode, and an approval in test mode. Any expiration dates after the current day's date can be used with these numbers.
TEST CARD NUMBER 370000000000002 6011000000000012 5424000000000015 4007000000027 CARD TYPE American Express Discover MasterCard Visa
There is also a test credit card number that can be used to generate errors. THIS CARD IS INTENDED TO PRODUCE ERRORS, and should only be used if that is the intent. To cause the system to generate a specific error, set the account to Test Mode and submit a transaction with the card number 4222222222222. The system will return the response reason code equal to the amount of the submitted transaction. For example, to test response reason code number 27, a test transaction would be submitted with the credit card number, 4222222222222, and the amount, 27.00.
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
Appendix F Certification
It is possible for a merchant to test their integration using a test gateway system. In order to test the integration, the merchant should post transactions to https://certification.authorize.net/gateway/transact.dll. The test gateway behavior will be identical to the primary gateway. Transactions sent to the test gateway are not submitted to financial institutions for authorization, will not be stored on the system and cannot be retrieved from the system (as is the case when using Test Mode set to TRUE with the primary gateway system).
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
CURRENCY CODE AFA DZD ADP ARS AMD AWG AUD AZM BSD BHD THB PAB BBD BYB BEF BZD BMD VEB BOB BRL BND BGN BIF CAD CVE KYD GHC XOF XAF XPF CLP COP KMF BAM NIO CRC CUP CYP CZK GMD DKK MKD DEM AED DJF STD
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 42 of 44 Dominican Peso (Dominican Republic) Dong (Vietnam) Drachma (Greece) East Caribbean Dollar (Grenada) Egyptian Pound (Egypt) El Salvador Colon (El Salvador) Ethiopian Birr (Ethiopia) Euro (Europe) Falkland Islands Pound (Falkland Islands) Fiji Dollar (Fiji) Forint (Hungary) Franc Congolais (The Democratic Republic Of Congo) French Franc (France) Gibraltar Pound (Gibraltar) Gold Gourde (Haiti) Guarani (Paraguay) Guinea Franc (Guinea) Guinea-Bissau Peso (Guinea-Bissau) Guyana Dollar (Guyana) Hong Kong Dollar (Hong Kong) Hryvnia (Ukraine) Iceland Krona (Iceland) Indian Rupee (India) Iranian Rial (Islamic Republic Of Iran) Iraqi Dinar (Iraq) Irish Pound (Ireland) Italian Lira (Italy) Jamaican Dollar (Jamaica) Jordanian Dinar (Jordan) Kenyan Shilling (Kenya) Kina (Papua New Guinea) Kip (Lao People's Democratic Republic) Kroon (Estonia) Kuna (Croatia) Kuwaiti Dinar (Kuwait) Kwacha (Malawi) Kwacha (Zambia) Kwanza Reajustado (Angola) Kyat (Myanmar) Lari (Georgia) Latvian Lats (Latvia) Lebanese Pound (Lebanon) Lek (Albania) Lempira (Honduras) Leone (Sierra Leone) Leu (Romania) Lev (Bulgaria) Liberian Dollar (Liberia) Libyan Dinar (Libyan Arab Jamahiriya)
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
DOP VND GRD XCD EGP SVC ETB EUR FKP FJD HUF CDF FRF GIP XAU HTG PYG GNF GWP GYD HKD UAH ISK INR IRR IQD IEP ITL JMD JOD KES PGK LAK EEK HRK KWD MWK ZMK AOR MMK GEL LVL LBP ALL HNL SLL ROL BGL LRD LYD
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 43 of 44 Lilangeni (Swaziland) Lithuanian Litas (Lithuania) Loti (Lesotho) Luxembourg Franc (Luxembourg) Malagasy Franc (Madagascar) Malaysian Ringgit (Malaysia) Maltese Lira (Malta) Manat (Turkmenistan) Markka (Finland) Mauritius Rupee (Mauritius) Metical (Mozambique) Mexican Peso (Mexico) Mexican Unidad de Inversion (Mexico) Moldovan Leu (Republic Of Moldova) Moroccan Dirham (Morocco) Mvdol (Bolivia) Naira (Nigeria) Nakfa (Eritrea) Namibia Dollar (Namibia) Nepalese Rupee (Nepal) Netherlands (Netherlands) Netherlands Guilder (Netherlands) New Dinar (Yugoslavia) New Israeli Sheqel (Israel) New Kwanza (Angola) New Taiwan Dollar (Province Of China Taiwan) New Zaire (Zaire) New Zealand Dollar (New Zealand) Ngultrum (Bhutan) North Korean Won (Democratic People's Republic Of Korea) Norwegian Krone (Norway) Nuevo Sol (Peru) Ouguiya (Mauritania) Pa'anga (Tonga) Pakistan Rupee (Pakistan) Palladium Pataca (Macau) Peso Uruguayo (Uruguay) Philippine Peso (Philippines) Platinum Portuguese Escudo (Portugal) Pound Sterling (United Kingdom) Pula (Botswana) Qatari Rial (Qatar) Quetzal (Guatemala) Rand (Financial) (Lesotho) Rand (South Africa) Rial Omani (Oman) Riel (Cambodia) Rufiyaa (Maldives)
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp
SZL LTL LSL LUF MGF MYR MTL TMM FIM MUR MZM MXN MXV MDL MAD BOV NGN ERN NAD NPR ANG NLG YUM ILS AON TWD ZRN NZD BTN KPW NOK PEN MRO TOP PKR XPD MOP UYU PHP XPT PTE GBP BWP QAR GTQ ZAL ZAR OMR KHR MVR
Advanced Integration Method (AIM) Implementation Guide v1.0 Page 44 of 44 Rupiah (Indonesia) Russian Ruble (Russian Federation) Russian Ruble (Russian Federation) Rwanda Franc (Rwanda) Saudi Riyal (Saudi Arabia) Schilling (Austria) Seychelles Rupee (Seychelles) Silver Singapore Dollar (Singapore) Slovak Koruna (Slovakia) Solomon Islands Dollar (Solomon Islands) Som (Kyrgyzstan) Somali Shilling (Somalia) Spanish Peseta (Spain) Sri Lanka Rupee (Sri Lanka) St Helena Pound (St Helena) Sucre (Ecuador) Sudanese Dinar (Sudan) Surinam Guilder (Suriname) Swedish Krona (Sweden) Swiss Franc (Switzerland) Syrian Pound (Syrian Arab Republic) Tajik Ruble (Tajikistan) Taka (Bangladesh) Tala (Samoa) Tanzanian Shilling (United Republic Of Tanzania) Tenge (Kazakhstan) Timor Escudo (East Timor) Tolar (Slovenia) Trinidad and Tobago Dollar (Trinidad And Tobago) Tugrik (Mongolia) Tunisian Dinar (Tunisia) Turkish Lira (Turkey) Uganda Shilling (Uganda) Unidad de Valor Constante (Ecuador) Unidades de fomento (Chile) US Dollar (Next day) (United States) US Dollar (Same day) (United States) US Dollar (United States) Uzbekistan Sum (Uzbekistan) Vatu (Vanuatu) Won (Republic Of Korea) Yemeni Rial (Yemen) Yen (Japan) Yuan Renminbi (China) Zimbabwe Dollar (Zimbabwe) Zloty (Poland) IDR RUB RUR RWF SAR ATS SCR XAG SGD SKK SBD KGS SOS ESP LKR SHP ECS SDD SRG SEK CHF SYP TJR BDT WST TZS KZT TPE SIT TTD MNT TND TRL UGX ECV CLF USN USS USD UZS VUV KRW YER JPY CNY ZWD PLN
This version of AIM supports Transaction Key Last revised: 7/22/2003 2003 Authorize.Net Corp