Authorize.net API Documentation (2023)

createTransactionRequest

(Video) Authorize.net Digital Invoicing - Training Demo

ElementDescriptionFormat
merchantAuthenticationRequired.
Contains merchant authentication information.
nameRequired.
Merchant’s unique API Login ID.

The merchant API Login ID is provided in the Merchant Interface and must be stored securely.

The API Login ID and Transaction Key together provide the merchant authentication required for access to the payment gateway.

String, up to 25 characters.

transactionKeyRequired.
Merchant’s unique Transaction Key.

The merchant Transaction Key is provided in the Merchant Interface and must be stored securely.

The API Login ID and Transaction Key together provide the merchant authentication required for access to the payment gateway.

String, up to 16 characters.

refIdMerchant-assigned reference ID for the request.

If included in the request, this value is included in the response. This feature might be especially useful for multi-threaded applications.

String, up to 20 characters.

transactionRequestRequired.
This element is a container for transaction specific information.
transactionTypeType of credit card transaction.

String.

Use authOnlyTransaction to authorize the transaction for capture at a later time.

amountRequired.
Amount of the transaction.

This is the total amount and must include tax, shipping, tips, and any other charges.

Decimal, up to 15 digits with a decimal point.

Do not use currency symbols.

currencyCodeRequired.
Currency of the transaction.

Use the ISO 4217 three-letter alphabetic code for the currency.Use the ISO 4217 three-letter alphabetic code for the currency.

Currently supported currencies are USD, CAD, GBP, DKK, NOK, PLN, SEK, EUR, AUD, and NZD.

String, three characters.

paymentThis element contains payment information.
trackDataConditional.

Applies to Card Present transactions only.

Contains track data read from the customer's card.

Track data contains the full card number and expiration date by default. If you use the trackData element, do not send the creditCard element. Sending both elements may result in Response Reason Code 153.

track1Conditional.

Applies to Card Present transactions only.

Track data includes the full card number and expiration date by default. If you send the track1 element, do not send the creditCard element. Sending both elements may result in Response Reason Code 153.

String, 76 characters.

Do not include the start sentinel (percent sign), end sentinel (question mark), or Longitudinal Redundancy Check.

track2Conditional.

Applies to Card Present transactions only.

Track data includes the full card number and expiration date by default. If you use the track2 element, do not send the creditCard element. Sending both elements may result in Response Reason Code 153.

String, 37 characters.

Do not include the start sentinel (semicolon), end sentinel (question mark), or Longitudinal Redundancy Check.

creditCardConditional.

Applies to Card Not Present transactions only.

Contains human-readable information from the customer's card.

cardNumberConditional.

Applies to Card Not Present transactions only.

The customer’s credit card number.

Only use cardNumber and expirationDate for Card Present transactions if the track data is unavailable. Note that using cardNumber and expirationDate in Card Present transactions may result in higher merchant rates.

Numeric string, 13-16 digits.

expirationDateConditional.

Applies to Card Not Present transactions only.

The customer’s credit card expiration date.

Only use cardNumber and expirationDate for Card Present transactions if the track data is unavailable. Note that using cardNumber and expirationDate in Card Present transactions may result in higher merchant rates.

String, 7 characters.

Use XML gYearMonth (YYYY-MM) formatting.

cardCodeConditional.

Applies to Card Not Present transactions only.

The customer’s card code.

The three- or four-digit number on the back of a credit card (on the front for American Express).

This field is required if the merchant would like to use the Card Code Verification (CCV) security feature.

Cardholder information must be stored securely and in accordance with the Payment Card Industry (PCI) Data Security Standard.

For more information about PCI, please refer to the Standards, Compliance and Security developer training video at https://developer.authorize.net/training.

Numeric string, 3-4 digits.

profileThe following field enables you to create a customer profile from the data sent to make the transaction.
createProfileIndicates whether to create a customer profile.

If set to true, a customer profile and payment profile will be generated from the customer and payment data.

Boolean.

Either true or false.

solutionContains information about the software that generated the transaction.
idThe unique Solution ID which you generate and associate with your solution through the Partner Interface.

See the Solution ID Implementation Guide for details.

String, up to 50 characters.

nameThe name is generated by the solution provider and provided to Authorize.net.

See the Solution ID Implementation Guide for details.

String, up to 255 characters.

terminalNumberThe merchant's in-store terminal number. Can identify the cashiers or kiosks used.

Do not use your processor's terminal ID for this field.

String.

orderContains information about the order.
invoiceNumberMerchant-defined invoice number associated with the order.

Worldpay RAFT 610 merchants can view the invoice number in the Worldpay Reporting Portal.

String, up to 20 characters.

descriptionDescription of the item purchased.

String, up to 255 characters.

lineItemsContains one or more lineItem elements, up to a maximum of 30 line items.
lineItemContains information about one item.
itemIdItem identification.

