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

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 89

DownloadCustomer Information Manager (CIM) Soap Guide Authorize.Net CIM
Open PDF In BrowserView PDF
Merchant Web Services API
Customer Information Manager (CIM)
SOAP Guide

Authorize.Net Developer Support
http://developer.authorize.net

Authorize.Net LLC 082007 Ver.1.0

Authorize.Net LLC (“Authorize.Net”) has made efforts to ensure the accuracy and completeness of
the information in this document. However, Authorize.Net disclaims all representations, warranties
and conditions, whether express or implied, arising by statute, operation of law, usage of trade,
course of dealing or otherwise, with respect to the information contained herein. Authorize.Net
assumes no liability to any party for any loss or damage, whether direct, indirect, incidental,
consequential, special or exemplary, with respect to (a) the information; and/or (b) the evaluation,
application or use of any product or service described herein.
Authorize.Net disclaims any and all representation that its products or services do not infringe upon
any existing or future intellectual property rights. Authorize.Net owns and retains all right, title and
interest in and to the Authorize.Net intellectual property, including without limitation, its patents,
marks, copyrights and technology associated with the Authorize.Net services. No title or ownership
of any of the foregoing is granted or otherwise transferred hereunder. Authorize.Net reserves the
right to make changes to any information herein without further notice.

Authorize.Net Trademarks:
Advanced Fraud Detection Suite™
Authorize.Net®
Authorize.Net Your Gateway to IP Transactions™
Authorize.Net Verified Merchant Seal™
Authorize.Net Where the World Transacts®
Automated Recurring Billing™
eCheck.Net®
FraudScreen.Net®

Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution

1

Table of Contents
Revision History ................................................................................. 5
Section 1 Developer Introduction...................................................... 6
Integration Methods.........................................................................................................6
Standard API .............................................................................................................................. 6
Hosted Option API ..................................................................................................................... 6

Minimum Requirements ..................................................................................................7
Developer Support ..........................................................................................................7
Software Development Kits .............................................................................................8

Section 2 Using the Hosted CIM Option............................................ 9
Designing Your Web Page ........................................................................................................ 9

Implementing a Redirect to Authorize.Net .....................................................................10
Example of a redirect to the hosted page: ........................................................................... 11

Implementing an iframe popup ......................................................................................11
Add payment ........................................................................................................................ 12
Edit payment ........................................................................................................................ 13
Add shipping ........................................................................................................................ 14
Edit shipping ......................................................................................................................... 15
Manage payment and shipping ............................................................................................ 16

Guidelines for Settings Parameters ...............................................................................17

Section 3 Executing an API Call ...................................................... 18
Web Service Locations ..................................................................................................18
CIM Functions ...............................................................................................................18
Field Validation and Test Mode .............................................................................................. 20
Authentication .......................................................................................................................... 20
Input Parameters for CreateCustomerProfile ....................................................................... 21
Input Parameters for CreateCustomerPaymentProfile ........................................................ 27
Input Parameters for CreateCustomerShippingAddress..................................................... 30
Input Parameters for CreateCustomerProfileTransaction ................................................... 31
For Authorization Only transactions ..................................................................................... 32
For Authorization and Capture Transactions ....................................................................... 36
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution

2

For Capture Only Transactions ............................................................................................ 40
For Prior Authorization and Capture Transactions .............................................................. 45
For Refund Transactions ..................................................................................................... 49
For a Void Transaction ......................................................................................................... 54
Input Parameters for DeleteCustomerProfile ........................................................................ 56
Input Parameters for DeleteCustomerPaymentProfile......................................................... 56
Input Parameters for DeleteCustomerShippingAddress ..................................................... 56
Input Parameters for GetCustomerProfileIds ....................................................................... 57
Input Parameters for GetCustomerProfile ............................................................................ 57
Input Parameters for GetCustomerPaymentProfile ............................................................. 58
Input Parameters for GetCustomerShippingAddress .......................................................... 58
Input Parameters for getHostedProfilePage ......................................................................... 59
Example ............................................................................................................................... 59
Input Parameters for UpdateCustomerProfile ...................................................................... 60
Input Parameters for UpdateCustomerPaymentProfile ....................................................... 61
Input Parameters for UpdateCustomerShippingAddress.................................................... 66
Input Elements for UpdateSplitTenderGroup ....................................................................... 67
Input Parameters for ValidateCustomerPaymentProfile...................................................... 68

