[ic] Cybersource: Can't Void or Settlement

Mark Weaver mdw1982 at mdw1982.com
Fri Jun 10 13:21:00 EDT 2005


jeff at hisgirlfridays.com wrote:
> 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

Hi Jeff,

On a lark just to test an idea I manually placed the auth_code into the 
transactions data table and attempted to void the order, but I still 
received the error message I'd mentioned before. I'm wondering if 
there's a problem with the CyberSource Client. Any thoughts?

error msg:
  mv_credit_card_valid: Missing value for >auth_request_id< field
void_transaction: Order ID 1184134860003472655298 void operation failed. 
Reason: Missing value for >auth_request_id< field

-- 
Mark


More information about the interchange-users mailing list