Why Use an Ecommerce Component?
Why should you use a component or control instead of Authorize.Net's direct web API?
Reduced time-to-market
With a payment processing component, you can work in the programming environment you’re comfortable with and use straightforward properties and methods to process payments and create subscriptions. A good vendor will provide professional quality documentation and sample code keeping the learning curve small.
No building complex requests
When using the direct web API, you have to build internal structures to track all the data for the transaction—accounting for many different scenarios—and then carefully construct a string in the correct syntax for the payment gateway. Here’s an example of an Advanced Integration Method (AIM) payment request with the minimum information needed to submit a transaction:
x_version=3.1&x_delim_data=TRUE&x_relay_response=FALSE&x_delim
_char=%2C&x_encap_char=%7C&x_test_request=FALSE&x_login= xxxxxxxxxxx&x_tran_key=xxxxxxxxxxxxxxxx&x_amount=39.95&x_exp_date =12-2008&x_card_num=4111111111111111&x_method=CC&x_type =AUTH_CAPTURE&x_first_name=John&x_last_name=Doe
With a control, such as I-Bill IT, you simply set and re-set properties as needed, then call a function when you’re ready to process the order. Changing an order based on user actions on the page is as easy as changing a property. I-Bill ITeven offers additional functionality, such as tracking the line items, tax, shipping and duty for you, and adding up the total when you're ready!
No parsing responses
With the default web API, the AIM response comes back as a text string and the ARB response comes back as XML, accessible through the XML DOM, but unwieldy to work with. You’ll need to write routines that cover all the possible gateway responses and correctly handle them. Here’s an example of a standard AIM response, like the kind you'll need to parse:
|1|,|1|,|1|,|This transaction has been approved. |,|cNIdRR|,|Y|,|507624509|,||,||, |39.95|,|CC|,|auth_capture|,||,|John|,|Doe|,||,||,||,||,||,||,||,||,||,||,||,||,||,||,||,||,||,||,||,||,||,| |,|FCC65050EA20F8CDB2D29636B9CBB29D|,||,|2|,||,||,||,||,||,||,||,||,||,||,||,||,||,||,||,||,||,| |,||,||,||,||,||,||,||,||,||,||
A payment processing component handles all the possible cases for you, providing a simple list of the messages in the response, plus a tree of the other data returned.
Greater security
The default AIM response is a set of fields in a single string, delimited by a character you specify in the request. The problem is that many of those fields contain information echoed from the request, including user-input data. The very nature of parsing the response introduces a greater potential for errors. And a small parsing mistake may open your site to security issues.
A quality control encodes all of the request data before sending it to the gateway, then carefully parses it back out of the response, presenting it to you in a dictionary-like (key/value pairs) collection. You can also get access to the raw response text for both ARB and AIM responses, in case there is a need for it in your application.
Take advantage of other's work
Save yourself from days of learning, coding, testing and debugging. By using our a quality component, you’ll dramatically reduce development time and the potential for errors. In most cases, even if you are a seasoned developer with plenty of experience in these technologies, when you consider the real cost of developing it yourself versus the low price of a component, purchasing a control makes sense.
See our article Comparing Payment Processing Controls to begin your research into Authorize.Net components.