Customer Information Manager (CIM) Soap Guide Authorize.Net CIM
User Manual: Pdf
Open the PDF directly: View PDF .
Page Count: 89
Download | ![]() |
Open PDF In Browser | View 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 hostAdd 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