Вы находитесь на странице: 1из 108

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


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 Transacts®
Automated Recurring Billing™
eCheck.Net®
FraudScreen.Net®

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 1
Table of Contents

Revision History ................................................................................. 4


Section 1............................................................................................. 5
Developer Introduction ...................................................................... 5
Minimum Requirements ..................................................................................................5
Developer Support ..........................................................................................................5
Section 2............................................................................................. 7
Executing an API Call ........................................................................ 7
Web Service Locations ....................................................................................................7
CIM Functions .................................................................................................................8
Authentication ............................................................................................................................ 9
Input Elements for createCustomerProfileRequest ............................................................. 10
Input Elements for createCustomerPaymentProfileRequest .............................................. 17
Input Elements for createCustomerShippingAddressRequest .......................................... 21
Input Elements for createCustomerProfileTransactionRequest ......................................... 24
Input Elements for deleteCustomerProfileRequest ............................................................. 59
Input Elements for deleteCustomerPaymentProfileRequest .............................................. 60
Input Elements for deleteCustomerShippingAddressRequest ........................................... 61
Input Elements for getCustomerProfileIdsRequest ............................................................. 62
Input Elements for getCustomerProfileRequest .................................................................. 63
Input Elements for getCustomerPaymentProfileRequest ................................................... 63
Input Elements for getCustomerShippingAddressRequest ................................................ 64
Input Elements for updateCustomerProfileRequest ............................................................ 65
Input Elements for updateCustomerPaymentProfileRequest ............................................. 67
Input Elements for updateCustomerShippingAddressRequest ......................................... 73
Input Elements for validateCustomerPaymentProfileRequest ........................................... 76

Section 3........................................................................................... 78
Responses ........................................................................................ 78
CIM Responses .............................................................................................................78
Output for createCustomerProfileResponse ........................................................................ 79
Output for createCustomerPaymentProfileResponse ......................................................... 81
Last revised: 7/22/2009
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 2
Output for createCustomerShippingAddressResponse...................................................... 83
Output for createCustomerProfileTransactionResponse .................................................... 83
Output for deleteCustomerProfileResponse ........................................................................ 85
Output for deleteCustomerPaymentProfileResponse ......................................................... 85
Output for deleteCustomerShippingAddressResponse ...................................................... 86
Output for getCustomerProfileIdsResponse ........................................................................ 87
Output for getCustomerProfileResponse ............................................................................. 87
Output for getCustomerPaymentProfileResponse .............................................................. 94
Output for getCustomerShippingAddressResponse ........................................................... 98
Output for updateCustomerProfileResponse ..................................................................... 101
Output for updateCustomerPaymentProfileResponse ...................................................... 101
Output for updateCustomerShippingAddressResponse .................................................. 102
Output for validateCustomerPaymentProfileResponse .................................................... 103
Duplicate Profile Verification........................................................................................104
Response Codes .........................................................................................................105
Index ............................................................................................... 107

Last revised: 7/22/2009


Copyright © 1998 - 2007 Authorize.Net Corp. 3
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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 4
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,
via 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.

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).

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 Integration Center at http://developer.authorize.net provides test accounts, sample
code, FAQs, and troubleshooting tools.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 5
Section 2 Executing an API Call

• If you can’t find what you need in the Integration Center, our Integration Team is available
to answer your questions via 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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 6
Section 2
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 may develop a custom script yourself using the API fields information provided in this
document, OR
• You may use Authorize.Net sample code in C# and Java available for free from our
Integration 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 Integration 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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 7
Section 2 Executing an API Call

CIM Functions
The CIM API includes the following functions:

• 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.

• createCustomerShippingAddressRequest – Create a new customer shipping address for


an existing customer profile. You can create up to 100 customer shipping addresses for
each customer profile.

• createCustomerProfileTransactionRequest – Create a new payment transaction from an


existing customer profile.

• deleteCustomerProfileRequest – Delete an existing customer profile along with all


associated customer payment profiles and customer shipping addresses.

• deleteCustomerPaymentProfileRequest – Delete a customer payment profile from an


existing customer profile.

• deleteCustomerShippingAddressRequest – Delete a customer shipping address from an


existing customer profile.

• getCustomerProfileIdsRequest – Retrieve all customer profile IDs you have previously


created.

• getCustomerProfileRequest – Retrieve an existing customer profile along with all the


associated customer payment profiles and customer shipping addresses.

• getCustomerPaymentProfileRequest – Retrieve a customer payment profile for an


existing customer profile.

• getCustomerShippingAddressRequest – Retrieve a customer shipping address for an


existing customer profile.

• updateCustomerProfileRequest – Update an existing customer profile.

• updateCustomerPaymentProfileRequest – Update a customer payment profile for an


existing customer profile.

• updateCustomerShippingAddressRequest – Update a shipping address for an existing


customer profile.

• 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
Last revised: 7/22/2009
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 8
Merchant Web Services API

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.

Note: Elements required for individual API calls are in addition to the authentication elements
required for all API calls.

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 Up to 25 characters Submit the API
the developer test or Login ID used to
merchant account submit transactions

transactionKey The valid Transaction Key 16 characters Submit the


for the developer test or Transaction Key
merchant account 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 Integration Center at
http://developer.authorize.net/samplecode.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 9
Section 2 Executing an API Call

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- Up to 20 characters If included in the


assigned request, this value will
reference ID for be included in the
the request response. This feature
might be especially
useful for multi-
Optional threaded applications.

profile Contains At least one of the


information for following fields must be
the customer submitted under
profile profile:
merchantCustomerId,
description or email.

merchantCustomerId Merchant Up to 20 characters Required only if no


assigned ID for values for both
the customer description and email
are submitted.

Conditional

description Description of Up to 255 characters Required only if no


the customer or values for both
customer profile merchantCustomerId
and email are
submitted.
Conditional

email Email address Up to 255 characters Required only if no


associated with values for both
the customer description and
profile merchantCustomerId
are submitted.

Conditional

paymentProfiles Contains Multiple instances of


payment this element may be
profiles for the submitted to create
customer profile multiple payment
profiles for the
customer profile.
Optional

customerType Optional individual

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 10
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

business

billTo

firstName The customer’s Up to 50 characters (no


first name symbols)

Optional

lastName The customer’s Up to 50 characters (no


last name symbols)

Optional

company The name of Up to 50 characters (no


the company symbols)
associated with
the customer, if
applicable

Optional

address The customer’s Up to 60 characters (no


address symbols)

Optional

city The city of the Up to 40 characters (no


customer’s symbols)
address

Optional

state The state of the A valid two-character


customer’s state code
address

Optional

zip The ZIP code of Up to 20 characters (no


the customer’s symbols)
address

Optional

country The country of Up to 60 characters (no


the customer’s symbols)

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 11
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

address

Optional

phoneNumber The phone Up to 25 digits (no


number letters)
associated with
the customer
profile Ex. (123)123-1234

Optional

faxNumber The fax number Up to 25 digits (no


associated with letters)
the customer
profile
Ex. (123)123-1234

Optional

payment Contains Can contain


payment profile creditCard or
information for bankAccount
the customer
profile

creditCard Contains credit This element is only


card payment required when the
information for payment profile is
the payment credit card.
profile

cardNumber The customer’s 13 to 16 digits


credit card
number

expirationDate The expiration YYYY-MM


date for the
customer’s
credit card

cardCode The three- or Numeric This field is required if


four-digit the merchant would
number on the like to use the Card
back of a credit Code Verification
card (on the (CCV) security feature.
front for For more information,
American please see the
Express) Merchant Integration
Guide at
http://www.authorize.n
Optional et/support/Merchant/de
fault.htm.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 12
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

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 This element is only


account required when the
payment payment profile is bank
information for account.
the payment
profile

accountType The type of checking


bank account
for the payment savings
profile businessChecking

Optional

routingNumber The routing 9 digits


number of the
customer’s
bank

accountNumber The customer’s 5 to 17 digits


bank account
number

