On Sun, Jun 8, 2008 at 3:06 AM, Matt Sanders <ma...@polycot.com> wrote:
>
> I've been doing an integration with CyberSource and come across
> something kind of funny. When I look at the response.authorization, I
> get a list of returned values compacted together. Specifically:
>
> [ options[:order_id], response[:requestID],
> response[:requestToken] ].compact.join(";")
That is done on purpose so that all the information required for
reference transactions is always available in the authorization
string. If you take a look at capture and void you'll see that they
require the order ID, request ID, and request token from the original
transaction. Including those things in the authorization string
prevents the application from having to arbitrarily remember each one
individually, and keeps the interface consistent with other gateways.
The authorization string is meant only for consumption by other
operations in the gateway, and not for display purposes. If you want
to display / store certain parameters from the response then you're
already doing the correct thing by plucking them out of the params
hash.
--
Cody Fauser
http://shopify.com - e-commerce done right
http://www.codyfauser.com - blog
http://peepcode.com/products/activemerchant-pdf - ActiveMerchant PeepCode
http://www.oreilly.com/catalog/rjsrails - RJS Templates for Rails