String, up to 31 characters.

nameThe human-readable name for the item.

String, up to 31 characters.

descriptionA description of the item.

String, up to 255 characters.

quantityThe quantity of items sold.

Decimal, up to four decimal places.

unitPriceThe cost per unit, excluding tax, freight, and duty.

Decimal, up to four decimal places.

taxableIndicates whether the item is taxable.

Boolean.

Either true or false.

taxContains information about applicable taxes.
amountAmount of tax.

The total transaction amount must include this value.

Decimal, up to four decimal places.

nameName of tax.

String, up to 31 characters.

descriptionDescription of tax.

String, up to 255 characters.

dutyContains information about any duty applied.
amountAmount of duty.

The total transaction amount must include this value.

Decimal, up to four decimal places.

nameName of duty.

String, up to 31 characters.

descriptionDescription of duty.

String, up to 255 characters.

shipping Items in this element describe shipping charges applied.
amountAmount of the shipping charges.

The total transaction amount must include this value.

Decimal, up to four decimal places.

nameName of the shipping charges.

String, up to 31 characters.

descriptionDescription of the shipping charges.

String, up to 255 characters.

taxExemptIndicates whether or not order is exempt from tax.

Boolean.

Either true or false.

poNumberThe merchant-assigned purchase order number.

If you use purchase order numbers, your solution should generate the purchase order number and send it with your transaction requests. Authorize.net does not generate purchase order numbers.

String, up to 25 characters.

Use alphanumeric characters only, without spaces, dashes, or other symbols.

customerThe following fields contain customer information.
typeType of customer.

String.

Either individual or business.

idThe unique customer ID used to represent the customer associated with the transaction.

If you use customer IDs, your solution should generate the customer ID and send it with your transaction requests. Authorize.net does not generate customer IDs.

String, up to 20 characters.

Use alphanumeric characters only, without spaces, dashes, or other symbols.

emailConditional.

The customer’s valid email address.

Required only when using a European payment processor.

If you enable Email Receipts in the Merchant Interface, and if the email address format is valid, the customer will receive an Authorize.net generated email receipt.

String, up to 255 characters.

billToThis element contains billing address information.

If EVO is your payment processor and you submit any of the following billTo fields, you must submit all of them.

firstName
lastName
address
city
state
zip

firstNameConditional.

First name associated with customer’s billing address.

Required only when using a European payment processor.

String, up to 50 characters.

lastNameConditional.

Last name associated with customer’s billing address.

Required only when using a European payment processor.

String, up to 50 characters.

companyCompany associated with customer’s billing address.

String, up to 50 characters.

addressConditional.

Customer’s billing address.

Required if merchant would like to use the Address Verification Service security feature.

Required when using GPN Canada or Worldpay Streamline Processing Platform.

String, up to 60 characters.

cityConditional.

City of customer’s billing address.

Required only when using a European payment processor.

String, up to 40 characters.

stateConditional.

State of customer’s billing address.

Required only when using a European payment processor.

String, up to 40 characters.

For US states, use the USPS two-character abbreviation for the state.

zipConditional.

The postal code of customer’s billing address.

Required if merchant would like to use the Address Verification Service security feature.

Required when using GPN Canada or Worldpay Streamline Processing Platform.

String, up to 20 characters.

countryCountry of customer’s billing address.

String, up to 60 characters.

Use the ISO 3166 alpha-2 code for the country.

phoneNumberPhone number associated with customer’s billing address.

String, up to 25 characters.

faxNumberFax number associated with customer’s billing address.

String, up to 25 characters.

shipToThis element contains shipping information.

If EVO is your payment processor and you submit any of the following shipTo fields, you must submit all of them.

firstName
lastName
address
city
state
zip

firstNameFirst name associated with customer’s shipping address.

String, up to 50 characters.

lastNameLast name associated with customer’s shipping address.

String, up to 50 characters.

companyCompany associated with customer’s shipping address.

String, up to 50 characters.

addressCustomer’s shipping address.

String, up to 60 characters.

cityCity of customer’s shipping address.

String, up to 40 characters.

stateState of customer’s shipping address.

String, up to 40 characters.

For US states, use the USPS two-character abbreviation for the state.

zipThe postal code of customer’s shipping address.

String, up to 20 characters.

countryCountry of customer’s shipping address.

String, up to 60 characters.

customerIPConditional.

The IPv4 address of the customer initiating the transaction. Defaults to 255.255.255.255 if not included in your request.

Required only when the merchant is using customer IP based AFDS filters.

String, up to 15 characters.

Use dot-decimal formatting.

cardholderAuthenticationImportant: This field is deprecated and should not be used.

Merchants using a third party cardholder authentication solution can submit the following authentication values with Visa and Mastercard transactions.

