Server Integration Method (SIM) Developer Guide

Transcription

Server Integration Method (SIM)Developer GuideCard Not Present TransactionsAuthorize.Net Developer Supporthttp://developer.authorize.netAuthorize.Net LLC 082007 Ver.2.0

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 andconditions, whether express or implied, arising by statute, operation of law, usage of trade, course ofdealing or otherwise, with respect to the information contained herein. Authorize.Net assumes noliability to any party for any loss or damage, whether direct, indirect, incidental, consequential, specialor exemplary, with respect to (a) the information; and/or (b) the evaluation, application or use of anyproduct or service described herein.Authorize.Net disclaims any and all representation that its products or services do not infringe uponany existing or future intellectual property rights. Authorize.Net owns and retains all right, title andinterest 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 ofany of the foregoing is granted or otherwise transferred hereunder. Authorize.Net reserves the right tomake 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: 10/12/2009Copyright 1998 - 2009 Authorize.Net, a CyberSource solution1

Table of ContentsRevision History . 4Section 1. 5Introduction . 5SIM Minimum Requirements .6Managing Integration Settings .6Features of SIM.7eCheck.Net .8Developer Support .8Section 2. 9Transaction Data Requirements. 9Credit Card Transaction Types .10Authorization and Capture . 10Authorization Only . 11Prior Authorization and Capture . 11Credit . 11Void . 11Using the Merchant Interface .12Section 3. 13Submitting Transactions . 13Transaction Post Location .13Generating the Unique Transaction Fingerprint .13Custom transaction fingerprint code. 13Using Authorize.Net sample code. 15Requesting the Secure Hosted Payment Form.15Customizing the hosted payment form fields . 18Customizing the hosted payment form look and feel . 26Merchant-defined fields . 29Section 4. 32Receipt Options . 32Last revised: 10/12/2009Copyright 1998 - 2009 Authorize.Net, a CyberSource solution2

Table of ContentsThe Receipt Page .32Customizing the hosted receipt page . 32Customizing the receipt page look and feel . 35Relay Response .38Tips for using Relay Response: . 40Email Receipt .40Section 5. 42Additional API Fields . 42Transaction Information .42Itemized Order Information .43Additional Customer Information .44Section 6. 45Transaction Response . 45Fields in the Payment Gateway Response .45Using the MD5 Hash Feature . 49Response for Duplicate Transactions . 50Response Code Details .51Response Codes . 52Response Reason Codes and Response Reason Text . 52Section 7. 64Test Transactions . 64Testing to Generate Specific Transaction Results . 65Appendix A . 66Fields by Transaction Type . 66Minimum Required Fields .66Required Fields for Additional SIM Features .67Best Practice Fields.67Appendix B . 68Alphabetized List of API Fields. 68Last revised: 10/12/2009Copyright 1998 - 2009 Authorize.Net, a CyberSource solution3

Revision HistoryPUBLISH DATEUPDATESAugust 2007Release of Ver 2.0 Server Integration Method (SIM) Developer GuideMay 2008Remove SecureSource requirements and various updatesJuly 2009Clarify use of x recurring billing, x fp timestamp, x versionAdded warning for Merchant Defined FieldsAdditions to the Response Code listUpdates to Silent Post URLNew section Renaming a FieldSeptember 2009Added note explaining new policy with respect to authorization transactions forVisa credit cardsCorrected list of supported graphics formats for the Hosted Payment form.(Removed SWF as a supported format)Deprecation of transaction types Prior auth Capture, Voids, CreditsOctober 2009Update definition of x type to reflect deprecation of transaction typesPrior auth capture, Credit, and Void.Correct capitalization of the eCheck.Net Developer Guide.Last revised: 10/12/2009Copyright 1998 - 2009 Authorize.Net, a CyberSource solution4