Section 4 Responses........................................................................ 70
CIM Responses .............................................................................................................70
Output for CreateCustomerProfileResponse ........................................................................ 71
Output for CreateCustomerPaymentProfileResponse......................................................... 72
Output for CreateCustomerShippingAddressResponse ..................................................... 72
Output for CreateCustomerProfileTransactionResponse ................................................... 73
Output for DeleteCustomerProfileResponse ........................................................................ 73
Output for DeleteCustomerPaymentProfileResponse ......................................................... 74
Output for DeleteCustomerShippingAddressResponse ..................................................... 74
Output for GetCustomerProfileIdsResponse ........................................................................ 74
Output for GetCustomerProfileResponse ............................................................................. 75
Output for GetCustomerPaymentProfileResponse .............................................................. 78
Output for GetCustomerShippingAddressResponse .......................................................... 81
Output for getHostedProfilePage ........................................................................................... 82
Output for UpdateCustomerProfileResponse ....................................................................... 82
Output for UpdateCustomerPaymentProfileResponse........................................................ 83
Output for UpdateCustomerShippingAddressResponse .................................................... 83
Output for UpdateSplitTenderGroup ..................................................................................... 83
Last revised: 5/24/2011
Copyright © 1998 - 2007 Authorize.Net Corp.

3

Table of Contents

Output for ValidateCustomerPaymentProfileResponse ...................................................... 84

Duplicate Profile Verification..........................................................................................84
Response Codes ...........................................................................................................85

Index ................................................................................................. 87

Last revised: 5/24/2011
Copyright © 1998 - 2007 Authorize.Net Corp.

4

Revision History
PUBLISH DATE

UPDATES

November 2007

Initial release of the Customer Information Manager (CIM) API

September 2008

Removal of SecureSource requirements

January 2009

Addition of GetCustomerProfileIds and various updates

May 2009

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

April 2010

Update to table of error codes
Added explanatory guidelines for createCustomerProfileTransaction for Refund
transactions.

June 2010

Changes required for Partial Authorization processing

July 2010

Correct function name (UpdateSplitTenderGroup) and add output

May 2011

Add hosted option
Clarification of validationMode

Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution

5

Section 1
Developer Introduction
This guide describes the Web development required to create and manage customer profile
information for the purpose of submitting transactions to the Authorize.Net Payment Gateway
directly from a Web site or other application using Simple Object Access Protocol (SOAP).
SOAP provides a standards-based mechanism to access Web services from a wide range of
platforms. Typically, clients access the Web services using a SOAP client on their respective
programming environment. The SOAP client typically generates the native objects and interfaces
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 as if it is calling a local
procedure. The SOAP client handles the generation and parsing of the underlying extensible
markup language (XML) documents that form the basis of the SOAP protocol.
Specifically, the Authorize.Net Customer Information Manager (CIM) Application Programming
Interface (API) provides a mechanism for developers and value added resellers (VARs) to create,
delete, get, and update customer profile information, including payment and address information,
by means of direct integration between client software or applications and the Authorize.Net
Payment Gateway.
Please refer to specific SOAP client documentation for details on how to consume SOAP-based
Web services.

Integration Methods
Various options exist for integrating payments, designed to accommodate a range of business needs
and coding abilities.

Standard API
You can use the API to submit transaction information to Authorize.Net when your customers enter
data on your website. In this case, the customer enters data on your website, your website calls the
API using either XML or SOAP:
•

XML: The Authorize.Net Application Programming Interface (API) offers an XML-only
option, which allows you to invoke methods using XML for the exchange of information.
• SOAP: The Authorize.Net API offers an alternate communication method, SOAP, to
exchange information.
The choice of XML or SOAP depends on the programming language you use. For PHP and Ruby,
XML is recommended. For C# and other .NET languages, SOAP is recommended. With Java,

either option will work.
For information regarding requirements for using the API, see “Minimum Requirements” below.

Hosted Option API
For more secure exchange of information, the API allows you to establish a hosted connection,
where any exchange of information occurs on the Authorize.Net secure servers. If the merchant
Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution

6

Merchant Web Services API

needs to transmit sensitive cardholder information (for example, if a customer needs to change
credit card information or add a new payment method), the hosted CIM option can be used. Using
the hosted CIM option, credit card data never needs to flow through the merchant’s website. You
can use the hosted option either as an XML or a SOAP implementation.
You must still use the standard API (either SOAP or XML) for some operations, such as creating a
ransaction. The hosted page only provides functionality for creating, updating, and deleting
payment profiles and shipping addresses.
For more information, please refer to Section 2, “Using the Hosted CIM Option,” on page 9.

Minimum Requirements
Before you begin this integration for an Authorize.Net Payment Gateway account, please check
with the merchant to make sure that the following minimum requirements have already been met.
•
•
•
•
•
•

The merchant must have a U.S. based merchant bank account that allows Internet
transactions.
The merchant must have an active Authorize.Net Card Not Present Payment Gateway
account.
The merchant must be signed up for the CIM service.
The merchant must store account authentication data securely (for example, API login ID,
transaction key).
The merchant’s website must use https.
The merchant’s website must support secure user registration for returning users.

