Beginning of CPAN/debian package preparation.
[Business-OnlinePayment-vSecureProcessing.git] / test.pl
1 #!/usr/bin/perl -w
2
3 #
4 # Make sure to copy Business::OnlinePayment::vSecureProcessing into its
5 # proper system directory (aka /usr/share/perl5/Business/Onlinepayment)
6 #
7
8 use strict;
9 use Business::OnlinePayment;
10
11 my %opt = (
12     server =>'dvrotsos2.kattare.com',
13     platform => 'Buypass',
14     gid => '1432479912596791',
15     tid => '01',
16     userid=> 'tom@yiptv.com',
17     port => 443,
18     env => 'test'
19 );
20
21 my $action = shift || 'Normal Authorization';
22 my $auth = shift || '';
23
24
25 my %content = (
26     appid          => 'yiptv',
27     action         => $action,
28     auth           => $auth,
29     description    => 'Business::OnlinePayment visa test',
30 #    card_number    => '4007000000027',
31     card_number    => '4111111111111111',
32     cvv2           => '111',
33     expiration     => expiration_date(),
34     amount         => '42.24',
35     name           => 'Murphy Law',
36     email          => 'fake@acme.com',
37     address        => '123 Anystreet',
38     zip            => '84058',
39 );
40
41 main();
42
43 sub main {
44     my $transaction = Business::OnlinePayment->new("vSecureProcessing", %opt);
45     
46     print "MAKING PAYMENT\n";
47     MakPayment($transaction);
48     $content{'action'} = 'void';
49     $content{'reference_number'} = $transaction->authorization;
50     $content{'transaction_date'} = $transaction->txn_date;
51     $content{'amount'} = $transaction->txn_amount;
52     print "VOIDING PAYMENT\n";
53     VoidPayment($transaction);
54     $content{'action'} = 'Normal Authorization';
55     print "MAKING PAYMENT\n";
56     MakePayment($transaction);
57     print "REFUNDING PAYMENT\n";
58     $content{'action'} = 'credit';
59     $content{'reference_number'} = $transaction->authorization;
60     $content{'transaction_date'} = $transaction->txn_date;
61     $content{'amount'} = $transaction->txn_amount;
62     refundPayment($transaction);
63 }
64
65 sub MakePayment {
66     $transaction->content(%content);
67
68     eval { $transaction->submit(); };
69
70     if ( $@ ) {
71     
72     print "Error: $@\n";
73     
74     } else {
75     
76         if ( $transaction->is_success() ) {
77             print "Card processed successfully: ". $transaction->authorization()."\n";
78         } else {
79             print "Card was rejected: ". $transaction->error_message(). "\n";
80         }
81     }
82 }
83
84 sub VoidPayment {
85     
86 }
87
88 sub RefundPayment {
89     
90 }
91
92
93 sub expiration_date {
94     my($month, $year) = (localtime)[4,5];
95     $month += 1;
96     $year++;       # So we expire next year.
97     $year %= 100;  # y2k?  What's that?
98
99     return sprintf("%02d/%02d", $month, $year);
100 }