Section 1IntroductionWelcome to the Authorize.Net Server Integration Method (SIM) Developer Guide. This guidedescribes the Web development required to connect an e-commerce Web site or other application tothe Authorize.Net Payment Gateway in order to submit credit card transactions for authorizationand settlement using SIM.SIM is a hosted payment processing solution that handles all the steps in processing a transaction,including: Collection of customer payment information through a secure, hosted form Generation of a receipt to the customer Secure transmission to the payment processing networks for settlement Funding of proceeds to the merchant’s bank account Secure storage of cardholder informationThe security of a SIM transaction is assured through the use of a unique digital signature or“fingerprint” that is sent with each transaction. This fingerprint is used by Authorize.Net toauthenticate both the merchant and the transaction. Sample code for this function is available forfree from the Authorize.Net Integration Center at http://developer.authorize.net.SIM is an ideal integration solution because merchants are not required to collect, transmit or storesensitive cardholder information to process transactions. Additionally, SIM does not requiremerchants to purchase and install a Secure Sockets Layer (SSL) digital certificate. This removes thecomplexity of securely handling and storing cardholder information, simplifying compliance withthe Payment Card Industry (PCI) Data Security Standard.Note: For merchants who need a highly customizable payment form (for example, completecontrol of look and feel and the ability to keep the customer on their Web site during theentire checkout process) or who are integrating a standalone business application,Authorize.Net recommends the Advanced Integration Method (AIM). The AIM DeveloperGuide can be found at http://developer.authorize.net/guides/AIM/.Last revised: 10/12/2009Copyright 1998 - 2009 Authorize.Net, a CyberSource solution5

Section 1 IntroductionSIM Minimum RequirementsBefore you begin, check with the merchant to make sure that the following SIM requirements havealready been met. It is strongly recommended that you work closely with the merchant to ensurethat any other business and Web site requirements (for example, bank or processor requirements,Web site design preferences) are included in their SIM integration. The merchant must have a U.S. based merchant bank account that allows Internettransactions. The merchant must have an e-commerce (Card Not Present) Authorize.Net PaymentGateway account. The merchant’s Web site must be capable of performing an HTML Form POST torequest the secure payment gateway hosted payment form. The merchant’s Web site or hosting provider must have server scripting or CGIcapabilities such as ASP Classic, Cold Fusion, PHP or Perl. The merchant must be able to store payment gateway account data securely (forexample, API Login ID, Transaction Key, Secret Answer).Note: Merchants should avoid storing any type of sensitive cardholder information. However, inthe event that a merchant or third party must store sensitive customer business or paymentinformation, compliance with industry standard storage requirements is required. Please seethe Developer Security Best Practices White Paper tices.pdf for guidelinesManaging Integration SettingsWhen integrating to the payment gateway, you should be aware that most settings for a merchant’sintegration can be configured and managed in two ways:1. Included in the transaction request on a per-transaction basis by means of the applicationprogramming interface (API), (as described in this guide), OR2. Configured in the Merchant Interface and applied to all transactions.IMPORTANT: The Merchant Interface at https://secure.authorize.net is a secure Web site wheremerchants can manage their payment gateway account settings, including their Web site integrationsettings. It is recommended that you review the Merchant Integration Guide athttp://www.authorize.net/support/merchant/ for information on managing the merchant’s paymentgateway integration using the Merchant Interface.Transaction settings submitted in the transaction request override transaction settings configured inthe Merchant Interface. However, please be aware that some integration settings must beconfigured in the Merchant Interface. To help the merchant maintain a robust integration, it isrecommended that you review the integration settings that can be configured in the MerchantInterface with the merchant and determine which integration settings can be posted on a pertransaction basis and which should be configured in the Merchant Interface. See “Appendix AFields by Transaction Type” for a list of fields the payment gateway recommends be submitted on aper-transaction basis.Last revised: 10/12/2009Copyright 1998 - 2009 Authorize.Net, a CyberSource solution6

