Finally, occasional gateway errors and declined credit cards that a single
storefront merchant may be able to overlook, cannot be ignored when creating
an application that is serving many storefronts with an assortment of merchant
preferences. It must be assumed that at times there will be communication
failures between the application server and the gateway server and between
the gateway server and the financial network. These errors must be trapped
so that the customer is not left hanging, waiting for results or presented
with a generic "try latter" page. This would quickly lose a customer.
One problem with a communication failure is that the application may not
receive back, in real time, information on whether or not the credit card was
authorized even though the submit process went OK. It is not good practice
to decline the customer based on a lack of return information.
To this
end ImagineNation in creating an application builds in a tentative approval
message to present to the customer and sends a "subject to confirmation",
e-mail order confirmation. The order detail page of the merchant's
on-line console will reflect this uncertain result in the transaction
section and enable the merchant, through the virtual terminal, to retry
the transaction using the previously submitted credit card information.
The customer does not have to take any further action. Results of the
retry are automatically posted to the order record and e-mailed to the
customer. In the event of another communication failure, no action is
taken and the merchant can try again latter.
It must also be assumed that valid customers will at times use a credit
card that gets declined for a variety of possible reasons. Provision
must be made to keep the order alive while giving the customer a chance
to try another card. A technique for doing this is explained with Code
Example 2.
APPLICATION
Code Example 1 illustrates coding for the financial gateway portion of
a back-end application using ColdFusion and the ECHO gateway. ColdFusion
makes it relatively easy to code a complex operation and the ECHO
gateway provides the robust interface capability. ECHO also provides a
custom COM object for use with ColdFusion which greatly simplifies the
programmer's job, allowing them to concentrate on higher level operations.
Code Example 2 illustrates a method of parsing echotype3 return results.
The ECHO COM object is invoked and then configured using cfscript. The
"//" is used to comment out certain operations so that the tag as shown is
for authorizing a credit card charge. Other operations available using the
ECHO gateway with this tag are credit card settlements, returns, voids, and
credits, check account authorizations, and automated currency transfers.
This particular example is dynamically configured using page and session
parameters. Your own application will no doubt use a different
configuration technique.
SUMMARY
When selecting a gateway, cost will always be a factor for the merchant;
however, if you're writting the code and need to provide a robust set of
back-end capabilities, the flexibility and completeness of the gateway
interface and response is tantamount. Considering the cost of development,
the merchant's best approach will be to let the developer select the
gateway.
Different gateways will provide varying degrees of back-end record
keeping, but these services often do not provide the specific functions
that the developer requires. Additionally, order records and payment
transaction records will end up being kept in two separate locations,
making it nearly impossible to integrate the two record sets into one
easily used control console.
The developer of a viable credit card processing solution should look
for a gateway with ease of interface, robust responses, and a good API.
REFERENCES
ECHO Inc
ImagineNation Inc