[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