[ic] Using Business::OnlinePayment::CyberSource

Randy Moore ramoore at axion-it.com
Tue Mar 29 18:44:32 EST 2005


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.

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},
	'invoice_number'  => $actual->{mv_order_number}  || time(),

This is because Interchange had not yet generated an order number at 
this point in the process.

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