Hi,
This question isn’t Rails-specific, but since Basecamp (& the family
of premium 37signals apps) have the best implementation of credit-card
processing I’ve seen, I’m hoping maybe DHH could lend an answer. Of
course, anyone is welcome to chime in!
Some background
Our nonprofit is building a Rails-driven store and donation center and
our developer is perplexed by the array of return parameters sent by
our e-commerce vendor, TrustCommerce, upon processing a transaction.
A sample of the possible return values is: approved, the transaction
was successfully authorize; accepted, the transaction has been
successfully accepted into the syste; decline, the transaction was
declined; baddata, invalid parameters passed; and error, system error
when processing transaction.
For decline types, the transaction can be declined for a number of
reason, from bad card number to insufficient funds, to bad AVS or CVV
matching, and a few other reasons. Similarly, there are several
bad-data and error types possible.
The question
Is there a generally accepted “best practice” regarding what level of
information should be divulged to the would-be customer if their card
is declined? Surely, they should be let known if they simply
mis-entered their card number, but what if they have insufficient
fund? What about AVS?
I was tempted to enter a bunch of bad info in the Basecamp signup
form–kidding, DHH!–but instead, I thought I’d check the best
resource I know: all of you! So, do you all have anything to say
about the matter? Any tips, links, or warnings appreciated.
Best,
Jacob
–
Jacob P.
Director of Outreach and Technology
Free the Slaves
1012 14th Street, NW, Suite 600
Washington, DC 20005
Phone: 202-638-1865
Fax: 202-638-0599