1 use Test::More tests => 6;
3 use Business::OnlinePayment;
11 phone => '510-555-0021',
12 email => 'joe@example.com',
13 description => 'Business::OnlinePayment::NMI Test',
15 action => 'Normal Authorization',
16 card_number => '5431111111111111',
17 expiration => '10/10',
22 my %content = %defaults;
23 my $ordernum = ok_test(\%content, 'credit card sale');
28 order_number => $ordernum,
31 ok_test(\%content, 'credit card refund');
35 $content{'action'} = 'Authorization Only';
36 $ordernum = ok_test(\%content, 'credit card auth');
39 action => 'Post Authorization',
40 order_number => $ordernum,
43 ok_test(\%content, 'credit card capture');
48 order_number => $ordernum,
50 ok_test(\%content, 'credit card void');
54 $content{amount} = '0.10'; # amounts < 1.00 are declined on the demo account
56 ok_test(\%content, 'credit card decline');
59 my ($content, $label) = @_;
60 my $fail = delete $content{fail} or 0;
61 my $trans = new Business::OnlinePayment('NMI');
64 password => 'password',
69 diag($trans->error_message) if (!$fail and $trans->error_message);
71 ok(!$trans->is_success, $label)
74 ok($trans->is_success, $label);
76 return $trans->order_number;