[ic] Using Business::OnlinePayment::CyberSource

Randy Moore ramoore at axion-it.com
Thu Mar 31 17:48:03 EST 2005

I'm replying to my own message to show better solutions to the problem I 
raised below.

Randy Moore wrote:
> Hi,
> I'm trying to use the new Vend::Payment::BusinessOnlinePayment payment 
> system with CyberSource.
> To get it working, I had to make 2 very cheesy source code mods and I'm 
> hoping that someone can suggest better ways.
> First, in ..../Business/OnlinePayment/CyberSource.pm, I had to edit line 
> 47:
>     my $confFile = './cybs.ini';
> to be:
>     my $confFile = '/etc/cybs.ini';
> I could not find any obvious place to put the cybs.ini file so that the 
> original way could find it. My Global::VendRoot directory did not work. 
> Neither did the Global::VendRoot/bin directory or the directory where my 
> calling CGI (vlink) lives.

Putting the 'cybs.ini' file in my main catalog directory solved this 
problem.  Put it in the directory where your 'catalog.cfg' file is.

> Second, CyberSource requires that something be passed in the 
> 'invoice_number' field (which it maps to merchantReferenceCode field. I 
> had to change line 257 of Vend/Payment/BusinessOnlinePayment.pm from:
>     'invoice_number'  => $actual->{mv_order_number},
> to:
>     'invoice_number'  => $actual->{mv_order_number}  || time(),
> This is because Interchange had not yet generated an order number at 
> this point in the process.

After playing with this some more, I think this line should be changed to:

'invoice_number'  => $actual->{mv_order_number} || $actual->{order_id},

This works for CyberSource and should not interfere with any other 
Business Online Payment modules.

> I'm not happy with either of these "solutions" and would love to hear if 
> anyone has better ideas.
> FYI, BankOfAmerica (boa) is shutting down their eStores gateway soon and 
> requiring everyone to move to CyberSource.

Randy Moore
Axion Information Technologies, Inc.

phone: 301-587-3300 x 511
fax:   301-585-7450


More information about the interchange-users mailing list