Date post: | 02-Jun-2018 |
Category: |
Documents |
Upload: | the1uploader |
View: | 230 times |
Download: | 0 times |
of 91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
1/91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
2/91
2
Authorize.Net LLC (Authorize.Net) has made efforts to ensure the accuracy and completeness of theinformation 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 ordamage, whether direct, indirect, incidental, consequential, special or exemplary, with respect to (a) theinformation; 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 existingor 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 technologyassociated with the Authorize.Net services. No title or ownership of any of the foregoing is granted or otherwisetransferred hereunder. Authorize.Net reserves the right to make changes to any information herein withoutfurther notice.
Authorize.Net Trademarks Advanced Fraud Detection Suite
Authorize.Net
Authorize.Net Your Gateway to IP Transactions
Authorize.Net Verified Merchant Seal
Automated Recurring Billing
eCheck.Net
FraudScreen.Net
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
3/91
Customer Information Manager Guide | June 2014 3
C O N T E N T S
Contents
Revision History 6
Chapter 1 Developer Introduction 7 Audience For This Guide 7Integration Methods 7
Standard API 8
Hosted Form 8
Minimum Requirements 8
Payment Processors 9North American Payment Processors 9
Accepted Card Types 9 Accepted Currencies 9
European Payment Processors 10 Asia-Pacific Processors 11
Developer Support 11
Software Development Kits 11
Chapter 2 Executing an API Call 12Web Service Locations 12
CIM Functions 13The validationMode Parameter 14
Authentication 15Input Parameters for CreateCustomerProfile 16Input Parameters for CreateCustomerPaymentProfile 22
Input Parameters for CreateCustomerShippingAddress 25Input Parameters for CreateCustomerProfileTransaction 26
For Authorization Only transactions 26For Authorization and Capture Transactions 31For Capture Only Transactions 36For Prior Authorization and Capture Transactions 40For Refund Transactions 44For a Void Transaction 49
http://-/?-http://-/?-8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
4/91
Customer Information Manager Guide | June 2014 4
Contents
Input Parameters for DeleteCustomerProfile 50Input Parameters for DeleteCustomerPaymentProfile 50Input Parameters for DeleteCustomerShippingAddress 51Input Parameters for GetCustomerProfileIds 51
Input Parameters for GetCustomerProfile 52Input Parameters for GetCustomerPaymentProfile 53Input Parameters for GetCustomerShippingAddress 53Input Parameters for GetHostedProfilePage 54Input Parameters for UpdateCustomerProfile 55Input Parameters for UpdateCustomerPaymentProfile 55Input Parameters for UpdateCustomerShippingAddress 60Input Elements for UpdateSplitTenderGroup 62Input Parameters for ValidateCustomerPaymentProfile 62
Chapter 3 Responses 64CIM Responses 65
Output for CreateCustomerProfileResponse 65Output for CreateCustomerPaymentProfileResponse 67Output for CreateCustomerShippingAddressResponse 67Output for CreateCustomerProfileTransactionResponse 68Output for DeleteCustomerProfileResponse 69Output for DeleteCustomerPaymentProfileResponse 69Output for DeleteCustomerShippingAddressResponse 69Output for GetCustomerProfileIdsResponse 70Output for GetCustomerProfileResponse 70Output for GetCustomerPaymentProfileResponse 73Output for GetCustomerShippingAddressResponse 76Output for GetHostedProfilePage 78Output for UpdateCustomerProfileResponse 78Output for UpdateCustomerPaymentProfileResponse 78Output for UpdateCustomerShippingAddressResponse 79Output for UpdateSplitTenderGroup 79Output for ValidateCustomerPaymentProfileResponse 80Duplicate Profile Verification 80
Chapter 4 Using a Hosted Form 82Identifying the Customer 82
Retrieving a Token 82
Presenting the Hosted Form 83Form Action URLs 83
Conditional fields 83
Displaying the Form 83
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
5/91
Customer Information Manager Guide | June 2014 5
Contents
Redirect 84iFrame 85
Guidelines for Parameter Settings 85
Response Codes 88
Index 90
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
6/91
Customer Information Manager Guide | June 2014 6
R E V I S I O N S
Revision History
This table lists the changes made in the last six releases of this document:
Publ ish Date Update
June 2014 This version contains only formatting updates and does not include anycontent updates.
February 2014 Updated the section "Developer Support."
Updated the section "Payment Processors."
December 2013 Updated Chapter 4 to clarify the process of generating the hosted form. See"Using a Hosted Form," page 82 .
October 2013 Updated the table of "Payment Processors" .
April 2013 Updated the table of "Payment Processors" .
February 2013 Updated the table of "Payment Processors" .
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
7/91
Customer Information Manager Guide | June 2014 7
C H A P T E R
1Developer Introduction
This guide describes the Web development required to create and manage customerprofile information for the purpose of submitting transactions to the Authorize.Net PaymentGateway directly from a Web site or other application using Simple Object AccessProtocol (SOAP).
SOAP provides a standards-based mechanism to access Web services from a wide rangeof platforms. Typically, you access Web services using a SOAP client on yourprogramming environment. The SOAP client typically generates the native objects andinterfaces based on a Web Services Description Language (WSDL) that is published by
Authorize.Net. The client application initializes the local object and invokes the method asif it is calling a local procedure. The SOAP client generates and parses the underlyingextensible markup language (XML) documents that form the basis of the SOAP protocol.
The Authorize.Net Customer Information Manager (CIM) Application ProgrammingInterface (API) provides a mechanism for developers and value-added resellers (VARs) tocreate, delete, retrieve, and update customer profile information, including payment andaddress information, by directly integrating client software and the Authorize.Net PaymentGateway.
Please refer to specific SOAP client documentation for details on how to use SOAP-basedWeb services.
Audience For This GuideThis guide is intended for developers who are responsible for maintaining a merchantswebsite and integrating it with the Authorize.Net Payment Gateway.
Integration MethodsThe two methods for integrating payments, Standard API and Hosted API, canaccommodate a range of business needs and coding abilities.
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
8/91
Customer Information Manager Guide | June 2014 8
Chapter 1 Developer Introduction
Standard APIYou can use the API to submit transaction information to Authorize.Net when yourcustomers enter data on your website. When the customer enters the data, your website
calls the API using either XML or SOAP.
The choice of XML or SOAP depends on the programming language you use. For PHPand Ruby, XML is recommended. For C# and other .NET languages, SOAP isrecommended. With Java, either will work.
For information regarding requirements for using the API, see "Minimum Requirements" below.
Hosted FormFor a more secure exchange of information, a hosted form enables you to establish ahosted connection on Authorize.Net secure servers. If the merchant needs to transmitsensitive cardholder information (for example, a customer needs to change credit cardinformation or add a new payment method), you can use the hosted form option. With thehosted CIM option, credit card data never flows through your website. You can implementthe hosted option using either XML or SOAP.
You must still use the standard API (either SOAP or XML) for some operations, such ascreating a transaction. The hosted page only provides functionality for creating, updating,
and deleting payment profiles and shipping addresses.
For more information, refer to "Using a Hosted Form," page 82 .
Minimum RequirementsBefore you begin integrating an Authorize.Net Payment Gateway account, check with themerchant to make sure that the following minimum requirements have already been met.
The merchant must have a merchant bank account that allows Internet transactions.The merchant must have an active Authorize.Net Card Not Present PaymentGateway account.
The merchant must have signed up for the CIM service.
The merchant must store account authentication data securely (for example, API loginID, transaction key).
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
9/91
Customer Information Manager Guide | June 2014 9
Chapter 1 Developer Introduction
The merchants website must use HTTPS.
The merchants website must support secure user registration for returning users.
Payment ProcessorsThe currencies that a merchant can accept through Authorize.Net are determined by theirpayment processor.
North American Payment Processors
Accepted Card Types All North American payment processors supported by Authorize.Net accept the followingcard types:
American ExpressDiners Club
Discover
JCB
Mastercard
Visa
Accepted Currenc ies
Note
Merchants should avoid storing any type of sensitive cardholderinformation. However, if a merchant or third party must store sensitivecustomer business or payment information, they must comply with industrystandard storage requirements. See the Developer Security Best PracticesWhite Paper at http://www.authorize.net/files/developerbestpractices.pdf for guidelines.
Table 1 North American Payment Processors and Accepted CurrenciesPayment Processor Accepted Currencies
Chase Paymentech Tampa Processing Platform United States Dollar (USD)
Canadian Dollar (CAD)
Elavon United States Dollar (USD)
Canadian Dollar (CAD)
http://www.authorize.net/files/developerbestpractices.pdfhttp://www.authorize.net/files/developerbestpractices.pdf8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
10/91
Customer Information Manager Guide | June 2014 10
Chapter 1 Developer Introduction
European Payment ProcessorsThe following European payment processors are supported by Authorize.Net for Card Not
Present (CNP) transactions.
First Data Merchant Services (FDMS) Omaha,Nashville, and EFSNet Processing Platforms
United States Dollar (USD)
Global Payments United States Dollar (USD)Canadian Dollar (CAD)
Heartland Payment Systems United States Dollar (USD)
TSYS Acquiring Solutions United States Dollar (USD)
WorldPay Atlanta Processing Platform United States Dollar (USD)
Table 1 North American Payment Processors and Accepted Currencies
Payment Processor Accepted Currencies
Table 2 European Payment Processors, Accepted Card Types, and Accepted Currencies
Payment Processor Accepted Card Types Accepted Currencies
AIB Merchant Services Mastercard
Visa
British Pounds (GBP)
Euro (EUR)
United States Dollar (USD)
Barclaycard JCB
Mastercard
Visa
British Pounds (GBP)
Euro (EUR)
First Data Merchant Solutions (MSIP platform) Mastercard
Visa
British Pounds (GBP)
HSBC Merchant Services Mastercard
Visa
British Pounds (GBP)
Euro (EUR)
Lloyds Bank Cardnet Mastercard
Visa
British Pounds (GBP)
Streamline JCB
Mastercard
Visa
British Pounds (GBP)
Euro (EUR)
United States Dollar (USD)
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
11/91
Customer Information Manager Guide | June 2014 11
Chapter 1 Developer Introduction
Asia-Pacific ProcessorsThe following Asia-Pacific payment processors are supported by Authorize.Net for CardNot Present (CNP) transactions.
Developer SupportResources are available to help you successfully integrate a merchant web site or otherapplication to the Authorize.Net payment gateway.
The Developer Center provides sandbox accounts, sample code, FAQs, andtroubleshooting tools. http://developer.authorize.net
Developer Training Videos: http://developer.authorize.net/training .
The Developer Community provides answers to questions from other Authorize.Netdevelopers.
http://community.developer.authorize.netDeveloper Support: http://developer.authorize.net/support .
If you have suggestions for improving or correcting this guide, send email [email protected] .
Software Development Kits Authorize.Net offers software development kits (SDKs) that present an alternate object-oriented model in several popular languages. Use the SDK to program the core paymentactivities (such as error handling and parsing, network communication, and dataencoding) that occur behind the scenes.
The SDK provides utility methods to help developers build payment flows for each of theintegration methods. You can download the SDKs at http://developer.authorize.net/downloads/ .
Table 3 Asia-Pacific Payment Processor, Accepted Card Types, and Accepted Currencies
Payment Processor Accepted Card Types Accepted Currencies
FDI Australia Mastercard
Visa
Australian Dollar (AUD)
New Zealand Dollar (NZD)
United States Dollar (USD)
Westpac Mastercard
Visa
Australian Dollar (AUD)
http://developer.authorize.net/http://developer.authorize.net/http://developer.authorize.net/traininghttp://developer.authorize.net/training.http://community.developer.authorize.net/http://developer.authorize.net/supporthttp://developer.authorize.net/downloadshttp://developer.authorize.net/downloadshttp://developer.authorize.net/downloadshttp://developer.authorize.net/downloadshttp://developer.authorize.net/supporthttp://community.developer.authorize.net/http://developer.authorize.net/training.http://developer.authorize.net/training.http://developer.authorize.net/traininghttp://developer.authorize.net/http://developer.authorize.net/8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
12/91
Customer Information Manager Guide | June 2014 12
C H A P T E R
2Executing an API Call
The following sections describe the minimum requirements for executing an API call formanaging customer profiles using SOAP.
You can develop a request script in one of two ways:
Develop a custom script yourself using the API field information provided in thisdocument
Use Authorize.Net sample code available for free from our Developer Center at http://developer.authorize.net/samplecode .
Web Service LocationsThe following table shows where to find the API.
Note
If you choose to use Authorize.Net sample code, please be aware that in orderto achieve a successful implementation, you must modify the code withdeveloper test account or the merchants specific payment gateway accountinformation.
Item Location
Web Service URL in Production https://api.authorize.net/soap/v1/Service.asmx
Web Service URL in DeveloperTest
https://apitest.authorize.net/soap/v1/Service.asmx
WSDL https://api.authorize.net/soap/v1/Service.asmx?WSDL
Note
The developer test URL requires the use of a developer test payment gatewayaccount. You can request a test account from our Developer Center athttp://developer.authorize.net/testaccount . Developer test accounts cannot beused to test your implementation against the production URL.
http://developer.authorize.net/samplecodehttp://developer.authorize.net/samplecodehttp://developer.authorize.net/testaccounthttp://developer.authorize.net/samplecodehttp://developer.authorize.net/samplecodehttp://developer.authorize.net/testaccount8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
13/91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
14/91
Customer Information Manager Guide | June 2014 14
Chapter 2 Executing an API Call
UpdateSplitTenderGroupUpdate the status of a split tender group (a group oftransactions each of which pays for part of one order).
ValidateCustomerPaymentProfileVerify an existing customer payment profile bygenerating a test transaction.
The following sections provide information about the input parameters required forexecuting the functions listed above. All parameters are case sensitive and must besubmitted in the order listed here. Parameters are required unless otherwise indicated.Optional parameters should not be submitted unless they contain valid values.
The validationMode Parameter The validationMode parameter enables you to generate a test transaction at the time youcreate or update a customer profile. The functions CreateCustomerProfile,CreateCustomerPaymentProfile, UpdateCustomerPaymentProfile, andValidateCustomerPaymentProfile all include a validationMode parameter, which can haveone of the following values:
liveModeThis value is the default setting.
liveMode generates a transaction to the processor in the amount of $0.01 or $0.00. Ifsuccessful, the transaction is immediately voided. Visa authorization transactions arechanging from $0.01 to $0.00 for all processors. All other credit card types use $0.01.Standard gateway and merchant account fees may apply to the authorization
transactions.For Visa transactions using $0.00, the billTo address and billTo zip fields are required.
testModePerforms field validation only. All fields are validated. However, fields withunrestricted field definitions (such as telephone number) do not generate errors.
If you select testMode, a $1.00 test transaction is submitted using the Luhn MOD 10algorithm to verify that the credit card number is in a valid format. This test transactiondoes not appear on the customer's credit card statement, but it will generate and senda transaction receipt email to the merchant.
Note
Parameters required for individual API calls are in addition to the authenticationparameters required for all API calls.
Note
For .NET programmers : When a parameter is optional, and if you useserialization, then the .NET language you are using automatically createsBoolean properties that indicate whether or not non-nullable parameters arespecified. For example, if there is a parameter named validationMode that is anEnumeration type, a parameter called validationModeSpecified isautomatically created. By default, these properties are set to false. If a requestpasses a value for an optional parameter, be sure to set these properties to trueso that the value is not ignored.
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
15/91
Customer Information Manager Guide | June 2014 15
Chapter 2 Executing an API Call
noneWhen this value is submitted, no additional validation is performed.
When you call the CreateCustomerProfile function, you must use a value of none if therequest does not include any payment profile information.
When you call the ValidateCustomerPaymentProfile function, you must use either
testMode or liveMode.
If a validation transaction is unsuccessful, the profile is not created, and the merchantreceives an error.
Authentication All Web services calls must be authenticated to ensure that they originate from authorizedsources. The merchant Web services API authenticates calls with the API Login ID andTransaction Key.
Example Authentic ation with the Login ID and Transaction Key
The authentication information with the merchants Login ID and Transaction Key is sent inthe SOAP:Body tag, as shown below:
API Logi n I D her e
Note
For information about the hostedProfileValidationMode parameter, see"Guidelines for Parameter Settings," page 85 .
Table 4 Merchant Authentication
Parameter Description
merchantAuthentication Value : Contains merchant unique information for purposes ofauthentication
Type : MerchantAuthenticationType
name Value : The valid API Login ID for the developer test or merchantaccount
Format : 20 characters
Notes: Submit the API Login ID used to submit transactions
transactionKey Value : The valid Transaction Key for the developer test ormerchant account
Format : 16 characters
Notes: Submit the Transaction Key obtained from the MerchantInterface
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
16/91
Customer Information Manager Guide | June 2014 16
Chapter 2 Executing an API Call
Tr ansact i on Key her eAddi t i onal r equi r ed paramet ers her e
Input Parameters for CreateCustomerProfileThis function is used to create a new customer profile including any customer paymentprofiles and customer shipping addresses.
The following table lists the input parameters for executing an API call to theCreateCustomerProfile function.
Note
The sample code included in this document uses generic field values. Whenusing or testing sample code, be sure to enter valid field values. Additionalsample code is available for download from the Authorize.Net DeveloperCenter at http://developer.authorize.net/samplecode .
Table 5 Input Parameters for CreateCustomerProfile
Field Description
profile Value : Contains information for the customer profile
Type: CustomerProfileType
Notes : At least one of the following fields must be submitted under profile:
merchantCustomerId, description, or email.merchantCustomerId Value : Merchant assigned ID for the customer
Conditional
Format : Up to 20 characters
Notes : Required only if no values for both description and email are submitted.
description Value : Description of the customer or customer profile
Conditional
Format : Up to 255 characters
Notes : Required only if no values for both merchantCustomerId and email aresubmitted.
email Value : Email address associated with the customer profile
Conditional
Format : Up to 255 characters
Notes : Required if no values for both description and merchantCustomerId aresubmitted.
Required only when using a European payment processor.
http://developer.authorize.net/samplecodehttp://developer.authorize.net/samplecode8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
17/91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
18/91
Customer Information Manager Guide | June 2014 18
Chapter 2 Executing an API Call
zip Value : The ZIP code of the customers address
Optional
Format : Up to 20 characters (no symbols)
Notes : Required only when using a European payment processor.
country Value : The country of the customers address
Optional
Format : Up to 60 characters (no symbols)
Notes : Required only when using a European payment processor.
phoneNumber Value : The phone number associated with the customer profile
Optional
Format : Up to 25 digits (no letters) For example, (123)123-1234
faxNumber Value : The fax number associated with the customer profile
Optional
Format : Up to 25 digits (no letters) For example, (123)123-1234
payment Value : Contains payment profile information for the customer profile
Type : PaymentSimpleType
Notes : Can contain CreditCardSimpleType or BankAccountType.
creditCard Value : Contains credit card payment information for the payment profile
Type : CreditCardSimpleType
Notes : This parameter and its children are only required when the payment
profile is credit card. cardNumber Value : The customers credit card number
Format : 13 to 16 digits
expirationDate Value : The expiration date for the customers credit card
Format : YYYY-MM
Notes : For .Net users, the classSystem.Runtime.Remoting.Metadata.W3cXsd2001.SoapYearMonth can beused to manage gYearMonth types.
Table 5 Input Parameters for CreateCustomerProfile (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
19/91
Customer Information Manager Guide | June 2014 19
Chapter 2 Executing an API Call
cardCode Value : The three- or four-digit number on the back of a credit card (on the frontfor American Express)
OptionalFormat : Numeric
Notes : This field is required if the merchant would like to use the Card CodeVerification (CCV) security feature. For more information, see the MerchantIntegration Guide at http://www.authorize.net/support/merchant/ .
cardCode is used only for validation and is not stored in the customer profile.Use it only when submitting validationMode with a value of testMode orliveMode.
bankAccount Value : Contains bank account payment information for the payment profile
Type : BankAccountType
Notes : This parameter and its children are required only when the paymentprofile is bank account.
accountType Value : The type of bank account for the payment profile
Optional
type : BankAccountTypeEnum
Format : checking , savings, or businessChecking
routingNumber Value : The routing number of the customers bank
Format : 9 digits
accountNumber Value : The customers bank account number
Format : 5 to 17 digits
nameOnAccount Value : The customers full name as listed on the bank account
Format : Up to 22 characters
echeckType Value : The type of electronic check transaction
Optional
Type : EcheckTypeEnum
Format : CCD, PPD, TEL, or WEB
Notes : Currently, the CIM API does not support ARC or BOC transaction types.
bankName Value : The name of the bank associated with the bank account number
Optional
Format : Up to 50 characters
shipToList Value : Contains shipping address information for the customer profile
Type : CustomerAddressType
firstName Value : The customers first name
Optional
Format : Up to 50 characters (no symbols)
Table 5 Input Parameters for CreateCustomerProfile (Continued)
Field Description
http://www.authorize.net/support/merchant/http://www.authorize.net/support/merchant/8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
20/91
Customer Information Manager Guide | June 2014 20
Chapter 2 Executing an API Call
lastName Value : The customers last name
Optional
Format : Up to 50 characters (no symbols)
company Value : The name of the company associated with the customer, if applicable
Optional
Format : Up to 50 characters (no symbols)
address Value : The customers shipping address
Optional
Format : Up to 60 characters (no symbols)
city Value : The city of the customers shipping address
Optional
Format : Up to 40 characters (no symbols)
state Value : The state of the customers shipping address
Optional
Format : Up to 40 characters (no symbols)
zip Value : The ZIP code of the customers shipping address
Optional
Format : Up to 20 characters (no symbols)
country Value : The country of the customers shipping address
Optional
Format : Up to 60 characters (no symbols)
phoneNumber Value : The phone number associated with the customer profile
Optional
Format : Up to 25 digits (no letters)
For example, (123)123-1234
faxNumber Value : The fax number associated with the customer profile
Optional
Format : Up to 25 digits (no letters)
For example, (123)123-1234
validationMode Value : Indicates the processing mode for the request
Optional
Format : none, testMode, or liveMode
Notes : For more information on use and restrictions of validationMode, see"The validationMode Parameter," page 14 .
Table 5 Input Parameters for CreateCustomerProfile (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
21/91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
22/91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
23/91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
24/91
Customer Information Manager Guide | June 2014 24
Chapter 2 Executing an API Call
For information about output parameters for this function, see the section of this document
titled "Output for CreateCustomerPaymentProfileResponse."
bankAccount Value : Contains bank account payment information for the customer profile
Type : BankAccountType
Notes : This parameter and its children arerequired only when the paymentprofile is bank account.
accountType Value : The type of bank account for the payment profile
Optional
Type : BankAccountTypeEnum
Format : checking, savings, or businessChecking
routingNumber Value : The routing number of the customers bank
Format : 9 digits
accountNumber Value : The customers bank account number
Format : 5 to 17 digitsnameOnAccount Value : The customers full name as listed on the bank account
Format : Up to 22 characters
echeckType Value : The type of electronic check transaction
Optional
Type : EcheckTypeEnum
Format : CCD, PPD, TEL, or WEB
Notes : Currently, the CIM API does not support ARC or BOC transactiontypes.
bankName Value : The name of the bank associated with the bank account number
Optional
Format : Up to 50 characters
validationMode Value : Indicates the processing mode for the request
Type : ValidationModeEnum
Format : none, testMode, or liveMode
Notes : For more information on use and restrictions of validationMode,see "The validationMode Parameter," page 14 .
Table 6 Input Parameters for CreateCustomerPaymentProfile (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
25/91
Customer Information Manager Guide | June 2014 25
Chapter 2 Executing an API Call
Input Parameters forCreateCustomerShippingAddressThis function is used to create a new customer shipping address for an existing customerprofile.
The following table lists the input parameters for executing an API call to theCreateCustomerShippingAddress function.
Table 7 Input Parameters for CreateCustomerShippingAddress
Field Description
customerProfileId Value : Payment gateway assigned ID associated with the customer profile
Format : Numeric
address Value : Contains shipping address information for the customer profile
Type : CustomerAddressType
firstName Value : The customers first name
Optional
Format : Up to 50 characters (no symbols)
lastName Value : The customers last name
Optional
Format : Up to 50 characters (no symbols)
company Value : The name of the company associated with the customer, ifapplicable
Optional
Format : Up to 50 characters (no symbols)address Value : The customers shipping address
Optional
Format : Up to 60 characters (no symbols)
city Value : The city of the customers shipping address
Optional
Format : Up to 40 characters (no symbols)
state Value : The state of the customers shipping address
Optional
Format : Up to 40 characters (no symbols)zip Value : The ZIP code of the customers shipping address
Optional
Format : Up to 20 characters (no symbols)
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
26/91
Customer Information Manager Guide | June 2014 26
Chapter 2 Executing an API Call
For information about output parameters for this function, see the section of this documenttitled "Output for CreateCustomerShippingAddressResponse."
Input Parameters forCreateCustomerProfileTransactionThis function is used to create a payment transaction from an existing customer profile.You can submit one of six transaction types: Authorization Only, Authorization andCapture, Capture Only, Prior Authorization and Capture, Refund, and Void. For moreinformation on these transaction types, see the Merchant Integration Guide at http://
www.authorize.net/support/merchant/ .
For Authorization Only transactionsThe following table lists the input parameters for executing an API call to theCreateCustomerProfileTransaction function for an Authorization Only transaction.
country Value : The country of the customers shipping address
Optional
Format : Up to 60 characters (no symbols)
phoneNumber Value : The phone number associated with the customers shippingaddress
Optional
Format : Up to 25 digits (no letters) For example, (123)123-1234
faxNumber Value : The fax number associated with the customers shipping address
Optional
Format : Up to 25 digits (no letters) For example, (123)123-1234
Table 7 Input Parameters for CreateCustomerShippingAddress (Continued)
Field Description
Note
The only transaction types that generate a customer receipt email are Authorization Only, Authorization and Capture, and Refund.
Table 8 Input Parameters for CreateCustomerProfileTransaction
Field Description
transaction Value : Contains transactioninformation
Type : ProfileTransactionType
http://www.authorize.net/support/merchant/http://www.authorize.net/support/merchant/http://www.authorize.net/support/merchant/http://www.authorize.net/support/merchant/8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
27/91
Customer Information Manager Guide | June 2014 27
Chapter 2 Executing an API Call
profileTransAuthOnly Value : The transaction type that is being requested
Type : ProfileTransAuthOnlyType
Notes : Only one transaction type is allowed per request.
amount Value : The total amount of the transaction
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount should include all other amountssuch as tax amount, shipping amount, etc.
tax Value : Contains tax information for the transaction
Optional
Type : ExtendedAmountType
amount Value : The tax amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the total amountfor the transaction.
name Value : The name of the tax for the transaction
Optional
Format : Up to 31 characters description Value : The tax description for the transaction
Optional
Format : Up to 255 characters
shipping Value : Contains shipping information for the transaction
Optional
Type : ExtendedAmountType
amount Value : The shipping amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the total amountfor the transaction.
Table 8 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
28/91
Customer Information Manager Guide | June 2014 28
Chapter 2 Executing an API Call
name Value : The name of the shipping for the transaction
Optional
Format : Up to 31 characters
description Value : The shipping description for the transaction
Optional
Format : Up to 255 characters
duty Value : Contains duty information for the transaction
Optional
Type : ExtendedAmountType
amount Value : The duty amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the total amountfor the transaction.
name Value : The name of the duty for the transaction
Optional
vUp to 31 characters
description Value : The duty description for the transaction
Optional
Format : Up to 255 characters
lineItems Value : Contains line item details about the order
Optional
Type : LineItemType
Notes : Up to 30 distinct instances of this parameter andits children can be included per transaction to describeitems included in the order.
itemId Value : The ID assigned to the item
Optional
Format : Up to 31 characters name Value : A short description of an item
Optional
Format : Up to 31 characters
Table 8 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
29/91
Customer Information Manager Guide | June 2014 29
Chapter 2 Executing an API Call
description Value : A detailed description of an item
Optional
Format : Up to 255 characters
quantity Value : The quantity of an item
Optional
Format : Up to 4 digits (up to two decimal places)
unitPrice Value : Cost of an item per unit excluding tax, freight, andduty
Optional
Format : Up to 4 digits with a decimal point (no dollarsymbol)
For example, 4.95
taxable Value : Indicates whether the item is subject to tax
Optional
Format : true or false
customerProfileId Value : Payment gateway assigned ID associated withthe customer profile
Format : Numeric
customerPaymentProfileId Value : Payment gateway assigned ID associated withthe customer payment profile
Format : Numeric
customerShippingAddressId Value : Payment gateway assigned ID associated withthe customer shipping address
Optional
Format : Numeric
Notes : If customerShippingAddressId is not passed,shipping information will not be included with thetransaction.
order Value : Contains information about the order
Optional
Type : OrderExType
invoiceNumber Value : The merchant assigned invoice number for thetransaction
Optional
Format : Up to 20 characters (no symbols)
Table 8 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
30/91
Customer Information Manager Guide | June 2014 30
Chapter 2 Executing an API Call
For information about output parameters for this function, see the section of this documenttitled "Input Parameters for CreateCustomerProfileTransaction."
description Value : The transaction description
Optional
Format : Up to 255 characters (no symbols)
purchaseOrderNumber Value : The merchant assigned purchase order number
Optional
Format : Up to 25 characters (no symbols)
taxExempt Value : The tax exempt status
Optional
Format : true or false
recurringBilling Value : The recurring billing status
Optional
Format : true or false
cardCode Value : The customers card code (the three- or four-digitnumber on the back or front of a credit card)
Conditional.
Format : 3 to 4 digits
Notes : This field is required if the merchant would like touse the Card Code Verification (CCV) security feature.For more information, see the Merchant IntegrationGuide at http://www.authorize.net/support/merchant/
splitTenderId Value : Payment gateway-assigned number associated
with the order.Conditional
Format : Up to 6 digits
Notes : This field is required for second and subsequenttransactions related to a partial authorizaqtiontransaction.
extraOptions Value : Information in name/value pair format that doesnot exist within CIM, such as customer IP address, etc.
Optional
Format : String
Notes : For a complete list of the transaction variablenames available, review the AIM Implementation Guide located at http://www.authorize.net/support/AIM_guide.pdf .
Table 8 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
http://www.authorize.net/support/merchant/http://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/merchant/8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
31/91
Customer Information Manager Guide | June 2014 31
Chapter 2 Executing an API Call
For Authorization and Capture TransactionsThe following table lists the input parameters for executing an API call to theCreateCustomerProfileTransaction function for an Authorization and Capture transaction.
Table 9 Input Parameters for CreateCustomerProfileTransaction
Field Description
transaction Value : Contains transaction information Type :ProfileTransactionType
profileTransAuthCapture Value : The transaction type that is beingrequested Type : ProfileTransAuthCaptureType
Notes : Only one transaction type is allowed perrequest.
amount Value : The total amount of the transaction
Format : Up to 4 digits after the decimal point (nodollar symbol)
For example, 12.99 or 12.9999
Notes : This amount should include all other amountssuch as tax amount, shipping amount, etc.
tax Value : Contains tax information for the transaction
Optional Type : ExtendedAmountType
amount Value : The tax amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (nodollar symbol)
For example, 12.99 or 12.9999Notes : This amount must be included in the totalamount for the transaction.
name Value : The name of the tax for the transaction
Optional
Format : Up to 31 characters
description Value : The tax description for the transaction
Optional
Format : Up to 255 characters
shipping Value : Contains shipping information for thetransaction
Optional
Type : ExtendedAmountType
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
32/91
Customer Information Manager Guide | June 2014 32
Chapter 2 Executing an API Call
amount Value : The shipping amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (nodollar symbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the totalamount for the transaction.
name Value : The name of the shipping for the transaction
Optional
Format : Up to 31 characters
description Value : The shipping description for the transaction
Optional
Format : Up to 255 characters
duty Value : Contains duty information for the transaction
Optional
Type : ExtendedAmountType
amount Value : The duty amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (nodollar symbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the totalamount for the transaction.
name Value : The name of the duty for the transaction
Optional
Format : Up to 31 characters
description Value : The duty description for the transaction
Optional
Format : Up to 255 characters
lineItems Value : Contains line item details about the order
OptionalType : LineItemType
Notes : Up to 30 distinct instances of this parameterand its children can be included per transaction todescribe items included in the order.
Table 9 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
33/91
Customer Information Manager Guide | June 2014 33
Chapter 2 Executing an API Call
itemId Value : The ID assigned to the item
Optional
Format : Up to 31 characters
name Value : A short description of an item
Optional
Format : Up to 31 characters
description Value : A detailed description of an item
Optional
Format : Up to 255 characters
quantity Value : The quantity of an item
Optional
Format : Up to 4 digits (up to two decimal places)
unitPrice Value : Cost of an item per unit excluding tax, freight,and duty
Optional
Format : Up to 4 digits with a decimal point (no dollarsymbol)
For example, 4.95
taxable Value : Indicates whether the item is subject to tax
Optional
Format : TRUE or FALSE
customerProfileId Value : Payment gateway-assigned ID associatedwith the customer profile
Format : Numeric
customerPaymentProfileId Value : Payment gateway-assigned ID associatedwith the customer payment profile
Format : Numeric
customerShippingAddressId Value : Payment gateway-assigned ID associatedwith the customer shipping address
Optional
Format : NumericNotes : If customerShippingAddressId is not passed,shipping information will not be included with thetransaction.
order Value : Contains information about the order
Optional Type : OrderExType
Table 9 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
34/91
Customer Information Manager Guide | June 2014 34
Chapter 2 Executing an API Call
invoiceNumber Value : The merchant-assigned invoice number forthe transaction
OptionalFormat : Up to 20 characters (no symbols)
description Value : The transaction description
Optional
Format : Up to 255 characters (no symbols)
purchaseOrderNumber Value : The merchant-assigned purchase ordernumber
Optional
Format : Up to 25 characters (no symbols)
taxExempt Value : The tax exempt status
Optional
Format : TRUE or FALSE
recurringBilling Value : The recurring billing status
Optional
Format : TRUE or FALSE
cardCode The customers card code (the three- or four-digitnumber on the back or front of a credit card)
Conditional
Format : 3 to 4 digits
Notes : This field is required if the merchant would liketo use the Card Code Verification (CCV) securityfeature. For more information, see the MerchantIntegration Guide at http://www.authorize.net/support/merchant/default.htm.
splitTenderId Value: The payment gateway-assigned numberassociated with the order.
Conditional
Format : Up to 6 digits
Notes : This field is required for second andsubsequent transactions related to a partialauthorization transaction.
Table 9 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
http://www.authorize.net/support/merchant/http://www.authorize.net/support/merchant/http://www.authorize.net/support/merchant/http://www.authorize.net/support/merchant/8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
35/91
Customer Information Manager Guide | June 2014 35
Chapter 2 Executing an API Call
For information about output parameters for this function, see the section of this documenttitled "Output for CreateCustomerProfileTransactionResponse."
extraOptions Information in name/value pair format that does notexist within CIM, such as customer IP address, etc.
OptionalFormat : String
Notes : For a complete list of the transaction variablenames available, review the AIM ImplementationGuide located at http://www.authorize.net/support/
AIM_guide.pdf .
Table 9 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
http://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdf8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
36/91
Customer Information Manager Guide | June 2014 36
Chapter 2 Executing an API Call
For Capture Only TransactionsThe following table lists the input parameters for executing an API call to theCreateCustomerProfileTransaction function for a Capture Only transaction.
Table 10 Input Parameters for CreateCustomerProfileTransaction
Field Description
transaction Value : Contains transaction information
Type : ProfileTransactionType
profileTransCaptureOnly Value : The transaction type that is being requested
Type : ProfileTransCaptureOnlyType
Notes : Only one transaction type is allowed perrequest.
amount Value : The total amount of the transaction
Format : Up to 4 digits after the decimal point (no dollar
symbol)For example, 12.99 or 12.9999
Notes : This amount should include all other amountssuch as tax amount, shipping amount, etc.
tax Value : Contains tax information for the transaction
Optional
Type : ExtendedAmountType
amount Value : The tax amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the totalamount for the transaction.
name Value : The name of the tax for the transaction
Optional
Format : Up to 31 characters
description Value : The tax description for the transaction
Optional
Format : Up to 255 charactersshipping Value : Contains shipping information for the transaction
Optional Type : ExtendedAmountType
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
37/91
Customer Information Manager Guide | June 2014 37
Chapter 2 Executing an API Call
amount Value : The shipping amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the totalamount for the transaction.
name Value : The name of the shipping for the transaction
Optional
Format : Up to 31 characters
description Value : The shipping description for the transaction
Optional
Format : Up to 255 characters
duty Value : Contains duty information for the transaction
Optional
Type : ExtendedAmountType
amount Value : The duty amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the totalamount for the transaction.
name Value : The name of the duty for the transaction
Optional
Format : Up to 31 characters
description Value : The duty description for the transaction
Optional
Format : Up to 255 characters
lineItems Value : Contains line item details about the order
Optional Type : LineItemTypeNotes : Up to 30 distinct instances of this parameter andits children can be included per transaction to describeitems included in the order.
itemId Value : The ID assigned to the item
Optional
Format : Up to 31 characters
Table 10 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
38/91
Customer Information Manager Guide | June 2014 38
Chapter 2 Executing an API Call
name Value : A short description of an item
Optional
Format : Up to 31 characters
description Value : A detailed description of an item
Optional
Format : Up to 255 characters
quantity Value : The quantity of an item
Optional
Format : Up to 4 digits (up to two decimal places)
unitPrice Value : Cost of an item per unit excluding tax, freight,and duty
OptionalFormat : Up to 4 digits with a decimal point (no dollarsymbol)
For example, 4.95
taxable Value : Indicates whether the item is subject to tax
Optional
Format : TRUE or FALSE
customerProfileId Value : Payment gateway assigned ID associated withthe customer profile
Format : Numeric
customerPaymentProfileId Value : Payment gateway assigned ID associated withthe customer payment profile
Format : Numeric
customerShippingAddressId Value : Payment gateway assigned ID associated withthe customer shipping address
Optional
Format : Numeric
Notes : If customerShippingAddressId is not passed,shipping information will not be included with thetransaction.
order Value : Contains information about the order
Optional
Type : OrderExType
Table 10 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
39/91
Customer Information Manager Guide | June 2014 39
Chapter 2 Executing an API Call
invoiceNumber Value : The merchant assigned invoice number for thetransaction
OptionalFormat : Up to 20 characters (no symbols)
description Value : The transaction description
Optional
Format : Up to 255 characters (no symbols)
purchaseOrderNumber Value : The merchant assigned purchase order number
Optional
Format : Up to 25 characters (no symbols)
taxExempt Value : The tax exempt status
OptionalFormat : TRUE or FALSE
recurringBilling Value : The recurring billing status
Optional
Format : TRUE or FALSE
cardCode Value : The customers card code (the three- or four-digitnumber on the back or front of a credit card)
Conditional
Format : 3 to 4 digits
Notes : This field is required if the merchant would like touse the Card Code Verification (CCV) security feature.For more information, see the Merchant IntegrationGuide at http://www.authorize.net/support/Merchant/default.htm .
splitTenderId Value: Payment gateway-assigned number associatedwith the order.
Conditional
Format : Up to 6 digits
Notes : This field is only required for second andsubsequent transactions related to a partialauthorizaqtion transaction.
approvalCode Value : The authorization code of an original transactionrequired for a Capture Only
Conditional
Format : 6 characters
Notes : This field is onlyrequired for the Capture Onlytransaction type.
Table 10 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
http://www.authorize.net/support/Merchant/default.htmhttp://www.authorize.net/support/Merchant/default.htmhttp://www.authorize.net/support/Merchant/default.htmhttp://www.authorize.net/support/Merchant/default.htm8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
40/91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
41/91
Customer Information Manager Guide | June 2014 41
Chapter 2 Executing an API Call
amount Value : The tax amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
for example, 12.99 or 12.9999
Notes : This amount must be included in the total amountfor the transaction.
name Value : The name of the tax for the transaction
Optional
Format : Up to 31 characters
description Value : The tax description for the transaction
Optional
Format : Up to 255 characters
shipping Value : Contains shipping information for the transaction
Optional
Type : ExtendedAmountType
Notes : Shipping information from the originalauthorization transaction will be used if this field is notsubmitted.
amount Value : The shipping amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the total amountfor the transaction.
name Value : The name of the shipping for the transaction
Optional
Format : Up to 31 characters
description Value : The shipping description for the transaction
Optional
Format : Up to 255 characters
duty Value : Contains duty information for the transaction
Optional
Type : ExtendedAmountType
Notes : Duty information from the original authorizationtransaction will be used if this field is not submitted.
Table 11 Input Parameters for CreateCustomerProfil eTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
42/91
Customer Information Manager Guide | June 2014 42
Chapter 2 Executing an API Call
amount Value : The duty amount for the transaction
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the total amountfor the transaction.
name Value : The name of the duty for the transaction
Optional
Format : Up to 31 characters
description Value : The duty description for the transaction
Optional
Format : Up to 255 characters
lineItems Value : Contains line item details about the order
Optional
Type : LineItemType
Notes : Line item information from the originalauthorization transaction will be used if this field is notsubmitted.
Up to 30 distinct instances of this parameter and itschildren can be included per transaction to describeitems included in the order.
itemId Value : The ID assigned to the item
Optional
Format : Up to 31 characters
name Value : A short description of an item
Optional
Format : Up to 31 characters
description Value : A detailed description of an item
Optional
Format : Up to 255 characters
quantity Value : The quantity of an item
Optional
Format : Up to 4 digits (up to two decimal places)
Table 11 Input Parameters for CreateCustomerProfil eTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
43/91
Customer Information Manager Guide | June 2014 43
Chapter 2 Executing an API Call
For information about output parameters for this function, see the section of this documenttitled "Output for CreateCustomerProfileTransactionResponse."
unitPrice Value : Cost of an item per unit excluding tax, freight, andduty
OptionalFormat : Up to 4 digits with a decimal point (no dollarsymbol)
For example, 4.95
taxable Value : Indicates whether the item is subject to tax
Optional
Format : TRUE or FALSE
customerProfileId Value : Payment gateway-assigned ID associated withthe customer profile
Format : Numeric
Notes : If a value is submitted for this field, it must be thesame ID used for the original authorization transaction.
customerPaymentProfileId Value : Payment gateway-assigned ID associated withthe customer payment profile
Format : Numeric
Notes : If a value is submitted for this field, it must be thesame ID used for the original authorization transaction.
customerShippingAddressId Value : Payment gateway-assigned ID associated withthe customer shipping address
Optional
Format : Numeric
Notes : If a value is submitted for this field, it must be thesame ID used for the original authorization transaction.
transId Value : The payment gateway-assigned transaction ID ofthe original transaction
Format : Numeric
extraOptions Value : Information in name/value pair format that doesnot exist within CIM, such as customer IP address, etc.
Optional
Format : String
Notes : For a complete list of the transaction variablenames available, review the AIM Implementation Guidelocated at http://www.authorize.net/support/AIM_guide.pdf.
Table 11 Input Parameters for CreateCustomerProfil eTransaction (Continued)
Field Description
http://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdf8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
44/91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
45/91
Customer Information Manager Guide | June 2014 45
Chapter 2 Executing an API Call
tax Value : Contains tax information for the refund
Optional
Type : ExtendedAmountType
amount Value : The tax amount to be refunded
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the total amountfor the transaction.
name Value : The name of the tax for the transaction
Optional
Format : Up to 31 characters
description Value : The tax description for the transaction
Optional
Format : Up to 255 characters
shipping Value : Contains shipping information for the refund
Optional
Type : ExtendedAmountType
amount Value : The shipping amount to be refunded
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the total amountfor the transaction.
name Value : The name of the shipping for the transaction
Optional
Format : Up to 31 characters
description Value : The shipping description for the transaction
OptionalFormat : Up to 255 characters
duty Value : Contains duty information for the refund
Optional
Type : ExtendedAmountType
Table 12 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
46/91
Customer Information Manager Guide | June 2014 46
Chapter 2 Executing an API Call
amount Value : The duty amount to be refunded
Optional
Format : Up to 4 digits after the decimal point (no dollarsymbol)
For example, 12.99 or 12.9999
Notes : This amount must be included in the total amountfor the transaction.
name Value : The name of the duty for the transaction
Optional
Format : Up to 31 characters
description Value : The duty description for the transaction
Optional
Up to 255 characters Format :
lineItems Value : Contains line item details about the refund
Optional
Type : LineItemType
Notes : Up to 30 distinct instances of this parameter andits children can be included per transaction to describeitems included in the order.
itemId Value : The ID assigned to the item
Optional
Format : Up to 31 characters name Value : A short description of an item
Optional
Format : Up to 31 characters
description Value : A detailed description of an item
Optional
Format : Up to 255 characters
quantity Value : The quantity of an item
Optional
Format : Up to 4 digits (up to two decimal places) unitPrice Value : Cost of an item per unit excluding tax, freight, and
duty
Optional
Format : Up to 4 digits with a decimal point (no dollarsymbol). For example, 4.95
Table 12 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
47/91
Customer Information Manager Guide | June 2014 47
Chapter 2 Executing an API Call
taxable Value : Indicates whether the item is subject to tax
Optional
Format : TRUE or FALSE
customerProfileId Value : Payment gateway assigned ID associated withthe customer profile
Conditional
Format : Numeric
Notes : If a value is submitted for this field, it must be thesame ID used for the original transaction.
For more complete information, see "For RefundTransactions," page 44
customerPaymentProfileId Value : Payment gateway assigned ID associated with
the customer payment profileConditional
Format : Numeric
Notes : If a value is submitted for this field, it must be thesame ID used for the original transaction.
For more complete information, see "For RefundTransactions," page 44 .
customerShippingAddressId Value : Payment gateway assigned ID associated withthe customer shipping address
Optional
Format : Numeric
Notes : If a value is submitted for this field, it must be thesame ID used for the original authorization transaction.
For more complete information, see "For RefundTransactions," page 44 .
creditCardNumberMasked Value : The last four digits of the credit card number to berefunded
Conditional
Format : Four Xs followed by the last four digits of thecredit card number to be refunded.
For example, XXXX1234Notes : If a value is submitted, the last four digits must bethe same ones used for the original transaction.
For more complete information, see "For RefundTransactions," page 44 .
Table 12 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
48/91
Customer Information Manager Guide | June 2014 48
Chapter 2 Executing an API Call
bankRoutingNumberMasked Value : The last four digits of the routing number to berefunded
ConditionalFormat : Four Xs followed by the last four digits of therouting number to be refunded.
For example, XXXX1234
Notes : If a value is submitted, the last four digits must bethe same ones used for the original transaction.
For more complete information, see "For RefundTransactions," page 44 .
bankAccountNumberMasked Value : The last four digits of the bank account number tobe refunded
ConditionalFormat : Four Xs followed by the last four digits of thebank account to be refunded.
For example, XXXX1234
Notes : If a value is submitted, the last four digits must bethe same ones used for the original transaction.
For more complete information, see "For RefundTransactions," page 44 .
order Value : Contains information about the order
Optional
invoiceNumber Value : The merchant assigned invoice number for thetransaction
Optional
Format : Up to 20 characters (no symbols)
description Value : The transaction description
Optional
Format : Up to 255 characters (no symbols)
purchaseOrderNumber Value : The merchant assigned purchase order number
Optional
Format : Up to 25 characters (no symbols)
transId Value : The payment gateway assigned transaction ID ofthe original transaction.
Conditional
Format : Numeric
Notes : For more complete information, see "For RefundTransactions," page 44 .
Table 12 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
49/91
Customer Information Manager Guide | June 2014 49
Chapter 2 Executing an API Call
For information about output parameters for this function, see the section of this documenttitled "Input Parameters for CreateCustomerProfileTransaction."
For a Void TransactionThe following table lists the input parameters for executing an API call to theCreateCustomerProfileTransaction function for a Void transaction.
extraOptions Value : Information in name/value pair format that doesnot exist within CIM, such as customer IP address, etc.
OptionalFormat : String
Notes : For a complete list of the transaction variablenames available, review the AIM Implementation Guide located at http://www.authorize.net/support/AIM_guide.pdf.
Table 12 Input Parameters for CreateCustomerProfileTransaction (Continued)
Field Description
Table 13 Input Parameters for CreateCustomerProfileTransaction
Field Description
transaction Value : Contains transaction information
Type : ProfileTransactionType
profileTransVoid Value : The transaction type that is being requested
Type : ProfileTransVoidType
Notes : Only one transaction type is allowed per request.
customerProfileId Value : Payment gateway assigned ID associated with thecustomer profile
Conditional
Format : Numeric
Notes : If a value is submitted for this field, it must be the sameID used for the original transaction.
customerPaymentProfileId Value : Payment gateway assigned ID associated with thecustomer payment profile
ConditionalFormat : Numeric
Notes : If a value is submitted for this field, it must be the sameID used for the original transaction.
http://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdfhttp://www.authorize.net/support/AIM_guide.pdf8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
50/91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
51/91
Customer Information Manager Guide | June 2014 51
Chapter 2 Executing an API Call
The following table lists the input parameters for executing an API call to theDeleteCustomerPaymentProfile function.
For information about output parameters for this function, see the section of this documenttitled "Output for DeleteCustomerPaymentProfileResponse."
Input Parameters forDeleteCustomerShippingAddressThis function is used to delete a customer shipping address from an existing customerprofile.
The following table lists the input parameters for executing an API call to theDeleteCustomerShippingAddress function.
For information about output parameters for this function, see the section of this document"Output for DeleteCustomerShippingAddressResponse."
Input Parameters for GetCustomerProfileIdsThis function is used to retrieve all existing customer profile IDs.
Table 15 Input Parameters for DeleteCustom erPaymentProfil e
Field Description
customerProfileId Value : Payment gateway-assigned ID associated with the customer profile
Format : Numeric
customerPaymentProfileId Value : Payment gateway assigned ID associated with the customerpayment profile
Format : Numeric
Table 16 Input Parameters for DeleteCustom erShippingA ddress
Field DescriptioncustomerProfileId Value : Payment gateway-assigned ID associated with the customer profile
Format : Numeric
customerShippingAddressId Value : Payment gateway-assigned ID associated with the customershipping address
Format : Numeric
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
52/91
Customer Information Manager Guide | June 2014 52
Chapter 2 Executing an API Call
The following table lists the input parameters for executing an API call to theGetCustomerProfileIds function.
For information about output parameters for this function, see the section of this documenttitled "Output for GetCustomerProfileIdsResponse."
Input Parameters for GetCustomerProfileThis function is used to retrieve an existing customer profile along with all the associatedpayment profiles and shipping addresses.
The following table lists the input parameters for executing an API call to theGetCustomerProfile function.
For information about output parameters for this function, see the section of this documenttitled "Output for GetCustomerProfileResponse."
Table 17 Input Parameters for GetCustomerProfi leIds
Field Description
merchantAuthentication Value : Contains unique merchant information for purposes of authentication
name Value : The valid API Login ID for the developer test or merchant account
Format : Up to 25 characters
Notes : Submit the API Login ID used to submit transactions
transactionKey Value : The valid Transaction Key for the developer test or merchant account
Format : 16 characters
Notes : Submit the Transaction Key obtained from the Merchant Interface
Table 18 Input Parameters for GetCustomerProfile
Field Description
customerProfileId Value : Payment gateway-assigned ID associated with the customerprofile
Format : Numeric
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
53/91
Customer Information Manager Guide | June 2014 53
Chapter 2 Executing an API Call
Input Parameters forGetCustomerPaymentProfileThis function is used to retrieve a customer payment profile for an existing customerprofile.
The following table lists the input parameters for executing an API call to theGetCustomerPaymentProfile function.
For information about output parameters for this function, see the section of this documenttitled "Output for GetCustomerProfileResponse."
Input Parameters forGetCustomerShippingAddress
This function is used to retrieve a customer shipping address for an existing customerprofile.
The following table lists the input parameters for executing an API call to theGetCustomerShippingAddress function.
For information about output parameters for this function, see the section of this documenttitled "Output for GetCustomerShippingAddressResponse."
Table 19 Input Parameters for GetCustomerPaymentProfile
Field Description
customerProfileId Value : Payment gateway-assigned ID associated with thecustomer profile
Format : Numeric
customerPaymentProfileId Value : Payment gateway-assigned ID associated with thecustomer payment profile
Format : Numeric
Table 20 Input Parameters for GetCustomerShippingAddress
Field Description
customerProfileId Value : Payment gateway-assigned ID associated with the customer profile
Format : Numeric
customerShippingAddressId Value : Payment gateway-assigned ID associated with the customershipping address
Format : Numeric
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
54/91
Customer Information Manager Guide | June 2014 54
Chapter 2 Executing an API Call
Input Parameters for GetHostedProfilePageUse this function to initiate a request for direct access to the Authorize.Net website. Formore information on using the hosted form, see "Using a Hosted Form," page 82 .
The following table lists the input parameters for executing an API call to theGetHostedProfilePage function.
Example st r i ng st r i ng 111111 st r i ng st r i ng st r i ng st r i ng
Table 21 Input Parameters for GetHostedProfilePage
Field Description
customerProfileId Value : Payment gateway assigned ID associated with the customer profile
Format: Numeric
hostedProfileSettings Value : Optional. This is an array of settings for the session.
settingName Value : Optional. One of:
hostedProfileReturnUrl
hostedProfileReturnUrlTexthostedProfileHeadingBgColor
hostedProfilePageBorderVisible
hostedProfileIFrameCommunicatorUrl
hostedProfileValidationMode
settingValue Value : See "Guidelines for Parameter Settings," page 85 for a detailed descriptionof these parameters.
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
55/91
Customer Information Manager Guide | June 2014 55
Chapter 2 Executing an API Call
Input Parameters for UpdateCustomerProfileThis function is used to update an existing customer profile.
The following table lists the input parameters for executing an API call to theUpdateCustomerProfile function.
For information about output parameters for this function, see the section of this documenttitled "Output for UpdateCustomerProfileResponse."
Input Parameters forUpdateCustomerPaymentProfileThis function is used to update a payment profile for an existing customer profile.
Table 22 Input Parameters for UpdateCustomerProfile
Field Description
profile Value : Contains payment information for the customer profile
Type : CustomerProfileExType
merchantCustomerId Value : Merchant assigned ID for the customer
OptionalFormat: Up to 20 characters
description Value : Description of the customer or customer profile
Optional
Format: Up to 255 characters
email Value : Email address associated with the customer profile
Optional
Format: Up to 255 characters
customerProfileId Value : Payment gateway assigned ID associated with the customer profile
Format: Numeric
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
56/91
Customer Information Manager Guide | June 2014 56
Chapter 2 Executing an API Call
The following table lists the input parameters for executing an API call to theUpdateCustomerPaymentProfile function.
Note
If some fields in this request are not submitted or are submitted with a blankvalue, the values in the original profile are removed. As a best practice to
prevent this from happening, call Get Cust omer Payment Pr of i l e beforecalling Updat eCust omer Payment Pr of i l e . That will return all currentinformation including masked payment information. Then, simply change thefield that needs updating and use that to callUpdat eCust omer Payment Pr of i l e .
Table 23 Input Parameters for UpdateCustomerPaymentProfil e
Field Description
customerProfileId Value : Payment gateway-assigned ID associated with the customer profile
Format: Numeric
paymentProfile Value : Contains payment information for the customer profile
Type : CustomerPaymentProfileExType
Notes : Sensitive information that is not being updated can be masked.
customerType Optional
Type : CustomerTypeEnum
Format: individual or business
Notes : If this field is not submitted in the request, or submitted with a blankvalue, the original value will be removed from the profile.
billTo Type : CustomerAddressType
Notes : If this entire section is not submitted, the original billing informationfor the profile will stay the same.
If updating only one or more elements under billTo, all elements must besubmitted with their valid values to prevent the original values from beingremoved.
firstName Value : The customers first name
Optional
Format: Up to 50 characters (no symbols)
Notes : If this field is not submitted in the request, or submitted with a blank
value, the original value will be removed from the profile.lastName Value : The customers last name
Optional
Format: Up to 50 characters (no symbols)
Notes : If this field is not submitted in the request, or submitted with a blankvalue, the original value will be removed from the profile.
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
57/91
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
58/91
Customer Information Manager Guide | June 2014 58
Chapter 2 Executing an API Call
faxNumber Value : The fax number associated with the customers address
Optional
Format: Up to 25 digits (no letters)
For example, (123)123-1234
Notes : If this field is not submitted in the request, or submitted with a blankvalue, the original value will be removed from the profile.
payment Value : Contains payment information for the customer profile
Type : PaymentSimpleType
Notes : Can contain CreditCardSimpleType or BankAccountType.
creditCard Value : Contains credit card payment information for the customer profile
Conditional
Type : CreditCardSimpleTypeNotes : This parameter and its children are only required when thepayment profile is credit card.
cardNumber Value : The customers credit card number
Format: 13 to 16 digits
Number can also be masked, for example, XXXX1111
Notes : If the value is masked, the last four digits must match the originalvalue in the profile.
If a masked value is submitted, the original value will not be updated.
expirationDate Value : The expiration date for the customers credit card
Format: YYYY-MM
Number can also be masked, for example, XXXX
Notes : If a masked value is submitted, the original value will not beupdated.
For .Net users, the classSystem.Runtime.Remoting.Metadata.W3cXsd2001.SoapYearMonth canbe used to manage gYearMonth types.
cardCode Value : The three- or four-digit number on the back of a credit card (on thefront for American Express)
Optional
Format: Numeric
Notes : This field is required if the merchant would like to use the CardCode Verification (CCV) security feature. For more information, see theMerchant Integration Guide at http://www.authorize.net/support/Merchant/default.htm.
cardCode is only used for validation and is not stored in the customerprofile. It should only be used when submitting validationMode with a valueof testMode or liveMode.
Table 23 Input Parameters for UpdateCustom erPaymentProfil e (Continued)
Field Description
http://www.authorize.net/support/Merchant/default.htmhttp://www.authorize.net/support/Merchant/default.htmhttp://www.authorize.net/support/Merchant/default.htmhttp://www.authorize.net/support/Merchant/default.htm8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
59/91
Customer Information Manager Guide | June 2014 59
Chapter 2 Executing an API Call
bankAccount Value : Contains bank account payment information for the customer profile
Conditional
Type : BankAccountType
Notes : This parameter and its children are only required when thepayment profile is bank account.
accountType Value : The type of bank account for the payment profile
Optional
type : BankAccountTypeEnum
Format: checking, savings, or businessChecking
Notes : If this field is not submitted in the request, or submitted with a blankvalue, the original value will be removed from the profile.
routingNumber Value : The routing number of the customers bank
Format: 9 digits
Number can also be masked, for example, XXXX1111
Notes : If the value is masked, the last four digits must match the originalvalue in the profile.
If a masked value is submitted, the original value will not be updated.
accountNumber Value : The customers bank account number
Format: 5 to 17 digits
Number can also be masked, for example, XXXX1111
Notes : If the value is masked, the last four digits must match the original
value in the profile.If a masked value is submitted, the original value will not be updated.
nameOnAccount Value : The customers full name as listed on the bank account
Format: Up to 22 characters
Notes : If this field is not submitted in the request, or submitted with a blankvalue, the original value will be removed from the profile.
echeckType Value : The type of electronic check transaction
Optional
Type : EcheckTypeEnum
Format: CCD, PPD, TEL, or WEBNotes : Currently, the CIM API does not support ARC or BOC transactiontypes.
If this field is not submitted in the request, or submitted with a blank value,the original value will be removed from the profile.
Table 23 Input Parameters for UpdateCustom erPaymentProfil e (Continued)
Field Description
8/10/2019 Merchant Web Services API Customer Information Manager (CIM) SOAP Guide
60/91
Customer Information Manager Guide | June 2014 60
Chapter 2 Executing an API Call
To test the validity of new payment information, call ValidateCustomerPaymentProfile aftersuccessfully updating the payment profile. See the section of this document titled "InputParameters for ValidateCustomerPaymentProfile" for more information.
For information about output parameters for this function, see the section of this documenttitled "Input Parameters for UpdateCustomerPaymentProfile."
Input Parameters forUpdateCustomerShippingAddressThis function is used to update a shipping address for an existing customer profile.
The following table lists the input parameters for executing an API call to theUpdateCustomerShippingAddress function.
bankName Value : The name of the bank associated with the bank account number
Optional
Format: Up to 50 characters
Notes : If this field is not submitted in the request, or submitted with a blankvalue, the original value will be removed from the profile.
customerPaymentProfileId Value : Payment gateway-assigned ID associated with the customerpayment profile
Format: Numeric
validationMode Value : Indicates the processing mode for the request
Format: none, testMode, or liveMode
Notes : For more information on use and restrictions of validationMode,see "The validationMode Parameter," page 14 .
Table 23 Input Parameters for UpdateCustom erPaymentProfil e (Continued)
Field Descriptio