Subject: | USER and PWD values not set correctly |
Date: | Wed, 06 Jan 2010 17:18:50 -0500 |
To: | bug-Business-OnlinePayment-PayflowPro [...] rt.cpan.org |
From: | J Cook <jcook713 [...] gmail.com> |
Hi,
Using the newest version of B::OP::PFP (1.01) I had trouble sending test
transactions, getting an authorization failed. Digging deeper I noticed
when I dumped the %content values PWD and USER where always undef, but
lowercase pwd and user had the values assigned to them from the
initialization. So doing:
my $tx = new Business::OnlinePayment('PayflowPro',
'login' => 'mylogin',
'vendor' => 'myvendor',
'partner' => 'mypartner',
'password' => 'mypassword',
);
Looking at Dumper($tx) shows that login => mylogin and password =>
mypassword but PWD => undef and USER => undef. VENDOR and PARTNER are
fine. Looking through PayflowPro.pm I finally did the following - I went
from(under the submit sub):
...
my $vendor = $self->vendor;
my $partner = $self->partner;
$self->_revmap_fields(
# BUG?: VENDOR B::OP:PayflowPro < 0.05 backward compatibility. If
# vendor not set use login although test indicate undef vendor
is ok
VENDOR => $vendor ? \$vendor : 'login',
PARTNER => \$partner,
USER => 'login',
PWD => 'password',
...
I added:
...
my $vendor = $self->vendor;
my $partner = $self->partner;
my $password = 'mypassword';
$self->_revmap_fields(
# BUG?: VENDOR B::OP:PayflowPro < 0.05 backward compatibility. If
# vendor not set use login although test indicate undef vendor is ok
VENDOR => $vendor ? \$vendor : 'login',
PARTNER => \$partner,
USER => $vendor ? \$vendor : 'login',
PWD => \$password,
...
And this made it work. Just an FYI. Please let me know if I have missed
something obvious.
Justin