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