Note: Merchants should avoid storing any type of sensitive cardholder information. However, in
the event that a merchant or third party must store sensitive customer business or payment
information, compliance with industry standard storage requirements is required. Please see
the Developer Security Best Practices White Paper at
http://www.authorize.net/files/developerbestpractices.pdf for guidelines.

Developer Support
There are several resources available to help you successfully integrate a merchant Web site or
other application to the Authorize.Net Payment Gateway.
•

The Developer Center at http://developer.authorize.net provides test accounts, sample code,
FAQs, and troubleshooting tools.
• If you can’t find what you need in the Developer Center, our Integration Team is available
to answer your questions by e-mail at integration@authorize.net.
• Be sure to read our Developer Security Best Practices White Paper at
http://www.authorize.net/files/developerbestpractices.pdf for information on how to
maximize the security and reliability of your merchant integration solutions.
If you have any suggestions about how we can improve or correct this guide, please e-mail
documentation@authorize.net.

Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution

7

Section 2 Executing an API Call

Software Development Kits
Authorize.Net offers Software Development Kits (SDKs) that present an alternate object-oriented
model, in several popular languages. The SDK performs the core payment activities (such as error
handling and parsing, network communication, and data encoding) behind the scenes.
The SDK provides utility methods to help developers build payment flows for each of the
integration methods. You can download the SDKs at http://developer.authorize.net/downloads/.

Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution

8

Section 2
Using the Hosted CIM Option
Authorize.Net offers merchants the option of connecting their customers directly to the
Authorize.Net website if they need to transmit sensitive data such as changes in payment profiles.
The purpose of the hosted CIM API is to collect data, not to process payments. Processing
payments is done using the standard CIM API where payment data is represented by a profile ID.
The steps in a typical hosted CIM process are:
•

A customer registers an account with a merchant website

•

The merchant calls Authorize.Net API method CreateCustomerProfile to create an
empty profile
− Input: customer’s email address and/or other identifier that the merchant uses to
identify this customer
−

Output: customer profile ID

•

The customer logs on to the merchant website

•

The merchant calls Authorize.Net API method GetHostedProfilePage to get a token
− Inputs: customer profile ID and a list of settings that control how the customer
interacts with the Authorize.Net page. See Guidelines for Settings Parameters for a
description of the settings.
−

•
•

•
•
•

The merchant displays a button on their website
The customer clicks the button and is directed either to the Authorize.Net page, or the
Authorize.Net page is opened within the merchant’s website as a lightbox popup with an
iframe.
The customer makes changes to their credit card information, eCheck.Net information, or
shipping information
The customer returns to the merchant website by clicking a button or closing the popup
The merchant calls Authorize.Net API method GetCustomerProfile to see what changes
were made by the customer
− Input: customer profile ID
−

•

Output: token (expires in 15 minutes)

Output: list of payment profiles with sensitive fields masked, list of shipping addresses

The merchant can call Authorize.Net API method CreateProfileTransaction at any
time to charge the credit card (or eCheck.Net)

Designing Your Web Page
There are three ways to integrate:

Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution

9

Section 2 Executing an API Call

•

•
•

The customer is directed to Authorize.Net to manage payments and shipping all on one
page. For a sample, see “Example of a redirect to the hosted page:” on page Error!
Bookmark not defined..
Open a lightbox popup with an iframe within your page to manage payments and shipping
all within one popup
Open a lightbox popup with an iframe within your page for adding or editing individual
payment profiles and shipping addresses. Sample screens begin on page 13.

Implementing a Redirect to Authorize.Net
To implement hosted CIM access by means of a redirect to Authorize.Net, you need to include the
following.
Once you receive the token returned by the getHostedProfilePage function call, put a hidden form
somewhere on your page (the value for the token will be the value returned by the function call).
If you are using the test environment, replace secure.authorize.net/profile/manage with
test.authorize.net/profile/manage.

Example: opening a new page for the Authorize.Net host


Add a button on your page that redirects the customer to Authorize.Net’s secure site. You can
customize the text to say anything you want:


In this example, the button with the text “Manage my payment and shipping information” directs
the user to the Authorize.Net Customer Information Manager Hosted page, where they can:
• Create a new payment profile
• Update or delete current credit card or bank information
• Enter a new shipping address
• Update or delete current shipping address
When the customer has finished, a link on the bottom of the page returns them to the merchant’s
website.
The following image shows what the customers see when they are connected to the Authorize.Net
hosted page.

Last revised: 5/24/2011
Copyright © 1998 - 2009 Authorize.Net, a CyberSource solution

10

Merchant Web Services API

Example of a redirect to the hosted page:

Implementing an iframe popup
To open the Authorize.Net hosted page in a popup inside your web page, do the following:
•

place an