nameOnAccount The customer’s Up to 22 characters


full name as
listed on the
bank account

echeckType The type of CCD Currently, the CIM API


electronic check does not support ARC
transaction PPD or BOC transaction
TEL types.

Optional WEB

bankName The name of Up to 50 characters


the bank
associated with
the bank
account number

Optional

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 13
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

shipToList Contains
shipping
address
information for
the customer
profile

firstName The customer’s Up to 50 characters (no


first name symbols)

Optional

lastName The customer’s Up to 50 characters (no


last name symbols)

Optional

company The name of Up to 50 characters (no


the company symbols)
associated with
the customer, if
applicable

Optional

address The customer’s Up to 60 characters (no


shipping symbols)
address

Optional

city The city of the Up to 40 characters (no


customer’s symbols)
shipping
address

Optional

state The state of the A valid two-character


customer’s state code
shipping
address

Optional

zip The ZIP code of Up to 20 characters (no


the customer’s symbols)
shipping
address

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 14
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

Optional

country The country of Up to 60 characters (no


the customer’s symbols)
shipping
address

Optional

phoneNumber The phone Up to 25 digits (no


number letters)
associated with
the customer
profile Ex. (123)123-1234

Optional

faxNumber The fax number Up to 25 digits (no


associated with letters)
the customer
profile
Ex. (123)123-1234

Optional

validationMode Indicates the none Validation mode allows


processing you to generate a test
mode for the testMode transaction at the time
request liveMode you create a customer
profile. In Test Mode,
only field validation is
Optional performed. In Live
Mode, a transaction is
generated and
submitted to the
processor with the
amount of $0.01. If
successful, the
transaction is
immediately voided.
When a value of
"none" is submitted, no
additional validation is
performed.

If a request does not


include any payment
profile information, the
validation mode must
be set to “none.”

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 15
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

If a validation
transaction is
unsuccessful, the
profile will not be
created and the
merchant will receive
an error.

For information about output for this function, see the section of this document titled “Output
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>
<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 Integration Center at
http://developer.authorize.net/samplecode.
Last revised: 7/22/2009
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 16
Merchant Web Services API

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 Up to 20 characters If included in the


reference ID for the request, this value will
request be included in the
response. This feature
might be especially
Optional useful for multi-threaded
applications.

customerProfileId Payment gateway Numeric


assigned ID
associated with the
customer profile

paymentProfile Contains payment


information for the
customer profile

customerType Optional individual


business

billTo

firstName The customer’s first Up to 50 characters (no


name symbols)

Optional

lastName The customer’s last Up to 50 characters (no


name symbols)

Optional

company The name of the Up to 50 characters (no


company associated symbols)
with the customer, if
applicable

Optional

address The customer’s Up to 60 characters (no


address symbols)

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 17
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

Optional

city The city of the Up to 40 characters (no


customer’s address symbols)

Optional

state The state of the A valid two-character


customer’s address state code

Optional

zip The ZIP code of the Up to 20 characters (no


customer’s address symbols)

Optional

country The country of the Up to 60 characters (no


customer’s address symbols)

Optional

phoneNumber The phone number Up to 25 digits (no


associated with the letters)
customer’s address

Ex. (123)123-1234
Optional

faxNumber The fax number Up to 25 digits (no


associated with the letters)
customer’s address

Ex. (123)123-1234
Optional

payment Contains payment Can contain creditCard


information for the or bankAccount
customer profile

creditCard Contains credit card This element is only


payment information required when the
for the customer payment profile is credit
profile card.

cardNumber The customer’s 13 to 16 digits


credit card number

expirationDate The expiration date YYYY-MM


for the customer’s

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 18
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

credit card

cardCode The three- or four- Numeric This field is required if


digit number on the the merchant would like
back of a credit card to use the Card Code
(on the front for Verification (CCV)
American Express) security feature. For
more information,
please see the
Optional Merchant Integration
Guide at
http://www.authorize.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.

bankAccount Contains bank This element is only


account payment required when the
information for the payment profile is bank
customer profile account.

accountType The type of bank checking


account for the
payment profile savings
businessChecking

Optional

routingNumber The routing number 9 digits


of the customer’s
bank

accountNumber The customer’s 5 to 17 digits


bank account
number

nameOnAccount The customer’s full Up to 22 characters


name as listed on
the bank account

echeckType The type of CCD Currently, the CIM API


electronic check does not support ARC
transaction PPD or BOC transaction
TEL types.

Optional WEB

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 19
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

bankName The name of the Up to 50 characters


bank associated
with the bank
account number

Optional

validationMode Indicates the none Validation mode allows


processing mode for you to generate a test
the request testMode transaction at the time
liveMode you create a customer
payment profile. In Test
Mode, only field
validation is performed.
In Live Mode, a
transaction is generated
and submitted to the
processor with the
amount of $0.01. If
successful, the
transaction is
immediately voided.
When a value of "none"
is submitted, no
additional validation is
performed.

For information about output elements for this function, see the section of this document titled
“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>
<address>123 Main St.</address>
<city>Bellevue</city>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 20
Merchant Web Services API

<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 Integration 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 Up to 20 characters If included in the request,


reference ID for the this value will be included
request in the response. This
feature might be
especially useful for multi-
Optional threaded applications.

customerProfileId Payment gateway Numeric


assigned ID associated
with the customer profile

address Contains shipping


address information for
the customer profile

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 21
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

firstName The customer’s first name Up to 50 characters (no


symbols)

Optional

lastName The customer’s last name Up to 50 characters (no


symbols)

Optional

company The name of the company Up to 50 characters (no


associated with the symbols)
customer, if applicable

Optional

address The customer’s shipping Up to 60 characters (no


address symbols)

Optional

city The city of the customer’s Up to 40 characters (no


shipping address symbols)

Optional

state The state of the A valid two-character


customer’s shipping state code
address

Optional

zip The ZIP code of the Up to 20 characters (no


customer’s shipping symbols)
address

Optional

country The country of the Up to 60 characters (no


customer’s shipping symbols)
address

Optional

phoneNumber The phone number Up to 25 digits (no letters)


associated with the
customer’s shipping
address Ex. (123)123-1234

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 22
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

Optional

faxNumber The fax number Up to 25 digits (no letters)


associated with the
customer’s shipping
address Ex. (123)123-1234

Optional

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 Integration Center at
http://developer.authorize.net/samplecode.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 23
Section 2 Executing an API Call

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/default.htm.

Note: The only transaction types that generate a customer receipt email are Authorization Only,
Authorization and Capture, and Refund.

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- Up to 20 characters If included in the


assigned request, this
reference ID for value will be
the request included in the
response. This
feature might be
Optional especially useful
for multi-
threaded
applications.

transaction Contains
transaction
information

profileTransAuthOnly The transaction Only one


type that is transaction type
being requested is allowed per
request.

amount The total Up to 4 digits after the This amount


amount of the decimal point (no dollar should include
transaction symbol) all other
amounts such
as tax amount,
Ex. 12.99 or 12.9999 shipping
amount, etc.

tax Contains tax


information for
the transaction

Optional

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 24
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

amount The tax amount Up to 4 digits after the This amount


for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the tax for the
transaction

Optional

description The tax Up to 255 characters


description for
the transaction

Optional

shipping Contains
shipping
information for
the transaction

Optional

amount The shipping Up to 4 digits after the This amount


amount for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the shipping for
the transaction

Optional

description The shipping Up to 255 characters


description for
the transaction

Optional

duty Contains duty


information for
the transaction

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 25
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

Optional

amount The duty Up to 4 digits after the This amount


amount for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the duty for the
transaction

Optional

description The duty Up to 255 characters


description for
the transaction

Optional

lineItems Contains line Up to 30 distinct


item details instances of this
about the order element may be
included per
transaction to
Optional describe items
included in the
order.

itemId The ID Up to 31 characters


assigned to the
item

Optional

name A short Up to 31 characters


description of
an item

Optional

description A detailed Up to 255 characters


description of
an item

