Академический Документы
Профессиональный Документы
Культура Документы
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
Table of Contents
Authorize.Net Trademarks: ....................................................................................................... 1
Section 3 Responses........................................................................ 59
CIM Responses .............................................................................................................59
Output for CreateCustomerProfileResponse ........................................................................ 60 Output for CreateCustomerPaymentProfileResponse......................................................... 61 Output for CreateCustomerShippingAddressResponse ..................................................... 61 Output for CreateCustomerProfileTransactionResponse ................................................... 62 Output for DeleteCustomerProfileResponse ........................................................................ 62 Output for DeleteCustomerPaymentProfileResponse ......................................................... 63 Output for DeleteCustomerShippingAddressResponse ..................................................... 63 Output for GetCustomerProfileIdsResponse ........................................................................ 64 Output for GetCustomerProfileResponse ............................................................................. 64 Output for GetCustomerPaymentProfileResponse .............................................................. 67 Output for GetCustomerShippingAddressResponse .......................................................... 70 Output for UpdateCustomerProfileResponse ....................................................................... 71 Output for UpdateCustomerPaymentProfileResponse........................................................ 71 Output for UpdateCustomerShippingAddressResponse .................................................... 72 Output for ValidateCustomerPaymentProfileResponse ...................................................... 72
Index ................................................................................................. 76
Revision History
PUBLISH DATE
November 2007 September 2008 January 2009 May 2009
UPDATES
Initial release of the Customer Information Manager (CIM) API Removal of SecureSource requirements Addition of GetCustomerProfileIds and various updates Specify validationMode parameter as required for CreateCustomerProfile and UpdateCustomerPaymentProfile. Clarify usage of validationMode parameter for CustomerProfileRequest and CreateCustomerProfile calls when no payment profile information is included.
June 2009
Corrected formatting notes for some numeric fields Added note about optional fields and .NET programming
September 2009
Update validationMode field to document changes for authorizations for Visa transactions Update to table of error codes Added explanatory guidelines for createCustomerProfileTransaction for Refund transactions.
April 2010
Changes required for Partial Authorization processing Correct function name (UpdateSplitTenderGroup) and add output
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. If you cant 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.
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.
CIM Functions
The CIM API includes the following functions: CreateCustomerProfile Create a new customer profile along with any customer payment profiles and customer shipping addresses for the customer profile. CreateCustomerPaymentProfile Create a new customer payment profile for an existing customer profile. CreateCustomerShippingAddress Create a new customer shipping address for an existing customer profile.
Last revised: 7/29/2010 Copyright 1998 - 2009 Authorize.Net, a CyberSource solution 7
CreateCustomerProfileTransaction Create a new payment transaction from an existing customer profile DeleteCustomerProfile Delete an existing customer profile along with all associated customer payment profiles and customer shipping addresses. DeleteCustomerPaymentProfile Delete a customer payment profile from an existing customer profile. DeleteCustomerShippingAddress Delete a customer shipping address from an existing customer profile. GetCustomerProfileIds Retrieve all customer profile IDs you have previously created. GetCustomerProfile Retrieve an existing customer profile along with all the associated customer payment profiles and customer shipping addresses. GetCustomerPaymentProfile Retrieve a customer payment profile for an existing customer profile. GetCustomerShippingAddress Retrieve a customer shipping address for an existing customer profile. UpdateCustomerProfile Update an existing customer profile. UpdateCustomerPaymentProfile Update a customer payment profile for an existing customer profile. UpdateCustomerShippingAddress Update a shipping address for an existing customer profile. UpdateSplitTenderGroup Update the status of a split tender group (a group of transactions, each of which pays for part of one order). ValidateCustomerPaymentProfile Verify an existing customer payment profile by generating a test transaction. The following sections provide information about the input parameters required for executing the functions listed above. Indentations in the Parameter column indicate grouping hierarchy. All parameters are case sensitive and must be submitted in the order listed here. Parameters are required unless otherwise indicated. Optional parameters should not be submitted unless they contain valid values. Note: Parameters required for individual API calls are in addition to the authentication parameters required for all API calls. 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 is automatically 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.
Authentication
All Web services calls must be authenticated 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.
Last revised: 7/29/2010 Copyright 1998 - 2009 Authorize.Net, a CyberSource solution 8
PARAMETER merchantAuthentication
VALUE Contains merchant unique information for purposes of authentication The valid API Login ID for the developer test or merchant account The valid Transaction Key for the developer test or merchant account
NOTES
name
Submit the API Login ID used to submit transactions Submit the Transaction Key obtained from the Merchant Interface
transactionKey
16
Example of Authentication with the Login ID and Transaction Key The authentication information with the merchants Login ID and Transaction Key is sent in SOAP body, as shown below:
<soap:Body> <FunctionName xmlns="https://api.authorize.net/soap/v1/"> <merchantAuthentication> <name>API Login ID here</name> <transactionKey>Transaction Key here</transactionKey> </merchantAuthentication> Additional required parameters here </FunctionName> </soap:Body>
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.
FIELD profile
TYPE/FORMAT CustomerProfileType
NOTES At least one of the following fields must be submitted under profile: merchantCustomerId, description or email.
FIELD merchantCustomerId
TYPE/FORMAT Up to 20 characters
NOTES Required only if no values for both description and email are submitted. Required only if no values for both merchantCustomerId and email are submitted. Required only if no values for both description and merchantCustomerId are submitted.
description
Up to 255 characters
paymentProfiles
Contains CustomerPaymentProfile Multiple instances of payment Type this parameter and its profiles for the children can be customer profile submitted to create multiple payment Optional profiles for the customer profile. Optional CustomerTypeEnum individual business
customerType
billTo firstName The customers first name Optional lastName The customers last name Optional company The name of the company associated with the customer, if applicable Optional address The customers address Optional
FIELD city
VALUE The city of the customers address Optional state The state of the customers address Optional zip
NOTES
The ZIP code of Up to 20 characters (no the customers symbols) address Optional
country
phoneNumber
faxNumber
The fax number Up to 25 digits (no associated with letters) the customer Ex. (123)123-1234 profile Optional
payment
Contains payment profile information for the customer profile Contains credit card payment information for the payment profile The customers credit card number The expiration date for the customers
PaymentSimpleType
creditCard
CreditCardSimpleType
This parameter and its children are only required when the payment profile is credit card.
cardNumber
13 to 16 digits
expirationDate
YYYY-MM
FIELD
TYPE/FORMAT
cardCode
The three- or four-digit number on the back of a credit card (on the front for American Express) Optional
Numeric
This field is required if the merchant would like to use the Card Code Verification (CCV) security feature. For more information, please see the Merchant Integration Guide at http://www.authorize. net/support/merchant /. cardCode is only used for validation and will not be stored in the customer profile. It should only be used when submitting validationMode with a value of testMode or liveMode.
bankAccount
Contains bank account payment information for the payment profile The type of bank account for the payment profile Optional
BankAccountType
This parameter and its children are only required when the payment profile is bank account.
accountType
routingNumber
The routing number of the customers bank The customers bank account number The customers full name as listed on the bank account The type of
accountNumber
5 to 17 digits
nameOnAccount
Up to 22 characters
EcheckTypeEnum
12
FIELD
VALUE
TYPE/FORMAT
electronic check CCD transaction PPD Optional TEL WEB bankName The name of Up to 50 characters the bank associated with the bank account number Optional shipToList Contains shipping address information for the customer profile The customers first name Optional lastName The customers last name Optional company The name of the company associated with the customer, if applicable Optional address The customers shipping address Optional city The city of the customers shipping address Optional state The state of the customers shipping address Optional Last revised: 7/29/2010 Copyright 1998 - 2009 Authorize.Net, a CyberSource solution A valid two-character state code Up to 40 characters (no symbols) Up to 60 characters (no symbols) Up to 50 characters (no symbols) Up to 50 characters (no symbols) CustomerAddressType
firstName
13
FIELD zip
VALUE
TYPE/FORMAT
NOTES
The ZIP code of Up to 20 characters (no the customers symbols) shipping address Optional
country
phoneNumber
faxNumber
The fax number Up to 25 digits (no associated with letters) the customer Ex. (123)123-1234 profile Optional
validationMode
Validation mode allows you to generate a test transaction at the time you create a customer 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. Visa transactions are being switched from $0.01 to $0.00 for all processors. All other credit card types use $0.01. We recommend you consult your Merchant Account Provider before switching to Zero Dollar Authorizations for Visa, because you may be subject to fees. For Visa transactions using $0.00, the billTo
FIELD
VALUE
TYPE/FORMAT
NOTES address and billTo zip fields are required. We recommend that you do NOT use oldLiveMode. In oldLiveMode, $0.01 is used for all credit card types, including Visa. The oldLiveMode option will be removed at a later date. If a request does not include any payment profile information, the validation mode must be set to none. When a value of "none" is submitted, no additional validation is performed. 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 Parameters for CreateCustomerProfileResponse. Example CreateCustomerProfile
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CreateCustomerProfile xmlns="https://api.authorize.net/soap/v1/"> <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> <CustomerPaymentProfileType> <customerType>individual</customerType>
Last revised: 7/29/2010 Copyright 1998 - 2009 Authorize.Net, a CyberSource solution 15
<payment> <creditCard> <cardNumber>Credit card number here</cardNumber> <expirationDate>Credit card expiration date here</expirationDate> </creditCard> </payment> </CustomerPaymentProfileType> </paymentProfiles> </profile> <validationMode>liveMode</validationMode> </CreateCustomerProfile> </soap:Body> </soap:Envelope>
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.
FIELD customerProfileId
VALUE Payment gateway assigned ID associated with the customer profile Contains payment information for the customer profile Optional
TYPE/FORMAT Numeric
NOTES
paymentProfile
CustomerPaymentProfile Type
customerType
billTo firstName The customers first name Optional lastName The customers last name Optional
FIELD company
VALUE
TYPE/FORMAT
NOTES
The name of the Up to 50 characters (no company associated symbols) with the customer, if applicable Optional
address
city
state
zip
country
phoneNumber
faxNumber
payment
PaymentSimpleType
Can contain CreditCardSimpleType or BankAccountType. This parameter and its children are only required when the payment profile is credit card.
creditCard
Contains credit card CreditCardSimpleType payment information for the customer profile
cardNumber
The customers credit card number The expiration date for the customers
13 to 16 digits
YYYY-MM
17
FIELD
TYPE/FORMAT
NOTES ng.Metadata.W3cXsd20 01.SoapYearMonth can be used to manage gYearMonth types. This field is required if the merchant would like to use the Card Code Verification (CCV) security feature. For more information, please see the Merchant Integration Guide at http://www.authorize.n et/support/merchant/. 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.
cardCode
The three- or fourNumeric digit number on the back of a credit card (on the front for American Express) Optional
bankAccount
BankAccountType
This parameter and its children are only required when the payment profile is bank account.
accountType
routingNumber
The routing number of the customers bank The customers bank account number The customers full name as listed on the bank account The type of electronic check transaction Optional
9 digits
accountNumber
5 to 17 digits
nameOnAccount
Up to 22 characters
echeckType
Currently, the CIM API does not support ARC or BOC transaction types.
FIELD
VALUE
NOTES
bankName
The name of the bank associated with the bank account number Optional
Up to 50 characters
validationMode
Indicates the ValidationModeEnum processing mode for none the request testMode liveMode oldLiveMode
Validation mode allows you to generate a test transaction at the time 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. Visa transactions are being switched from $0.01 to $0.00 for all processors. All other credit card types use $0.01. We recommend you consult your Merchant Account Provider before switching to Zero Dollar Authorizations for Visa, because you may be subject to fees For Visa transactions using $0.00, the billTo address and billTo zip fields are required. We recommend that you do NOT use oldLiveMode. In oldLiveMode, $0.01 is used for all credit card types, including Visa. The oldLiveMode option will be removed at a later date. When a value of "none" is submitted, no additional validation is performed.
For information about output parameters for this function, see the section of this document titled Output Parameters for CreateCustomerPaymentProfileResponse.
FIELD customerProfileId
VALUE Payment gateway assigned ID associated with the customer profile Contains shipping address information for the customer profile The customers first name Optional
TYPE/FORMAT Numeric
NOTES
address
CustomerAddressType
firstName
lastName
company
The name of the company Up to 50 characters (no associated with the symbols) customer, if applicable Optional
address
city
state
zip
country
FIELD
TYPE/FORMAT
NOTES
phoneNumber
The phone number associated with the customers shipping address Optional
faxNumber
The fax number associated with the customers shipping address Optional
For information about output parameters for this function, see the section of this document titled Output Parameters for CreateCustomerShippingAddressResponse.
For Authorization Only transactions The following table lists the input parameters for executing an API call to the CreateCustomerProfileTransaction function for an Authorization Only transaction.
FIELD transaction
TYPE/FORMAT ProfileTransactionType
NOTES
profileTransAuthOnly
Only one transaction type is allowed per request. This amount should include all other amounts such
amount
FIELD
VALUE
tax
Contains tax information for the transaction Optional amount The tax amount for the transaction Optional name The name of the tax for the transaction Optional description The tax description for the transaction Optional
ExtendedAmountType
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
This amount must be included in the total amount for the transaction.
Up to 255 characters
shipping
ExtendedAmountType
amount
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
This amount must be included in the total amount for the transaction.
name
description
Up to 255 characters
duty
ExtendedAmountType
FIELD amount
VALUE The duty amount for the transaction Optional name The name of the duty for the transaction Optional description The duty description for the transaction Optional lineItems Contains line item details about the order Optional
TYPE/FORMAT Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
NOTES This amount must be included in the total amount for the transaction.
Up to 255 characters
LineItemType
Up to 30 distinct instances of this parameter and its children can be included per transaction to describe items included in the order.
itemId
Up to 31 characters
name
Up to 31 characters
description
Up to 255 characters
quantity
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
FIELD taxable
VALUE Indicates whether the item is subject to tax Optional customerProfileId Payment gateway assigned ID associated with the customer profile Payment gateway assigned ID associated with the customer payment profile Payment gateway assigned ID associated with the customer shipping address Optional order Contains information about the order Optional invoiceNumber The merchant assigned invoice number for the transaction Optional description The transaction description Optional purchaseOrderNumber The merchant assigned purchase order number Optional taxExempt The tax exempt
NOTES
Numeric
customerPaymentProfileId
Numeric
customerShippingAddressId
Numeric
If customerShippi ngAddressId is not passed, shipping information will not be included with the transaction.
OrderExType
TRUE
FIELD
VALUE status Optional recurringBilling The recurring billing status Optional cardCode The customers card code (the three- or fourdigit number on the back or front of a credit card) Required only when the merchant would like to use the Card Code Verification (CCV) filter Conditional splitTenderId Conditional
TYPE/FORMAT FALSE
NOTES
TRUE FALSE
3 to 4 digits
This field is required if the merchant would like to use the CCV security feature. For more information, please see the Merchant Integration Guide at http://www.aut horize.net/supp ort/merchant/.
Up to 6 digits
This field is required for second and subsequent transactions related to a partial authorizaqtion transaction. For a complete list of the transaction variable names available, please review the AIM Implementation Guide located at http://www.aut horize.net/supp ort/AIM_guide. pdf.
extraOptions
Information in String name/value pair format that does not exist within CIM, such as customer IP address, etc. Optional
For information about output parameters for this function, see the section of this document titled Output Parameters for CreateCustomerProfileTransactionResponse. For Authorization and Capture Transactions The following table lists the input parameters for executing an API call to the CreateCustomerProfileTransaction function for an Authorization and Capture transaction.
Last revised: 7/29/2010 Copyright 1998 - 2009 Authorize.Net, a CyberSource solution 25
FIELD transaction
TYPE/FORMAT ProfileTransactionType
NOTES
profileTransAuthCapture
Only one transaction type is allowed per request. This amount should include all other amounts such as tax amount, shipping amount, etc.
amount
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999
tax
Contains tax information for the transaction Optional amount The tax amount for the transaction Optional name The name of the tax for the transaction Optional description The tax description for the transaction Optional
ExtendedAmountType
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
This amount must be included in the total amount for the transaction.
Up to 255 characters
shipping
ExtendedAmountType
amount
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
This amount must be included in the total amount for the transaction.
name
FIELD
VALUE the transaction Optional description The shipping description for the transaction Optional duty Contains duty information for the transaction Optional amount The duty amount for the transaction Optional name The name of the duty for the transaction Optional description The duty description for the transaction Optional lineItems Contains line item details about the order Optional
TYPE/FORMAT
NOTES
Up to 255 characters
ExtendedAmountType
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
This amount must be included in the total amount for the transaction.
Up to 255 characters
LineItemType
Up to 30 distinct instances of this parameter and its children can be included per transaction to describe items included in the order.
itemId
Up to 31 characters
name
Up to 31 characters
description
A detailed description of
Up to 255 characters
FIELD
TYPE/FORMAT
NOTES
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
TRUE FALSE
customerProfileId
Payment gateway assigned ID associated with the customer profile Payment gateway assigned ID associated with the customer payment profile Payment gateway assigned ID associated with the customer shipping address Optional
Numeric
customerPaymentProfileId
Numeric
customerShippingAddressId
Numeric
If customerShippi ngAddressId is not passed, shipping information will not be included with the transaction.
order
OrderExType
invoiceNumber
FIELD
VALUE Optional
TYPE/FORMAT
NOTES
description
purchaseOrderNumber
taxExempt
TRUE FALSE
recurringBilling
TRUE FALSE
cardCode
The customers card code (the three- or fourdigit number on the back or front of a credit card) Required only when the merchant would like to use the Card Code Verification (CCV) filter Conditional
3 to 4 digits
This field is required if the merchant would like to use the CCV security feature. For more information, please see the Merchant Integration Guide at http://www.aut horize.net/supp ort/merchant/.
splitTenderId
Conditional
Up to 6 digits
This field is required for second and subsequent transactions related to a partial authorization transaction. For a complete list of the transaction variable names available, please review
extraOptions
Information in String name/value pair format that does not exist within CIM, such as
FIELD
TYPE/FORMAT
NOTES the AIM Implementation Guide located at http://www.aut horize.net/supp ort/AIM_guide. pdf.
For information about output parameters for this function, see the section of this document titled Output Parameters for CreateCustomerProfileTransactionResponse.
For Capture Only Transactions The following table lists the input parameters for executing an API call to the CreateCustomerProfileTransaction function for a Capture Only transaction.
FIELD transaction
VALUE
TYPE/FORMAT
NOTES
Contains transaction ProfileTransactionType information The transaction type ProfileTransCaptureOnlyType that is being requested Only one transaction type is allowed per request. This amount should include all other amounts such as tax amount, shipping amount, etc.
profileTransCaptureOnly
amount
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999
tax
Contains tax information for the transaction Optional amount The tax amount for the transaction Optional
ExtendedAmountType
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999
This amount must be included in the total amount for the transaction.
name
Up to 31 characters
FIELD
VALUE for the transaction Optional description The tax description for the transaction Optional shipping Contains shipping information for the transaction Optional amount The shipping amount for the transaction Optional
TYPE/FORMAT
NOTES
Up to 255 characters
ExtendedAmountType
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999
This amount must be included in the total amount for the transaction.
name
Up to 31 characters
description
Up to 255 characters
duty
Contains duty information for the transaction Optional amount The duty amount for the transaction Optional
ExtendedAmountType
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999
This amount must be included in the total amount for the transaction.
name
Up to 31 characters
description
Up to 255 characters
FIELD lineItems
TYPE/FORMAT LineItemType
NOTES Up to 30 distinct instances of this parameter and its children can be included per transaction to describe items included in the order.
itemId
Up to 31 characters
name
Up to 31 characters
description
Up to 255 characters
quantity
unitPrice
Cost of an item per unit excluding tax, freight, and duty Optional
taxable
customerProfileId
Numeric
customerPaymentProfileId Payment gateway assigned ID associated with the customer payment profile Payment gateway assigned ID Last revised: 7/29/2010
Numeric
Numeric
If customerShip
32
FIELD customerShippingAddressId
TYPE/FORMAT
NOTES pingAddressId is not passed, shipping information will not be included with the transaction.
order
invoiceNumber
description
The transaction description Optional The merchant assigned purchase order number Optional
purchaseOrderNumber
taxExempt
TRUE FALSE
recurringBilling
TRUE FALSE
cardCode
The customers card 3 to 4 digits code (the three- or four-digit number on the back or front of a credit card) Required only when the merchant would like to use the Card Code Verification (CCV) filter Conditional
This field is required if the merchant would like to use the CCV security feature. For more information, please see the Merchant Integration Guide at http://www.a uthorize.net/ support/merc hant/.
FIELD approvalCode
VALUE The authorization code of an original transaction required for a Capture Only Conditional splitTenderId Conditional
TYPE/FORMAT 6 characters
NOTES This field is only required for the Capture Only transaction type. This field is required for second and subsequent transactions related to a partial authorizaqtion transaction. For a complete list of the transaction variable names available, please review the AIM Implementatio n Guide located at http://www.a uthorize.net/ support/AIM_ guide.pdf.
Up to 6 digits
extraOptions
Information in String name/value pair format that does not exist within CIM, such as customer IP address, etc. Optional
For information about output parameters for this function, see the section of this document titled Output Parameters for CreateCustomerProfileTransactionResponse. For Prior Authorization and Capture Transactions The following table lists the input parameters for executing an API call to the CreateCustomerProfileTransaction function for a Prior Authorization and Capture transaction.
FIELD transaction
TYPE/FORMAT ProfileTransactionType
NOTES
profileTransPriorAuthCapture
The transaction ProfileTransPriorAuthCapture Only one type that is Type transaction type being requested is allowed per request.
FIELD amount
TYPE/FORMAT Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999
NOTES This amount should include all other amounts such as tax amount, shipping amount, etc. Tax information from the original authorization transaction will be used if this field is not submitted. This amount must be included in the total amount for the transaction.
tax
ExtendedAmountType
amount
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
name
description
Up to 255 characters
shipping
ExtendedAmountType
Shipping information from the original authorization transaction will be used if this field is not submitted. This amount must be included in the total amount for the transaction.
amount
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
name
description
Up to 255 characters
FIELD
VALUE the transaction Optional duty Contains duty information for the transaction Optional
TYPE/FORMAT
NOTES
ExtendedAmountType
Duty information from the original authorization transaction will be used if this field is not submitted. This amount must be included in the total amount for the transaction.
amount
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
name
description
Up to 255 characters
lineItems
LineItemType
Line item information from the original authorization transaction will be used if this field is not submitted. Up to 30 distinct instances of this parameter and its children can be included per transaction to describe items included in the order.
itemId
Up to 31 characters
name
Up to 31 characters
FIELD
VALUE Optional description A detailed description of an item Optional quantity The quantity of an item Optional unitPrice
TYPE/FORMAT
NOTES
Up to 255 characters
Cost of an item Up to 4 digits with a decimal point (no dollar symbol) per unit excluding tax, freight, and duty Ex. 4.95 Optional
taxable
TRUE FALSE
customerProfileId
Numeric
If a value is submitted for this field, it must be the same ID used for the original authorization transaction. If a value is submitted for this field, it must be the same ID used for the original authorization transaction. If a value is submitted for this field, it must be the same ID used for the original authorization transaction.
customerPaymentProfileId
Numeric
customerShippingAddressId
Payment gateway assigned ID associated with the customer shipping address Optional
Numeric
transId
Numeric
FIELD
TYPE/FORMAT
NOTES
extraOptions
Information in String name/value pair format that does not exist within CIM, such as customer IP address, etc. Optional
For a complete list of the transaction variable names available, please review the AIM Implementation Guide located at http://www.aut horize.net/supp ort/AIM_guide. pdf.
For information about output parameters for this function, see the section of this document titled Output Parameters for CreateCustomerProfileTransactionResponse.
For Refund Transactions If you are submitting a refund against a previous CIM transaction, the following guidelines apply: include customerProfileId, customerPaymentProfileId, and transId. customerShippingAddressId is optional. creditCardNumberMasked, bankRoutingNumberMasked, and bankAccountNumberMasked do not need to be included, but will be validated if they are included. If you are submitting a refund against a previous transaction that is not a CIM transaction, the following guidelines apply: you must include transId, creditCardNumberMasked (or bankRoutingNumberMasked and bankAccountNumberMasked). do not include customerProfileId, customerPaymentProfileId, and customerShippingAddressId. You can also issue an unlinked refund against a previous CIM transaction. In this case, the following rules apply: you must be enrolled in Expanded Credit Capabilities (ECC). For more information about ECC, see http://www.authorize.net/files/ecc.pdf. you must include customerProfileId and customerPaymentProfileId. customerShippingAddressId is optional. you should not include transId, creditCardNumberMasked, bankRoutingNumberMasked, and bankAccountNumberMasked. The following table lists the input parameters for executing an API call to the CreateCustomerProfileTransaction function for a Refund transaction.
FIELD transaction
TYPE/FORMAT ProfileTransactionType
NOTES
profileTransRefund
Only one transaction type is allowed per request. This amount should include all other amounts such as tax amount, shipping amount, etc.
amount
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999
tax
Contains tax information for the refund Optional amount The tax amount to be refunded Optional
ExtendedAmountType
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999
This amount must be included in the total amount for the transaction.
name
Up to 31 characters
description
Up to 255 characters
shipping
ExtendedAmountType
amount
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
This amount must be included in the total amount for the transaction.
name
FIELD
VALUE Optional description The shipping description for the transaction Optional duty Contains duty information for the refund Optional amount The duty amount to be refunded Optional name The name of the duty for the transaction Optional description The duty description for the transaction Optional lineItems Contains line item details about the refund Optional
TYPE/FORMAT
NOTES
Up to 255 characters
ExtendedAmountType
Up to 4 digits after the decimal point (no dollar symbol) Ex. 12.99 or 12.9999 Up to 31 characters
This amount must be included in the total amount for the transaction.
Up to 255 characters
LineItemType
Up to 30 distinct instances of this parameter and its children can be included per transaction to describe items included in the order.
itemId
Up to 31 characters
name
Up to 31 characters
description
Up to 255 characters
FIELD
TYPE/FORMAT
NOTES
Cost of an item Up to 4 digits with a decimal point (no dollar symbol) per unit excluding tax, freight, and duty Ex. 4.95 Optional
taxable
TRUE FALSE
customerProfileId
Numeric
If a value is submitted for this field, it must be the same ID used for the original transaction. For more complete information, see For Refund Transactions on page 38
customerPaymentProfileId
Payment gateway assigned ID associated with the customer payment profile Conditional
Numeric
If a value is submitted for this field, it must be the same ID used for the original transaction. For more complete information, see For Refund Transactions on page 38
customerShippingAddressId
Numeric
If a value is submitted for this field, it must be the same ID used for the original authorization
FIELD
VALUE Optional
TYPE/FORMAT
NOTES transaction. For more complete information, see For Refund Transactions on page 38
creditCardNumberMasked
The last four digits of the credit card number to be refunded Conditional
Four Xs followed by the last four digits of the credit card number to be refunded. Ex. XXXX1234
If a value is submitted, the last four digits must be the same ones used for the original transaction.
For more complete information, see For Refund Transactions on page 38 bankRoutingNumberMasked The last four digits of the routing number to be refunded Conditional Four Xs followed by the last four digits of the routing number to be refunded. Ex. XXXX1234 If a value is submitted, the last four digits must be the same ones used for the original transaction. For more complete information, see For Refund Transactions on page 38 bankAccountNumberMasked The last four digits of the bank account number to be refunded Conditional Four Xs followed by the last four digits of the bank account to be refunded. Ex. XXXX1234 If a value is submitted, the last four digits must be the same ones used for the original transaction.
FIELD order
VALUE Contains information about the order Optional invoiceNumber The merchant assigned invoice number for the transaction Optional description The transaction description Optional purchaseOrderNumber The merchant assigned purchase order number Optional transId The payment gateway assigned transaction ID of the original transaction. Conditional
TYPE/FORMAT
NOTES
Numeric
extraOptions
Information in String name/value pair format that does not exist within CIM, such as customer IP address, etc. Optional
For a complete list of the transaction variable names available, please review the AIM Implementation Guide located at http://www.aut horize.net/supp ort/AIM_guide. pdf.
For information about output parameters for this function, see the section of this document titled Output Parameters for CreateCustomerProfileTransactionResponse.
For a Void Transaction The following table lists the input parameters for executing an API call to the CreateCustomerProfileTransaction function for a Void transaction.
Last revised: 7/29/2010 Copyright 1998 - 2009 Authorize.Net, a CyberSource solution 43
FIELD transaction
TYPE/FORMAT ProfileTransactionType
NOTES
profileTransVoid
Only one transaction type is allowed per request. If a value is submitted for this field, it must be the same ID used for the original transaction.
customerProfileId
Numeric
customerPaymentProfileId
Payment gateway assigned ID associated with the customer payment profile Optional
Numeric
If a value is submitted for this field, it must be the same ID used for the original transaction.
customerShippingAddressId
Payment gateway assigned ID associated with the customer shipping address Optional
Numeric
If a value is submitted for this field, it must be the same ID used for the original transaction.
transId
Numeric
extraOptions
Information in String name/value pair format that does not exist within CIM, such as customer IP address, etc. Optional
For a complete list of the transaction variable names available, please review the AIM Implementation Guide located at http://www.aut
FIELD
VALUE
TYPE/FORMAT
FIELD customerProfileId
TYPE/FORMAT Numeric
NOTES
For information about output parameters for this function, see the section of this document titled Output Parameters for DeleteCustomerProfileResponse.
FIELD customerProfileId
VALUE Payment gateway assigned ID associated with the customer profile Payment gateway assigned ID associated with the customer payment profile
TYPE/FORMAT Numeric
NOTES
customerPaymentProfileId
Numeric
For information about output parameters for this function, see the section of this document titled Output Parameters for DeleteCustomerPaymentProfileResponse.
The following table lists the input parameters for executing an API call to the DeleteCustomerShippingAddress function.
FIELD customerProfileId
VALUE Payment gateway assigned ID associated with the customer profile Payment gateway assigned ID associated with the customer shipping address
TYPE/FORMAT Numeric
NOTES
customerShippingAddressId
Numeric
For information about output parameters for this function, see the section of this document titled Output Parameters for DeleteCustomerShippingAddressResponse.
FIELD merchantAuthentication
VALUE Contains merchant unique information for purposes of authentication The valid API Login ID for the developer test or merchant account
TYPE/FORMAT
NOTES
name
Up to 25 characters
Submit the API Login ID used to submit transactions Submit the Transaction Key obtained from the Merchant Interface
transactionKey
The valid Transaction Key for 16 characters the developer test or merchant account
For information about output parameters for this function, see the section of this document titled Output Parameters for GetCustomerProfileIdsResponse.
FIELD customerProfileId
For information about output parameters for this function, see the section of this document titled Output Parameters for GetCustomerProfileResponse.
FIELD customerProfileId
VALUE Payment gateway assigned ID associated with the customer profile Payment gateway assigned ID associated with the customer payment profile
TYPE/FORMAT Numeric
NOTES
customerPaymentProfileId
Numeric
For information about output parameters for this function, see the section of this document titled Output Parameters for GetCustomerPaymentProfileResponse.
FIELD customerProfileId
VALUE Payment gateway assigned ID associated with the customer profile Payment gateway assigned ID associated with the customer
TYPE/FORMAT Numeric
NOTES
customerShippingAddressId
Numeric
shipping address
For information about output parameters for this function, see the section of this document titled Output Parameters for GetCustomerShippingAddressResponse.
FIELD profile
VALUE Contains payment information for the customer profile Merchant assigned ID for the customer Optional
TYPE/FORMAT CustomerProfileExType
NOTES
merchantCustomerId
Up to 20 characters
description
Up to 255 characters
Up to 255 characters
customerProfileId
For information about output parameters for this function, see the section of this document titled Output Parameters for UpdateCustomerProfileResponse.
Note: If some fields in this request are not submitted or are submitted with a blank value, the values in the original profile will be removed. As a best practice to prevent this from
Last revised: 7/29/2010 Copyright 1998 - 2009 Authorize.Net, a CyberSource solution 48
happening, call GetCustomerPaymentProfile before calling UpdateCustomerPaymentProfile. That will return all current information including masked payment information. Then, simply change the field that needs updating and use that to call UpdateCustomerPaymentProfile.
FIELD customerProfileId
VALUE Payment gateway assigned ID associated with the customer profile Contains payment information for the customer profile
TYPE/FORMAT Numeric
NOTES
paymentProfile
CustomerPaymentProfile Sensitive ExType information that is not being updated can be masked. CustomerTypeEnum individual business If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. If this entire section is not submitted, the original billing information for the profile will stay the same. If updating only one or more elements under billTo, all elements must be submitted with their valid values to prevent the original values from being removed.
customerType
Optional
billTo
CustomerAddressType
firstName
If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. If this field is not submitted in the request, or
lastName
FIELD
VALUE Optional
TYPE/FORMAT
NOTES submitted with a blank value, the original value will be removed from the profile.
company
The name of the company associated with the customer, if applicable Optional
If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. If this field is not submitted in the request, or submitted with a blank value, the original value will be
address
city
state
zip
country
FIELD
VALUE
TYPE/FORMAT
phoneNumber
If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. Can contain CreditCardSimpleTy pe or BankAccountType. This parameter and its children are only required when the payment profile is credit card. If value is masked, the last four digits must match the original value in the profile. If a masked value is submitted, the original value will not be updated.
faxNumber
payment
PaymentSimpleType
creditCard
Contains credit card CreditCardSimpleType payment information for the customer profile Conditional
cardNumber
expirationDate
If a masked value is submitted, the original value will not be updated. For .Net users, the class System.Runtime.Re moting.Metadata.W 3cXsd2001.SoapYe arMonth can be used to manage gYearMonth types.
FIELD cardCode
VALUE The three- or four-digit number on the back of a credit card (on the front for American Express) Optional
TYPE/FORMAT Numeric
NOTES This field is required if the merchant would like to use the Card Code Verification (CCV) security feature. For more information, please see the Merchant Integration Guide at http://www.authori ze.net/support/mer chant/. cardCode is only used for validation and will not be stored in the customer profile. It should only be used when submitting validationMode with a value of testMode or liveMode.
bankAccount
Contains bank account BankAccountType payment information for the customer profile Conditional
This parameter and its children are only required when the payment profile is bank account. If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. If value is masked, the last four digits must match the original value in the profile. If a masked value is submitted, the original value will not be updated.
accountType
routingNumber
accountNumber
If value is masked, the last four digits must match the original value in the profile. If a masked value is submitted, the
FIELD
VALUE
TYPE/FORMAT
nameOnAccount
Up to 22 characters
If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. Currently, the CIM API does not support ARC or BOC transaction types. If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile. If this field is not submitted in the request, or submitted with a blank value, the original value will be removed from the profile.
echeckType
bankName
The name of the bank associated with the bank account number Optional
Up to 50 characters
customerPaymentProfileId
Payment gateway assigned ID associated with the customer payment profile Indicates the processing mode for the request
Numeric
validationMode
Validation mode allows you to generate a test transaction at the time you create a customer 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.
FIELD
VALUE
TYPE/FORMAT
NOTES Visa transactions are being switched from $0.01 to $0.00 for all processors. All other credit card types use $0.01. We recommend you consult your Merchant Account Provider before switching to Zero Dollar Authorizations for Visa, because you may be subject to fees. For Visa transactions using $0.00, the billTo address and billTo zip fields are required. We recommend that you do NOT use oldLiveMode. In oldLiveMode, $0.01 is used for all credit card types, including Visa. The oldLiveMode option will be removed at a later date. When a value of "none" is submitted, no additional validation is performed. If a validation transaction is unsuccessful, the profile will not be updated and the merchant will receive an error.
To test to see if the new payment information is valid, you can call ValidateCustomerPaymentProfile after successfully updating the payment profile. See the section of this document titled Input Parameters for ValidateCustomerPaymentProfile for more information. For information about output parameters for this function, see the section of this document titled Output Parameters for UpdateCustomerPaymentProfileResponse.
FIELD customerProfileId
VALUE Payment gateway assigned ID associated with the customer profile Contains shipping address information for the customer profile The customers first name Optional
TYPE/FORMAT Numeric
NOTES
address
CustomerAddress ExType
firstName
lastName
company
The name of the company associated with the customer, if applicable Optional
address
city
state
zip
FIELD country
NOTES
phoneNumber
The phone number associated with the customers shipping address Optional
faxNumber
The fax number associated with the customers shipping address Optional
customerShippingAddressId
Numeric
For information about output parameters for this function, see the section of this document titled Output Parameters for UpdateCustomerShippingAddressResponse.
VALUE
Payment gatewayassigned number associated with the order. Required
FORMAT
Numeric
NOTES
splitTenderStatus
voided or completed.
Use voided to void the entire order; use completed to indicate there are no further transactions in this order.
The following table lists the input parameters for executing an API call to the ValidateCustomerPaymentProfile function.
FIELD customerProfileId
TYPE/FORMAT Numeric
NOTES
customerPaymentProfileId
Payment gateway Numeric assigned ID associated with the customer payment profile Payment gateway Numeric assigned ID associated with the customer shipping address Optional If customerShippingAddressI d is not passed, shipping information will not be included with the transaction. This field is required if the merchant would like to use the Card Code Verification (CCV) security feature. For more information, please see the Merchant Integration Guide at http://www.authorize.net/s upport/merchant/. 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.
customerShippingAddressId
cardCode
The three- or four-digit number on the back of a credit card (on the front for American Express) Optional
Numeric
validationMode
Validation mode allows you to generate a test 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. Visa transactions are being switched from $0.01 to $0.00 for all processors. All other credit card types use $0.01. We recommend you
FIELD
VALUE
TYPE/FORMAT
NOTES consult your Merchant Account Provider before switching to Zero Dollar Authorizations for Visa, because you may be subject to fees. For Visa transactions using $0.00, the billTo address and billTo zip fields are required. We recommend that you do NOT use oldLiveMode. In oldLiveMode, $0.01 is used for all credit card types, including Visa. The oldLiveMode option will be removed at a later date.
For information about output parameters for this function, see the section of this document titled Output Parameters for ValidateCustomerPaymentProfileResponse.
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.
FIELD
resultCode
VALUE
Contains additional information about the results of the request
TYPE/FORMAT
MessageTypeEnum Ok Error
NOTES
messages
Contains the result code and text A code that represents the reason for the error
MessagesTypeMessage
Messages provide more details about the error(s). See the Response Codes section of this document for possible values. See the Response Codes section of this document for possible values.
code
String
text
String
CIM Responses
The sample below illustrates the structure of a typical response from the payment gateway for any of the CIM API calls. Sample Response
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CreateCustomerProfileResponse xmlns="https://api.authorize.net/soap/v1/"> <CreateCustomerProfileResult> <resultCode>Ok</resultCode> <messages> <code>I00001</code>
Last revised: 7/29/2010 Copyright 1998 - 2009 Authorize.Net, a CyberSource solution 59
Section 3 Responses
FIELD CreateCustomerProfileResult
VALUE Contains the result of the API request to create a customer profile
TYPE/FORMAT
NOTES
CreateCustomerProfil See the Response Codes section of eResponseType this document for possible values. This output is only present for successful requests.
customerProfileId
Payment gateway Numeric assigned ID associated with the customer profile A list of all payment Numeric profile IDs created with the request Optional
customerPaymentProfileIdList
This output is only present for requests that contain one or more payment profiles. The payment profile IDs will be returned in the same order as they were in the request.
customerShippingAddressIdList
A list of all shipping Numeric profile IDs created with the request Optional
This output is only present for requests that contain multiple shipping profiles. The shipping profile IDs will be returned in the same order as they were in the request.
validationDirectResponseList
String
FIELD
VALUE for the validation transaction for each payment profile. Optional
TYPE/FORMAT See the Advanced Integration Guide at http://www.authoriz e.net/support/AIM_g uide.pdf for details about information included in the payment gateway transaction response.
NOTES ValidationMode input element is passed with a value of testMode or liveMode. The list will be returned in the same order as the payment profiles were submitted in the request.
FIELD CreateCustomerPaymentProfileResult
VALUE
TYPE/FORMAT
NOTES See the Response Codes section of this document for possible values.
Contains the CreateCustomerPayme result of the API ntProfileResponseType request to create a customer payment profile Payment gateway assigned ID associated with the customer payment profile Contains detailed information about the result of the transaction. Numeric
customerPaymentProfileId
validationDirectResponse
String See the Advanced Integration Guide at http://www.authorize. net/support/AIM_guid e.pdf for details about information included in the payment gateway transaction response.
This output is only present if the ValidationMode input parameter is passed with a value of testMode or liveMode.
Section 3 Responses
FIELD CreateCustomerShippingAddressResult
VALUE
TYPE/FORMAT
NOTES See the Response Codes section of this document for possible values.
Contains the CreateCustomer result of the API ShippingAddress request to create ResponseType a customer shipping address Payment Numeric gateway assigned ID associated with the customer shipping address
customerShippingAddressId
FIELD CreateCustomerProfileTransactionResult
VALUE
TYPE/FORMAT
NOTES
Contains the CreateCustomerProfile See the result of the API TransactionResponse Response Codes section of request to Type this document for create a possible values. customer profile transaction Contains detailed information about the result of the transaction. String Transactions created from a See the Advanced customer profile Integration Guide at will behave the http://www.authorize. same as regular net/support/AIM_gui transactions - you de.pdf for details and your customer about information will receive all included in the associated email payment gateway notifications. transaction response. Additionally, all fraud settings, including FDS filters and AVS and CCV settings, will be enforced.
directResponse
FIELD DeleteCustomerProfileResult
VALUE Contains the result of the API request to delete a customer profile
TYPE/FORMAT
NOTES
DeleteCustomerPr See the Response ofileResponseType Codes section of this document for possible values.
FIELD DeleteCustomerPaymentProfileResult
VALUE Contains the result of the API request to delete a customer payment profile
TYPE/FORMAT
NOTES
DeleteCustomer See the Response PaymentProfileR Codes section of this document for possible esponseType values.
FIELD DeleteCustomerShippingAddressResult
VALUE Contains the result of the API request to delete a customer shipping address
TYPE/FORMAT
NOTES
DeleteCustomer See the Response ShippingAddress Codes section of this document for possible ResponseType values.
Section 3 Responses
FIELD GetCustomerProfileIdsResult
VALUE Contains the result of the API request to get all customer profile IDs Payment gateway assigned IDs associated with the customer profiles
NOTES See the Response Codes section of this document for possible values. This output is only present for successful requests.
ids
Numeric
FIELD GetCustomerProfileResult
VALUE
TYPE/FORMAT
NOTES
Contains the GetCustomerProfileResp See the Response result of the onseType Codes section API request to of this document get a customer for possible profile values. Contains information for the customer profile Contains payment profiles for the customer profile Payment gateway assigned ID associated with the CustomerProfileMasked Type
profile
paymentProfiles
CustomerPaymentProfile MaskedType
customerPaymentProfileId
Numeric
FIELD
VALUE customer payment profile payment Contains payment profile information for the customer profile
TYPE/FORMAT
NOTES
PaymentMaskedType
creditCard
Contains credit CreditCardMaskedType card payment information for the customer profile The customers credit card number The expiration date for the customers credit card Contains bank account payment information for the customer profile 13 to 16 digits All sensitive payment information in the output is masked. All sensitive payment information in the output is masked.
cardNumber
expirationDate
YYYY-MM
bankAccount
BankAccountMaskedTyp e
routingNumber
The routing number of the customers bank The customers bank account number
9 digits
All sensitive payment information in the output is masked. All sensitive payment information in the output is masked. This field is no longer supported in CIM requests and is only returned for profiles that were created under the SecureSource product. This field is no longer supported
accountNumber
5 to 17 digits
driversLicense
state
Section 3 Responses
FIELD
VALUE
TYPE/FORMAT
NOTES in CIM requests and is only returned for profiles that were created under the SecureSource product. This field is no longer supported in CIM requests and is only returned for profiles that were created under the SecureSource product. All sensitive payment information in the output is masked.
number
dateOfBirth
This field is no longer supported in CIM requests and is only returned for profiles that were created under the SecureSource product. All sensitive payment information in the output is masked.
taxId
This field is no longer supported in CIM requests and is only returned for profiles that were created under the SecureSource product. All sensitive payment information in the output is masked.
shipToList
FIELD
VALUE profile customerShippingAddressId Payment gatewayassigned ID associated with the customer shipping address
TYPE/FORMAT
NOTES
Numeric
FIELD GetCustomerPaymentProfileResult
VALUE Contains the result of the API request to get a customer payment profile
NOTES See the Response Codes section of this document for possible values.
paymentProfile
Contains payment CustomerPaymentProfile information for the MaskedType customer profile Payment gateway assigned ID associated with the customer payment profile Numeric
customerPaymentProfileId
customerType
billTo firstName The customers first name The customers last name The name of the company associated with the customer, if
CustomerAddressType Up to 50 characters (no symbols) Up to 50 characters (no symbols) Up to 50 characters (no symbols)
lastName
company
Section 3 Responses
FIELD
VALUE applicable address The customers address The city of the customers address The state of the customers address The ZIP code of the customers address
TYPE/FORMAT
NOTES
city
state
zip
country
The country of the Up to 60 characters (no customers symbols) address The phone number associated with the customers address The fax number associated with the customers address Up to 25 digits (no letters) Ex. (123)123-1234
phoneNumber
faxNumber
payment
Contains payment PaymentMaskedType profile information for the customer profile Contains credit CreditCardMaskedType card payment information for the payment profile The customers credit card number 13 to 16 digits All sensitive payment information in the output is masked. All sensitive payment information in the output is masked.
creditCard
cardNumber
expirationDate
YYYY-MM
bankAccount
FIELD
VALUE payment profile accountType The type of bank account for the payment profile
TYPE/FORMAT
NOTES
routingNumber
9 digits
All sensitive payment information in the output is masked. All sensitive payment information in the output is masked.
accountNumber
5 to 17 digits
nameOnAccount
The customers Up to 22 characters full name as listed on the bank account The type of electronic check transaction CCD PPD TEL WEB Currently, the CIM API does not support ARC or BOC transaction types.
echeckType
bankName
The name of the bank associated with the bank account number Contains the customers drivers license information
Up to 50 characters
driversLicense
DriversLicenseMasked Type
This field is no longer supported in CIM requests and is only returned for profiles that were created under the SecureSource product. This field is no longer supported in CIM requests and is only returned for profiles that were created under the SecureSource product. This field is no longer supported
state
number
Section 3 Responses
FIELD
VALUE number
TYPE/FORMAT
NOTES 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
YYYY-MM-DD
This field is no longer supported in CIM requests and is only returned for profiles that were created under the SecureSource product. All sensitive payment information in the output is masked.
taxId
9 digits
This field is no longer supported in CIM requests and is only returned for profiles that were created under the SecureSource product. All sensitive payment information in the output is masked.
FIELD GetCustomerShippingAddressResult
VALUE Contains the result of the API request to get a customer shipping address
NOTES See the Response Codes section of this document for possible values.
FIELD address
VALUE Contains shipping address information for the customer profile Payment gateway assigned ID associated with the customer shipping address
NOTES
customerShippingAddressId
Numeric
FIELD UpdateCustomerProfileResult
VALUE Contains the result of the API request to update a customer profile
TYPE/FORMAT
NOTES
UpdateCustomerProfile See the Response Codes section of this ResponseType document for possible values.
FIELD UpdateCustomerPaymentProfileResult
VALUE Contains the result of the API request to update a customer payment profile Contains detailed information about the result of the transaction. Optional
TYPE/FORMAT
NOTES
UpdateCustomer See the Response PaymentProfileRe Codes section of sponseType this document for possible values.
validationDirectResponse
String
This output is only present if the See the ValidationMode input Advanced element is passed Integration Guide with a value of at testMode or http://www.autho liveMode. rize.net/support/ AIM_guide.pdf for details about information included in the payment gateway
Section 3 Responses
FIELD
VALUE
NOTES
FIELD UpdateCustomerShippingAddressResult
VALUE
TYPE/FORMAT
NOTES See the Response Codes section of this document for possible values.
Contains the result UpdateCustomer of the API request ShippingAddress to update a ResponseType customer shipping address
Contains the result UpdateSplitTend of the API request erGroupRespons to update a split eType tender group
FIELD ValidateCustomerPaymentProfileResult
VALUE
TYPE/FORMAT
NOTES See the Response Codes section of this document for possible values.
Contains the ValidateCustomer result of the API PaymentProfileRe request to sonseType validate a customer payment profile Contains detailed information about the result String See the Advanced Integration Guide at
directResponse
of the transaction.
http://www.autho rize.net/support/ AIM_guide.pdf for details about information included in the payment gateway transaction response.
FIELDS USED FOR DUPLICATE PROFILE VERIFICATION merchantCustomerId, description, email customerProfileId, cardNumber, accountNumber, routingNumber, billToFirstName, billToLastName, billToAddress, and billToZip customerProfileId, firstName, lastName, address, zip and phoneNumber
CreateCustomerShippingAddress
Response Codes
The following table lists the common response codes and texts for requests to the Customer Information Manager API.
DESCRIPTION The request was processed successfully. The record has already been deleted.
Section 3 Responses
CODE E00001
TEXT
DESCRIPTION
An error occurred during processing. Please try An unexpected system error occurred while again. processing this request. The content-type specified is not supported. The only supported content-types are text/xml and application/xml. This is the result of an XML parser error.
E00002
E00003
An error occurred while parsing the XML request. The name of the requested API method is invalid. The merchantAuthentication.transactionKey is invalid or not present. The merchantAuthentication.name is invalid or not present. User authentication failed due to invalid authentication values. User authentication failed. The payment gateway account or user is inactive.
E00004
The name of the root node of the XML request is the API method being called. It is not valid. Merchant authentication requires a valid value for transaction key. Merchant authentication requires a valid value for name. The name/and or transaction key is invalid.
E00005
E00006
E00007
E00008
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. User authentication failed. You do not have the appropriate permissions. Access denied. You do not have the appropriate permissions. The field is invalid. A required field is not present. The field length is invalid. The field type is invalid. The customer taxId or driversLicense information is required. The user does not have permission to call the API. The user does not have permission to call the API method. One of the field values is not valid. One of the required fields was not present. One of the fields has an invalid length. The field type is not valid. The customer tax ID or drivers license information (drivers license number, drivers license state, drivers license DOB) is required for the subscription. An approval was not returned for the transaction. Payment information is required when creating a subscription or payment profile.
E00010
E00011
E00027
E00029
CODE E00039
DESCRIPTION A duplicate of the customer profile, customer payment profile, or customer address was already submitted. The profileID, paymentProfileId, or shippingAddressId for this request is not valid for this merchant. All of the fields were empty or missing. The maximum number of payment profiles for the customer profile has been reached. The maximum number of shipping addresses for the customer profile has been reached. The payment gateway account is not enabled for Customer Information Manager (CIM). If the customer profile ID, payment profile ID, and shipping address ID are included, they must match the original transaction.
E00040
E00041 E00042
One or more fields must contain a value. The maximum number of payment profiles allowed for the customer profile is {0}. The maximum number of shipping addresses allowed for the customer profile is {0}. Customer Information Manager is not enabled.
E00043
E00044
E00051
The original transaction was not issued for this payment profile.
Section 3 Responses
Index
API calls executing ................................................... 7 responses ................................................. 59 Authentication............................................... 8 cardholder information security ...................................................... 5 CIM Functions summary.................................................... 7 CIM Responses ........................................... 59 CreateCustomerPaymentProfile .................. 16 CreateCustomerPaymentProfileResponse .. 61 CreateCustomerProfile.................................. 9 CreateCustomerProfileResponse ................ 60 CreateCustomerProfileTransaction ............. 21 Authorization and Capture ...................... 25 Authorization Only ................................. 21 Capture Only ........................................... 30 Prior Authorization and Capture ............. 34 Refund..................................................... 38 Void transaction ...................................... 43 CreateCustomerProfileTransactionResponse ................................................................ 62 CreateCustomerShippingAddress ............... 20 CreateCustomerShippingAddressResponse 61 DeleteCustomerPaymentProfile .................. 45 DeleteCustomerPaymentProfileResponse .. 63 DeleteCustomerProfile................................ 45 DeleteCustomerProfileResponse ................ 62 DeleteCustomerShippingAddress ............... 45 DeleteCustomerShippingAddressResponse 63 Developer Support ........................................ 6
Last revised: 7/29/2010 Copyright 1998 - 2009 Authorize.Net, a CyberSource solution 76
Duplicate Profile Verification .................... 73 GetCustomerPaymentProfile ...................... 47 GetCustomerPaymentProfileResponse ....... 67 GetCustomerProfile .................................... 46 GetCustomerProfileIds ............................... 46 GetCustomerProfileIdsResponse ................ 64 GetCustomerProfileResponse ..................... 64 GetCustomerShippingAddress ................... 47 GetCustomerShippingAddressResponse .... 70 Minimum Requirements ............................... 5 Profiles duplicate ................................................. 73 refund transactions...................................... 38 refunds unlinked .................................................. 38 Response Codes .......................................... 73 sample code .................................................. 7 security best practices ............................................ 5 SOAP about ......................................................... 5 transactions refund...................................................... 38 unlinked credit ............................................ 38 UpdateCustomerPaymentProfile ................ 48 UpdateCustomerPaymentProfileResponse . 71 UpdateCustomerProfile .............................. 48 UpdateCustomerProfileResponse ............... 71 UpdateCustomerShippingAddress.............. 55 UpdateCustomerShippingAddressResponse ................................................................ 72
ValidateCustomerPaymentProfile............... 56 ValidateCustomerPaymentProfileResponse72