1 package Business::OnlineThirdPartyPayment::Dummy;
5 use Business::OnlineThirdPartyPayment 3;
6 use Business::CreditCard;
7 use vars qw($VERSION @ISA $DEBUG);
9 @ISA = qw(Business::OnlineThirdPartyPayment);
15 my($self,@fields) = @_;
17 my %content = $self->content();
19 foreach( grep defined $content{$_}, @fields) { $new{$_} = $content{$_}; }
24 my ($self, $data) = @_;
25 $data->{reference} || '';
30 my %content = $self->content;
32 my $action = lc($content{'action'});
33 die 'Dummy only supports "Authorization Only" and "Post Authorization" transactions'
34 unless $action eq 'authorization only' || $action eq 'post authorization';
36 my @required = qw( login amount );
37 push @required, qw( reference ) if $action eq 'post authorization';
38 if ($self->transaction_type() eq 'CC' ) {
39 push @required, qw( name ) unless $action eq 'post authorization';
40 }elsif ($self->transaction_type() eq 'ECHECK' ) {
41 push @required, qw( account_name ) unless $action eq 'post authorization';
43 croak("Dummy can't handle transaction type: ".
44 $self->transaction_type());
46 $self->required_fields(@required);
48 $self->popup_url( "http://127.0.0.1/webpay/collect.cgi?".
49 join('&', map { "$_=". $content{$_} }
50 qw( reference amount redirecturl )
55 $self->authorization('Authorized');
63 Business::OnlineThirdPartyPayment::Dummy - dummy backend for Business::OnlineThirdPartyPayment
67 use Business::OnlineThirdPartyPayment;
69 my $tx = new Business::OnlineThirdPartyPayment("Dummy");
72 action => 'Normal Authorization',
73 description => 'Business::OnlinePayment test',
75 invoice_number => '100100',
77 card_number => '46464646464646',
78 expiration => '11/08',
82 if($tx->is_success()) {
83 print "Card processed successfully: ".$tx->authorization."\n";
85 print "Card was rejected: ".$tx->error_message."\n";
90 For detailed information see L<Business::OnlineThirdPartyPayment>.
96 This module implements a dummy payment gateway.
100 Jeff Finucane <jeff@cmh.net>
104 perl(1). L<Business::OnlinePayment>.