Optional

quantity The quantity of Up to 4 digits (up to two


an item decimal places)

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 26
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

Optional

unitPrice Cost of an item Up to 4 digits with a decimal


per unit point (no dollar symbol)
excluding tax,
freight, and duty
Ex. 4.95

Optional

taxable Indicates false


whether the
item is subject true
to tax

Optional

customerProfileId Payment Numeric


gateway
assigned ID
associated with
the customer
profile

customerPaymentProfileId Payment Numeric


gateway
assigned ID
associated with
the customer
payment profile

customerShippingAddressId Payment Numeric If


gateway customerShipp
assigned ID ingAddressId is
associated with not passed,
the customer shipping
shipping information will
address not be included
with the
transaction.
Optional

order Contains
information
about the order

Optional

invoiceNumber The merchant Up to 20 characters (no


assigned symbols)
invoice number
for the

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 27
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

transaction

Optional

description The transaction Up to 255 characters (no


description symbols)

Optional

purchaseOrderNumber The merchant Up to 25 characters (no


assigned symbols)
purchase order
number

Optional

taxExempt The tax exempt TRUE


status
FALSE

Optional

recurringBilling The recurring TRUE


billing status
FALSE

Optional

cardCode The customer’s 3 to 4 digits This field is


card code (the required if the
three- or four- merchant would
digit number on like to use the
the back or CCV security
front of a credit feature. For
card) more
information,
please see the
Required only Merchant
when the Integration
merchant would Guide at
like to use the http://www.auth
Card Code orize.net/suppor
Verification t/Merchant/defa
(CCV) filter ult.htm.

Conditional

extraOptions Information in String (see example below) For a complete


name/value pair list of the
format that transaction
does not exist variable names
within CIM, available,

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 28
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

such as please review


customer IP the AIM
address, etc. Implementation
Guide located at
http://www.auth
Optional orize.net/suppor
t/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>
<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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 29
Section 2 Executing an API Call

<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>
</profileTransAuthOnly>
</transaction>

