[ic] Verifone IPCharge
Richard Siddall
richard.siddall at elirion.net
Wed Mar 18 14:32:05 UTC 2009
Bill Carr wrote:
> I have taken your suggestion and have begun developing
> Business::OnlinePayment::IPCharge (requested my PAUSE ID and all).
>
> My question has to do with Interchange's
> Vend::Payment::BusinessOnlinePayment. There does not appear to be a
> way to pass additional parameters to BOP's content method from
> Interchange. In my case I am attempting the "Route onlinepayment
> setting value" method. Specifically for IPCharge we need to set the
> MERCHANTKEY and CLIENT_ID (a value different from the login name).
> IC's BOP wrapper has the parameters for BOP's content method hard
> coded. Any suggestions on how to get processor specific settings from
> IC to BOP?
Bill,
I'm largely guessing here, after spending a few minutes looking at the
code for Vend::Payment::BusinessOnlinePayment, Business::OnlinePayment
itself, and a couple of Business::OnlinePayment processor modules.
My first assumption would be that MERCHANTKEY and CLIENT_ID are
analogous to a password and user name, and should be passed as the 'id'
and 'secret' parameters to the onlinepayment module, i.e. something like:
Route onlinepayment processor IPCharge
Route onlinepayment id my_client_id_value
Route onlinepayment secret my_merchantkey_value
These get passed to your module's 'content' method as the 'login' and
'password' hash entries, and you can then remap them to the the elements
required by IPCharge in various places, such as the map_fields,
remap_fields, or the submit method in your module.
Assuming that IPCharge actually requires more complex credentials than a
user name/id and password/key, then just pass the additional values:
Route onlinepayment client_id foo
It looks like these get passed to Business::OnlinePayment's new method
and wind up as attributes and methods on the Business::OnlinePayment
object, i.e. you can then use:
$self->client_id()
in methods like map_fields, remap_fields, or submit.
You may want to ask questions about which method is the best place in
your module to do the mapping on the Business::OnlinePayment e-mail
list: bop-devel at 420.am.
Regards,
Richard Siddall
More information about the interchange-users
mailing list