Invalid combinations of card type, authenticationIndicator, and cardholderAuthenticationValue will result in Response Reason Code 118.

authenticationIndicatorConditional.

Important: This field is deprecated and should not be used.

The Electronic Commerce Indicator (ECI) value for a Visa transaction, or the Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the ECI or UCAF value prior to submitting the transaction.

Required only for authorizationOnlyTransaction and authCaptureTransaction requests processed through 3D Secure cardholder authentication programs, such as Visa Secure or Mastercard Identity Check. When submitted with other values for transactionValue, this element is ignored.

Invalid values of authenticationIndicator will result in Response Reason Code 116.

This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS.

String.

cardholderAuthenticationValueConditional.

Important: This field is deprecated and should not be used.

The Cardholder Authentication Verification Value (CAVV) for a Visa transaction, or Accountholder Authentication Value (AVV)/ Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the CAVV, AAV, or UCAF value prior to submitting the transaction.

Required only for authorizationOnlyTransaction and authCaptureTransaction requests processed through 3D Secure cardholder authentication programs, such as Visa Secure or Mastercard Identity Check. When submitted with other values for transactionValue, this element is ignored.

Invalid values of cardholderAuthenticationValue will result in Response Reason Code 117.

This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS.

String.

retailThe retail element contains two elements: marketType and deviceType. If you submit the retail element, the marketType and deviceType elements are required.
marketTypeThe market type for the transaction.

This element is required if you submit the retail element.

Numeric string.

Either 0 for e-commerce, 1 for MOTO, or 2 for retail. Defaults to 2.

deviceTypeThe type of device submitting the retail transaction.

This element is required if you submit the retail element.

Numeric string.

One of the following:

1 -- unknown device type
2 -- unattended terminal
3 -- self-service terminal
4 -- electronic cash register
5 -- personal computer based terminal
7 -- wireless POS
8 -- website
9 -- dial terminal
10 -- Virtual Terminal

employeeIdMerchant-assigned employee ID.

This field is required for the EVO processor, and is supported on the TSYS processor.

Numeric string, 4 digits. Defaults to 0000.

transactionSettingsThis element contains one or more setting elements.
settingContains settingName and settingValue.
settingNameName of a specific setting to be modified for this transaction.

For a list of valid settingName values and their uses, please see the Transaction Settings section of the Payment Transactions page.

String.

One of the following:
allowPartialAuth
duplicateWindow
emailCustomer
headerEmailReceipt
footerEmailReceipt
recurringBilling

settingValueIndicates whether the specified setting is enabled or disabled.

For a list of permitted settingValue formats, please see the Transaction Settings section of the Payment Transactions page.

String.

Permitted values depend on the value of settingName.

userFields These elements may be used to pass through information, such as session IDs and order details. The merchant will receive these elements in the response, exactly as it was submitted in the request. Authorize.net will not store these values.

Do not use these fields to pass through sensitive details as doing so may be a violation of the PCI Data Security Standard.

Worldpay RAFT 610 merchants can view the first two userField elements in the Worldpay Reporting Portal.

userFieldThe element for individual user-defined fields. Contains the name and value child elements.

Up to 20 userField elements may be submitted per request.

String.

nameName of the user-defined field.

User reference field provided for the merchant’s use. The merchant will receive this field in the response, exactly as it was submitted in the request. Authorize.net will not store this value.

String.

valueValue of the user-defined field.

User reference field provided for the merchant’s use. The merchant will receive this field in the response, exactly as it was submitted in the request. Authorize.net will not store this value.

String.

surchargeUsed to record payment card surcharges that are passed along to customers. Contains an amount and a description child element.

Currently supported for TSYS merchants.

For details on surcharge rules, please see Visa's merchant regulations and fees.

amountAmount of the surcharge.

Currently supported for TSYS merchants.

For details on surcharge rules, please see Visa's merchant regulations and fees.

Decimal, up to 15 digits with a decimal point.

Do not use currency symbols.

descriptionDescribes the reason or details for the surcharge.

Currently supported for TSYS merchants.

For details on surcharge rules, please see Visa's merchant regulations and fees.

String, up to 255 characters.

tipThe amount of the tip authorized by the cardholder.

The total transaction amount must include this value.

Decimal, up to 15 digits with a decimal point.

Do not use currency symbols.

processingOptionsContains details for additional transaction processing.

Required if the merchant stores card-on-file payment information.

isFirstRecurringPaymentIndicates the initial zero-dollar authorization or the first recurring payment in a series of charges.

Required if the merchant stores card-on-file payment information.

Set recurringBilling to true if you set isFirstRecurringPayment.

Boolean.

isFirstSubsequentAuthIndicates the initial zero-dollar authorization or the first payment in a series of charges.

Required if the merchant stores card-on-file payment information.

Boolean.