SIM Developer GuideFeatures of SIMIn addition to basic transaction processing, SIM provides merchants with several features forconfiguring transaction security options and further customizing their customers’ checkoutexperience. These features are listed in the SIM Feature Selection Guide provided below. Pleasetake a few moments to discuss these with your merchant and select which features they would liketo include in their integration. ervice (AVS)FilterThis feature allows merchants to compare thebilling address submitted by the customer forthe transaction with the address on file at thecard issuing bank. Filter settings in theMerchant Interface allow the merchant to rejecttransactions based on the AVS responsereceived.To implement AVS, the merchant mustrequire the Address and ZIP Code fields onthe payment gateway hosted payment form.This feature allows merchants to compare thecard code submitted by the customer for thetransaction with the card code on file at thecard issuing bank. Filter settings in theMerchant Interface allow the merchant to rejecttransactions based on the CCV responsereceived.To implement CCV, the merchant mustrequire the Card Code field on the paymentgateway hosted payment form.Card CodeVerification(CCV) FilterFor more information CCV, please see theMerchant Integration Guide ed Order This feature allows merchants to submit details To implement Itemized Order Information, theline item field must be submitted on a perfor items purchased. This information isInformationincluded in the merchant transactionconfirmation email, in the Transaction Detailsfor the transaction and in QuickBooksdownload reports in the Merchant Interface. For more information about AVS, please seethe Merchant Integration Guide t PageThis feature allows merchants to customize thepayment gateway hosted receipt page that isdisplayed to the customer at the completion ofa transaction. This page can include ahyperlink back to the merchant’s Web site.transaction basis.Please see the “Itemized Order Information”section of this document for details.To configure the payment gateway hostedreceipt page, settings must be configured inthe Receipt Page section of the Settingsmenu in the Merchant Interface or submittedon a per-transaction basis.Please see the “Receipt Options” section ofthis document for details. Email ReceiptThis feature allows merchants to opt for anautomatic email receipt to be sent by thepayment gateway to their customers.To configure the payment gateway emailreceipt, the merchant must require thecustomer email address on the hostedpayment form, and settings must beconfigured in the Email Receipts section ofthe Settings menu in the Merchant Interfaceor submitted on a per-transaction basis.Please see the “Receipt Options” section ofthis document for details. RelayResponseThis feature allows merchants to opt to displaya more customized receipt page that isgenerated on the merchant’s Web server andrelayed by the payment gateway to thecustomer’s browser.To configure Relay Response, settings mustbe configured in the Relay Response sectionof the Settings menu in the MerchantInterface or submitted on a per-transactionbasis.Please see the “Relay Response” section ofthis document for details.Last revised: 10/12/2009Copyright 1998 - 2009 Authorize.Net, a CyberSource solution7

Section 1 IntroductioneCheck.Net In addition to processing credit card transactions, the payment gateway also supports electroniccheck transactions with our exclusive eCheck.Net product. Please contact the merchant todetermine whether eCheck.Net is enabled for their payment gateway account or if they would liketo sign up. In the event that eCheck.Net is enabled, you will need to ensure that the merchant’sWeb site integration supports all eCheck.Net field requirements. Please see the eCheck.NetDeveloper Guide at http://developer.authorize.net/guides/echeck.pdf for more information.Developer SupportThere are several resources available to help you successfully integrate a merchant Web site orother application to the Authorize.Net Payment Gateway. The Integration Center at http://developer.authorize.net provides test accounts, samplecode, FAQs, and troubleshooting tools. If you can’t find what you need in the Integration Center, our Integration Team is availableto answer your questions by email at integration@authorize.net. (Our Integration Team canonly assist with support requests specifically about the Authorize.Net applicationprogramming interface (API) and/or services.) Be sure to read our Developer Security Best Practices White Paper tices.pdf for information on how tomaximize the security and reliability of your merchant integration solutions.If you have any suggestions about how we can improve or correct this guide, please emaildocumentation@authorize.net.Last revised: 10/12/2009Copyright 1998 - 2009 Authorize.Net, a CyberSource solution8

Section 2Transaction Data RequirementsThe payment gateway supports several credit card transaction types for transactions submitted bymeans of SIM.To implement SIM for a merchant’s Web site, you will need to develop an HTML Form POST torequest the secure payment gateway hosted payment form and pass required and optional merchantand transaction information.The following table repr

transactions based on the AVS response received. To implement AVS, the merchant must require the Address and ZIP Code fields on the payment gateway hosted payment form. For mo