1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#!/usr/bin/perl -w
use Test::More skip_all => 'Authorize.net test account throwing errors about duplicates';
require "t/lib/test_account.pl";
my($login, $password) = test_account_or_skip('arb');
plan tests => 5;
use_ok 'Business::OnlinePayment';
my $tx = Business::OnlinePayment->new("AuthorizeNet");
$tx->content(
type => 'VISA',
login => $login,
password => $password,
action => 'Recurring Authorization',
description => 'Business::OnlinePayment::ARB visa test',
amount => '49.95',
invoice_number => '100100',
customer_id => 'jsk',
first_name => 'Tofu',
last_name => 'Beast',
address => '123 Anystreet',
city => 'Anywhere',
state => 'UT',
zip => '84058',
card_number => '4007000000027',
expiration => expiration_date(),
interval => '1 month',
start => tomorrow(),
periods => '3',
);
$tx->test_transaction(1); # test, dont really charge
$tx->submit();
ok($tx->is_success()) or diag $tx->error_message;
my $subscription = $tx->order_number();
like($subscription, qr/^[0-9]{1,13}$/, "Get order number");
SKIP: {
skip "No order number", 2 unless $subscription;
$tx->content(
login => $login,
password => $password,
action => 'Modify Recurring Authorization',
subscription => $subscription,
amount => '19.95',
);
$tx->test_transaction(1);
$tx->submit();
ok($tx->is_success()) or diag $tx->error_message;
$tx->content(
login => $login,
password => $password,
action => 'Cancel Recurring Authorization',
subscription => $subscription,
);
$tx->test_transaction(1);
$tx->submit();
ok($tx->is_success()) or diag $tx->error_message;
}
|