diff options
author | Alex Brelsfoard <alex@Alexs-MacBook-Pro.local> | 2015-02-09 11:58:10 -0500 |
---|---|---|
committer | Alex Brelsfoard <alex@Alexs-MacBook-Pro.local> | 2015-02-09 11:58:10 -0500 |
commit | 1e90419f5b23ab4b4fe17b5861958d75ac285c4d (patch) | |
tree | 73095c5991d5e6702c0f8a8b2e63e0f4fd7b0b5b /extra/test.pl | |
parent | 7f323b74306dfa89de073a2ca5a34e76537815a7 (diff) |
Getting code ready for CPAN and debian relase.
Diffstat (limited to 'extra/test.pl')
-rwxr-xr-x | extra/test.pl | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/extra/test.pl b/extra/test.pl new file mode 100755 index 0000000..bca3628 --- /dev/null +++ b/extra/test.pl @@ -0,0 +1,96 @@ +#!/usr/bin/perl -w + +# +# Make sure to copy Business::OnlinePayment::vSecureProcessing into its +# proper system directory (aka /usr/share/perl5/Business/Onlinepayment) +# + +use strict; +use Data::Dumper; +use Business::OnlinePayment; + +my %opt = ( + server =>'dvrotsos2.kattare.com', + platform => 'Buypass', + gid => '1432479912596791', + tid => '01', + userid=> 'tom@yiptv.com', + port => 443, + env => 'test' +); + +my $action = shift || 'Normal Authorization'; +my $auth = shift || ''; + + +my %content = ( + appid => 'yiptv', + action => $action, + auth => $auth, + description => 'Business::OnlinePayment visa test', +# card_number => '4007000000027', + card_number => '4111111111111111', + cvv2 => '111', + expiration => expiration_date(), + amount => '42.24', + name => 'Murphy Law', + email => 'fake@acme.com', + address => '123 Anystreet', + zip => '84058', +); + +main(); + +sub main { + my $transaction = Business::OnlinePayment->new("vSecureProcessing", %opt); + + print "MAKING PAYMENT\n"; + ProcessTransaction($transaction); + $content{'action'} = 'void'; + $content{'ref_num'} = $transaction->authorization(); + $content{'txn_date'} = $transaction->txn_date(); + $content{'amount'} = $transaction->txn_amount; + print "VOIDING PAYMENT\n"; + ProcessTransaction($transaction); + $content{'action'} = 'Normal Authorization'; + $content{'amount'} = '30.00'; + print "MAKING PAYMENT\n"; + ProcessTransaction($transaction); + $content{'action'} = 'credit'; + $content{'ref_num'} = $transaction->authorization; + $content{'txn_date'} = $transaction->txn_date; + $content{'amount'} = $transaction->txn_amount; + print "REFUNDING PAYMENT\n"; + ProcessTransaction($transaction); +} + +sub ProcessTransaction { + my $transaction = shift; + print "Processing transaction with content:\n".Dumper(\%content)."\n"; + $transaction->content(%content); + + eval { $transaction->submit(); }; + + if ( $@ ) { + + die "Error: $@\n"; + + } else { + + if ( $transaction->is_success() ) { + print "Card processed successfully: ". $transaction->authorization()."\n"; + } else { + print "Card was rejected: ". $transaction->error_message(). "\n"; + } + } +} + + +sub expiration_date { + my($month, $year) = (localtime)[4,5]; + $month += 1; + $year++; # So we expire next year. + $year %= 100; # y2k? What's that? + + return sprintf("%02d/%02d", $month, $year); +} |