Ruby, the Payment Gem and Authorize.net
I found and installed the Payment gem for Ruby, and fortunately it's built for the payment gateway I'm using, Authorize.net. The problem is that it doesn't seem to handle the "fingerprint" fields that are described in the Authorize.net SIM guide. Here's an excerpt:The following sample shows the above fingerprint input values and the order in which they are
placed to generate the transaction fingerprint. Input values must be ordered as shown in this
sample, otherwise the gateway-generated fingerprint will not match the merchant-generated
fingerprint, and the transaction will be rejected.
Example values for the fingerprint parameters are:
x_login = authnettest
x_fp_sequence = 789
x_fp_timestamp = 67897654
The guide also lists x_fp_hash as a required field. I looked at the source for both Payment::Base and Payment::AuthorizeNet, and neither have any code relating to these fields.
I just have to wonder, is nobody actually using the Payment gem? If it is being used, how are people getting around the requirement for sending a fingerprint during a transaction? In PHP, I used a library called simlib to generate the fingerprint fields.

Ruby, the Payment Gem and Authorize.net
Posted Oct 20, 2005 — 4 comments below
Posted Oct 20, 2005 — 4 comments below
daniel — Oct 21, 05 447
Craig Hockenberry — Oct 21, 05 448
From my experience with Authorize.net's API on other projects, there are a lot of features that can be ignored. I've never used the MD5 fingerprint and it's never stopped me from processing transactions :-)
I suspect that the Payment gem is only doing the ADC Direct response over a SSL connection. It's not bothering to verify the transaction results from the authorization source.
That's not a big deal, in my opinion. If you've established the SSL connection to secure.authorize.net, it's pretty much guaranteed that you're talking with the authorization source that you'd expect.
Daniel Lyons — Oct 21, 05 449
One thing I noticed was that the AIM implementor's guide was often vague about the distinction between recommended and required.
Fred — Apr 03, 06 999