Skip Menu |

This queue is for tickets about the Business-OnlinePayment-AuthorizeNet CPAN distribution.

Report information
The Basics
Id: 23753
Status: rejected
Priority: 0/
Queue: Business-OnlinePayment-AuthorizeNet

People
Owner: Nobody in particular
Requestors: PLOBBES [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 3.15
Fixed in: (no value)



Subject: use of password (not transaction_key) is required not optional per B::OP "spec"
Testing this module with Business::OnlinePayment 3.00_05 I find that B::OP the documentation that says: Content required: type, login, password|transaction_key, action, amount, first_name, last_name, card_number, expiration. Isn't really correct as B::OP requires password to be set and if called without the password in the content() the following error is returned via croak(): missing required field(s): password There are perhaps two issues here: * B::OP::required_fields() uses this check (which assumes subclasses will put password in $self->content() (is this a valid assumption?): push(@missing, $_) unless exists $content{$_}; * B::OP::AuthorizeNet doesn't set content{password} if transaction_key is given.
Sorry, I was a little confused originally, but here is some clarification. I was testing passing the 'login' and 'transaction_key' as part of the %processor_info, i.e.: my $trans = new Business::OnlinePayment($processor, %processor_info); However, it appears that the %processor_info is not used by AuthorizeNet to pick up the login/transaction key. I guess this is by design and I'll have to put that in the "content" to make AuthorizeNet happy. On Sun Dec 03 10:47:28 2006, PLOBBES wrote: Show quoted text
> Testing this module with Business::OnlinePayment 3.00_05 I find that > B::OP the documentation that says: > > Content required: type, login, password|transaction_key, action, > amount, first_name, last_name, card_number, expiration. > > Isn't really correct as B::OP requires password to be set and if called > without the password in the content() the following error is returned > via croak(): > > missing required field(s): password > > There are perhaps two issues here: > > * B::OP::required_fields() uses this check (which assumes subclasses > will put password in $self->content() (is this a valid assumption?): > > push(@missing, $_) unless exists $content{$_}; > > * B::OP::AuthorizeNet doesn't set content{password} if transaction_key > is given.