<extraOptions><![CDATA[x_customer_ip=100.0.0.1&x_authentication_
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 Integration Center at
http://developer.authorize.net/samplecode.
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- Up to 20 characters If included in the


assigned request, this
reference ID for value will be

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 30
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

the request included in the


response. This
feature might be
Optional especially useful
for multi-
threaded
applications.

transaction Contains
transaction
information

profileTransAuthCapture The transaction Only one


type that is transaction type
being requested is allowed per
request.

amount The total Up to 4 digits after the This amount


amount of the decimal point (no dollar should include
transaction symbol) all other
amounts such
as tax amount,
Ex. 12.99 or 12.9999 shipping
amount, etc.

tax Contains tax


information for
the transaction

Optional

amount The tax amount Up to 4 digits after the This amount


for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the tax for the
transaction

Optional

description The tax Up to 255 characters


description for
the transaction

Optional

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 31
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

shipping Contains
shipping
information for
the transaction

Optional

amount The shipping Up to 4 digits after the This amount


amount for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the shipping for
the transaction

Optional

description The shipping Up to 255 characters


description for
the transaction

Optional

duty Contains duty


information for
the transaction

Optional

amount The duty Up to 4 digits after the This amount


amount for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the duty for the
transaction

Optional

description The duty Up to 255 characters


description for
the transaction

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 32
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

Optional

lineItems Contains line Up to 30 distinct


item details instances of this
about the order element may be
included per
transaction to
Optional describe items
included in the
order.

itemId The ID Up to 31 characters


assigned to the
item

Optional

name A short Up to 31 characters


description of
an item

Optional

description A detailed Up to 255 characters


description of
an item

Optional

quantity The quantity of Up to 4 digits (up to two


an item decimal places)

Optional

unitPrice Cost of an item Up to 4 digits with a decimal


per unit point (no dollar symbol)
excluding tax,
freight, and duty
Ex. 4.95

Optional

taxable Indicates false


whether the
item is subject true
to tax

Optional

customerProfileId Payment Numeric

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 33
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

gateway
assigned ID
associated with
the customer
profile

customerPaymentProfileId Payment Numeric


gateway
assigned ID
associated with
the customer
payment profile

customerShippingAddressId Payment Numeric If


gateway customerShipp
assigned ID ingAddressId is
associated with not passed,
the customer shipping
shipping information will
address not be included
with the
transaction.
Optional

order Contains
information
about the order

Optional

invoiceNumber The merchant Up to 20 characters (no


assigned symbols)
invoice number
for the
transaction

Optional

description The transaction Up to 255 characters (no


description symbols)

Optional

purchaseOrderNumber The merchant Up to 25 characters (no


assigned symbols)
purchase order
number

Optional

taxExempt The tax exempt TRUE

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 34
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

status FALSE

Optional

recurringBilling The recurring TRUE


billing status
FALSE

Optional

cardCode The customer’s 3 to 4 digits This field is


card code (the required if the
three- or four- merchant would
digit number on like to use the
the back or CCV security
front of a credit feature. For
card) more
information,
please see the
Required only Merchant
when the Integration
merchant would Guide at
like to use the http://www.auth
Card Code orize.net/suppor
Verification t/Merchant/defa
(CCV) filter ult.htm.

Conditional

extraOptions Information in String (see example below) For a complete


name/value pair list of the
format that transaction
does not exist variable names
within CIM, available,
such as please review
customer IP the AIM
address, etc. Implementation
Guide located at
http://www.auth
Optional orize.net/suppor
t/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">

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 35
Section 2 Executing an API Call

<merchantAuthentication>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<transaction>
<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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 36
Merchant Web Services API

<purchaseOrderNumber>PONUM000001</purchaseOrderNumber>
</order>
<taxExempt>false</taxExempt>
<recurringBilling>false</recurringBilling>
<cardCode>000</cardCode>
</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 Integration Center at
http://developer.authorize.net/samplecode.

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- Up to 20 characters If included in the


assigned request, this
reference ID for value will be
the request included in the
response. This
feature might be
Optional especially useful
for multi-
threaded
applications.

transaction Contains
transaction
information

profileTransCaptureOnly The transaction Only one


type that is transaction type
being requested is allowed per
request.

amount The total Up to 4 digits after the This amount


amount of the decimal point (no dollar should include
transaction symbol) all other
amounts such
as tax amount,

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 37
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

Ex. 12.99 or 12.9999 shipping


amount, etc.

tax Contains tax


information for
the transaction

Optional

amount The tax amount Up to 4 digits after the This amount


for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the tax for the
transaction

Optional

description The tax Up to 255 characters


description for
the transaction

Optional

shipping Contains
shipping
information for
the transaction

Optional

amount The shipping Up to 4 digits after the This amount


amount for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the shipping for
the transaction

Optional

description The shipping Up to 255 characters


description for

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 38
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

the transaction

Optional

duty Contains duty


information for
the transaction

Optional

amount The duty Up to 4 digits after the This amount


amount for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the duty for the
transaction

Optional

description The duty Up to 255 characters


description for
the transaction

Optional

lineItems Contains line Up to 30 distinct


item details instances of this
about the order element may be
included per
transaction to
Optional describe items
included in the
order.

itemId The ID Up to 31 characters


assigned to the
item

Optional

name A short Up to 31 characters


description of
an item

Optional

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 39
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

description A detailed Up to 255 characters


description of
an item

Optional

quantity The quantity of Up to 4 digits (up to two


an item decimal places)

Optional

unitPrice Cost of an item Up to 4 digits with a decimal


per unit point (no dollar symbol)
excluding tax,
freight, and duty
Ex. 4.95

Optional

taxable Indicates false


whether the
item is subject true
to tax

Optional

customerProfileId Payment Numeric


gateway
assigned ID
associated with
the customer
profile

customerPaymentProfileId Payment Numeric


gateway
assigned ID
associated with
the customer
payment profile

customerShippingAddressId Payment Numeric If


gateway customerShipp
assigned ID ingAddressId is
associated with not passed,
the customer shipping
shipping information will
address not be included
with the
transaction.
Optional

order Contains
information

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 40
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

about the order

Optional

invoiceNumber The merchant Up to 20 characters (no


assigned symbols)
invoice number
for the
transaction

Optional

description The transaction Up to 255 characters (no


description symbols)

Optional

purchaseOrderNumber The merchant Up to 25 characters (no


assigned symbols)
purchase order
number

Optional

taxExempt The tax exempt TRUE


status
FALSE

Optional

recurringBilling The recurring TRUE


billing status
FALSE

Optional

cardCode The customer’s 3 to 4 digits This field is


card code (the required if the
three- or four- merchant would
digit number on like to use the
the back or CCV security
front of a credit feature. For
card) more
information,
please see the
Required only Merchant
when the Integration
merchant would Guide at
like to use the http://www.auth
Card Code orize.net/suppor
Verification t/Merchant/defa

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 41
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

(CCV) filter ult.htm.

Conditional

approvalCode The 6 characters This element is


authorization only required for
code of an the Capture
original Only transaction
transaction type.
required for a
Capture Only

Conditional

extraOptions Information in String (see example below) For a complete


name/value pair list of the
format that transaction
does not exist variable names
within CIM, available,
such as please review
customer IP the AIM
address, etc. Implementation
Guide located at
http://www.auth
Optional orize.net/suppor
t/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 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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 42
Merchant Web Services API

</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>
<taxExempt>false</taxExempt>
<recurringBilling>false</recurringBilling>
<cardCode>000</cardCode>
<approvalCode>000000</approvalCode>
</profileTransCaptureOnly>
</transaction>

<extraOptions><![CDATA[x_customer_ip=100.0.0.1]]></extraOptions>
</createCustomerProfileTransactionRequest>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 43
Section 2 Executing an API Call

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 Integration Center at
http://developer.authorize.net/samplecode.

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- Up to 20 characters If included in the


assigned request, this
reference ID for value will be
the request included in the
response. This
feature might be
Optional especially useful
for multi-
threaded
applications.

transaction Contains
transaction
information

profileTransPriorAuthCapture The transaction Only one


type that is transaction type
being requested is allowed per
request.

amount The total Up to 4 digits after the This amount


amount of the decimal point (no dollar should include
transaction symbol) all other
amounts such
as tax amount,
Ex. 12.99 or 12.9999 shipping
amount, etc.

tax Contains tax Tax information


information for from the original
the transaction authorization
transaction will
be used if this
Optional field is not
submitted.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 44
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

amount The tax amount Up to 4 digits after the This amount


for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the tax for the
transaction

Optional

description The tax Up to 255 characters


description for
the transaction

Optional

shipping Contains Shipping


shipping information from
information for the original
the transaction authorization
transaction will
be used if this
Optional field is not
submitted.

amount The shipping Up to 4 digits after the This amount


amount for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the shipping for
the transaction

Optional

description The shipping Up to 255 characters


description for
the transaction

Optional

duty Contains duty Duty information


information for from the original
the transaction authorization
transaction will
be used if this

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 45
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

Optional field is not


submitted.

amount The duty Up to 4 digits after the This amount


amount for the decimal point (no dollar must be
transaction symbol) included in the
total amount for
the transaction.
Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the duty for the
transaction

Optional

description The duty Up to 255 characters


description for
the transaction

Optional

lineItems Contains line Line item


item details information from
about the order the original
authorization
transaction will
Optional be used if this
field is not
submitted.

Up to 30 distinct
instances of this
element may be
included per
transaction to
describe items
included in the
order.

itemId The ID Up to 31 characters


assigned to the
item

Optional

name A short Up to 31 characters


description of
an item

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 46
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

Optional

description A detailed Up to 255 characters


description of
an item

Optional

quantity The quantity of Up to 4 digits (up to two


an item decimal places)

Optional

unitPrice Cost of an item Up to 4 digits with a decimal


per unit point (no dollar symbol)
excluding tax,
freight, and duty
Ex. 4.95

Optional

taxable Indicates false


whether the
item is subject true
to tax

Optional

customerProfileId Payment Numeric If a value is


gateway submitted for
assigned ID this field, it must
associated with be the same ID
the customer used for the
profile original
authorization
transaction.
Optional

customerPaymentProfileId Payment Numeric If a value is


gateway submitted for
assigned ID this field, it must
associated with be the same ID
the customer used for the
payment profile original
authorization
transaction.
Optional

customerShippingAddressId Payment Numeric If a value is


gateway submitted for
assigned ID this field, it must
associated with be the same ID
the customer used for the

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 47
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

shipping original
address authorization
transaction.

Optional

transId The payment Numeric


gateway
assigned
transaction ID
of the original
transaction

extraOptions Information in String (see example below) For a complete


name/value pair list of the
format that transaction
does not exist variable names
within CIM, available,
such as please review
customer IP the AIM
address, etc. Implementation
Guide located at
http://www.auth
Optional orize.net/suppor
t/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>
<amount>1.00</amount>
<name>WA state sales tax</name>
<description>Washington state sales tax</description>
</tax>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 48
Merchant Web Services API

<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
for download from the Authorize.Net Integration Center at
http://developer.authorize.net/samplecode.

The following table lists the input elements for executing an API call to the
createCustomerProfileTransactionRequest function for a Refund transaction.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 49
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

refId Merchant- Up to 20 characters If included in the


assigned request, this value
reference ID for will be included in
the request the response. This
feature might be
especially useful
Optional for multi-threaded
applications.

transaction Contains
transaction
information

profileTransRefund The transaction Only one


type that is transaction type is
being requested allowed per
request.

amount The total Up to 4 digits after the This amount


amount to be decimal point (no dollar should include all
refunded symbol) other amounts
such as tax
amount, shipping
Ex. 12.99 or 12.9999 amount, etc.

tax Contains tax


information for
the refund

Optional

amount The tax amount Up to 4 digits after the This amount must
to be refunded decimal point (no dollar be included in the
symbol) total amount for
the transaction.
Optional
Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the tax for the
transaction

Optional

description The tax Up to 255 characters


description for
the transaction

Optional

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 50
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

shipping Contains
shipping
information for
the refund

Optional

amount The shipping Up to 4 digits after the This amount must


amount to be decimal point (no dollar be included in the
refunded symbol) total amount for
the transaction.

Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the shipping for
the transaction

Optional

description The shipping Up to 255 characters


description for
the transaction

Optional

duty Contains duty


information for
the refund

Optional

amount The duty Up to 4 digits after the This amount must


amount to be decimal point (no dollar be included in the
refunded symbol) total amount for
the transaction.

Optional Ex. 12.99 or 12.9999

name The name of Up to 31 characters


the duty for the
transaction

Optional

description The duty Up to 255 characters


description for
the transaction

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 51
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

Optional

lineItems Contains line Up to 30 distinct


item details instances of this
about the element may be
refund included per
transaction to
describe items
Optional included in the
order.

itemId The ID Up to 31 characters


assigned to the
item

Optional

name A short Up to 31 characters


description of
an item

Optional

description A detailed Up to 255 characters


description of
an item

Optional

quantity The quantity of Up to 4 digits (up to two


an item decimal places)

Optional

unitPrice Cost of an item Up to 4 digits with a


per unit decimal point (no dollar
excluding tax, symbol)
freight, and duty

Ex. 4.95
Optional

taxable Indicates false


whether the
item is subject true
to tax

Optional

customerProfileId Payment Numeric Required if the

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 52
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

gateway masked payment


assigned ID information is not
associated with being submitted.
the customer Must be submitted
profile with
customerPaymen
tProfileId.
Conditional

If a value is
submitted for this
field, it must be the
same ID used for
the original
transaction.

customerPaymentProfileId Payment Numeric Required if the


gateway masked payment
assigned ID information is not
associated with being submitted.
the customer Must be submitted
payment profile with
customerProfileI
d.
Conditional

If a value is
submitted for this
field, it must be the
same ID used for
the original
transaction.

customerShippingAddressId Payment Numeric If a value is


gateway submitted for this
assigned ID field, it must be the
associated with same ID used for
the customer the original
shipping transaction.
address

Optional

creditCardNumberMasked The last four Four Xs followed by the Required for credit
digits of the last four digits of the credit card transactions if
credit card card number to be customerProfileI
number to be refunded. d AND
refunded customerPaymen
tProfileId are not
Ex. XXXX1234 being submitted.
Conditional

Value submitted
must be the same
number used for
the original

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 53
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

transaction.

bankRoutingNumberMasked The last four Four Xs followed by the Required for


digits of the last four digits of the electronic check
routing number routing number to be transactions if
to be refunded refunded. customerProfileI
d AND
customerPaymen
Conditional Ex. XXXX1234 tProfileId are not
being submitted.
Must be submitted
with
bankAccountNu
mberMasked.

Value submitted
must be the same
number used for
the original
transaction.

The last four Four Xs followed by the Required for


bankAccountNumberMasked digits of the last four digits of the bank electronic check
bank account account to be refunded. transactions if
number to be customerProfileI
refunded d AND
Ex. XXXX1234 customerPaymen
tProfileId are not
Conditional being submitted.
Must be submitted
with
bankRoutingNum
berMasked.

Value submitted
must be the same
number used for
the original
transaction.

order Contains
information
about the order

Optional

invoiceNumber The merchant Up to 20 characters (no


assigned symbols)
invoice number
for the
transaction

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 54
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

Optional

description The transaction Up to 255 characters (no


description symbols)

Optional

purchaseOrderNumber The merchant Up to 25 characters (no


assigned symbols)
purchase order
number

Optional

transId The payment Numeric


gateway
assigned
transaction ID
of the original
transaction

extraOptions Information in String (see example below) For a complete list


name/value pair of the transaction
format that variable names
does not exist available, please
within CIM, review the AIM
such as Implementation
customer IP Guide located at
address, etc. http://www.authori
ze.net/support/aim
_guide.pdf.
Optional

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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 55
Section 2 Executing an API Call

<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>
<creditCardNumberMasked>XXXX1111</creditCardNumberMasked>
<order>
<invoiceNumber>INV000001</invoiceNumber>
<description>description of transaction</description>
<purchaseOrderNumber>PONUM000001</purchaseOrderNumber>
</order>
<transId>40000</transId>
</profileTransRefund>
</transaction>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 56
Merchant Web Services API

<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
for download from the Authorize.Net Integration Center at
http://developer.authorize.net/samplecode.

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- Up to 20 characters If included in the


assigned request, this
reference ID for value will be
the request included in the
response. This
feature might be
Optional especially useful
for multi-
threaded
applications.

transaction Contains
transaction
information

profileTransVoid The transaction Only one


type that is transaction type
being requested is allowed per
request.

customerProfileId Payment Numeric If a value is


gateway submitted for
assigned ID this field, it must
associated with be the same ID
the customer used for the
profile original
transaction.

Optional

customerPaymentProfileId Payment Numeric If a value is


gateway submitted for
assigned ID this field, it must
associated with be the same ID
the customer used for the
payment profile original

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 57
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

transaction.
Optional

customerShippingAddressId Payment Numeric If a value is


gateway submitted for
assigned ID this field, it must
associated with be the same ID
the customer used for the
shipping original
address transaction.

Optional

transId The payment Numeric


gateway
assigned
transaction ID
of the original
transaction

extraOptions Information in String (see example below) For a complete


name/value pair list of the
format that transaction
does not exist variable names
within CIM, available,
such as please review
customer IP the AIM
address, etc. Implementation
Guide located at
http://www.auth
Optional orize.net/suppor
t/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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 58
Merchant Web Services API

<customerPaymentProfileId>20000</customerPaymentProfileId>
<customerShippingAddressId>30000</customerShippingAddressId>
<transId>40000</transId>
</profileTransVoid>
</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
for download from the Authorize.Net Integration 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 Up to 20 If included in the


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

customerProfileId Payment gateway assigned ID Numeric


associated with the customer profile

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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 59
Section 2 Executing an API Call

<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
for download from the Authorize.Net Integration 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 Up to 20 If included in the request, this


reference ID for the characters value will be included in the
request response. This feature might be
especially useful for multi-
threaded applications.
Optional

customerProfileId Payment gateway Numeric


assigned ID associated
with the customer
profile

customerPaymentProfileId Payment gateway Numeric


assigned ID associated
with the customer
payment profile

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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 60
Merchant Web Services API

<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
for download from the Authorize.Net Integration 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 Up to 20 If included in the request, this


reference ID for the characters value will be included in the
request response. This feature might
be especially useful for multi-
threaded applications.
Optional

customerProfileId Payment gateway Numeric


assigned ID associated
with the customer profile

customerAddressId Payment gateway Numeric


assigned ID associated
with the customer
shipping address

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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 61
Section 2 Executing an API Call

<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 Integration Center at
http://developer.authorize.net/samplecode.

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 Up to 25 characters Submit the API
the developer test or Login ID used to
merchant account submit transactions

transactionKey The valid Transaction Key 16 characters Submit the


for the developer test or Transaction Key
merchant account 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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 62
Merchant Web Services API

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 Integration 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.

ELEMENT VALUE FORMAT NOTES

customerProfileId Payment gateway Numeric


assigned ID associated
with the customer profile

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 Integration 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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 63
Section 2 Executing an API Call

The following table lists the input elements for executing an API call to the
getCustomerPaymentProfileRequest function.

ELEMENT VALUE FORMAT NOTES

customerProfileId Payment gateway Numeric


assigned ID associated
with the customer
profile

customerPaymentProfileId Payment gateway Numeric


assigned ID associated
with the customer
payment profile

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 Integration 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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 64
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

customerProfileId Payment gateway Numeric


assigned ID associated
with the customer profile

customerAddressId Payment gateway Numeric


assigned ID associated
with the customer shipping
address

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
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 Integration Center at
http://developer.authorize.net/samplecode.

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 Up to 20 characters If included in the


reference ID for the request, this value will
request be included in the
response. This feature
might be especially

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 65
Section 2 Executing an API Call

Optional useful for multi-threaded


applications.

profile Contains payment


information for the
customer profile

merchantCustomerId Merchant assigned ID Up to 20 characters


for the customer

Optional

description Description of the Up to 255 characters


customer or customer
profile

Optional

email Email address Up to 255 characters


associated with the
customer profile

Optional

customerProfileId Payment gateway Numeric


assigned ID associated
with the customer profile

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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 66
Merchant Web Services API

</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 Integration 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.

ELEMENT VALUE FORMAT NOTES

refId Merchant-assigned Up to 20 characters If included in the


reference ID for the request, this value will
request be included in the
response. This feature
might be especially
Optional useful for multi-
threaded applications.

customerProfileId Payment gateway Numeric


assigned ID
associated with the
customer profile

paymentProfile Contains payment Sensitive information


information for the that is not being
customer profile updated can be
masked.

customerType Optional individual If this field is not


submitted in the
business 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

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 67
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

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 Up to 50 characters (no If this field is not


name symbols) submitted in the
request, or submitted
with a blank value, the
Optional original value will be
removed from the
profile.

lastName The customer’s last Up to 50 characters (no If this field is not


name symbols) submitted in the
request, or submitted
with a blank value, the
Optional original value will be
removed from the
profile.

company The name of the Up to 50 characters (no If this field is not


company associated symbols) submitted in the
with the customer, if request, or submitted
applicable with a blank value, the
original value will be
removed from the
Optional profile.

address The customer’s Up to 60 characters (no If this field is not


shipping address symbols) submitted in the
request, or submitted
with a blank value, the
Optional original value will be
removed from the
profile.

city The city of the Up to 40 characters (no If this field is not


customer’s shipping symbols) submitted in the
address request, or submitted
with a blank value, the
original value will be
Optional removed from the
profile.

state The state of the A valid two-character If this field is not


customer’s shipping state code submitted in the
request, or submitted

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 68
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

address with a blank value, the


original value will be
removed from the
Optional profile.

zip The ZIP code of the Up to 20 characters (no If this field is not
customer’s shipping symbols) submitted in the
address request, or submitted
with a blank value, the
original value will be
Optional removed from the
profile.

country The country of the Up to 60 characters (no If this field is not


customer’s shipping symbols) submitted in the
address request, or submitted
with a blank value, the
original value will be
Optional removed from the
profile.

phoneNumber The phone number Up to 25 digits (no If this field is not


associated with the letters) submitted in the
customer’s shipping request, or submitted
address with a blank value, the
Ex. (123)123-1234 original value will be
removed from the
Optional profile.

faxNumber The fax number Up to 25 digits (no If this field is not


associated with the letters) submitted in the
customer’s shipping request, or submitted
address with a blank value, the
Ex. (123)123-1234 original value will be
removed from the
Optional profile.

payment Contains payment Can contain


information for the creditCard or
customer profile bankAccount

creditCard Contains credit card This element is only


payment information required when the
for the customer payment profile is
profile credit card.

Conditional

cardNumber The customer’s 13 to 16 digits If value is masked, the


credit card number last four digits must
match the original
Number can also be value in the profile.
masked, ex. XXXX1111

If a masked value is

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 69
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

submitted, the original


value will not be
updated.

expirationDate The expiration date YYYY-MM If a masked value is


for the customer’s submitted, the original
credit card value will not be
Number can also be updated.
masked, ex. XXXX

cardCode The three- or four- Numeric This field is required if


digit number on the the merchant would
back of a credit card like to use the Card
(on the front for Code Verification
American Express) (CCV) security
feature. For more
information, please
Optional see the Merchant
Integration Guide at
http://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 This element is only


account payment required when the
information for the payment profile is
customer profile bank account.

Conditional

accountType The type of bank checking If this field is not


account for the submitted in the
payment profile savings request, or submitted
businessChecking with a blank value, the
original value will be
Optional removed from the
profile.

routingNumber The routing number 9 digits If value is masked, the


of the customer’s last four digits must
bank match the original
Number can also be value in the profile.
masked, ex. XXXX1111

If a masked value is

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 70
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

submitted, the original


value will not be
updated.

accountNumber The customer’s 5 to 17 digits If value is masked, the


bank account last four digits must
number match the original
Number can also be value in the profile.
masked, ex. XXXX1111

If a masked value is
submitted, the original
value will not be
updated.

nameOnAccount The customer’s full Up to 22 characters If this field is not


name as listed on submitted in the
the bank account request, or submitted
with a blank value, the
original value will be
removed from the
profile.

echeckType The type of CCD Currently, the CIM API


electronic check does not support ARC
transaction PPD or BOC transaction
TEL types.

Optional WEB
If this field is not
submitted in the
request, or submitted
with a blank value, the
original value will be
removed from the
profile.

bankName The name of the Up to 50 characters If this field is not


bank associated submitted in the
with the bank request, or submitted
account number with a blank value, the
original value will be
removed from the
Optional profile.

customerPaymentProfileId Payment gateway Numeric


assigned ID
associated with the
customer payment
profile

validationMode Indicates the none Validation mode


processing mode for allows you to generate
the request testMode a test transaction at
liveMode the time you create a
customer profile. In

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 71
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

Optional Test Mode, only field


validation is
performed. In Live
Mode, a transaction is
generated and
submitted to the
processor with the
amount of $0.01. If
successful, the
transaction is
immediately voided.
When a value of
"none" is submitted,
no additional
validation is
performed.

If a validation
transaction is
unsuccessful, the
profile is not
updated and the
merchant will receive
an error.

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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 72
Merchant Web Services API

<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>
<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 Integration 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 Up to 20 If included in the


reference ID for the characters request, this value will
request be included in the
response. This feature
might be especially
Optional useful for multi-
threaded applications.

customerProfileId Payment gateway Numeric


assigned ID
associated with the

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 73
Section 2 Executing an API Call

ELEMENT VALUE FORMAT NOTES

customer profile

address Contains shipping


address information
for the customer
profile

firstName The customer’s first Up to 50


name characters (no
symbols)

Optional

lastName The customer’s last Up to 50


name characters (no
symbols)

Optional

company The name of the Up to 50


company associated characters (no
with the customer, if symbols)
applicable

Optional

address The customer’s Up to 60


shipping address characters (no
symbols)

Optional

city The city of the Up to 40


customer’s shipping characters (no
address symbols)

Optional

state The state of the A valid two-


customer’s shipping character state
address code

Optional

zip The ZIP code of the Up to 20


customer’s shipping characters (no
address symbols)

Optional

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 74
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

country The country of the Up to 60


customer’s shipping characters (no
address symbols)

Optional

phoneNumber The phone number Up to 25 digits (no


associated with the letters)
customer’s shipping
address
Ex. (123)123-1234

Optional

faxNumber The fax number Up to 25 digits (no


associated with the letters)
customer’s shipping
address
Ex. (123)123-1234

Optional

customerAddressId Payment gateway Numeric


assigned ID
associated with the
customer shipping
address

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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 75
Section 2 Executing an API Call

<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
for download from the Authorize.Net Integration 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.
The following table lists the input elements for executing an API call to the
validateCustomerPaymentProfileRequest function.

ELEMENT VALUE FORMAT NOTES

customerProfileId Payment gateway Numeric


assigned ID associated
with the customer profile

customerPaymentProfileId Payment gateway Numeric


assigned ID associated
with the customer
payment profile

customerShippingAddressId Payment gateway Numeric If


assigned ID associated customerShippingAddres
with the customer sId is not passed, shipping
shipping address information will not be
included with the
transaction.
Optional

cardCode The three- or four-digit Numeric This field is required if the


number on the back of a merchant would like to use
credit card (on the front the Card Code Verification
for American Express) (CCV) security feature. For
more information, please
see the Merchant

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 76
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

Optional Integration Guide at


http://www.authorize.net/su
pport/Merchant/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
liveMode.

validationMode Indicates the processing testMode Validation mode allows you


mode for the request to generate a test
liveMode transaction in either Test
Mode or Live Mode to
check the validity of
customer information. In
Test Mode, only field
validation is performed. In
Live Mode, a transaction is
generated and submitted to
the processor with the
amount of $0.01. If
successful, the transaction
is immediately voided.

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>
<name>YourUserLogin</name>
<transactionKey>YourTranKey</transactionKey>
</merchantAuthentication>
<customerProfileId>10000</customerProfileId>
<customerPaymentProfileId>20000</customerPaymentProfileId>
<customerShippingAddressId>30000</customerShippingAddressId>
<validationMode>liveMode</validationMode>
</validateCustomerPaymentProfileRequest>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 77
Section 2 Executing an API Call

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 Integration Center at
http://developer.authorize.net/samplecode.

Section 3
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 Up to 20 characters If included in the request,


reference ID for the request this value will be included
in the response. This
feature might be especially
Optional useful for multi-threaded
applications.

messages Contains information about


the results of the request

resultCode Contains additional Ok


information about the
results of the request Error

message Contains the result code Message provides more


and text details about the error(s).

code A code that represents the String See the “Response Codes”
reason for the error section of this document for
possible values.

text A text description of the String See the “Response Codes”


error 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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 78
Merchant Web Services API

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 Up to 20 characters If included in the


reference ID for the request, this value
request will be included in
the response. This
feature might be
Optional especially useful for
multi-threaded
applications.

customerProfileId Payment gateway Numeric This output is only


assigned ID present for
associated with the successful requests.
customer profile

customerPaymentProfileIdList A list of all payment Numeric This output is only


profile IDs created present for requests
with the request that contain one or

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 79
Section 3 Responses

more payment
profiles.
Optional

The payment profile


IDs will be returned
in the same order as
they were in the
request.

customerShippingAddressIdList A list of all shipping Numeric This output is only


profile IDs created present for requests
with the request that contain multiple
shipping profiles.

Optional
The shipping profile
IDs will be returned
in the same order as
they were in the
request.

validationDirectResponseList A list of the direct String This output is only


response results for present if the
the validation ValidationMode
transaction for each See the Advanced input element is
payment profile. Integration Guide at passed with a value
http://www.authorize. of testMode or
net/support/AIM_guid liveMode.
Optional e.pdf for details about
information included
in the payment The list will be
gateway transaction returned in the same
response. 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>
<customerPaymentProfileIdList>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 80
Merchant Web Services API

<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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,</string>
<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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,</string>
</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>

Output for createCustomerPaymentProfileResponse


The following table lists the additional output returned from the payment gateway for an API call to
the createCustomerPaymentProfileRequest function.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 81
Section 3 Responses

ELEMENT VALUE FORMAT NOTES

refId Merchant- Up to 20 characters If included in the


assigned request, this value
reference ID for will be included in
the request the response. This
feature might be
especially useful for
Optional multi-threaded
applications.

customerPaymentProfileId Payment Numeric This output is only


gateway present for
assigned ID successful
associated with requests.
the customer
payment profile

validationDirectResponse Contains String This output is only


detailed present if the
information ValidationMode
about the result See the Advanced input element is
of the Integration Guide at passed with a value
transaction. http://www.authorize.ne of testMode or
t/support/AIM_guide.pdf liveMode.
for details about
information included in
the payment gateway
transaction response.

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>
<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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 82
Merchant Web Services API

</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- Up to 20 If included in the


assigned characters request, this value will
reference ID for be included in the
the request response. This feature
might be especially
useful for multi-threaded
Optional applications.

customerAddressId Payment Numeric This output is only


gateway present for successful
assigned ID requests.
associated with
the customer
shipping address

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>

Output for createCustomerProfileTransactionResponse


The following table represents the additional output returned from the payment gateway for an API
call to the createCustomerProfileTransactionRequest function.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 83
Section 3 Responses

ELEMENT VALUE FORMAT NOTES

refId Merchant- Up to 20 characters If included in the


assigned request, this value
reference ID for will be included in
the request the response. This
feature might be
especially useful
Optional for multi-threaded
applications.

directResponse Contains String Transactions


detailed created from a
information customer profile
about the result See the Advanced will behave the
of the Integration Guide at same as regular
transaction. http://www.authorize.n transactions - you
et/support/AIM_guide. and your customer
pdf for details about will receive all
information included in associated email
the payment gateway notifications.
transaction response. 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
St.,Bellevue,WA,98004,USA,1.00,0.00,2.00,FALSE,PONUM000001,
D18EB6B211FE0BBF556B271FDA6F92EE,M,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,
</directResponse>
</createCustomerProfileTransactionResponse>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 84
Merchant Web Services API

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 Up to 20 If included in the


reference ID for the characters request, this value will
request be included in the
response. This feature
might be especially
Optional 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- Up to 20 If included in the request,


assigned characters this value will be included
reference ID for in the response. This
the request feature might be especially
useful for multi-threaded
applications.
Optional

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 85
Section 3 Responses

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- Up to 20 If included in the


assigned characters request, this value will
reference ID for be included in the
the request response. This feature
might be especially
useful for multi-
Optional 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>
<text>Successful.</text>
</message>
</messages>
</deleteCustomerShippingAddressResponse>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 86
Merchant Web Services API

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- Up to 20 characters If included in the


assigned request, this value
reference ID for will be included in
the request the response. This
feature might be
especially useful for
Optional multi-threaded
applications.

ids Payment Numeric This output is only


gateway present for
assigned IDs successful requests.
associated with
the customer
profiles

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>
</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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 87
Section 3 Responses

ELEMENT VALUE FORMAT NOTES

profile Contains
information for
the customer
profile

customerProfileId Payment Numeric This output is


gateway only present for
assigned ID successful
associated requests.
with the
customer
profile

merchantCustomerId Merchant Up to 20 characters


assigned ID
for the
customer

Optional

description Description of Up to 255 characters


the customer
or customer
profile

Optional

email Email address Up to 255 characters


associated
with the
customer
profile

Optional

paymentProfiles Contains
payment
profiles for the
customer
profile

customerPaymentProfileId Payment Numeric


gateway
assigned ID
associated
with the
customer
payment
profile

payment Contains
payment
profile

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 88
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

information for
the customer
profile

creditCard Contains credit


card payment
information for
the customer
profile

cardNumber The 13 to 16 digits All sensitive


customer’s payment
credit card information in the
number output is masked.

expirationDate The expiration YYYY-MM All sensitive


date for the payment
customer’s information in the
credit card output is masked.

bankAccount Contains bank


account
payment
information for
the customer
profile

routingNumber The routing 9 digits All sensitive


number of the payment
customer’s information in the
bank output is masked.

accountNumber The 5 to 17 digits All sensitive


customer’s payment
bank account information in the
number output is masked.

driversLicense Contains the This field is no


customer’s longer supported
driver’s license in CIM requests
information and is only
returned for
profiles that were
created under the
SecureSource
product.

state The state of A valid two-character This field is no


the customer’s state code longer supported
driver’s license in CIM requests
and is only
returned for
profiles that were
created under the
SecureSource
product.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 89
Section 3 Responses

ELEMENT VALUE FORMAT NOTES

number The 5 to 20 characters This field is no


customer’s longer supported
driver’s license in CIM requests
number 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 YYYY-MM-DD This field is no


birth listed on longer supported
the customer’s in CIM requests
driver’s license and is only
returned for
profiles that were
created under the
SecureSource
product.

All sensitive
payment
information in the
output is masked.

taxId The 9 digits This field is no


customer’s longer supported
Social Security in CIM requests
Number or tax and is only
ID 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 Numeric


gateway

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 90
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

assigned ID
associated
with the
customer
shipping
address

firstName The Up to 50 characters (no


customer’s symbols)
first name

Optional

lastName The Up to 50 characters (no


customer’s last symbols)
name

Optional

company The name of Up to 50 characters (no


the company symbols)
associated
with the
customer, if
applicable

Optional

address The Up to 60 characters (no


customer’s symbols)
shipping
address

Optional

city The city of the Up to 40 characters (no


customer’s symbols)
shipping
address

Optional

state The state of A valid two-character


the customer’s state code
shipping
address

Optional

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 91
Section 3 Responses

ELEMENT VALUE FORMAT NOTES

zip The ZIP code Up to 20 characters (no


of the symbols)
customer’s
shipping
address

Optional

country The country of Up to 60 characters (no


the customer’s symbols)
shipping
address

Optional

phoneNumber The phone Up to 25 digits (no letters)


number
associated
with the Ex. (123)123-1234
customer’s
shipping
address

Optional

faxNumber The fax Up to 25 digits (no letters)


number
associated
with the Ex. (123)123-1234
customer’s
shipping
address

Optional

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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 92
Merchant Web Services API

<profile>
<merchantCustomerId>custId123</merchantCustomerId>
<description>some description</description>
<email>mark@example.com</email>
<customerProfileId>10000</customerProfileId>
<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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 93
Section 3 Responses

<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>
</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 Numeric


assigned ID
associated with
the customer
payment profile

customerType individual
business

billTo

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 94
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

firstName The customer’s Up to 50 characters (no


first name symbols)

lastName The customer’s Up to 50 characters (no


last name symbols)

company The name of the Up to 50 characters (no


company symbols)
associated with
the customer, if
applicable

address The customer’s Up to 60 characters (no


address symbols)

city The city of the Up to 40 characters (no


customer’s symbols)
address

state The state of the A valid two-character


customer’s state code
address

zip The ZIP code of Up to 20 characters (no


the customer’s symbols)
address

country The country of the Up to 60 characters (no


customer’s symbols)
address

phoneNumber The phone Up to 25 digits (no letters)


number
associated with
the customer’s Ex. (123)123-1234
address

faxNumber The fax number Up to 25 digits (no letters)


associated with
the customer’s
address 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 13 to 16 digits All sensitive


credit card payment
information in the

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 95
Section 3 Responses

ELEMENT VALUE FORMAT NOTES

number output is masked.

expirationDate The expiration YYYY-MM All sensitive


date for the payment
customer’s credit information in the
card output is masked.

bankAccount Contains bank


account payment
information for the
payment profile

accountType The type of bank checking


account for the
payment profile savings
businessChecking

routingNumber The routing 9 digits All sensitive


number of the payment
customer’s bank information in the
output is masked.

accountNumber The customer’s 5 to 17 digits All sensitive


bank account payment
number information in the
output is masked.

nameOnAccount The customer’s Up to 22 characters


full name as listed
on the bank
account

echeckType The type of CCD Currently, the CIM


electronic check API does not
transaction PPD support ARC or
TEL BOC transaction
types.
WEB

bankName The name of the Up to 50 characters


bank associated
with the bank
account number

driversLicense Contains the This field is no


customer’s longer supported
driver’s license in CIM requests
information and is only
returned for
profiles that were
created under the
SecureSource
product.

state The state of the A valid two-character This field is no


customer’s longer supported

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 96
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

driver’s license state code in CIM requests


and is only
returned for
profiles that were
created under the
SecureSource
product.

number The customer’s Between 5 and 20 This field is no


driver’s license characters longer supported
number 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 YYYY-MM-DD This field is no


listed on the longer supported
customer’s in CIM requests
driver’s license 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 9 digits This field is no


Social Security longer supported
Number or tax ID 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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 97
Section 3 Responses

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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 98
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

address Contains shipping


address information
for the customer
profile

customerShippingAddressId Payment gateway Numeric


assigned ID
associated with the
customer shipping
address

firstName The customer’s first Up to 50 characters


name (no symbols)

Optional

lastName The customer’s last Up to 50 characters


name (no symbols)

Optional

company The name of the Up to 50 characters


company (no symbols)
associated with the
customer, if
applicable

Optional

address The customer’s Up to 60 characters


shipping address (no symbols)

Optional

city The city of the Up to 40 characters


customer’s shipping (no symbols)
address

Optional

state The state of the A valid two-


customer’s shipping character state code
address

Optional

zip The ZIP code of the Up to 20 characters


customer’s shipping (no symbols)
address

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 99
Section 3 Responses

ELEMENT VALUE FORMAT NOTES

Optional

country The country of the Up to 60 characters


customer’s shipping (no symbols)
address

Optional

phoneNumber The phone number Up to 25 digits (no


associated with the letters)
customer’s shipping
address
Ex. (123)123-1234

Optional

faxNumber The fax number Up to 25 digits (no


associated with the letters)
customer’s shipping
address
Ex. (123)123-1234

Optional

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>

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 100
Merchant Web Services API

<country>USA</country>
<phoneNumber>000-000-0000</phoneNumber>
<faxNumber></faxNumber>
<customerShippingAddressId>30000</customerShippingAddressId>
</address>
</getCustomerShippingAddressResponse>

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 Up to 20 characters If included in the


reference ID for the request, this value will
request be included in the
response. This feature
might be especially
Optional useful for multi-
threaded applications.

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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 101
Section 3 Responses

ELEMENT VALUE FORMAT NOTES

refId Merchant-assigned Up to 20 If included in the request,


reference ID for the request characters this value will be included
in the response. This
feature might be
Optional especially useful for
multi-threaded
applications.

validationDirectResponse Contains detailed String This output is only


information about the result present if the
of the transaction. ValidationMode input
element is passed with a
value of testMode or
Optional liveMode.

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.

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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 102
Merchant Web Services API

ELEMENT VALUE FORMAT NOTES

refId Merchant- Up to 20 If included in the


assigned characters request, this value
reference ID for will be included in
the request the response. This
feature might be
especially useful for
Optional 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>
</messages>
</updateCustomerShippingAddressResponse>

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 String See the Advanced


about the result of the Integration Guide at
transaction. http://www.authorize.net/s
upport/AIM_guide.pdf for
details about information
included in the payment
gateway transaction
response.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 103
Section 3 Responses

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 will check 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 will return an error that 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

createCustomerShippingAddressRequest customerProfileId, firstName, lastName, address, zip and


phoneNumber

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 104
Merchant Web Services API

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 An unexpected system error occurred while
again. 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 This is the result of an XML parser error.
request.

E00004 The name of the requested API method is The name of the root node of the XML request
invalid. is the API method being called. It is not valid.

E00005 The merchantAuthentication.transactionKey is Merchant authentication requires a valid value


invalid or not present. for transaction key.

E00006 The merchantAuthentication.name is invalid or Merchant authentication requires a valid value


not present. for name.

E00007 User authentication failed due to invalid The name/and or transaction key is invalid.
authentication values.

E00008 User authentication failed. The payment The payment gateway or user account is not
gateway account or user is inactive. currently active.

E00009 The payment gateway account is in Test Mode. The requested API method cannot be executed
The request cannot be processed. while the payment gateway account is in Test
Mode.

E00010 User authentication failed. You do not have the The user does not have permission to call the
appropriate permissions. API.

E00011 Access denied. You do not have the The user does not have permission to call the
appropriate permissions. 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.

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.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 105
Section 3 Responses

CODE TEXT DESCRIPTION

E00019 The customer taxId or driversLicense The customer tax ID or driver’s license
information is required. 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 The maximum number of payment profiles for
allowed for the customer profile is {0}. the customer profile has been reached.

E00043 The maximum number of shipping addresses The maximum number of shipping addresses
allowed for the customer profile is {0}. 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 An error exists in the XML namespace. This
namespace. error is similar to E00003.

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 106
Merchant Web Services API

Index
API calls........................................................ 7 developer support ......................................... 5
responses ................................................. 78 duplicate profile verification .................... 104
Authentication............................................... 9 error messages .......................................... 105
CIM Functions .............................................. 8 getCustomerPaymentProfileRequest .......... 63
CIM Responses ........................................... 78 getCustomerPaymentProfileResponse........ 94
createCustomerPaymentProfileRequest ...... 17 getCustomerProfileIdsRequest ................... 62
createCustomerPaymentProfileResponse ... 81 getCustomerProfileIdsResponse ................. 87
createCustomerProfileRequest .................... 10 getCustomerProfileRequest ........................ 63
createCustomerProfileResponse ................. 79 getCustomerProfileResponse...................... 87
createCustomerProfileTransactionRequest . 24 getCustomerShippingAddressRequest ....... 64
Authorization and Capture ...................... 30 getCustomerShippingAddressResponse ..... 98
Authorization Only ................................. 24 Minimum Requirements ............................... 5
Capture Only ........................................... 37 profile
Refund..................................................... 49 duplicate ............................................... 104
Void transaction ...................................... 57 response codes .......................................... 105
createCustomerProfileTransactionRequest sample code .................................................. 7
function
support .......................................................... 5
Prior Authorization and Capture ............. 44
updateCustomerPaymentProfileRequest .... 67
createCustomerProfileTransactionResponse
updateCustomerPaymentProfileResponse 101
................................................................ 83
updateCustomerProfileRequest .................. 65
createCustomerShippingAddressRequest ... 21
updateCustomerProfileResponse .............. 101
createCustomerShippingAddressResponse. 83
updateCustomerShippingAddressRequest.. 73
deleteCustomerPaymentProfileRequest ...... 60
updateCustomerShippingAddressResponse
deleteCustomerPaymentProfileResponse ... 85
.............................................................. 102
deleteCustomerProfileRequest .................... 59
validateCustomerPaymentProfileRequest .. 76
deleteCustomerProfileResponse ................. 85
validateCustomerPaymentProfileResponse
deleteCustomerShippingAddressRequest ... 61 .............................................................. 103
deleteCustomerShippingAddressResponse. 86

Last revised: 7/22/2009


Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution 107

Вам также может понравиться