[ic] Cybersource: Can't Void or Settlement

jeff at hisgirlfridays.com jeff at hisgirlfridays.com
Fri Jun 10 11:41:13 EDT 2005


On Fri, Jun 10, 2005 at 10:54:39AM -0400, Mark Weaver wrote:

> I know... answering your own posts is a sign of something bad, but I 
> just realized why I can't do what I need to do once the order is placed. 
> I've got no value stored in the transactions db for "auth_code"!


If you look towards the bottom of Interchange's ICS.pm, you'll see this
code block:

       my %result = (
                MStatus    => $status,
                'order-id' => $resp{request_id},
                transtype  => $inv_trans_map{$transtype},
                ORIGID     => $resp{request_id},
                PNREF      => $resp{request_id},
                AVSADDR    => $avs_addr,
                AVSZIP     => $avs_zip,
                CVV2MATCH  => $cv,
                avs => $resp{auth_auth_avs},
        );

I am pretty sure that the item on the left represents a variable that
will be available in interchange (in what data structure I cannot
immediately recall), the item on the right is the processor's return
data.  The actual lines above may differ from your ICS.pm because I 
already modified mine to add a field or two and I can't remember which 
ones (I think avs).

You will need to find out what the name of the data field that the 
payment processor is sending back (the one you need to resend to them 
later when you settle).  Then map that to an IC variable name of your 
choosing in the above ICS.pm structure.

Next, modify your etc/log_transaction.  You will see in there the block
where it writes all the variables out to the transactions table, inside
of a pair of "import" tags.  Add something to it like the following
(this is what I added to write the avs result to the transactions
table):

avs: [calc]$Session->{payment_result}->{'avs'}[/calc]

I do not use delayed processing so I don't actually have the issue you 
describe, but this should allow you to grab the necessary response 
fields and put them in the appropriate transactions table fields.

Jeff


More information about the interchange-users mailing list