isSubsequentAuthIndicates that the transaction is a follow-on transaction for an established customer.

Use in these situations:

  • - When resubmitting declined transactions;
  • - When resubmitting a transaction with an expired authorization;
  • - When submitting delayed charges after completing the original payments;
  • - When charging customer penalties for reservation no-shows; or
  • - When processing an unscheduled card-on-file transaction.

Required if the merchant stores card-on-file payment information.

Boolean.

isStoredCredentialsIndicates that the transaction was initiated by the customer using card-on-file payment information.

Required if the merchant stores card-on-file payment information.

Boolean.

subsequentAuthInformationContains details for subsequent authorizations using stored payment information.

Required if the merchant stores card-on-file payment information.

originalNetworkTransIdRequired.
The network transaction ID returned in response to the original card-on-file transaction.

Store the networkTransId value received in the original card-on-file transaction response. Set the originalNetworkTransId to the original networkTransId value for all subsequent authorizations against the same card-on-file.

String, up to 255 characters.

reasonRequired.
Describes the reason for the subsequent card-on-file transaction.

Use resubmission for resubmitting the original charge if declined, and if the customer has already received goods or services.

Use delayedCharge if there are supplemental charges after the original charge was submitted and the customer has received the goods or services.

Use reauthorization for new transactions submitted after the original transaction, for example, for split or delayed shipments of goods, or for extended services beyond those originally requested.

Use noShow for penalties after cancellation of services, for example, when a customer does not appear after making a reservation.

String. Either resubmission, delayedCharge, reauthorization, or noShow.

originalAuthAmountRequired.
The original authorization amount.

Store the amount of the original card-on-file transaction response. Set the originalAuthAmount to the original amount value for all subsequent authorizations against the same card-on-file.

Decimal, up to 15 digits with a decimal point.

Required for Discover, Diners Club, JCB, and China Union Pay transactions.

Do not use currency symbols.

authorizationIndicatorIndicates whether the authorization was a pre-authorization or final authorization.

Applicable to Mastercard only. Use pre for initial authorizations, for example, prior to tips. Use final for final authorizations, for example, including tips.

String.

Either pre or final.

(Video) Jigoshop: Authorize Net CIM Payment Gateway — Documentation
(Video) Getting Started with Authorize.net for Developers

FAQs

Is Authorize.net an API? ›

The Authorize.net API provides robust features for processing payment transactions through the Authorize.net gateway. The API supports XML and JSON variants. For detailed API reference information, see the API Reference.

How do I get an Authorize.net API? ›

To obtain the transaction key:
  1. For sandbox API requests, log into the sandbox Merchant Interface at https://sandbox.authorize.net. ...
  2. Navigate to Account > Settings > API Credentials & Keys.
  3. Click New Transaction Key.
  4. Click Submit.
  5. Request and verify a PIN in order to see the transaction key.
Aug 7, 2022

Is Authorize.net trustworthy? ›

Authorize.Net has been accredited by the BBB since 2009 and has an A+ rating.

Is Authorize.net owned by Visa? ›

Authorize.net is a wholly owned subsidiary of Visa (NYSE: V). Authorize.net services are sold through a network of reseller partners including Independent Sales Organizations (ISOs), Merchant Service Providers (MSPs) and financial institutions that offer Authorize.net payment services to their merchant customers.

How do I integrate Authorize.net on my website? ›

How to set up Authorize.net Payment Gateway on Your WooCommerce ...

How does Authorize.net work? ›

Authorizes the transaction: The payment gateway checks to make sure your customer has sufficient funds in their account—and then authorizes the purchase. Captures the transaction: As soon as the purchase is authorized, a hold is placed on the money. At this point, you can confidently ship goods to your customer.

Videos

1. Authorize net CIM Customer profile creation Using ColdFusion
(MitrahSoft)
2. Authorize.Net Accept Hosted - Live Forms Extension
(DNNMandeeps)
3. Simplify PCI Compliance with Authorize.net Accept Webinar
(Authorize.net, A Visa Solution)
4. WooCommerce Authorize.net CIM
(ExtensionWorks)
5. Authorize Net Payment Gateway Integration in PHP
(CodexWorld)
6. Feature Friday - API Documentation
(RepairShopr)
Top Articles
Latest Posts
Article information

Author: Kelle Weber

Last Updated: 03/09/2023

Views: 6020

Rating: 4.2 / 5 (53 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Kelle Weber

Birthday: 2000-08-05

Address: 6796 Juan Square, Markfort, MN 58988

Phone: +8215934114615

Job: Hospitality Director

Hobby: tabletop games, Foreign language learning, Leather crafting, Horseback riding, Swimming, Knapping, Handball

Introduction: My name is Kelle Weber, I am a magnificent, enchanting, fair, joyous, light, determined, joyous person who loves writing and wants to share my knowledge and understanding with you.