Customer Information Manager (CIM) XML Guide Authorize.Net CIM

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 119 [warning: Documents this large are best viewed by clicking the View PDF Link!]

Merchant Web Services API
Customer Information Manager (CIM)
XML Guide
Authorize.Net Developer Support
http://developer.authorize.net
Authorize.Net LLC 082007 Ver.1.0
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 1
Authorize.Net LLC (“Authorize.Net”) has made efforts to ensure the accuracy and completeness of
the information in this document. However, Authorize.Net disclaims all representations, warranties
and conditions, whether express or implied, arising by statute, operation of law, usage of trade,
course of dealing or otherwise, with respect to the information contained herein. Authorize.Net
assumes no liability to any party for any loss or damage, whether direct, indirect, incidental,
consequential, special or exemplary, with respect to (a) the information; and/or (b) the evaluation,
application or use of any product or service described herein.
Authorize.Net disclaims any and all representation that its products or services do not infringe upon
any existing or future intellectual property rights. Authorize.Net owns and retains all right, title and
interest in and to the Authorize.Net intellectual property, including without limitation, its patents,
marks, copyrights and technology associated with the Authorize.Net services. No title or ownership
of any of the foregoing is granted or otherwise transferred hereunder. Authorize.Net reserves the
right to make changes to any information herein without further notice.
Authorize.Net Trademarks:
Advanced Fraud Detection Suite™
Authorize.Net®
Authorize.Net Your Gateway to IP Transactions
Authorize.Net Verified Merchant Seal™
Authorize.Net Where the World Transact
Automated Recurring Billing™
eCheck.Net®
FraudScreen.Net®
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 2
Table of Contents
Revision History ................................................................................. 5
Section 1 Developer Introduction...................................................... 6
Integration Methods .........................................................................................................6
Standard API .............................................................................................................................. 6
Hosted Option API ..................................................................................................................... 6
Minimum Requirements ..................................................................................................7
Developer Support ..........................................................................................................7
Software Development Kits .............................................................................................7
Section 2 Using the Hosted CIM Option ............................................ 8
Designing Your Web Page ..............................................................................................9
Implementing a Redirect to Authorize.Net .......................................................................9
Example of a redirect to the hosted page: ........................................................................... 10
Implementing an iframe popup ...................................................................................... 10
Add payment ........................................................................................................................ 12
Edit payment ........................................................................................................................ 13
Add shipping ........................................................................................................................ 14
Edit shipping ......................................................................................................................... 15
Manage payment and shipping ............................................................................................ 16
Guidelines for Settings Parameters ............................................................................... 17
Section 3 Executing an API Call ...................................................... 18
Web Service Locations .................................................................................................. 18
CIM Functions ............................................................................................................... 18
Field Validation and Test Mode .............................................................................................. 20
Authentication .......................................................................................................................... 20
Input Elements for createCustomerProfileRequest ............................................................. 21
Input Elements for createCustomerPaymentProfileRequest .............................................. 27
Input Elements for createCustomerShippingAddressRequest .......................................... 31
Input Elements for createCustomerProfileTransactionRequest ......................................... 33
For Authorization Only Transactions .................................................................................... 34
For Authorization and Capture Transactions ....................................................................... 40
Last revised: 5/24/2011
Copyright © 1998 - 2007 Authorize.Net Corp. 3
For Capture Only Transactions ............................................................................................ 46
For Prior Authorization and CaptureTransactions ............................................................... 52
For Refund Transactions ..................................................................................................... 58
For Void Transactions .......................................................................................................... 66
Input Elements for deleteCustomerProfileRequest ............................................................. 68
Input Elements for deleteCustomerPaymentProfileRequest .............................................. 69
Input Elements for deleteCustomerShippingAddressRequest ........................................... 70
Input Elements for getCustomerProfileIdsRequest ............................................................. 71
Input Elements for getCustomerProfileRequest .................................................................. 71
Input Elements for getCustomerPaymentProfileRequest ................................................... 72
Input Elements for getCustomerShippingAddressRequest ................................................ 73
Input Parameters for getHostedProfilePageRequest ........................................................... 74
Example getHostedProfilePageRequest.............................................................................. 74
Input Elements for updateCustomerProfileRequest ............................................................ 75
Input Elements for updateCustomerPaymentProfileRequest ............................................. 76
Input Elements for updateCustomerShippingAddressRequest ......................................... 82
Input Elements for updateSplitTenderGroupRequest ......................................................... 85
Input Elements for validateCustomerPaymentProfileRequest ........................................... 85
Section 4 Responses ........................................................................ 88
CIM Responses ............................................................................................................. 88
Output for createCustomerProfileResponse ........................................................................ 89
Output for createCustomerPaymentProfileResponse ......................................................... 92
Output for createCustomerShippingAddressResponse...................................................... 93
Output for createCustomerProfileTransactionResponse .................................................... 94
Output for deleteCustomerProfileResponse ........................................................................ 95
Output for deleteCustomerPaymentProfileResponse ......................................................... 95
Output for deleteCustomerShippingAddressResponse ...................................................... 96
Output for getCustomerProfileIdsResponse ........................................................................ 97
Output for getCustomerProfileResponse ............................................................................. 98
Output for getCustomerPaymentProfileResponse ............................................................ 103
Output for getCustomerShippingAddressResponse ......................................................... 107
Output for getHostedProfilePageResponse ....................................................................... 110
Output for updateCustomerProfileResponse ..................................................................... 110
Output for updateCustomerPaymentProfileResponse ...................................................... 111
Output for updateCustomerShippingAddressResponse .................................................. 112
Output for updateSplitTenderGroupResponse .................................................................. 113
Table of Contents
Last revised: 5/24/2011
Copyright © 1998 - 2007 Authorize.Net Corp. 4
Output for validateCustomerPaymentProfileResponse .................................................... 113
Duplicate Profile Verification ........................................................................................ 114
Response Codes ......................................................................................................... 115
Index ............................................................................................... 117
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 5
Revision History
PUBLISH DATE
UPDATES
November 2007 Initial release of the Customer Information Manager (CIM) API
May 2008
Remove SecureSource requirements and various updates
January 2009
Addition of getCustomerProfileIdsRequest and various updates
July 2009
Clarified usage of validationMode for createCustomerProfileRequest calls when no
payment profile information is included.
Added index.
Added note about optional fields and .NET programming
Corrected values for taxable variable.
September 2009
Add note describing credit card authorizations for Visa
April 2010
Clarified duplicate profile verification
Updated table of error codes
Updated createCustomerProfileTransactionRequest for Refund transactions
June 2010
Changes required for Partial Authorization processing
July 2010
Correct code examples
May 2011
Add hosted option
Clarification of validationMode
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 6
Section 1
Developer Introduction
This guide describes the Web development required to create and manage customer profile
information for the purpose of submitting transactions to the Authorize.Net Payment Gateway
directly from a Web site or other application using extensible markup language (XML).
Specifically, the Authorize.Net Customer Information Manager (CIM) Application Programming
Interface (API) provides a mechanism for developers and value added resellers (VARs) to create,
delete, get, and update customer profile information, including payment and address information,
by means of direct integration between client software or applications and the Authorize.Net
Payment Gateway.
The CIM API accomplishes these functions through an XML call and subsequent XML response.
Integration Methods
Various options exist for integrating payments, designed to accommodate a range of business needs
and coding abilities.
Standard API
You can use the API to submit transaction information to Authorize.Net when your customers enter
data on your website. In this case, the customer enters data on your website, your website calls the
API using either XML or SOAP:
XML: The Authorize.Net Application Programming Interface (API) offers an XML-only
option, which allows you to invoke methods using XML for the exchange of information.
SOAP: The Authorize.Net API offers an alternate communication method, SOAP, to
exchange information.
The choice of XML or SOAP depends on the programming language you use. For PHP and Ruby,
XML is recommended. For C# and other .NET languages, SOAP is recommended. With Java,
either option will work.
For information regarding requirements for using the API, see “Minimum Requirements” below.
Hosted Option API
For more secure exchange of information, the API allows you to establish a hosted connection,
where any exchange of information occurs on the Authorize.Net secure servers. If the merchant
needs to transmit sensitive cardholder information (for example, if a customer needs to change
credit card information or add a new payment method), the hosted CIM option can be used. With
the hosted CIM option, credit card data never needs to flow through the merchant’s website. You
can use the hosted option either as an XML or a SOAP implementation.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 7
You must still use the standard API (either SOAP or XML) for some operations, such as creating a
transaction. The hosted page only provides functionality for creating, updating, and deleting
payment profiles and shipping addresses.
For more information, please refer to Section 2, “Using the Hosted CIM Option,” on page 8.
Minimum Requirements
Before you begin this integration for an Authorize.Net Payment Gateway account, please check
with the merchant to make sure that the following minimum requirements have already been met.
The merchant must have a U.S- based merchant bank account that allows Internet
transactions.
The merchant must have an active Authorize.Net Card Not Present Payment Gateway
account.
The merchant must be signed up for the CIM service.
The merchant must store account authentication data securely (for example, API login ID,
transaction key).
The merchant’s website must use https.
The merchant’s website must support secure user registration for returning users.
Note: Merchants should avoid storing any type of sensitive cardholder information. However, in
the event that a merchant or third party must store sensitive customer business or payment
information, compliance with industry standard storage requirements is required. Please see
the Developer Security Best Practices White Paper at
http://www.authorize.net/files/developerbestpractices.pdf for guidelines.
Developer Support
There are several resources available to help you successfully integrate a merchant Web site or
other application to the Authorize.Net Payment Gateway.
The Developer Center at http://developer.authorize.net provides test accounts, sample code,
FAQs, and troubleshooting tools.
If you can’t find what you need in the Developer Center, our Integration Team is available
to answer your questions by e-mail at integration@authorize.net.
Be sure to read our Developer Security Best Practices White Paper at
http://www.authorize.net/files/developerbestpractices.pdf for information on how to
maximize the security and reliability of your merchant integration solutions.
If you have any suggestions about how we can improve or correct this guide, please e-mail
documentation@authorize.net.
Software Development Kits
Authorize.Net offers software development kits (SDKs) that present an alternate object-oriented
model, in several popular languages. The SDK performs the core payment activities (such as error
handling and parsing, network communication, and data encoding) behind the scenes.
The SDK provides utility methods to help developers build payment flows for each of the
integration methods. You can download the SDKs at http://developer.authorize.net/downloads/.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 8
Section 2
Using the Hosted CIM Option
Authorize.Net offers merchants the option of connecting their customers directly to the
Authorize.Net hosted profile page if they need to transmit sensitive data such as changes in
payment profiles. The purpose of the hosted CIM option is to collect data, not to process payments.
Processing payments is done using the standard CIM API where payment data is represented by a
profile ID.
The steps in a typical hosted CIM process are:
A customer registers an account with a merchant website
The merchant calls Authorize.Net API method CreateCustomerProfileRequest to
create an empty profile
Input: customer’s email address and/or other identifier that the merchant uses to identify
this customer
Output: customer profile ID
The customer logs on to the merchant website
The merchant calls Authorize.Net API method GetHostedProfilePageRequest to get
a token
Inputs: customer profile ID and a list of settings that control how the customer
interacts with the Authorize.Net page. See Guidelines for Settings Parameters for a
description of the settings.
Output: token (expires in 15 minutes)
The merchant displays a button on their website
The customer clicks the button and is directed either to the Authorize.Net page, or the
Authorize.Net page is opened within the merchant’s website as a lightbox popup with an
iframe.
The customer makes changes to their credit card information, eCheck.Net information, or
shipping information
The customer returns to the merchant website by clicking a button or closing the popup
The merchant calls Authorize.Net API method GetCustomerProfileRequest to see
what changes were made by the customer
Input: customer profile ID
Output: list of payment profiles with sensitive fields masked, list of shipping
addresses
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 9
The merchant can call Authorize.Net API method CreateProfileTransaction at any time
to charge the credit card (or eCheck.Net)
Designing Your Web Page
There are three ways to integrate:
The customer is directed to Authorize.Net to manage payments and shipping all on one
page. For a sample, see “Example of a redirect to the hosted page:” on page 10.
Open a lightbox popup with an iframe within your page to manage payments and shipping
all within one popup
Open a lightbox popup with an iframe within your page for adding or editing individual
payment profiles and shipping addresses. Sample screens begin on page 13.
Implementing a Redirect to Authorize.Net
To implement hosted CIM access by means of a redirect to Authorize.Net, you need to include the
following.
Once you receive the token returned by the getHostedProfilePageResponse function call, put a
hidden form somewhere on your page (the value for the token is the value returned by the function
call).
If you are using the test environment, replace secure.authorize.net/profile/manage with
test.authorize.net/profile/manage.
Example: opening a new page for the Authorize.Net host
<form method="post"
action="https://secure.authorize.net/profile/manage"
id="formAuthorizeNetPage" style="display:none;">
<input type="hidden" name="Token"
value="pfGaUNntoTxZYeqqYDjGCQ4qyCHcsXGXLJ2i7MPCEiH6CH5n5qKqcl8EBiTC
lxu01BSeH5eZg7LVUVVzw5kJKVMitQ3pyMB5UZCduMWd6Ku9aT2gyFm69EKMGfyWPmI
4p+Bb4TJf2F07rInSrn2MWlM6f2xd7aRu1XBn0WXoPxK1j9FMGX2CNCoCBp3cOXB7"
/>
</form>
Add a button on your page that redirects the customer to Authorize.Net’s secure site. You can
customize the text to say anything you want:
<button onclick="document.getElementById
('formAuthorizeNetPage').submit();">Manage my payment and shipping
information</button>
In this example, the button with the text “Manage my payment and shipping information” directs
the user to the Authorize.Net Customer Information Manager Hosted page, where they can:
Create a new payment profile
Update or delete current credit card or bank information
Enter a new shipping address
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 10
Update or delete current shipping address
When the customer has finished, a button on the bottom of the page returns them to the merchant’s
website.
The following image shows what the customer will see when they are connected to the
Authorize.Net hosted page.
Example of a redirect to the hosted page:
Implementing an iframe popup
To open the Authorize.Net hosted page in a popup inside your web page, do the following:
place an <iframe> tag on your page. Add other elements around it, such as a <div> tag and
some images, to give it borders and shading. Make it appear in the middle of your page,
covering anything else that might be on the page.
Put a hidden <form> on your page with a hidden field inside it that includes the token from
the call to the GetHostedProfilePage API method. The <form> tag should have a target
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 11
attribute pointing to the id or name of the <iframe>. The Authorize.Net hosted page
provides a way to dynamically change the size of your popup so that there are no scroll
bars.
For the full documentation of this integration method, download the sample application at
http://developer.authorize.net/downloads/samplecode/, listed under the Customer Information
Manager (CIM) heading. You can find two zip files, containing all the necessary html code as well
as instructions, to implement iframe popups for managing payment and shipping information on the
same page, or separately.
Select
shipping information on the same page
hostedProfileManage.zip
information
hostedProfilePaymentsShipping.zip
hostedProfilePaymentsShipping.zip
You can design your popup so that it manages either the payment and shipping information on the
same page, or you can add buttons that manage payment and shipping information separately.
The following images show some sample popups, with their associated buttons
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 12
Add payment
<button onclick="AuthorizeNetPopup.openAddPaymentPopup()">Add a New
Payment Method</button>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 13
Edit payment
Add a button with the PaymentProfileId for each payment profile
<button
onclick="AuthorizeNetPopup.openEditPaymentPopup('123456')">Edit
Payment Method</button>
Note: Replace ‘123456’ with the payment profile ID.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 14
Add shipping
<button onclick="AuthorizeNetPopup.openAddShippingPopup()">Add a
New Shipping Address</button>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 15
Edit shipping
Add a button with the ShippingAddressId for each shipping address
<button
onclick="AuthorizeNetPopup.openEditShippingPopup(‘123456’)">Edit
Shipping Address</button>
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 16
Manage payment and shipping
<button onclick="AuthorizeNetPopup.openManagePopup()">Manage my payment
and shipping information</button>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 17
Guidelines for Settings Parameters
To integrate to the hosted page as a redirect, pass hostedProfileReturnUrl and
hostedProfileReturnUrlText. Do not pass hostedProfileIFrameCommunicatorUrl.
The parameter hostedProfilePageBorderVisible=true is optional. Do not pass
hostedProfilePageBorderVisible=false.
To integrate to the hosted page as a popup, do not pass hostedProfileReturnUrl or
hostedProfileReturnUrlText. Pass hostedProfilePageBorderVisible=false and pass
hostedProfileIFrameCommunicatorUrl.
The following table shows possible settings:
Parameter
Description
hostedProfileReturnUrl
Enter the URL to return to after the hosted session
ends. Do not pass this setting for iframes or popups.
The return URL is validated to verify that it begins
with http:// or https://.
hostedProfileReturnUrlText
Enter the text to display on the button that returns the
customer to your website. The value can be any text
up to 200 characters. Do not pass this setting for
iframes or popups. If you do not pass this parameter,
the default button text is Continue.
hostedProfilePageBorderVisible Enter true or false. Must be false for iframes or
popups, and must be true for redirects.
hostedProfileHeadingBgColor
Enter a hex color string such as #e0e0e0. It changes
the background color of the section headers from
gray to a custom color.
hostedProfileIFrameCommunicatorUrl
Enter the url to a page that can communicate with the
merchant’s main page using javascript. This enables
you to dynamically change the size of the popup so
there are no scroll bars. This is required only for
iframe or lightbox applications
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 18
Section 3
Executing an API Call
The following sections describe the minimum requirements for executing an API call for managing
customer profiles using XML.
There are two options for developing the request script:
You can develop a custom script yourself using the API fields information provided in this
document, OR
You can use Authorize.Net sample code in C# and Java available for free from our
Developer Center at http://developer.authorize.net/samplecode.
Note: If you choose to use Authorize.Net sample code, please be aware that in order to achieve a
successful implementation it must be modified with developer test account or the
merchant’s specific payment gateway account information.
Web Service Locations
ITEM
LOCATION
Production
https://api.authorize.net/xml/v1/request.api
Developer Test
https://apitest.authorize.net/xml/v1/request.api
XML Schema
https://api.authorize.net/xml/v1/schema/AnetApiSchema.xsd
In order to be processed successfully, API requests and responses must conform to the CIM API
XML schema.
Note: The Developer Test URL requires the use of a developer test payment gateway account. You
can request a test account from our Developer Center at
http://developer.authorize.net/testaccount. Developer test accounts cannot be used to test
against the Production URL.
Note for .NET programmers: When a parameter is optional, and if you use serialization, then the
.NET language you are using automatically creates Boolean properties that indicate
whether or not non-nullable parameters are specified. For example, if there is a parameter
named validationMode that is an Enumeration type, a parameter called
validationModeSpecified will automatically be created. By default, these properties are set
to “false.”If a request passes a value for an optional parameter, be sure to set these
properties to “true” so that the value is not ignored.
CIM Functions
The CIM API includes the following functions:
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 19
createCustomerProfileRequest – Create a new customer profile along with any customer
payment profiles and customer shipping addresses for the customer profile.
createCustomerPaymentProfileRequest – Create a new customer payment profile for an
existing customer profile. You can create up to 10 payment profiles for each customer
profile.
createCustomerShippingAddressRequestCreate a new customer shipping address for
an existing customer profile. You can create up to 100 customer shipping addresses for
each customer profile.
createCustomerProfileTransactionRequestCreate a new payment transaction from an
existing customer profile.
deleteCustomerProfileRequestDelete an existing customer profile along with all
associated customer payment profiles and customer shipping addresses.
deleteCustomerPaymentProfileRequestDelete a customer payment profile from an
existing customer profile.
deleteCustomerShippingAddressRequestDelete a customer shipping address from an
existing customer profile.
getCustomerProfileIdsRequest – Retrieve all customer profile IDs you have previously
created.
getCustomerProfileRequestRetrieve an existing customer profile along with all the
associated customer payment profiles and customer shipping addresses.
getCustomerPaymentProfileRequestRetrieve a customer payment profile for an
existing customer profile.
getCustomerShippingAddressRequestRetrieve a customer shipping address for an
existing customer profile.
getHostedProfilePageRequestsends a request for access to the hosted CIM page. The
response includes a token that allows the customer to update their information directly on
the Authorize.Net website.
updateCustomerProfileRequest – Update an existing customer profile.
updateCustomerPaymentProfileRequestUpdate a customer payment profile for an
existing customer profile.
updateCustomerShippingAddressRequest – Update a shipping address for an existing
customer profile.
updateSplitTenderGroupRequest – Update the status of a split tender group (a group of
transactions, each of which pays for part of one order).
validateCustomerPaymentProfileRequest – Verify an existing customer payment profile
by generating a test transaction.
The following sections provide information about the input elements required for executing the
functions listed above. Indentations in the Element column indicate grouping hierarchy. All
elements are case sensitive and must be submitted in the order listed here. Elements are required
unless otherwise indicated. Optional elements should not be submitted unless they contain valid
values.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 20
Note: Elements required for individual API calls are in addition to the authentication elements
required for all API calls.
Field Validation and Test Mode
The validationMode parameter allows you to generate a test transaction at the time you create or
update a customer profile. The functions createCustomerProfileRequest,
createCustomerPaymentProfileRequest, updateCustomerPaymentProfileRequest and
validateCustomerPaymentProfileRequest all include a validationMode element, which can have
one of the following values:
testMode—performs field validation only. During field validation, all fields are checked.
However, fields with unrestricted field definitions (such as telephone number) do not
generate errors.
If you select testMode, a $1.00 test transaction is submitted to verify that the credit card
number is in a valid format using the Luhn MOD 10 algorithm. This test transaction does
not appear on the customer's credit card statement, but it will generate a transaction receipt
e-mail to the merchant.
liveMode—generates a transaction to the processor in the amount of $0.01 or $0.00. If
successful, the transaction is immediately voided. Visa authorization transactions are being
switched from $0.01 to $0.00 for all processors. All other credit card types use $0.01. We
recommend you consult your Merchant Account Provider before switching to Zero Dollar
Authorizations for Visa, because you may be subject to fees.
For Visa transactions using $0.00, the billTo address and billTo zip fields are required.
noneWhen this value is submitted, no additional validation is performed.
(blank)—this is the same as using the value none.
When you call createCustomerProfileRequest, then you must use a value of none (or leave the
value blank) if the request does not include any payment profile information.
When you call validateCustomerPaymentProfileRequest, then you must use either testMode or
liveMode.
If a validation transaction is unsuccessful, the profile is not created and the merchant will receive an
error.
Authentication
ALL calls to the API require merchant authentication to ensure they originate from authorized
sources. This implementation of the merchant Web services API supports authentication using the
API Login ID and Transaction Key.
ELEMENT VALUE FORMAT NOTES
merchantAuthentication Contains merchant unique
information for purposes
of authentication
name
The valid API Login ID for
the developer test or
Up to 25 characters
Submit the API
Login ID used to
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 21
ELEMENT
VALUE
FORMAT
NOTES
merchant account
submit transactions
transactionKey
The valid Transaction Key
for the developer test or
merchant account
16 characters
Submit the
Transaction Key
obtained from the
Merchant Interface
Example of Authentication with the Login ID and Transaction Key
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileRequest xmlns=
"AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>mytestacct</name>
<transactionKey>112223344</transactionKey>
</merchantAuthentication>
</createCustomerProfileRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for createCustomerProfileRequest
This function is used to create a new customer profile along with any customer payment profiles
and customer shipping addresses for the customer profile.
The following table lists the input elements for executing an API call to the
createCustomerProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
reference ID for
the request
Optional
Up to 20 characters
If included in the
request, this value will
be included in the
response. This feature
might be especially
useful for multi-
threaded applications.
profile Contains
information for
the customer
profile
At least one of the
following fields must be
submitted under
profile:
merchantCustomerId,
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 22
ELEMENT
VALUE
FORMAT
NOTES
description or email.
merchantCustomerId
Merchant
assigned ID for
the customer
Conditional
Up to 20 characters
Required only if no
values for both
description and email
are submitted.
description
Description of
the customer or
customer profile
Conditional
Up to 255 characters
Required only if no
values for both
merchantCustomerId
and email are
submitted.
email Email address
associated with
the customer
profile
Conditional
Up to 255 characters Required only if no
values for both
description and
merchantCustomerId
are submitted.
paymentProfiles
Contains
payment
profiles for the
customer profile
Optional
Multiple instances of
this element may be
submitted to create
multiple payment
profiles for the
customer profile.
customerType
Optional
individual
business
billTo
firstName The customer’s
first name
Optional
Up to 50 characters (no
symbols)
lastName
The customer’s
last name
Optional
Up to 50 characters (no
symbols)
company
The name of
the company
associated with
the customer, if
applicable
Optional
Up to 50 characters (no
symbols)
address
The customer’s
address
Optional
Up to 60 characters (no
symbols)
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 23
ELEMENT
VALUE
FORMAT
NOTES
city
The city of the
customer’s
address
Optional
Up to 40 characters (no
symbols)
state
The state of the
customer’s
address
Optional
Up to 40 characters (no
symbols)
zip
The ZIP code of
the customer’s
address
Optional
Up to 20 characters (no
symbols)
country
The country of
the customer’s
address
Optional
Up to 60 characters (no
symbols)
phoneNumber The phone
number
associated with
the customer
profile
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
faxNumber
The fax number
associated with
the customer
profile
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
payment Contains
payment profile
information for
the customer
profile
Can contain creditCard
or bankAccount
creditCard
Contains credit
card payment
information for
the payment
profile
This element is only
required when the
payment profile is
credit card.
cardNumber The customer’s
credit card
number
13 to 16 digits
expirationDate
The expiration
date for the
customer’s
YYYY-MM
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 24
ELEMENT
VALUE
FORMAT
NOTES
credit card
cardCode
The three- or
four-digit
number on the
back of a credit
card (on the
front for
American
Express)
Optional
Numeric
This field is required if
the merchant would
like to use the Card
Code Verification
(CCV) security feature.
For more information,
please see the
Merchant Integration
Guide at
http://www.authorize.
net/support/merchant
/http://www.authoriz
e.net/support/mercha
nt/.
cardCode is only used
for validation and will
not be stored in the
customer profile. It
should only be used
when submitting
validationMode with a
value of testMode or
liveMode.
bankAccount Contains bank
account
payment
information for
the payment
profile
This element is only
required when the
payment profile is bank
account.
accountType The type of
bank account
for the payment
profile
Optional
checking
savings
businessChecking
routingNumber
The routing
number of the
customer’s
bank
9 digits
accountNumber
The customer’s
bank account
number
5 to 17 digits
nameOnAccount
The customer’s
full name as
listed on the
bank account
Up to 22 characters
echeckType
The type of
electronic check
CCD
Currently, the CIM API
does not support ARC
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 25
ELEMENT
VALUE
FORMAT
NOTES
transaction
Optional
PPD
TEL
WEB
or BOC transaction
types.
bankName
The name of
the bank
associated with
the bank
account number
Optional
Up to 50 characters
shipToList Contains
shipping
address
information for
the customer
profile
firstName
The customer’s
first name
Optional
Up to 50 characters (no
symbols)
lastName
The customer’s
last name
Optional
Up to 50 characters (no
symbols)
company
The name of
the company
associated with
the customer, if
applicable
Optional
Up to 50 characters (no
symbols)
address The customer’s
shipping
address
Optional
Up to 60 characters (no
symbols)
city
The city of the
customer’s
shipping
address
Optional
Up to 40 characters (no
symbols)
state
The state of the
customer’s
shipping
address
Optional
Up to 40 characters (no
symbols)
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 26
ELEMENT
VALUE
FORMAT
NOTES
zip
The ZIP code of
the customer’s
shipping
address
Optional
Up to 20 characters (no
symbols)
country The country of
the customer’s
shipping
address
Optional
Up to 60 characters (no
symbols)
phoneNumber
The phone
number
associated with
the customer
profile
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
faxNumber
The fax number
associated with
the customer
profile
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
validationMode
Indicates the
processing
mode for the
request
Optional
none
testMode
liveMode
For more detailed
information about
validationMode, see
Field Validation and
Test Mode
For information about output for this function, see the section of this document titledOutput
Elements for createCustomerProfileResponse.”
Example createCustomerProfileRequest
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>API Login ID here</name>
<transactionKey>Transaction Key here</transactionKey>
</merchantAuthentication>
<profile>
<merchantCustomerId>Merchant Customer ID
here</merchantCustomerId>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 27
<description>Profile description here</description>
<email>customer profile email address here</email>
<paymentProfiles>
<customerType>individual</customerType>
<payment>
<creditCard>
<cardNumber>Credit card number here</cardNumber>
<expirationDate>Credit card expiration date
here</expirationDate>
</creditCard>
</payment>
</paymentProfiles>
</profile>
<validationMode>liveMode</validationMode>
</createCustomerProfileRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for createCustomerPaymentProfileRequest
This function is used to create a new customer payment profile for an existing customer profile.
The following table lists the input elements for executing an API call to the
createCustomerPaymentProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId Merchant-assigned
reference ID for the
request
Optional
Up to 20 characters If included in the
request, this value will
be included in the
response. This feature
might be especially
useful for multi-threaded
applications.
customerProfileId
Payment gateway
assigned ID
associated with the
customer profile
Numeric
paymentProfile
Contains payment
information for the
customer profile
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 28
ELEMENT
VALUE
FORMAT
NOTES
customerType
Optional
individual
business
billTo
firstName
The customer’s first
name
Optional
Up to 50 characters (no
symbols)
lastName The customer’s last
name
Optional
Up to 50 characters (no
symbols)
company
The name of the
company associated
with the customer, if
applicable
Optional
Up to 50 characters (no
symbols)
address
The customer’s
address
Optional
Up to 60 characters (no
symbols)
city The city of the
customer’s address
Optional
Up to 40 characters (no
symbols)
state
The state of the
customer’s address
Optional
Up to 40 characters (no
symbols)
zip
The ZIP code of the
customer’s address
Optional
Up to 20 characters (no
symbols)
country The country of the
customer’s address
Optional
Up to 60 characters (no
symbols)
phoneNumber The phone number
associated with the
customer’s address
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
faxNumber The fax number
associated with the
customer’s address
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 29
ELEMENT
VALUE
FORMAT
NOTES
payment
Contains payment
information for the
customer profile
Can contain creditCard
or bankAccount
creditCard
Contains credit card
payment information
for the customer
profile
This element is only
required when the
payment profile is credit
card.
cardNumber
The customer’s
credit card number
13 to 16 digits
expirationDate
The expiration date
for the customer’s
credit card
YYYY-MM
cardCode
The three- or four-
digit number on the
back of a credit card
(on the front for
American Express)
Optional
Numeric
This field is required if
the merchant would like
to use the Card Code
Verification (CCV)
security feature. For
more information,
please see the
Merchant Integration
Guide at
http://www.authorize.n
et/support/merchant/ht
tp://www.authorize.n
et/support/Merchant/d
efault.htm.
cardCode is only used
for validation and will
not be stored in the
customer profile. It
should only be used
when submitting
validationMode with a
value of testMode or
liveMode.
bankAccount
Contains bank
account payment
information for the
customer profile
This element is only
required when the
payment profile is bank
account.
accountType
The type of bank
account for the
payment profile
Optional
checking
savings
businessChecking
routingNumber
The routing number
of the customer’s
bank
9 digits
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 30
ELEMENT
VALUE
FORMAT
NOTES
accountNumber
The customer’s
bank account
number
5 to 17 digits
nameOnAccount
The customer’s full
name as listed on
the bank account
Up to 22 characters
echeckType The type of
electronic check
transaction
Optional
CCD
PPD
TEL
WEB
Currently, the CIM API
does not support ARC
or BOC transaction
types.
bankName The name of the
bank associated
with the bank
account number
Optional
Up to 50 characters
validationMode
Indicates the
processing mode for
the request
none
testMode
liveMode
For more detailed
information about
validationMode, see
Field Validation and
Test Mode
For information about output elements for this function, see the section Output Elements for
createCustomerPaymentProfileResponse.
Example createCustomerPaymentProfileRequest
<?xml version="1.0" encoding="utf-8"?>
<createCustomerPaymentProfileRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
<paymentProfile>
<billTo>
<firstName>John</firstName>
<lastName>Doe</lastName>
<company></company>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 31
<address>123 Main St.</address>
<city>Bellevue</city>
<state>WA</state>
<zip>98004</zip>
<country>USA</country>
<phoneNumber>000-000-0000</phoneNumber>
<faxNumber></faxNumber>
</billTo>
<payment>
<creditCard>
<cardNumber>4111111111111111</cardNumber>
<expirationDate>2023-12</expirationDate>
</creditCard>
</payment>
</paymentProfile>
<validationMode>liveMode</validationMode>
</createCustomerPaymentProfileRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for createCustomerShippingAddressRequest
This function is used to create a new customer shipping address for an existing customer profile.
The following table lists the input elements for executing an API call to the
createCustomerShippingAddressRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId Merchant-assigned
reference ID for the
request
Optional
Up to 20 characters If included in the request,
this value will be included
in the response. This
feature might be
especially useful for multi-
threaded applications.
customerProfileId Payment gateway
assigned ID associated
with the customer profile
Numeric
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 32
ELEMENT
VALUE
FORMAT
NOTES
address
Contains shipping
address information for
the customer profile
firstName
The customer’s first name
Optional
Up to 50 characters (no
symbols)
lastName
The customer’s last name
Optional
Up to 50 characters (no
symbols)
company The name of the company
associated with the
customer, if applicable
Optional
Up to 50 characters (no
symbols)
address
The customer’s shipping
address
Optional
Up to 60 characters (no
symbols)
city
The city of the customer’s
shipping address
Optional
Up to 40 characters (no
symbols)
state
The state of the
customer’s shipping
address
Optional
Up to 40 characters (no
symbols)
zip
The ZIP code of the
customer’s shipping
address
Optional
Up to 20 characters (no
symbols)
country The country of the
customer’s shipping
address
Optional
Up to 60 characters (no
symbols)
phoneNumber The phone number
associated with the
customer’s shipping
address
Optional
Up to 25 digits (no letters)
Ex. (123)123-1234
faxNumber
The fax number
associated with the
customer’s shipping
address
Optional
Up to 25 digits (no letters)
Ex. (123)123-1234
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 33
For information about output elements for this function, see the section of this document titled
Output Elements for createCustomerShippingAddressResponse.”
Example createCustomerShippingAddressRequest
<?xml version="1.0" encoding="utf-8"?>
<createCustomerShippingAddressRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
<address>
<firstName>John</firstName>
<lastName>Doe</lastName>
<company></company>
<address>123 Main St.</address>
<city>Bellevue</city>
<state>WA</state>
<zip>98004</zip>
<country>USA</country>
<phoneNumber>000-000-0000</phoneNumber>
<faxNumber></faxNumber>
</address>
</createCustomerShippingAddressRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for createCustomerProfileTransactionRequest
This function is used to create a payment transaction from an existing customer profile. You can
submit one of six transaction types: Authorization Only, Authorization and Capture, Capture Only,
Prior Authorization and Capture, Refund and Void. For more information on these transaction
types, please see the Merchant Integration Guide at
http://www.authorize.net/support/merchant/http://www.authorize.net/support/Merchant/default.htm.
Note: The only transaction types that generate a customer receipt email are Authorization Only,
Authorization and Capture, and Refund.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 34
For Authorization Only Transactions
The following table lists the input elements for executing an API call to the
createCustomerProfileTransactionRequest function for an Authorization Only transaction.
ELEMENT
VALUE
FORMAT
NOTES
refId Merchant-
assigned
reference ID for
the request
Optional
Up to 20 characters If included in the
request, this
value will be
included in the
response. This
feature might be
especially useful
for multi-
threaded
applications.
transaction
Contains
transaction
information
profileTransAuthOnly The transaction
type that is
being requested
Only one
transaction type
is allowed per
request.
amount The total
amount of the
transaction
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
should include
all other
amounts such
as tax amount,
shipping
amount, etc.
tax
Contains tax
information for
the transaction
Optional
amount
The tax amount
for the
transaction
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
must be
included in the
total amount for
the transaction.
name
The name of
the tax for the
transaction
Optional
Up to 31 characters
description The tax
description for
the transaction
Optional
Up to 255 characters
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 35
ELEMENT
VALUE
FORMAT
NOTES
shipping
Contains
shipping
information for
the transaction
Optional
amount The shipping
amount for the
transaction
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
must be
included in the
total amount for
the transaction.
name
The name of
the shipping for
the transaction
Optional
Up to 31 characters
description
The shipping
description for
the transaction
Optional
Up to 255 characters
duty
Contains duty
information for
the transaction
Optional
amount
The duty
amount for the
transaction
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
must be
included in the
total amount for
the transaction.
name The name of
the duty for the
transaction
Optional
Up to 31 characters
description
The duty
description for
the transaction
Optional
Up to 255 characters
lineItems
Contains line
item details
about the order
Optional
Up to 30 distinct
instances of this
element may be
included per
transaction to
describe items
included in the
order.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 36
ELEMENT
VALUE
FORMAT
NOTES
itemId
The ID
assigned to the
item
Optional
Up to 31 characters
name
A short
description of
an item
Optional
Up to 31 characters
description
A detailed
description of
an item
Optional
Up to 255 characters
quantity
The quantity of
an item
Optional
Up to 4 digits (up to two
decimal places)
unitPrice
Cost of an item
per unit
excluding tax,
freight, and duty
Optional
Up to 4 digits with a decimal
point (no dollar symbol)
Ex. 4.95
taxable Indicates
whether the
item is subject
to tax
Optional
false
true
customerProfileId
Payment
gateway
assigned ID
associated with
the customer
profile
Numeric
customerPaymentProfileId
Payment
gateway
assigned ID
associated with
the customer
payment profile
Numeric
customerShippingAddressId Payment
gateway
assigned ID
associated with
the customer
shipping
address
Numeric If
customerShippi
ngAddressId is
not passed,
shipping
information will
not be included
with the
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 37
ELEMENT
VALUE
FORMAT
NOTES
Optional
transaction.
order
Contains
information
about the order
Optional
invoiceNumber
The merchant
assigned
invoice number
for the
transaction
Optional
Up to 20 characters (no
symbols)
description
The transaction
description
Optional
Up to 255 characters (no
symbols)
purchaseOrderNumber The merchant
assigned
purchase order
number
Optional
Up to 25 characters (no
symbols)
taxExempt
The tax exempt
status
Optional
TRUE
FALSE
recurringBilling
The recurring
billing status
Optional
TRUE
FALSE
cardCode The customer’s
card code (the
three- or four-
digit number on
the back or
front of a credit
card)
Required only
when the
merchant would
like to use the
Card Code
Verification
(CCV) filter
Conditional
3 to 4 digits This field is
required if the
merchant would
like to use the
CCV security
feature. For
more
information,
please see the
Merchant
Integration
Guide at
http://www.aut
horize.net/supp
ort/merchant/ht
tp://www.auth
orize.net/supp
ort/Merchant/d
efault.htm.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 38
ELEMENT
VALUE
FORMAT
NOTES
splitTenderId
Conditional
Up to 6 digits
This field is
required for
second and
subsequent
transactions
related to a
partial
authorizaqtion
transaction.
extraOptions
Information in
name/value pair
format that
does not exist
within CIM,
such as
customer IP
address, etc.
Optional
String (see example below)
For a complete
list of the
transaction
variable names
available,
please review
the AIM
Implementation
Guide located at
http://www.aut
horize.net/supp
ort/AIM_guide.
pdf.
For information about output elements for this function, see the section of this document titled
Output Elements for createCustomerProfileTransactionResponse.”
Example createCustomerProfileTransactionRequest for an Authorization Only transaction
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileTransactionRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<transaction>
<profileTransAuthOnly>
<amount>10.95</amount>
<tax>
<amount>1.00</amount>
<name>WA state sales tax</name>
<description>Washington state sales tax</description>
</tax>
<shipping>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 39
<amount>2.00</amount>
<name>ground based shipping</name>
<description>Ground based 5 to 10 day shipping
</description>
</shipping>
<lineItems>
<itemId>ITEM00001</itemId>
<name>name of item sold</name>
<description>Description of item sold</description>
<quantity>1</quantity>
<unitPrice>6.95</unitPrice>
<taxable>true</taxable>
</lineItems>
<lineItems>
<itemId>ITEM00002</itemId>
<name>name of other item sold</name>
<description>Description of other item sold
</description>
<quantity>1</quantity>
<unitPrice>1.00</unitPrice>
<taxable>true</taxable>
</lineItems>
<customerProfileId>10000</customerProfileId>
<customerPaymentProfileId>20000</customerPaymentProfileId>
<customerShippingAddressId>30000</customerShippingAddressId>
<order>
<invoiceNumber>INV000001</invoiceNumber>
<description>description of transaction</description>
<purchaseOrderNumber>PONUM000001</purchaseOrderNumber>
</order>
<taxExempt>false</taxExempt>
<recurringBilling>false</recurringBilling>
<cardCode>000</cardCode>
<splitTenderId>123456</splitTenderId>
</profileTransAuthOnly>
</transaction>
<extraOptions><![CDATA[x_customer_ip=100.0.0.1&x_authentication_
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 40
indicator=5&x_cardholder_authentication_value=uq3wDbqt8A26rfANAA
AAAP]]></extraOptions>
</createCustomerProfileTransactionRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
For Authorization and Capture Transactions
The following table lists the input elements for executing an API call to the
createCustomerProfileTransactionRequest function for an Authorization and Capture
transaction.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
reference ID for
the request
Optional
Up to 20 characters
If included in the
request, this
value will be
included in the
response. This
feature might be
especially useful
for multi-
threaded
applications.
transaction Contains
transaction
information
profileTransAuthCapture
The transaction
type that is
being requested
Only one
transaction type
is allowed per
request.
amount
The total
amount of the
transaction
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
should include
all other
amounts such
as tax amount,
shipping
amount, etc.
tax
Contains tax
information for
the transaction
Optional
amount The tax amount
for the
transaction
Up to 4 digits after the
decimal point (no dollar
symbol)
This amount
must be
included in the
total amount for
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 41
ELEMENT
VALUE
FORMAT
NOTES
Optional
Ex. 12.99 or 12.9999
the transaction.
name
The name of
the tax for the
transaction
Optional
Up to 31 characters
description
The tax
description for
the transaction
Optional
Up to 255 characters
shipping
Contains
shipping
information for
the transaction
Optional
amount The shipping
amount for the
transaction
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
must be
included in the
total amount for
the transaction.
name
The name of
the shipping for
the transaction
Optional
Up to 31 characters
description
The shipping
description for
the transaction
Optional
Up to 255 characters
duty
Contains duty
information for
the transaction
Optional
amount The duty
amount for the
transaction
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
must be
included in the
total amount for
the transaction.
name
The name of
the duty for the
transaction
Optional
Up to 31 characters
description
The duty
description for
Up to 255 characters
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 42
ELEMENT
VALUE
FORMAT
NOTES
the transaction
Optional
lineItems Contains line
item details
about the order
Optional
Up to 30 distinct
instances of this
element may be
included per
transaction to
describe items
included in the
order.
itemId
The ID
assigned to the
item
Optional
Up to 31 characters
name
A short
description of
an item
Optional
Up to 31 characters
description
A detailed
description of
an item
Optional
Up to 255 characters
quantity
The quantity of
an item
Optional
Up to 4 digits (up to two
decimal places)
unitPrice
Cost of an item
per unit
excluding tax,
freight, and duty
Optional
Up to 4 digits with a decimal
point (no dollar symbol)
Ex. 4.95
taxable Indicates
whether the
item is subject
to tax
Optional
false
true
customerProfileId
Payment
gateway
assigned ID
associated with
the customer
profile
Numeric
customerPaymentProfileId Payment
gateway
Numeric
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 43
ELEMENT
VALUE
FORMAT
NOTES
assigned ID
associated with
the customer
payment profile
customerShippingAddressId
Payment
gateway
assigned ID
associated with
the customer
shipping
address
Optional
Numeric
If
customerShippi
ngAddressId is
not passed,
shipping
information will
not be included
with the
transaction.
order
Contains
information
about the order
Optional
invoiceNumber
The merchant
assigned
invoice number
for the
transaction
Optional
Up to 20 characters (no
symbols)
description
The transaction
description
Optional
Up to 255 characters (no
symbols)
purchaseOrderNumber The merchant
assigned
purchase order
number
Optional
Up to 25 characters (no
symbols)
taxExempt
The tax exempt
status
Optional
TRUE
FALSE
recurringBilling
The recurring
billing status
Optional
TRUE
FALSE
cardCode The customer’s
card code (the
three- or four-
digit number on
the back or
front of a credit
card)
3 to 4 digits This field is
required if the
merchant would
like to use the
CCV security
feature. For
more
information,
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 44
ELEMENT
VALUE
FORMAT
NOTES
Required only
when the
merchant would
like to use the
Card Code
Verification
(CCV) filter
Conditional
please see the
Merchant
Integration
Guide at
http://www.aut
horize.net/supp
ort/merchant/ht
tp://www.auth
orize.net/supp
ort/Merchant/d
efault.htm.
splitTenderId
Conditional
Up to 6 digits
This field is
required for
second and
subsequent
transactions
related to a
partial
authorizaqtion
transaction.
extraOptions
Information in
name/value pair
format that
does not exist
within CIM,
such as
customer IP
address, etc.
Optional
String (see example below)
For a complete
list of the
transaction
variable names
available,
please review
the AIM
Implementation
Guide located at
http://www.aut
horize.net/supp
ort/AIM_guide.
pdf.
For information about output elements for this function, see the section of this document titled
Output Elements for createCustomerProfileTransactionResponse.”
Example createCustomerProfileTransactionRequest for an Authorization and Capture
transaction
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileTransactionRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<transaction>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 45
<profileTransAuthCapture>
<amount>10.95</amount>
<tax>
<amount>1.00</amount>
<name>WA state sales tax</name>
<description>Washington state sales tax</description>
</tax>
<shipping>
<amount>2.00</amount>
<name>ground based shipping</name>
<description>Ground based 5 to 10 day
shipping</description>
</shipping>
<lineItems>
<itemId>ITEM00001</itemId>
<name>name of item sold</name>
<description>Description of item sold</description>
<quantity>1</quantity>
<unitPrice>6.95</unitPrice>
<taxable>true</taxable>
</lineItems>
<lineItems>
<itemId>ITEM00002</itemId>
<name>name of other item sold</name>
<description>Description of other item
sold</description>
<quantity>1</quantity>
<unitPrice>1.00</unitPrice>
<taxable>true</taxable>
</lineItems>
<customerProfileId>10000</customerProfileId>
<customerPaymentProfileId>20000</customerPaymentProfileId>
<customerShippingAddressId>30000</customerShippingAddressId>
<order>
<invoiceNumber>INV000001</invoiceNumber>
<description>description of transaction</description>
<purchaseOrderNumber>PONUM000001</purchaseOrderNumber>
</order>
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 46
<taxExempt>false</taxExempt>
<recurringBilling>false</recurringBilling>
<cardCode>000</cardCode>
<splitTenderId>123456</splitTenderId>
</profileTransAuthCapture>
</transaction>
<extraOptions><![CDATA[x_customer_ip=100.0.0.1]]></extraOptions>
</createCustomerProfileTransactionRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
For Capture Only Transactions
The following table lists the input elements for executing an API call to the
createCustomerProfileTransactionRequest function for a Capture Only transaction.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
reference ID for
the request
Optional
Up to 20 characters
If included in the
request, this
value will be
included in the
response. This
feature might be
especially useful
for multi-
threaded
applications.
transaction
Contains
transaction
information
profileTransCaptureOnly
The transaction
type that is
being requested
Only one
transaction type
is allowed per
request.
amount
The total
amount of the
transaction
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
should include
all other
amounts such
as tax amount,
shipping
amount, etc.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 47
ELEMENT
VALUE
FORMAT
NOTES
tax
Contains tax
information for
the transaction
Optional
amount
The tax amount
for the
transaction
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
must be
included in the
total amount for
the transaction.
name The name of
the tax for the
transaction
Optional
Up to 31 characters
description The tax
description for
the transaction
Optional
Up to 255 characters
shipping
Contains
shipping
information for
the transaction
Optional
amount
The shipping
amount for the
transaction
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
must be
included in the
total amount for
the transaction.
name The name of
the shipping for
the transaction
Optional
Up to 31 characters
description
The shipping
description for
the transaction
Optional
Up to 255 characters
duty
Contains duty
information for
the transaction
Optional
amount
The duty
amount for the
transaction
Up to 4 digits after the
decimal point (no dollar
symbol)
This amount
must be
included in the
total amount for
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 48
ELEMENT
VALUE
FORMAT
NOTES
Optional
Ex. 12.99 or 12.9999
the transaction.
name
The name of
the duty for the
transaction
Optional
Up to 31 characters
description
The duty
description for
the transaction
Optional
Up to 255 characters
lineItems
Contains line
item details
about the order
Optional
Up to 30 distinct
instances of this
element may be
included per
transaction to
describe items
included in the
order.
itemId
The ID
assigned to the
item
Optional
Up to 31 characters
name
A short
description of
an item
Optional
Up to 31 characters
description
A detailed
description of
an item
Optional
Up to 255 characters
quantity
The quantity of
an item
Optional
Up to 4 digits (up to two
decimal places)
unitPrice
Cost of an item
per unit
excluding tax,
freight, and duty
Optional
Up to 4 digits with a decimal
point (no dollar symbol)
Ex. 4.95
taxable
Indicates
whether the
item is subject
to tax
Optional
false
true
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 49
ELEMENT
VALUE
FORMAT
NOTES
customerProfileId
Payment
gateway
assigned ID
associated with
the customer
profile
Numeric
customerPaymentProfileId
Payment
gateway
assigned ID
associated with
the customer
payment profile
Numeric
customerShippingAddressId Payment
gateway
assigned ID
associated with
the customer
shipping
address
Optional
Numeric If
customerShippi
ngAddressId is
not passed,
shipping
information will
not be included
with the
transaction.
order Contains
information
about the order
Optional
invoiceNumber The merchant
assigned
invoice number
for the
transaction
Optional
Up to 20 characters (no
symbols)
description The transaction
description
Optional
Up to 255 characters (no
symbols)
purchaseOrderNumber
The merchant
assigned
purchase order
number
Optional
Up to 25 characters (no
symbols)
taxExempt The tax exempt
status
Optional
TRUE
FALSE
recurringBilling
The recurring
billing status
TRUE
FALSE
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 50
ELEMENT
VALUE
FORMAT
NOTES
Optional
cardCode
The customer’s
card code (the
three- or four-
digit number on
the back or
front of a credit
card)
Required only
when the
merchant would
like to use the
Card Code
Verification
(CCV) filter
Conditional
3 to 4 digits
This field is
required if the
merchant would
like to use the
CCV security
feature. For
more
information,
please see the
Merchant
Integration
Guide at
http://www.aut
horize.net/supp
ort/merchant/ht
tp://www.auth
orize.net/supp
ort/Merchant/d
efault.htm.
splitTenderId
Conditional
Up to 6 digits
This field is
required for
second and
subsequent
transactions
related to a
partial
authorizaqtion
transaction.
approvalCode
The
authorization
code of an
original
transaction
required for a
Capture Only
Conditional
6 characters
This element is
only required for
the Capture
Only transaction
type.
extraOptions
Information in
name/value pair
format that
does not exist
within CIM,
such as
customer IP
address, etc.
Optional
String (see example below)
For a complete
list of the
transaction
variable names
available,
please review
the AIM
Implementation
Guide located at
http://www.aut
horize.net/supp
ort/AIM_guide.
pdf.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 51
For information about output elements for this function, see the section of this document titled
Output Elements for createCustomerProfileTransactionResponse.”
Example createCustomerProfileTransactionRequest for a Capture Only transaction
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileTransactionRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<transaction>
<profileTransCaptureOnly>
<amount>10.95</amount>
<tax>
<amount>1.00</amount>
<name>WA state sales tax</name>
<description>Washington state sales tax</description>
</tax>
<shipping>
<amount>2.00</amount>
<name>ground based shipping</name>
<description>Ground based 5 to 10 day
shipping</description>
</shipping>
<lineItems>
<itemId>ITEM00001</itemId>
<name>name of item sold</name>
<description>Description of item sold</description>
<quantity>1</quantity>
<unitPrice>6.95</unitPrice>
<taxable>true</taxable>
</lineItems>
<lineItems>
<itemId>ITEM00002</itemId>
<name>name of other item sold</name>
<description>Description of other item
sold</description>
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 52
<quantity>1</quantity>
<unitPrice>1.00</unitPrice>
<taxable>true</taxable>
</lineItems>
<customerProfileId>10000</customerProfileId>
<customerPaymentProfileId>20000</customerPaymentProfileId>
<customerShippingAddressId>30000</customerShippingAddressId>
<order>
<invoiceNumber>INV000001</invoiceNumber>
<description>description of transaction</description>
<purchaseOrderNumber>PONUM000001</purchaseOrderNumber>
</order>
<taxExempt>false</taxExempt>
<recurringBilling>false</recurringBilling>
<cardCode>000</cardCode>
<approvalCode>000000</approvalCode>
<splitTenderId>123456</splitTenderId>
</profileTransCaptureOnly>
</transaction>
<extraOptions><![CDATA[x_customer_ip=100.0.0.1]]></extraOptions>
</createCustomerProfileTransactionRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
For Prior Authorization and CaptureTransactions
The following table lists the input elements for executing an API call to the
createCustomerProfileTransactionRequest function for a Prior Authorization and Capture
transaction.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
reference ID for
the request
Optional
Up to 20 characters
If included in the
request, this
value will be
included in the
response. This
feature might be
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 53
ELEMENT
VALUE
FORMAT
NOTES
especially useful
for multi-
threaded
applications.
transaction
Contains
transaction
information
profileTransPriorAuthCapture
The transaction
type that is
being requested
Only one
transaction type
is allowed per
request.
amount
The total
amount of the
transaction
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
should include
all other
amounts such
as tax amount,
shipping
amount, etc.
tax
Contains tax
information for
the transaction
Optional
Tax information
from the original
authorization
transaction will
be used if this
field is not
submitted.
amount
The tax amount
for the
transaction
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
must be
included in the
total amount for
the transaction.
name The name of
the tax for the
transaction
Optional
Up to 31 characters
description
The tax
description for
the transaction
Optional
Up to 255 characters
shipping
Contains
shipping
information for
the transaction
Optional
Shipping
information from
the original
authorization
transaction will
be used if this
field is not
submitted.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 54
ELEMENT
VALUE
FORMAT
NOTES
amount
The shipping
amount for the
transaction
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
must be
included in the
total amount for
the transaction.
name The name of
the shipping for
the transaction
Optional
Up to 31 characters
description The shipping
description for
the transaction
Optional
Up to 255 characters
duty Contains duty
information for
the transaction
Optional
Duty information
from the original
authorization
transaction will
be used if this
field is not
submitted.
amount
The duty
amount for the
transaction
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
must be
included in the
total amount for
the transaction.
name
The name of
the duty for the
transaction
Optional
Up to 31 characters
description
The duty
description for
the transaction
Optional
Up to 255 characters
lineItems Contains line
item details
about the order
Optional
Line item
information from
the original
authorization
transaction will
be used if this
field is not
submitted.
Up to 30 distinct
instances of this
element may be
included per
transaction to
describe items
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 55
ELEMENT
VALUE
FORMAT
NOTES
included in the
order.
itemId The ID
assigned to the
item
Optional
Up to 31 characters
name A short
description of
an item
Optional
Up to 31 characters
description A detailed
description of
an item
Optional
Up to 255 characters
quantity The quantity of
an item
Optional
Up to 4 digits (up to two
decimal places)
unitPrice Cost of an item
per unit
excluding tax,
freight, and duty
Optional
Up to 4 digits with a decimal
point (no dollar symbol)
Ex. 4.95
taxable
Indicates
whether the
item is subject
to tax
Optional
false
true
customerProfileId
Payment
gateway
assigned ID
associated with
the customer
profile
Optional
Numeric
If a value is
submitted for
this field, it must
be the same ID
used for the
original
authorization
transaction.
customerPaymentProfileId
Payment
gateway
assigned ID
associated with
the customer
payment profile
Optional
Numeric
If a value is
submitted for
this field, it must
be the same ID
used for the
original
authorization
transaction.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 56
ELEMENT
VALUE
FORMAT
NOTES
customerShippingAddressId
Payment
gateway
assigned ID
associated with
the customer
shipping
address
Optional
Numeric
If a value is
submitted for
this field, it must
be the same ID
used for the
original
authorization
transaction.
transId The payment
gateway
assigned
transaction ID
of the original
transaction
Numeric
extraOptions
Information in
name/value pair
format that
does not exist
within CIM,
such as
customer IP
address, etc.
Optional
String (see example below)
For a complete
list of the
transaction
variable names
available,
please review
the AIM
Implementation
Guide located at
http://www.aut
horize.net/supp
ort/AIM_guide.
pdf.
For information about output elements for this function, see the section of this document titled
Output Elements for createCustomerProfileTransactionResponse.”
Example createCustomerProfileTransactionRequest for a Prior Authorization and Capture
transaction
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileTransactionRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<transaction>
<profileTransPriorAuthCapture>
<amount>10.95</amount>
<tax>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 57
<amount>1.00</amount>
<name>WA state sales tax</name>
<description>Washington state sales tax</description>
</tax>
<shipping>
<amount>2.00</amount>
<name>ground based shipping</name>
<description>Ground based 5 to 10 day
shipping</description>
</shipping>
<lineItems>
<itemId>ITEM00001</itemId>
<name>name of item sold</name>
<description>Description of item sold</description>
<quantity>1</quantity>
<unitPrice>6.95</unitPrice>
<taxable>true</taxable>
</lineItems>
<lineItems>
<itemId>ITEM00002</itemId>
<name>name of other item sold</name>
<description>Description of other item
sold</description>
<quantity>1</quantity>
<unitPrice>1.00</unitPrice>
<taxable>true</taxable>
</lineItems>
<customerProfileId>10000</customerProfileId>
<customerPaymentProfileId>20000</customerPaymentProfileId>
<customerShippingAddressId>30000</customerShippingAddressId>
<transId>40000</transId>
</profileTransPriorAuthCapture>
</transaction>
<extraOptions><![CDATA[]]></extraOptions>
</createCustomerProfileTransactionRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 58
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
For Refund Transactions
If you are submitting a refund against a previous CIM transaction, the following guidelines
apply: include customerProfileId, customerPaymentProfileId, and transId.
customerShippingAddressId is optional.
creditCardNumberMasked, bankRoutingNumberMasked, and bankAccountNumberMasked do
not need to be included, but will be validated if they are included.
If you are submitting a refund against a previous transaction that is not a CIM transaction, the
following guidelines apply:
you must include transId, creditCardNumberMasked (or bankRoutingNumberMasked and
bankAccountNumberMasked).
do not include customerProfileId, customerPaymentProfileId, and customerShippingAddressId.
You can also issue an unlinked refund against a previous CIM transaction. In this case, the
following rules apply:
you must be enrolled in Expanded Credit Capabilities (ECC). For more information about ECC,
see http://www.authorize.net/files/ecc.pdf.
you must include customerProfileId and customerPaymentProfileId.
customerShippingAddressId is optional.
do not include transId, creditCardNumberMasked, bankRoutingNumberMasked, and
bankAccountNumberMasked.
The following table lists the input elements for executing an API call to the
createCustomerProfileTransactionRequest function for a Refund transaction.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
reference ID for
the request
Optional
Up to 20 characters
If included in the
request, this value
will be included in
the response. This
feature might be
especially useful
for multi-threaded
applications.
transaction
Contains
transaction
information
profileTransRefund
The transaction
type that is
being requested
Only one
transaction type is
allowed per
request.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 59
ELEMENT
VALUE
FORMAT
NOTES
amount
The total
amount to be
refunded
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount
should include all
other amounts
such as tax
amount, shipping
amount, etc.
tax
Contains tax
information for
the refund
Optional
amount
The tax amount
to be refunded
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount must
be included in the
total amount for
the transaction.
name
The name of
the tax for the
transaction
Optional
Up to 31 characters
description
The tax
description for
the transaction
Optional
Up to 255 characters
shipping
Contains
shipping
information for
the refund
Optional
amount The shipping
amount to be
refunded
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount must
be included in the
total amount for
the transaction.
name
The name of
the shipping for
the transaction
Optional
Up to 31 characters
description
The shipping
description for
the transaction
Optional
Up to 255 characters
duty
Contains duty
information for
the refund
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 60
ELEMENT
VALUE
FORMAT
NOTES
Optional
amount
The duty
amount to be
refunded
Optional
Up to 4 digits after the
decimal point (no dollar
symbol)
Ex. 12.99 or 12.9999
This amount must
be included in the
total amount for
the transaction.
name
The name of
the duty for the
transaction
Optional
Up to 31 characters
description
The duty
description for
the transaction
Optional
Up to 255 characters
lineItems
Contains line
item details
about the
refund
Optional
Up to 30 distinct
instances of this
element may be
included per
transaction to
describe items
included in the
order.
itemId
The ID
assigned to the
item
Optional
Up to 31 characters
name
A short
description of
an item
Optional
Up to 31 characters
description
A detailed
description of
an item
Optional
Up to 255 characters
quantity
The quantity of
an item
Optional
Up to 4 digits (up to two
decimal places)
unitPrice
Cost of an item
per unit
excluding tax,
freight, and duty
Optional
Up to 4 digits with a
decimal point (no dollar
symbol)
Ex. 4.95
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 61
ELEMENT
VALUE
FORMAT
NOTES
taxable
Indicates
whether the
item is subject
to tax
Optional
false
true
customerProfileId Payment
gateway
assigned ID
associated with
the customer
profile
Conditional
Numeric Required if the
masked payment
information is not
being submitted.
Must be submitted
with
customerPayment
ProfileId.
If a value is
submitted for this
field, it must be the
same ID used for
the original
transaction.
Required for
unlinked refunds.
If you are
submitting a
refund against a
previous
transaction that is
not a CIM
transaction, do not
submit this value.
customerPaymentProfileId Payment
gateway-
assigned ID
associated with
the customer
payment profile
Conditional
Numeric Required if the
masked payment
information is not
being submitted.
Must be submitted
with
customerProfileId.
If a value is
submitted for this
field, it must be the
same ID used for
the original
transaction.
This field is
required for
unlinked refunds.
If you are
submitting a
refund against a
previous
transaction that is
not a CIM
transaction, do not
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 62
ELEMENT
VALUE
FORMAT
NOTES
submit this value.
customerShippingAddressId
Payment
gateway
assigned ID
associated with
the customer
shipping
address
Optional
Numeric
If a value is
submitted for this
field, it must be the
same ID used for
the original
transaction.
If you are
submitting a
refund against a
previous
transaction that is
not a CIM
transaction, do not
submit this value.
creditCardNumberMasked The last four
digits of the
credit card
number to be
refunded
Conditional
Four Xs followed by the
last four digits of the credit
card number to be
refunded.
Ex. XXXX1234
Required for credit
card transactions if
customerProfileId
AND
customerPayment
ProfileId are not
being submitted.
The value
submitted must be
the same number
used for the
original
transaction.
See For Refund
Transactions for
additional
information.
bankRoutingNumberMasked
The last four
digits of the
routing number
to be refunded
Conditional
Four Xs followed by the
last four digits of the
routing number to be
refunded.
Ex. XXXX1234
Required for
electronic check
transactions if
customerProfileId
AND
customerPayment
ProfileId are not
being submitted.
Must be submitted
with
bankAccountNum
berMasked.
The value
submitted must be
the same number
used for the
original
transaction.
See For Refund
Transactions for
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 63
ELEMENT
VALUE
FORMAT
NOTES
additional
information.
bankAccountNumberMasked The last four
digits of the
bank account
number to be
refunded
Conditional
Four Xs followed by the
last four digits of the bank
account to be refunded.
Ex. XXXX1234
Required for
electronic check
transactions if
customerProfileId
AND
customerPayment
ProfileId are not
being submitted.
Must be submitted
with
bankRoutingNumb
erMasked.
The value
submitted must be
the same number
used for the
original
transaction.
See For Refund
Transactions for
additional
information.
order
Contains
information
about the order
Optional
invoiceNumber
The merchant
assigned
invoice number
for the
transaction
Optional
Up to 20 characters (no
symbols)
description The transaction
description
Optional
Up to 255 characters (no
symbols)
purchaseOrderNumber The merchant
assigned
purchase order
number
Optional
Up to 25 characters (no
symbols)
transId
The payment
gateway
assigned
transaction ID
of the original
Numeric
This field is not
required for
unlinked refunds,
but is required if
you are submitting
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 64
ELEMENT
VALUE
FORMAT
NOTES
transaction
a refund against a
transaction that is
not a previous CIM
transaction..
See For Refund
Transactions for
additional
information.
extraOptions Information in
name/value pair
format that
does not exist
within CIM,
such as
customer IP
address, etc.
Optional
String (see example below) For a complete list
of the transaction
variable names
available, please
review the AIM
Implementation
Guide located at
http://www.autho
rize.net/support/
AIM_guide.pdf.
For information about output elements for this function, see the section of this document titled
Output Elements for createCustomerProfileTransactionResponse.”
Example createCustomerProfileTransactionRequest for a Refund transaction
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileTransactionRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<transaction>
<profileTransRefund>
<amount>10.95</amount>
<tax>
<amount>1.00</amount>
<name>WA state sales tax</name>
<description>Washington state sales tax</description>
</tax>
<shipping>
<amount>2.00</amount>
<name>ground based shipping</name>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 65
<description>Ground based 5 to 10 day
shipping</description>
</shipping>
<lineItems>
<itemId>ITEM00001</itemId>
<name>name of item sold</name>
<description>Description of item sold</description>
<quantity>1</quantity>
<unitPrice>6.95</unitPrice>
<taxable>true</taxable>
</lineItems>
<lineItems>
<itemId>ITEM00002</itemId>
<name>name of other item sold</name>
<description>Description of other item
sold</description>
<quantity>1</quantity>
<unitPrice>1.00</unitPrice>
<taxable>true</taxable>
</lineItems>
<customerProfileId>10000</customerProfileId>
<customerPaymentProfileId>20000</customerPaymentProfileId>
<customerShippingAddressId>30000</customerShippingAddressId>
<creditCardNumberMasked>XXXX1111</creditCardNumberMasked>
<order>
<invoiceNumber>INV000001</invoiceNumber>
<description>description of transaction</description>
<purchaseOrderNumber>PONUM000001</purchaseOrderNumber>
</order>
<transId>40000</transId>
</profileTransRefund>
</transaction>
<extraOptions><![CDATA[]]></extraOptions>
</createCustomerProfileTransactionRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 66
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
For Void Transactions
The following table lists the input elements for executing an API call to the
createCustomerProfileTransactionRequest function for a Void transaction.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
reference ID for
the request
Optional
Up to 20 characters
If included in the
request, this
value will be
included in the
response. This
feature might be
especially useful
for multi-
threaded
applications.
transaction
Contains
transaction
information
profileTransVoid
The transaction
type that is
being requested
Only one
transaction type
is allowed per
request.
customerProfileId
Payment
gateway
assigned ID
associated with
the customer
profile
Optional
Numeric
If a value is
submitted for
this field, it must
be the same ID
used for the
original
transaction.
customerPaymentProfileId
Payment
gateway
assigned ID
associated with
the customer
payment profile
Optional
Numeric
If a value is
submitted for
this field, it must
be the same ID
used for the
original
transaction.
customerShippingAddressId
Payment
gateway
assigned ID
associated with
the customer
shipping
address
Numeric
If a value is
submitted for
this field, it must
be the same ID
used for the
original
transaction.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 67
ELEMENT
VALUE
FORMAT
NOTES
Optional
transId
The payment
gateway
assigned
transaction ID
of the original
transaction
Numeric
extraOptions
Information in
name/value pair
format that
does not exist
within CIM,
such as
customer IP
address, etc.
Optional
String (see example below)
For a complete
list of the
transaction
variable names
available,
please review
the AIM
Implementation
Guide located at
http://www.aut
horize.net/supp
ort/AIM_guide.
pdf.
For information about output elements for this function, see the section of this document titled
Output Elements for createCustomerProfileTransactionResponse.”
Example createCustomerProfileTransactionRequest for a Void transaction
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileTransactionRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<transaction>
<profileTransVoid>
<customerProfileId>10000</customerProfileId>
<customerPaymentProfileId>20000</customerPaymentProfileId>
<customerShippingAddressId>30000</customerShippingAddressId>
<transId>40000</transId>
</profileTransVoid>
</transaction>
<extraOptions><![CDATA[]]></extraOptions>
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 68
</createCustomerProfileTransactionRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for deleteCustomerProfileRequest
This function is used to delete an existing customer profile along with all associated customer
payment profiles and customer shipping addresses.
The following table lists the input elements for executing an API call to the
deleteCustomerProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId Merchant-assigned reference ID for
the request
Optional
Up to 20
characters If included in the
request, this value will
be included in the
response. This feature
might be especially
useful for multi-threaded
applications.
customerProfileId Payment gateway assigned ID
associated with the customer profile Numeric
For information about output elements for this function, see the section of this document titled
Output Elements for deleteCustomerProfileResponse.”
Example deleteCustomerProfileRequest
<?xml version="1.0" encoding="utf-8"?>
<deleteCustomerProfileRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
</deleteCustomerProfileRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 69
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for deleteCustomerPaymentProfileRequest
This function is used to delete a customer payment profile from an existing customer profile.
The following table lists the input elements for executing an API call to the
deleteCustomerPaymentProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-assigned
reference ID for the
request
Optional
Up to 20
characters
If included in the request, this
value will be included in the
response. This feature might be
especially useful for multi-
threaded applications.
customerProfileId Payment gateway
assigned ID associated
with the customer
profile
Numeric
customerPaymentProfileId
Payment gateway
assigned ID associated
with the customer
payment profile
Numeric
For information about output elements for this function, see the section of this document titled
Output Elements for deleteCustomerPaymentProfileResponse.”
Example deleteCustomerPaymentProfileRequest
<?xml version="1.0" encoding="utf-8"?>
<deleteCustomerPaymentProfileRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
<customerPaymentProfileId>20000</customerPaymentProfileId>
</deleteCustomerPaymentProfileRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 70
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for deleteCustomerShippingAddressRequest
This function is used to delete a customer shipping address from an existing customer profile.
The following table lists the input elements for executing an API call to the
deleteCustomerShippingAddressRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-assigned
reference ID for the
request
Optional
Up to 20
characters
If included in the request, this
value will be included in the
response. This feature might
be especially useful for multi-
threaded applications.
customerProfileId Payment gateway
assigned ID associated
with the customer profile
Numeric
customerAddressId
Payment gateway
assigned ID associated
with the customer
shipping address
Numeric
For information about output elements for this function, see the section of this document titled
Output Elements for deleteCustomerShippingAddressResponse.”
Example deleteCustomerShippingAddressRequest
<?xml version="1.0" encoding="utf-8"?>
<deleteCustomerShippingAddressRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
<customerAddressId>30000</customerAddressId>
</deleteCustomerShippingAddressRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 71
Input Elements for getCustomerProfileIdsRequest
This function is used to retrieve all existing customer profile Ids.
The following table lists the input elements for executing an API call to the
getCustomerProfileIdRequest function.
ELEMENT VALUE FORMAT NOTES
merchantAuthentication Contains merchant unique
information for purposes
of authentication
name
The valid API Login ID for
the developer test or
merchant account
Up to 25 characters
Submit the API
Login ID used to
submit transactions
transactionKey
The valid Transaction Key
for the developer test or
merchant account
16 characters
Submit the
Transaction Key
obtained from the
Merchant Interface
For information about output elements for this function, see the section of this document titled
Output Elements for getCustomerProfileIdsResponse.”
Example getCustomerProfileIdsRequest
<?xml version="1.0" encoding="utf-8"?>
<getCustomerProfileIdsRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
</getCustomerProfileIdsRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for getCustomerProfileRequest
This function is used to retrieve an existing customer profile along with all the associated customer
payment profiles and customer shipping addresses.
The following table lists the input elements for executing an API call to the
getCustomerProfileRequest function.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 72
ELEMENT
VALUE
FORMAT
NOTES
customerProfileId
Payment gateway
assigned ID associated
with the customer profile
Numeric
For information about output elements for this function, see the section of this document titled
Output Elements for getCustomerProfileResponse.”
Example getCustomerProfileRequest
<?xml version="1.0" encoding="utf-8"?>
<getCustomerProfileRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
</getCustomerProfileRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for getCustomerPaymentProfileRequest
This function is used to retrieve a customer payment profile for an existing customer profile.
The following table lists the input elements for executing an API call to the
getCustomerPaymentProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
customerProfileId
Payment gateway
assigned ID associated
with the customer
profile
Numeric
customerPaymentProfileId
Payment gateway
assigned ID associated
with the customer
payment profile
Numeric
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 73
For information about output elements for this function, see the section of this document titled
Output Elements for getCustomerPaymentProfileResponse.”
Example getCustomerPaymentProfileRequest
<?xml version="1.0" encoding="utf-8"?>
<getCustomerPaymentProfileRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
<customerPaymentProfileId>20000</customerPaymentProfileId>
</getCustomerPaymentProfileRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for getCustomerShippingAddressRequest
This function is used to retrieve a customer shipping address for an existing customer profile.
The following table lists the input elements for executing an API call to the
getCustomerShippingAddressRequest function.
ELEMENT
VALUE
FORMAT
NOTES
customerProfileId Payment gateway
assigned ID associated
with the customer profile
Numeric
customerAddressId
Payment gateway
assigned ID associated
with the customer shipping
address
Numeric
For information about output elements for this function, see the section of this document titled
Output Elements for getCustomerShippingAddressResponse.”
Example getCustomerShippingAddressRequest
<?xml version="1.0" encoding="utf-8"?>
<getCustomerShippingAddressRequest
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 74
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
<customerAddressId>30000</customerAddressId>
</getCustomerShippingAddressRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Parameters for getHostedProfilePageRequest
Use this function to initiate a request for direct access to the Authorize.Net hosted profile page.
The following table lists the input parameters for executing an API call to the
getHostedProfilePageRequest function.
FIELD VALUE TYPE/FORM
AT NOTES
customerProfileId
Merchant-assigned ID for the customer
Up to 20
characters
hostedProfileSettings
Optional. This is an array of settings for the session.
settingName
Optional. One of:
hostedProfileReturnUrl,
hostedProfileReturnUrlText,
hostedProfileHeadingBgColor,
hostedProfilePageBorderVisible,
hostedProfileIFrameCommunicatorUrl
settingValue
See Guidelines for Settings Parameters on
page 16 for a complete description
Example getHostedProfilePageRequest
<?xml version="1.0" encoding="utf-8"?>
<getHostedProfilePageRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>YourProfileID</customerProfileId>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 75
<hostedProfileSettings>
<setting>
<settingName>hostedProfileReturnUrl</settingName>
<settingValue>https://blah.com/blah/</settingValue>
</setting>
<setting>
<settingName>hostedProfileReturnUrlText</settingName>
<settingValue>Continue to blah.</settingValue>
</setting>
<setting>
<settingName>hostedProfilePageBorderVisible</settingName>
<settingValue>true</settingValue>
</setting>
</hostedProfileSettings>
</getHostedProfilePageRequest>
Input Elements for updateCustomerProfileRequest
This function is used to update an existing customer profile.
The following table lists the input elements for executing an API call to the
updateCustomerProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-assigned
reference ID for the
request
Optional
Up to 20 characters
If included in the
request, this value will
be included in the
response. This feature
might be especially
useful for multi-threaded
applications.
profile
Contains payment
information for the
customer profile
merchantCustomerId
Merchant assigned ID
for the customer
Optional
Up to 20 characters
description Description of the
customer or customer
profile
Optional
Up to 255 characters
email
Email address
associated with the
customer profile
Optional
Up to 255 characters
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 76
customerProfileId
Payment gateway
assigned ID associated
with the customer profile
Numeric
For information about output elements for this function, see the section of this document titled
Output Elements for updateCustomerProfileResponse.”
Example updateCustomerProfileRequest
<?xml version="1.0" encoding="utf-8"?>
<updateCustomerProfileRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<profile>
<merchantCustomerId>custId123</merchantCustomerId>
<description>some description</description>
<email>newaddress@example.com</email>
<customerProfileId>10000</customerProfileId>
</profile>
</updateCustomerProfileRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for updateCustomerPaymentProfileRequest
This function is used to update a customer payment profile for an existing customer profile.
The following table lists the input elements for executing an API call to the
updateCustomerPaymentProfileRequest function.
Note: If some elements in this request are not submitted or are submitted with a blank value, the
values in the original profile are removed. As a best practice to prevent this from
happening, before calling updateCustomerPaymentProfileRequest, call
getCustomerPaymentProfileRequest. That function returns all current information
including masked payment information. Then simply change the field that needs updating
and use that XML to call updateCustomerPaymentProfileRequest.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 77
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-assigned
reference ID for the
request
Optional
Up to 20 characters
If included in the
request, this value will
be included in the
response. This feature
might be especially
useful for multi-
threaded applications.
customerProfileId
Payment gateway
assigned ID
associated with the
customer profile
Numeric
paymentProfile
Contains payment
information for the
customer profile
Sensitive information
that is not being
updated can be
masked.
customerType
Optional
individual
business
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
billTo
If this entire section is
not submitted, the
original billing
information for the
profile will stay the
same.
If updating only one or
more elements under
billTo, all elements
must be submitted
with their valid values
to prevent the original
values from being
removed.
firstName
The customer’s first
name
Optional
Up to 50 characters (no
symbols)
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
lastName
The customer’s last
name
Optional
Up to 50 characters (no
symbols)
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 78
ELEMENT
VALUE
FORMAT
NOTES
company
The name of the
company associated
with the customer, if
applicable
Optional
Up to 50 characters (no
symbols)
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
address
The customer’s
shipping address
Optional
Up to 60 characters (no
symbols)
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
city
The city of the
customer’s shipping
address
Optional
Up to 40 characters (no
symbols)
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
state The state of the
customer’s shipping
address
Optional
Up to 40 characters (no
symbols) If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
zip The ZIP code of the
customer’s shipping
address
Optional
Up to 20 characters (no
symbols) If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
country The country of the
customer’s shipping
address
Optional
Up to 60 characters (no
symbols) If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
phoneNumber
The phone number
associated with the
customer’s shipping
address
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 79
ELEMENT
VALUE
FORMAT
NOTES
faxNumber
The fax number
associated with the
customer’s shipping
address
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
payment
Contains payment
information for the
customer profile
Can contain
creditCard or
bankAccount
creditCard
Contains credit card
payment information
for the customer
profile
Conditional
This element is only
required when the
payment profile is
credit card.
cardNumber
The customer’s
credit card number
13 to 16 digits
Number can also be
masked, ex. XXXX1111
If value is masked, the
last four digits must
match the original
value in the profile.
If a masked value is
submitted, the original
value will not be
updated.
expirationDate
The expiration date
for the customer’s
credit card
YYYY-MM
Number can also be
masked, ex. XXXX
If a masked value is
submitted, the original
value will not be
updated.
cardCode
The three- or four-
digit number on the
back of a credit card
(on the front for
American Express)
Optional
Numeric
This field is required if
the merchant would
like to use the Card
Code Verification
(CCV) security
feature. For more
information, please
see the Merchant
Integration Guide at
http://www.authorize
.net/support/mercha
nt/http://www.autho
rize.net/support/Mer
chant/default.htm.
cardCode is only used
for validation and will
not be stored in the
customer profile. It
should only be used
when submitting
validationMode with a
value of testMode or
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 80
ELEMENT
VALUE
FORMAT
NOTES
liveMode.
bankAccount
Contains bank
account payment
information for the
customer profile
Conditional
This element is only
required when the
payment profile is
bank account.
accountType The type of bank
account for the
payment profile
Optional
checking
savings
businessChecking
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
routingNumber The routing number
of the customer’s
bank
9 digits
Number can also be
masked, ex. XXXX1111
If value is masked, the
last four digits must
match the original
value in the profile.
If a masked value is
submitted, the original
value will not be
updated.
accountNumber
The customer’s
bank account
number
5 to 17 digits
Number can also be
masked, ex. XXXX1111
If value is masked, the
last four digits must
match the original
value in the profile.
If a masked value is
submitted, the original
value will not be
updated.
nameOnAccount The customer’s full
name as listed on
the bank account
Up to 22 characters If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
echeckType
The type of
electronic check
transaction
Optional
CCD
PPD
TEL
WEB
Currently, the CIM API
does not support ARC
or BOC transaction
types.
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 81
ELEMENT
VALUE
FORMAT
NOTES
bankName
The name of the
bank associated
with the bank
account number
Optional
Up to 50 characters
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.
customerPaymentProfileId
Payment gateway
assigned ID
associated with the
customer payment
profile
Numeric
validationMode Indicates the
processing mode for
the request
Optional
None
testMode
liveMode
For more detailed
information about
validationMode, see
Field Validation and
Test Mode
To test to see if the new payment information is valid, you can call
validateCustomerPaymentProfileRequest after successfully updating the payment profile. See
the section of this document titled “Input Elements for validateCustomerPaymentProfileRequest
for more information.
For information about output elements for this function, see the section of this document titled
Output Elements for updateCustomerPaymentProfileResponse.”
Example updateCustomerPaymentProfileRequest
<?xml version="1.0" encoding="utf-8"?>
<updateCustomerPaymentProfileRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
<paymentProfile>
<billTo>
<firstName>John</firstName>
<lastName>Doe</lastName>
<company></company>
<address>123 Main St.</address>
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 82
<city>Bellevue</city>
<state>WA</state>
<zip>98004</zip>
<country>USA</country>
<phoneNumber>000-000-0000</phoneNumber>
<faxNumber></faxNumber>
</billTo>
<payment>
<creditCard>
<cardNumber>4111111111111111</cardNumber>
<expirationDate>2026-01</expirationDate>
</creditCard>
</payment>
<customerPaymentProfileId>20000</customerPaymentProfileId>
</paymentProfile>
</updateCustomerPaymentProfileRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for updateCustomerShippingAddressRequest
This function is used to update a shipping address for an existing customer profile.
The following table lists the input elements for executing an API call to the
updateCustomerShippingAddressRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-assigned
reference ID for the
request
Optional
Up to 20
characters
If included in the
request, this value will
be included in the
response. This feature
might be especially
useful for multi-
threaded applications.
customerProfileId
Payment gateway
assigned ID
associated with the
customer profile
Numeric
address
Contains shipping
address information
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 83
ELEMENT
VALUE
FORMAT
NOTES
for the customer
profile
firstName The customer’s first
name
Optional
Up to 50
characters (no
symbols)
lastName
The customer’s last
name
Optional
Up to 50
characters (no
symbols)
company
The name of the
company associated
with the customer, if
applicable
Optional
Up to 50
characters (no
symbols)
address
The customer’s
shipping address
Optional
Up to 60
characters (no
symbols)
city
The city of the
customer’s shipping
address
Optional
Up to 40
characters (no
symbols)
state
The state of the
customer’s shipping
address
Optional
Up to 40
characters (no
symbols)
zip
The ZIP code of the
customer’s shipping
address
Optional
Up to 20
characters (no
symbols)
country
The country of the
customer’s shipping
address
Optional
Up to 60
characters (no
symbols)
phoneNumber The phone number
associated with the
customer’s shipping
address
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
faxNumber
The fax number
associated with the
customer’s shipping
Up to 25 digits (no
letters)
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 84
ELEMENT
VALUE
FORMAT
NOTES
address
Optional
Ex. (123)123-1234
customerAddressId Payment gateway
assigned ID
associated with the
customer shipping
address
Numeric
For information about output elements for this function, see the section of this document titled
Output Elements for updateCustomerShippingAddressResponse.”
Example updateCustomerShippingAddressRequest
<?xml version="1.0" encoding="utf-8"?>
<updateCustomerShippingAddressRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
<address>
<firstName>Newfirstname</firstName>
<lastName>Doe</lastName>
<company></company>
<address>123 Main St.</address>
<city>Bellevue</city>
<state>WA</state>
<zip>98004</zip>
<country>USA</country>
<phoneNumber>000-000-0000</phoneNumber>
<faxNumber></faxNumber>
<customerAddressId>30000</customerAddressId>
</address>
</updateCustomerShippingAddressRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 85
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for updateSplitTenderGroupRequest
This function is used to update the status of an existing order than contains multiple transactions
with the same splitTenderId.
The following table lists the input elements for executing an API call to the
updateSplitTenderGroupRequest function.
ELEMENT
VALUE
FORMAT
NOTES
splitTenderId Payment gateway-
assigned number
associated with the
order.
Required
Numeric
splitTenderStatus Indicates the status of all
transactions associated
with the order.
voided or completed. Use voided to void the
entire order; use
completed to indicate
there are no further
transactions in this order.
Example updateSplitTenderGroupRequest
<?xml version="1.0" encoding="utf-8"?>
<updateSplitTenderGroupRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<splitTenderId>123456</splitTenderId>
<splitTenderStatus>voided</splitTenderStatus>
</updateSplitTenderGroupRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Input Elements for validateCustomerPaymentProfileRequest
This function is used to verify an existing customer payment profile by generating a test
transaction. No customer receipt emails are sent when calling
validateCustomerPaymentProfileRequest.
Section 2 Executing an API Call
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 86
The following table lists the input elements for executing an API call to the
validateCustomerPaymentProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
customerProfileId
Payment gateway
assigned ID associated
with the customer profile
Numeric
customerPaymentProfileId
Payment gateway
assigned ID associated
with the customer
payment profile
Numeric
customerShippingAddressId
Payment gateway
assigned ID associated
with the customer
shipping address
Optional
Numeric
If customerShippingAddressId is
not passed, shipping information
will not be included with the
transaction.
cardCode The three- or four-digit
number on the back of a
credit card (on the front
for American Express)
Optional
Numeric This field is required if the
merchant would like to use the
Card Code Verification (CCV)
security feature. For more
information, please see the
Merchant Integration Guide at
http://www.authorize.net/suppo
rt/merchant/http://www.authori
ze.net/support/Merchant/defau
lt.htm.
cardCode is only used for
validation and will not be stored in
the customer profile. It should
only be used when submitting
validationMode with a value of
testMode or liveMode.
validationMode
Indicates the processing
mode for the request
testMode
liveMode
For more detailed information
about validationMode, see
Field Validation and Test
Mode”
For information about output elements for this function, see the section of this document titled
Output Elements for validateCustomerPaymentProfileResponse.”
Example validateCustomerPaymentProfileRequest
<?xml version="1.0" encoding="utf-8"?>
<validateCustomerPaymentProfileRequest
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 87
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
<customerPaymentProfileId>20000</customerPaymentProfileId>
<customerShippingAddressId>30000</customerShippingAddressId>
<validationMode>liveMode</validationMode>
</validateCustomerPaymentProfileRequest>
Note: The sample code included in this document uses dummy field values. When using or
testing sample code, be sure to enter valid field values. Additional sample code is available
for download from the Authorize.Net Developer Center at
http://developer.authorize.net/samplecode.
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 88
Section 4
Responses
The response from the payment gateway to the API call is a set of fields that provides information
about the status of the request.
The following table lists output for API calls.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-assigned
reference ID for the request
Optional
Up to 20 characters
If included in the request,
this value will be included
in the response. This
feature might be especially
useful for multi-threaded
applications.
messages Contains information about
the results of the request
resultCode
Contains additional
information about the
results of the request
Ok
Error
message
Contains the result code
and text
Message provides more
details about the error(s).
code
A code that represents the
reason for the error
String
See the “Response
Codes” section of this
document for possible
values.
text
A text description of the
error
String
See the “Response
Codes” section of this
document for possible
values.
CIM Responses
The sample below illustrates the structure of a typical response from the payment gateway for any
of the CIM API calls.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 89
Sample Response
<?xml version="1.0" encoding="utf-8" ?>
<createCustomerProfileResponse
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<refId>refid1</refId>
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<customerProfileId>3187</customerProfileId>
</createCustomerProfileResponse>
Output for createCustomerProfileResponse
The following table lists the additional output returned from the payment gateway for an API call to
the createCustomerProfileRequest function.
Note: The createCustomerProfileResponse only returns the assigned customerProfileId for the
created profile. To retrieve the customerPaymentProfileId and the customerShippingId that
may also be created when using the createCustomerProfileRequest function, you must
submit the getCustomerProfileRequest function, using the assigned customerProfileId for
that customer profile.
ELEMENT
VALUE
FORMAT
NOTES
refId Merchant-assigned
reference ID for the
request
Optional
Up to 20 characters If included in the
request, this value
will be included in
the response. This
feature might be
especially useful for
multi-threaded
applications.
customerProfileId
Payment gateway
assigned ID
associated with the
customer profile
Numeric
This output is only
present for
successful requests.
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 90
ELEMENT
VALUE
FORMAT
NOTES
customerPaymentProfileIdList
A list of all payment
profile IDs created
with the request
Optional
Numeric
This output is only
present for requests
that contain one or
more payment
profiles.
The payment profile
IDs will be returned
in the same order as
they were in the
request.
customerShippingAddressIdList
A list of all shipping
profile IDs created
with the request
Optional
Numeric
This output is only
present for requests
that contain multiple
shipping profiles.
The shipping profile
IDs will be returned
in the same order as
they were in the
request.
validationDirectResponseList
A list of the direct
response results for
the validation
transaction for each
payment profile.
Optional
String
See the Advanced
Integration Guide at
http://www.authoriz
e.net/support/AIM_g
uide.pdf for details
about information
included in the
payment gateway
transaction response.
This output is only
present if the
ValidationMode input
element is passed
with a value of
testMode or
liveMode.
The list will be
returned in the same
order as the
payment profiles
were submitted in
the request.
Sample Successful createCustomerProfileResponse
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<customerProfileId>10000</customerProfileId>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 91
<customerPaymentProfileIdList>
<numericString>20000</numericString>
<numericString>20001</numericString>
</customerPaymentProfileIdList>
<customerShippingAddressIdList>
<numericString>30000</numericString>
<numericString>30001</numericString>
</customerShippingAddressIdList>
<validationDirectResponseList>
<string>1,1,1,This transaction has been
approved.,000000,Y,2000000000,none,Test transaction for
ValidateCustomerPaymentProfile.,0.01,CC,auth_only,custId123,
John,Doe,,123 Main St.,Bellevue,WA,98004,USA,000-000-
0000,,mark@example.com,,,,,,,,,0.00,0.00,0.00,,none,
D18EB6B211FE0BBF556B271FDA6F92EE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,</strin
g>
<string>1,1,1,This transaction has been
approved.,000000,Y,2000000001,none,Test transaction for
ValidateCustomerPaymentProfile.,0.01,CC,auth_only,custId123,
John,Doe,,123 Main St.,Bellevue,WA,98004,USA,000-000-
0000,,mark@example.com,,,,,,,,,0.00,0.00,0.00,,none,
D18EB6B211FE0BBF556B271FDA6F92EE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,</strin
g>
</validationDirectResponseList>
</createCustomerProfileResponse>
Sample Unsuccessful createCustomerProfileResponse
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Error</resultCode>
<message>
<code>E00044</code>
<text>Customer Information Manager is not enabled.</text>
</message>
</messages>
</createCustomerProfileResponse>
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 92
Output for createCustomerPaymentProfileResponse
The following table lists the additional output returned from the payment gateway for an API call to
the createCustomerPaymentProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
reference ID for
the request
Optional
Up to 20 characters
If included in the
request, this value
will be included in
the response. This
feature might be
especially useful for
multi-threaded
applications.
customerPaymentProfileId Payment
gateway
assigned ID
associated with
the customer
payment profile
Numeric This output is only
present for
successful
requests.
validationDirectResponse
Contains
detailed
information
about the result
of the
transaction.
String
See the Advanced
Integration Guide at
http://www.authorize.
net/support/AIM_guid
e.pdf for details about
information included in
the payment gateway
transaction response.
This output is only
present if the
ValidationMode
input element is
passed with a value
of testMode or
liveMode.
Sample createCustomerPaymentProfileResponse
<?xml version="1.0" encoding="utf-8"?>
<createCustomerPaymentProfileResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<customerPaymentProfileId>20000</customerPaymentProfileId>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 93
<validationDirectResponse>1,1,1,This transaction has been
approved.,000000,Y,2000000000,none,Test transaction for
ValidateCustomerPaymentProfile.,0.01,CC,auth_only,custId123,
John,Doe,,123 Main St.,Bellevue,WA,98004,USA,000-000-
0000,,mark@example.com,,,,,,,,,0.00,0.00,0.00,,none,
D18EB6B211FE0BBF556B271FDA6F92EE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
</validationDirectResponse>
</createCustomerPaymentProfileResponse>
Output for createCustomerShippingAddressResponse
The following table represents the additional output returned from the payment gateway for an API
call to the createCustomerShippingAddressRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
reference ID for
the request
Optional
Up to 20
characters
If included in the
request, this value will
be included in the
response. This feature
might be especially
useful for multi-threaded
applications.
customerAddressId
Payment
gateway
assigned ID
associated with
the customer
shipping address
Numeric
This output is only
present for successful
requests.
Sample createCustomerShippingAddressResponse
<?xml version="1.0" encoding="utf-8"?>
<createCustomerShippingAddressResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<customerAddressId>30000</customerAddressId>
</createCustomerShippingAddressResponse>
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 94
Output for createCustomerProfileTransactionResponse
The following table represents the additional output returned from the payment gateway for an API
call to the createCustomerProfileTransactionRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
reference ID for
the request
Optional
Up to 20 characters
If included in the
request, this value
will be included in
the response. This
feature might be
especially useful
for multi-threaded
applications.
directResponse
Contains
detailed
information
about the result
of the
transaction.
String
See the Advanced
Integration Guide at
http://www.authorize.
net/support/AIM_gui
de.pdf for details
about information
included in the
payment gateway
transaction response.
Transactions
created from a
customer profile
will behave the
same as regular
transactions - you
and your customer
will receive all
associated email
notifications.
Additionally, all
fraud settings,
including FDS
filters and AVS
and CCV settings,
will be enforced.
Sample createCustomerProfileTransactionResponse
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileTransactionResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<directResponse>1,1,1,This transaction has been
approved.,000000,Y,2000000001,INV000001,description of
transaction,10.95,CC,auth_capture,custId123,John,Doe,,123 Main
St.,Bellevue,WA,98004,USA,000-000-
0000,,mark@example.com,John,Doe,,123 Main
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 95
St.,Bellevue,WA,98004,USA,1.00,0.00,2.00,FALSE,PONUM000001,
D18EB6B211FE0BBF556B271FDA6F92EE,M,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,
</directResponse>
</createCustomerProfileTransactionResponse>
Output for deleteCustomerProfileResponse
The following table lists the additional output returned from the payment gateway for an API call to
the deleteCustomerProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId Merchant-assigned
reference ID for the
request
Optional
Up to 20
characters If included in the
request, this value will
be included in the
response. This feature
might be especially
useful for multi-
threaded applications.
Sample deleteCustomerProfileResponse
<?xml version="1.0" encoding="utf-8"?>
<deleteCustomerProfileResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
</deleteCustomerProfileResponse>
Output for deleteCustomerPaymentProfileResponse
The following table lists the additional output returned from the payment gateway for an API call to
the deleteCustomerPaymentProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
Up to 20
If included in the request,
this value will be included
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 96
reference ID for
the request
Optional
characters
in the response. This
feature might be especially
useful for multi-threaded
applications.
Sample deleteCustomerPaymentProfileResponse
<?xml version="1.0" encoding="utf-8"?>
<deleteCustomerPaymentProfileResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
</deleteCustomerPaymentProfileResponse>
Output for deleteCustomerShippingAddressResponse
The following table lists the additional output returned from the payment gateway for an API call to
the deleteCustomerShippingAddressRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-
assigned
reference ID for
the request
Optional
Up to 20
characters
If included in the
request, this value will
be included in the
response. This feature
might be especially
useful for multi-
threaded applications.
Sample deleteCustomerShippingAddressResponse
<?xml version="1.0" encoding="utf-8"?>
<deleteCustomerShippingAddressResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 97
<text>Successful.</text>
</message>
</messages>
</deleteCustomerShippingAddressResponse>
Output for getCustomerProfileIdsResponse
The following table lists the additional output returned from the payment gateway for an API call to
the getCustomerProfileIdsRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId Merchant-
assigned
reference ID for
the request
Optional
Up to 20 characters If included in the
request, this value
will be included in
the response. This
feature might be
especially useful for
multi-threaded
applications.
ids
Payment
gateway
assigned IDs
associated with
the customer
profiles
Numeric
This output is only
present for
successful requests.
Sample Successful getCustomerProfileIdsResponse
<?xml version="1.0" encoding="utf-8"?>
<getCustomerProfileIdsResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<ids>
<numericString>10000</numericString>
<numericString>10001</numericString>
<numericString>10002</numericString>
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 98
</ids>
</getCustomerProfileIdsResponse>
Output for getCustomerProfileResponse
The following table lists the additional output returned from the payment gateway for an API call to
the getCustomerProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
profile Contains information
for the customer profile
customerProfileId
Payment gateway
assigned ID
associated with the
customer profile
Numeric
This output is only
present for successful
requests.
merchantCustomerId
Merchant assigned ID
for the customer
Optional
Up to 20
characters
description Description of the
customer or customer
profile
Optional
Up to 255
characters
email
Email address
associated with the
customer profile
Optional
Up to 255
characters
paymentProfiles
Contains payment
profiles for the
customer profile
customerPaymentProfileId Payment gateway
assigned ID
associated with the
customer payment
profile
Numeric
payment
Contains payment
profile information for
the customer profile
creditCard
Contains credit card
payment information
for the customer profile
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 99
ELEMENT
VALUE
FORMAT
NOTES
cardNumber
The customer’s credit
card number
13 to 16 digits
All sensitive payment
information in the
output is masked.
expirationDate
The expiration date for
the customer’s credit
card
YYYY-MM
All sensitive payment
information in the
output is masked.
bankAccount Contains bank account
payment information
for the customer profile
routingNumber
The routing number of
the customer’s bank
9 digits
All sensitive payment
information in the
output is masked.
accountNumber
The customer’s bank
account number
5 to 17 digits
All sensitive payment
information in the
output is masked.
driversLicense
Contains the
customer’s driver’s
license information
This field is no longer
supported in CIM
requests and is only
returned for profiles
that were created
under the
SecureSource
product.
state
The state of the
customer’s driver’s
license
A valid two-
character state
abbreviation.
This field is no longer
supported in CIM
requests and is only
returned for profiles
that were created
under the
SecureSource
product.
number
The customer’s
driver’s license
number
5 to 20 characters
This field is no longer
supported in CIM
requests and is only
returned for profiles
that were created
under the
SecureSource
product.
All sensitive payment
information in the
output is masked.
dateOfBirth
The date of birth listed
on the customer’s
driver’s license
YYYY-MM-DD
This field is no longer
supported in CIM
requests and is only
returned for profiles
that were created
under the
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 100
ELEMENT
VALUE
FORMAT
NOTES
SecureSource
product.
All sensitive payment
information in the
output is masked.
taxId The customer’s Social
Security Number or tax
ID
9 digits This field is no longer
supported in CIM
requests and is only
returned for profiles
that were created
under the
SecureSource
product.
All sensitive payment
information in the
output is masked.
shipToList
Contains shipping
address profile
information for the
customer profile
customerShippingAddressId
Payment gateway
assigned ID
associated with the
customer shipping
address
Numeric
firstName The customer’s first
name
Optional
Up to 50
characters (no
symbols)
lastName
The customer’s last
name
Optional
Up to 50
characters (no
symbols)
company
The name of the
company associated
with the customer, if
applicable
Optional
Up to 50
characters (no
symbols)
address The customer’s
shipping address
Optional
Up to 60
characters (no
symbols)
city
The city of the
customer’s shipping
address
Optional
Up to 40
characters (no
symbols)
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 101
ELEMENT
VALUE
FORMAT
NOTES
state
The state of the
customer’s shipping
address
Optional
Up to 40
characters (no
symbols)
zip
The ZIP code of the
customer’s shipping
address
Optional
Up to 20
characters (no
symbols)
country
The country of the
customer’s shipping
address
Optional
Up to 60
characters (no
symbols)
phoneNumber
The phone number
associated with the
customer’s shipping
address
Optional
Up to 25 digits (no
letters)
Ex. (123)123-
1234
faxNumber
The fax number
associated with the
customer’s shipping
address
Optional
Up to 25 digits (no
letters)
Ex. (123)123-
1234
Sample getCustomerProfileResponse
<?xml version="1.0" encoding="utf-8"?>
<getCustomerProfileResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<profile>
<merchantCustomerId>custId123</merchantCustomerId>
<description>some description</description>
<email>mark@example.com</email>
<customerProfileId>10000</customerProfileId>
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 102
<paymentProfiles>
<billTo>
<firstName>John</firstName>
<lastName>Doe</lastName>
<company></company>
<address>123 Main St.</address>
<city>Bellevue</city>
<state>WA</state>
<zip>98004</zip>
<country>USA</country>
<phoneNumber>000-000-0000</phoneNumber>
<faxNumber></faxNumber>
</billTo>
<customerPaymentProfileId>20000</customerPaymentProfileId>
<payment>
<creditCard>
<cardNumber>XXXX1111</cardNumber>
<expirationDate>XXXX</expirationDate>
</creditCard>
</payment>
</paymentProfiles>
<paymentProfiles>
<customerPaymentProfileId>20001</customerPaymentProfileId>
<payment>
<bankAccount>
<accountType>checking</accountType>
<routingNumber>XXXX0000</routingNumber>
<accountNumber>XXXX0000</accountNumber>
<nameOnAccount>John Doe</nameOnAccount>
<bankName>Bank of Washington</bankName>
</bankAccount>
</payment>
</paymentProfiles>
<shipToList>
<firstName>John</firstName>
<lastName>Doe</lastName>
<company></company>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 103
<address>123 Main St.</address>
<city>Bellevue</city>
<state>WA</state>
<zip>98004</zip>
<country>USA</country>
<phoneNumber>000-000-0000</phoneNumber>
<faxNumber></faxNumber>
</shipToList>
<shipToList>
<firstName>Jane</firstName>
<lastName>Doe</lastName>
<address>123 Main St.</address>
<city>Bellevue</city>
<state>WA</state>
<zip>98004</zip>
<country>USA</country>
<phoneNumber>000-000-0000</phoneNumber>
</shipToList>
</profile>
</getCustomerProfileResponse>
Output for getCustomerPaymentProfileResponse
The following table lists the additional output returned from the payment gateway for an API call to
the getCustomerPaymentProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
paymentProfile
Contains payment
information for the
customer profile
customerPaymentProfileId
Payment gateway
assigned ID
associated with
the customer
payment profile
Numeric
customerType
individual
business
billTo
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 104
ELEMENT
VALUE
FORMAT
NOTES
firstName
The customer’s
first name
Up to 50 characters (no
symbols)
lastName The customers
last name Up to 50 characters (no
symbols)
company
The name of the
company
associated with
the customer, if
applicable
Up to 50 characters (no
symbols)
address
The customer’s
address
Up to 60 characters (no
symbols)
city
The city of the
customer’s
address
Up to 40 characters (no
symbols)
state
The state of the
customer’s
address
Up to 40 characters (no
symbols)
zip
The ZIP code of
the customer’s
address
Up to 20 characters (no
symbols)
country
The country of the
customer’s
address
Up to 60 characters (no
symbols)
phoneNumber The phone
number
associated with
the customer’s
address
Up to 25 digits (no letters)
Ex. (123)123-1234
faxNumber
The fax number
associated with
the customer’s
address
Up to 25 digits (no letters)
Ex. (123)123-1234
payment
Contains payment
profile information
for the customer
profile
creditCard
Contains credit
card payment
information for the
payment profile
cardNumber The customer’s
credit card 13 to 16 digits All sensitive
payment
information in the
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 105
ELEMENT
VALUE
FORMAT
NOTES
number
output is masked.
expirationDate
The expiration
date for the
customer’s credit
card
YYYY-MM
All sensitive
payment
information in the
output is masked.
bankAccount
Contains bank
account payment
information for the
payment profile
accountType
The type of bank
account for the
payment profile
checking
savings
businessChecking
routingNumber
The routing
number of the
customer’s bank
9 digits
All sensitive
payment
information in the
output is masked.
accountNumber
The customer’s
bank account
number
5 to 17 digits
All sensitive
payment
information in the
output is masked.
nameOnAccount
The customer’s
full name as listed
on the bank
account
Up to 22 characters
echeckType
The type of
electronic check
transaction
CCD
PPD
TEL
WEB
Currently, the CIM
API does not
support ARC or
BOC transaction
types.
bankName
The name of the
bank associated
with the bank
account number
Up to 50 characters
driversLicense Contains the
customer’s
driver’s license
information
This field is no
longer supported
in CIM requests
and is only
returned for
profiles that were
created under the
SecureSource
product.
state
The state of the
customer’s
Any valid two-character
This field is no
longer supported
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 106
ELEMENT
VALUE
FORMAT
NOTES
driver’s license
state abbreviation
in CIM requests
and is only
returned for
profiles that were
created under the
SecureSource
product.
number
The customer’s
driver’s license
number
Between 5 and 20
characters
This field is no
longer supported
in CIM requests
and is only
returned for
profiles that were
created under the
SecureSource
product.
All sensitive
payment
information in the
output is masked.
dateOfBirth
The date of birth
listed on the
customer’s
driver’s license
YYYY-MM-DD
This field is no
longer supported
in CIM requests
and is only
returned for
profiles that were
created under the
SecureSource
product.
All sensitive
payment
information in the
output is masked.
taxId The customer’s
Social Security
Number or tax ID
9 digits This field is no
longer supported
in CIM requests
and is only
returned for
profiles that were
created under the
SecureSource
product.
All sensitive
payment
information in the
output is masked.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 107
Sample getCustomerPaymentProfileResponse
<?xml version="1.0" encoding="utf-8"?>
<getCustomerPaymentProfileResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<paymentProfile>
<billTo>
<firstName>John</firstName>
<lastName>Doe</lastName>
<company></company>
<address>123 Main St.</address>
<city>Bellevue</city>
<state>WA</state>
<zip>98004</zip>
<country>USA</country>
<phoneNumber>000-000-0000</phoneNumber>
<faxNumber></faxNumber>
</billTo>
<customerPaymentProfileId>20000</customerPaymentProfileId>
<payment>
<creditCard>
<cardNumber>XXXX1111</cardNumber>
<expirationDate>XXXX</expirationDate>
</creditCard>
</payment>
</paymentProfile>
</getCustomerPaymentProfileResponse>
Output for getCustomerShippingAddressResponse
The following table lists the additional output returned from the payment gateway for an API call to
the getCustomerShippingAddressRequest function.
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 108
ELEMENT
VALUE
FORMAT
NOTES
address Contains shipping
address information
for the customer
profile
customerShippingAddressId
Payment gateway
assigned ID
associated with the
customer shipping
address
Numeric
firstName
The customer’s first
name
Optional
Up to 50 characters
(no symbols)
lastName
The customer’s last
name
Optional
Up to 50 characters
(no symbols)
company
The name of the
company
associated with the
customer, if
applicable
Optional
Up to 50 characters
(no symbols)
address The customer’s
shipping address
Optional
Up to 60 characters
(no symbols)
city
The city of the
customer’s shipping
address
Optional
Up to 40 characters
(no symbols)
state The state of the
customer’s shipping
address
Optional
Up to 40 characters
(no symbols)
zip The ZIP code of the
customer’s shipping
address
Optional
Up to 20 characters
(no symbols)
country The country of the
customer’s shipping
address
Optional
Up to 60 characters
(no symbols)
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 109
ELEMENT
VALUE
FORMAT
NOTES
phoneNumber
The phone number
associated with the
customer’s shipping
address
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
faxNumber The fax number
associated with the
customer’s shipping
address
Optional
Up to 25 digits (no
letters)
Ex. (123)123-1234
Sample getCustomerShippingAddressResponse
<?xml version="1.0" encoding="utf-8"?>
<getCustomerShippingAddressResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<address>
<firstName>John</firstName>
<lastName>Doe</lastName>
<company></company>
<address>123 Main St.</address>
<city>Bellevue</city>
<state>WA</state>
<zip>98004</zip>
<country>USA</country>
<phoneNumber>000-000-0000</phoneNumber>
<faxNumber></faxNumber>
<customerShippingAddressId>30000</customerShippingAddressId>
</address>
</getCustomerShippingAddressResponse>
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 110
Output for getHostedProfilePageResponse
The following table lists the output returned from the payment gateway for an API call to the
getHostedProfilePageRequest function.
FIELD
VALUE
TYPE/FORMAT
NOTES
Token
string
An encrypted string that the
merchant must include when
posting to the Authorize.Net web
page.
If not used within 15 minutes of
the original API call, this token
expires.
The customer’s browser posts the token, Authorize.Net validates it, and makes sure the timestamp
is less than 15 minutes old.
For more complete information on how to use hosted CIM access, see “Section 2
Using the Hosted CIM Option” on page 8.
Sample getHostedProfilePageResponse
<?xml version="1.0" encoding="utf-8"?>
<getHostedProfilePageResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<token>+ZeWDaUOPoQPRGTHcKd7DYbMfcAFDrhO8GPOFNt+ACzJnvkz+aWO0SYSAA9x602jAI
KKfUHUt2ybwQRaG8LzHluuR5dRgsuh+kjarKvD0hpieGjLHmnz0LHmFv1Xe9P3zpmawqBCSB/
d4jcSg9dAxecNBUzMwIuYzY+vGUGLUXgr9QPaRh93HqWZrV4Mbwop</token>
</getHostedProfilePageResponse>
Output for updateCustomerProfileResponse
The following table lists the additional output returned from the payment gateway for an API call to
the updateCustomerProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-assigned
reference ID for the
request
Optional
Up to 20 characters
If included in the
request, this value will
be included in the
response. This feature
might be especially
useful for multi-
threaded applications.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 111
Sample updateCustomerProfileResponse
<?xml version="1.0" encoding="utf-8"?>
<updateCustomerProfileResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
</updateCustomerProfileResponse>
Output for updateCustomerPaymentProfileResponse
The following table lists the additional output returned from the payment gateway for an API call to
the updateCustomerPaymentProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId
Merchant-assigned
reference ID for the request
Optional
Up to 20
characters
If included in the request,
this value will be included
in the response. This
feature might be
especially useful for
multi-threaded
applications.
validationDirectResponse
Contains detailed
information about the result
of the transaction.
Optional
String
This output is only
present if the
ValidationMode input
element is passed with a
value of testMode or
liveMode.
See the Advanced
Integration Guide at
http://www.authorize.ne
t/support/AIM_guide.pd
f for details about
information included in
the payment gateway
transaction response.
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 112
Sample updateCustomerPaymentProfileResponse
<?xml version="1.0" encoding="utf-8"?>
<updateCustomerPaymentProfileResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
</updateCustomerPaymentProfileResponse>
Output for updateCustomerShippingAddressResponse
The following table lists the additional output returned from the payment gateway for an API call to
the updateCustomerShippingAddressRequest function.
ELEMENT
VALUE
FORMAT
NOTES
refId Merchant-
assigned
reference ID for
the request
Optional
Up to 20
characters If included in the
request, this value
will be included in
the response. This
feature might be
especially useful for
multi-threaded
applications.
Sample updateCustomerShippingAddressResponse
<?xml version="1.0" encoding="utf-8"?>
<updateCustomerShippingAddressResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 113
</messages>
</updateCustomerShippingAddressResponse>
Output for updateSplitTenderGroupResponse
The following example shows output returned from the payment gateway for an API call to the
updateSplitTenderGroupRequest function.
<?xml version="1.0" encoding="utf-8"?>
<updateSplitTenderGroupResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
</updateSplitTenderGroupResponse>
Output for validateCustomerPaymentProfileResponse
The following table represents the additional output returned from the payment gateway for an API
call to the validateCustomerPaymentProfileRequest function.
ELEMENT
VALUE
FORMAT
NOTES
directResponse
Contains detailed information
about the result of the
transaction.
String
See the Advanced
Integration Guide at
http://www.authorize.net/
support/AIM_guide.pdf
for details about
information included in the
payment gateway
transaction response.
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 114
Sample validateCustomerPaymentProfileResponse
<?xml version="1.0" encoding="utf-8"?>
<validateCustomerPaymentProfileResponse
xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<directResponse>1,1,1,This transaction has been
approved.,000000,Y,2000000003,none,Test transaction for
ValidateCustomerPaymentProfile.,0.01,CC,auth_only,custId123,
John,Doe,,123 Main St.,Bellevue,WA,98004,USA,000-000-
0000,,mark@example.com,John,Doe,,123 Main
St.,Bellevue,WA,98004,USA,0.00,0.00,0.00,,none,
D18EB6B211FE0BBF556B271FDA6F92EE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
</directResponse>
</validateCustomerPaymentProfileResponse>
Duplicate Profile Verification
When submitting calls to the createCustomerProfileRequest,
createCustomerPaymentProfileRequest, and createCustomerShippingAddressRequest
functions, the payment gateway checks certain fields in each request to determine that a profile with
that same information does not already exist. If a profile already exists that contains the values
being submitted in the new request, then the payment gateway returns an error message. If the
duplicate profile is a customer profile, then the error message contains the ID of the already-created
profile. The duplicate profile verification serves as a safeguard against accidental duplicate
submissions.
The following table lists the fields for each function that cannot match any other profile already
created. An error will only occur if ALL the values for each field being submitted match ALL the
values for each field in the already existing profile.
FUNCTION
FIELDS USED FOR DUPLICATE PROFILE
VERIFICATION
createCustomerProfileRequest
merchantCustomerId, description, email
createCustomerPaymentProfileRequest
customerProfileId, cardNumber, accountNumber,
routingNumber, billToFirstName, billToLastName,
billToAddress, and billToZip
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 115
createCustomerShippingAddressRequest
customerProfileId, firstName, lastName, address, zip and
phoneNumber
Response Codes
The following table lists the common response codes and texts for requests to the Customer
Information Manager API.
CODE
TEXT
DESCRIPTION
I00001
Successful
The request was processed successfully.
I00003
The record has already been deleted.
The record has already been deleted.
E00001
An error occurred during processing. Please try
again.
An unexpected system error occurred while
processing this request.
E00002
The content-type specified is not supported.
The only supported content-types are text/xml
and application/xml.
E00003
An error occurred while parsing the XML
request.
This is the result of an XML parser error.
E00004 The name of the requested API method is
invalid. The name of the root node of the XML request
is the API method being called. It is not valid.
E00005
The merchantAuthentication.transactionKey is
invalid or not present.
Merchant authentication requires a valid value
for transaction key.
E00006 The merchantAuthentication.name is invalid or
not present. Merchant authentication requires a valid value
for name.
E00007
User authentication failed due to invalid
authentication values.
The name/and or transaction key is invalid.
E00008
User authentication failed. The payment
gateway account or user is inactive.
The payment gateway or user account is not
currently active.
E00009 The payment gateway account is in Test Mode.
The request cannot be processed. The requested API method cannot be executed
while the payment gateway account is in Test
Mode.
E00010
User authentication failed. You do not have the
appropriate permissions.
The user does not have permission to call the
API.
E00011 Access denied. You do not have the
appropriate permissions. The user does not have permission to call the
API method.
E00013
The field is invalid.
One of the field values is not valid.
E00014
A required field is not present.
One of the required fields was not present.
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 116
CODE
TEXT
DESCRIPTION
E00015
The field length is invalid.
One of the fields has an invalid length.
E00016
The field type is invalid.
The field type is not valid.
E00019
The customer taxId or driversLicense
information is required.
The customer tax ID or driver’s license
information (driver’s license number, driver’s
license state, driver’s license DOB) is required
for the subscription.
E00027
The transaction was unsuccessful.
An approval was not returned for the
transaction.
E00029 Payment information is required. Payment information is required when creating
a subscription or payment profile.
E00039
A duplicate record already exists.
A duplicate of the customer profile, customer
payment profile, or customer address was
already submitted.
E00040 The record cannot be found. The profileID, paymentProfileId, or
shippingAddressId for this request is not valid
for this merchant.
E00041 One or more fields must contain a value. All of the fields were empty or missing.
E00042 The maximum number of payment profiles
allowed for the customer profile is {0}. The maximum number of payment profiles for
the customer profile has been reached.
E00043
The maximum number of shipping addresses
allowed for the customer profile is {0}.
The maximum number of shipping addresses
for the customer profile has been reached.
E00044
Customer Information Manager is not enabled.
The payment gateway account is not enabled
for Customer Information Manager (CIM).
E00045
The root node does not reference a valid XML
namespace.
An error exists in the XML namespace. This
error is similar to E00003.
E00051
The original transaction was not issued for this
payment profile.
If the customer profile ID, payment profile ID,
and shipping address ID are included, they
must match the original transaction.
Merchant Web Services API
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 117
Index
API calls ...................................................... 18
responses ................................................. 88
Authentication ............................................. 20
CIM Functions ............................................ 18
CIM Responses ........................................... 88
CIM, hosted .................................................. 8
createCustomerPaymentProfileRequest ...... 27
createCustomerPaymentProfileResponse ... 92
createCustomerProfileRequest .................... 21
createCustomerProfileResponse ................. 89
createCustomerProfileTransactionRequest . 33
Authorization and Capture ...................... 40
Authorization Only ................................. 34
Capture Only ........................................... 46
Refund ..................................................... 58
Void transaction ...................................... 66
createCustomerProfileTransactionRequest
function
Prior Authorization and Capture ............. 52
createCustomerProfileTransactionResponse
................................................................ 94
createCustomerShippingAddressRequest ... 31
createCustomerShippingAddressResponse . 93
deleteCustomerPaymentProfileRequest ...... 69
deleteCustomerPaymentProfileResponse ... 95
deleteCustomerProfileRequest .................... 68
deleteCustomerProfileResponse ................. 95
deleteCustomerShippingAddressRequest ... 70
deleteCustomerShippingAddressResponse . 96
developer support .......................................... 7
downloads
for implementing hosted option .............. 11
duplicate profile verification .................... 114
error messages .......................................... 115
getCustomerPaymentProfileRequest .......... 72
getCustomerPaymentProfileResponse ...... 103
getCustomerProfileIdsRequest ................... 71
getCustomerProfileIdsResponse ................. 97
getCustomerProfileRequest ........................ 71
getCustomerProfileResponse ...................... 98
getCustomerShippingAddressRequest ....... 73
getCustomerShippingAddressResponse ... 107
hosted CIM ................................................... 8
implementing ............................................ 9
in an iframe ............................................. 10
setting parameters ................................... 17
hostedProfilePage
input ........................................................ 74
output .................................................... 110
liveMode ..................................................... 20
Minimum Requirements ............................... 7
parameters
hosted option .......................................... 17
profile
duplicate ............................................... 114
refunds
unlinked .................................................. 58
response codes .......................................... 115
sample code ................................................ 18
support .......................................................... 7
testMode ..................................................... 20
Section 3 Responses
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 118
unlinked credit ............................................ 58
updateCustomerPaymentProfileRequest ..... 76
updateCustomerPaymentProfileResponse 111
updateCustomerProfileRequest ................... 75
updateCustomerProfileResponse .............. 110
updateCustomerShippingAddressRequest .. 82
updateCustomerShippingAddressResponse
.............................................................. 112
validateCustomerPaymentProfileRequest .. 85
validateCustomerPaymentProfileResponse
.............................................................. 113
validationMode
using ....................................................... 20

Navigation menu