[ic] IC 5.4 Fraudulent attempts
Steve Graham
icdev at mrlock.com
Sat Apr 7 12:13:13 EDT 2007
Any suggestions? Talking to self.....
Here is what I have now... seems to be working the way I need it:
(Comments, Improvements.....)
This routine also compares the value of Country (which may be
different than yours) We will accept international credit cards to
accepted ship-to countries, and security verify the customers details
after the sale......
From recent experience, I think some sort of limit on automatic
credit card verifications ought to be included here for the default
IC store....... Steve
[elsif value mv_order_profile eq credit_card]
[if value country eq "US"]
[then]
[calc]
$Scratch->{cc_attempts} = 0 unless defined
$Scratch->{cc_attempts};
[/calc]
[perl]$Scratch->{cc_attempts}++; [/perl]
[calc]
return if $Scratch->{tmp_total} == $Scratch->{tmp_remaining};
my $msg = sprintf "Your credit card was charged
%.2f", $Scratch->{tmp_remaining};
$Scratch->{pay_cert_total} = $Scratch->{tmp_total} -
$Scratch->{tmp_remaining};
$Scratch->{charge_total_message} = $msg;
return "Credit card will be charged
$Scratch->{tmp_remaining}";
[/calc]
Country: [value country]
[if scratch cc_attempts < 7]
Charging with payment mode=[value mv_payment_route]
[tmp name="charge_succeed"][charge route="[value
mv_payment_route]" amount="[scratch tmp_remaining]" order_id="[value
mv_transaction_id]"][/tmp]
[else]
[calc]
die errmsg(
"Real-time charge failed. - too many
attempts\n",
'too many failed charge attempts!',
);
[/calc]
[perl]$Session->{payment_error} = 'Too many failed attempts
- please call in your order!'; [/perl]
[/else]
[/if]
[if scratch charge_succeed]
[set do_invoice]1[/set]
[set do_payment]1[/set]
Real-time charge succeeded. ID=[data session payment_id]
amount=[scratch tmp_remaining]
[else]
Real-time charge FAILED. Reason: [data session payment_error]
Failed charge count: [scratch cc_attempts]
[calc]
for(qw/
charge_total_message
pay_cert_total
/)
{
delete $Scratch->{$_};
}
die errmsg(
"Real-time charge failed. Reason: %s\n",
errmsg($Session->{payment_error}),
);
[/calc]
[/else]
[/if]
[/then]
[else]
Country: [value country]
Forcing Offline credit card [value mv_credit_card_type] [value
mv_credit_card_reference].
Payment: [value name=mv_payment set="credit_card"]
[/else]
[/if]
[/elsif]
More information about the interchange-users
mailing list