[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ic] Preventing non-US orders from using realtimeprocessing



>
> Curios if you found a solution to this - if so please let us know
> your final solution.
>

I finally took a look at some code.
Here is a brute force method..... there are side effects that need to be addressed. Manually processing the credit card, and processing the order slightly different in the Admin UI Need to put a message on the ord/finalize.html page letting customer know that the order may need a faxed copy of credit card, etc to properly ensure security (When country ne 'US").
Put a message in the emailed receipt stating the same thing as above....
and probably something else I forgot......

take a look at /etc/log_transaction
just add a test for the value of country eq "us"

<snip>

[elsif variable MV_PAYMENT_MODE]
[if value country eq "US"]
  [then]
        [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]
        Charging with payment mode=[var MV_PAYMENT_MODE]
[tmp name="charge_succeed"][charge route="[var MV_PAYMENT_MODE]" amount="[scratch tmp_remaining]" order_id="[value mv_transaction_id]"][/tmp]
        [if scratch charge_succeed]
        [then]
        [set do_invoice]1[/set]
        [set do_payment]1[/set]
Real-time charge succeeded. ID=[data session payment_id] amount=[scratch tmp_remaining]
        [/then]
        [else]
        Real-time charge FAILED. Reason: [data session payment_error]
        [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]
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]

<snip>

Test at your own risk.....

-Steve

_______________________________________________
interchange-users mailing list
suppressed
http://www.icdevgroup.org/mailman/listinfo/interchange-users


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.