[Date Prev][Date Next][Thread Prev][Thread Next][Interchange by date
][Interchange by thread
]
Re: [ic] There were errors in your last submission. They are shown in thiscolor below.
Quoting Ron Phipps (takedown@cdsnet.net):
> This happens because the authorizenet module that sits in between the binary
> and IC does not write the error back for the user to see. This can easily
> be modified with a line like so:
>
> my $msg = errmsg("Verisign error: " . $result{RESULT} . " "
> . " " . $result{RESPMSG} . ". Please call in your order or try again.");
> $Vend::Session->{errors}{mv_credit_card_valid} = $msg;
>
> Put this in the authorizenet module after where the module sets the
> pop.status to 'failed'. I'm doing this based off of the Signio module which
> may be different although I think they were built similiarly. This will put
> the error message in RED right above the CC section. I'm currently using
> this code on 3 production sites and it works like a charm. Next to do is
> enable the DEBUG variable in interchange.cfg. If the authorizenet module
> has logdebug statements it will spit out a bunch of information in
> /tmp/icdebug which is extremely helpful. I used this log file to get Java
> Verisign on an Alpha working with IC (I'll be writing a how-to soon!). Good
> luck!
Ron, your answer is on target as usual. And I appreciate your
contributions on this with your HOWTO. One of the many things I don't
seem to get to is collecting gems like that in one place. 8-\
I did something I shouldn't have done with the errmsg, by the way (if
indeed I wrote that code; I know I wrote the original globalsub/signio
but can't remember what the genesis was). The reason the errmsg() routine
is used is to give access to the error locale, i.e. the call should be:
my $msg = errmsg(
"Signio error: %s %s. Please call in your order or try again.",
$result{RESULT} ,
$result{RESPMSG},
);
That way, you can add this to your locale (either the global locale.error or
the catalog-based one, using either the locale DB or config file method):
Locale de_DE <<EOL
"Signio error: %s %s. Please call in your order or try again."
"Fehler Signio: %s %s. benennen bitte in Ihrer Ordnung oder versuchen noch einmal."
EOL
Then, if the error occurs while the locale is de_DE, the German message
will be spit out with proper substitution of the variable error from the
result. Of course that will still be in English unless Signio has locale
substitution. 8-)
--
Akopia, Inc., 131 Willow Lane, Floor 2, Oxford, OH 45056
phone +1.513.523.7621 fax 7501 <heins@akopia.com>
Nature, to be commanded, must be obeyed. -- Francis Bacon
_______________________________________________
Interchange-users mailing list
Interchange-users@lists.akopia.com
http://lists.akopia.com/mailman/listinfo/interchange-users