diff options
author | Mark Wells <mark@freeside.biz> | 2014-07-10 14:13:12 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2014-07-10 14:13:12 -0700 |
commit | 094794d04a28d126f72f89359284d75750798409 (patch) | |
tree | 94426facdeaa828389d3a3444d8aea80a50ebda0 /t/transaction.t | |
parent | f6660ccc1cf3719650dc179aa7b1fd117b07ed0b (diff) |
version 0.01
Diffstat (limited to 't/transaction.t')
-rw-r--r-- | t/transaction.t | 73 |
1 files changed, 50 insertions, 23 deletions
diff --git a/t/transaction.t b/t/transaction.t index 28db227..affe60c 100644 --- a/t/transaction.t +++ b/t/transaction.t @@ -3,37 +3,64 @@ use strict; use warnings; use POSIX qw(strftime); -use Test::More tests => 1; - +use Test::More; use Business::OnlinePayment; -my %content = ( - login => '124freeside', - password => 'freeside124', - action => "Normal Authorization", - type => "CC", - description => "Business::OnlinePayment::FirstDataGlobalGateway test", - card_number => '4111111111111111', - cvv2 => '123', - expiration => '12/20', - amount => '1.00', - first_name => 'Tofu', - last_name => 'Beast', - address => '1234 Soybean Ln.', - city => 'Soyville', - state => 'CA', #where else? - zip => '54545', -); +my $login = $ENV{BOP_TEST_LOGIN}; +my $password = $ENV{BOP_TEST_PASSWORD}; +if (!$login) { + plan skip_all => "no test credentials provided; set BOP_TEST_LOGIN and BOP_TEST_PASSWORD to test communication with the gateway.", + 1; + exit(0); +} + +plan tests => 2; + +### +# Purchase +### +my %content = ( + login => $login, + password => $password, + type => "CC", + description => "Business::OnlinePayment::FirstDataGlobalGateway test", + card_number => '4111111111111111', + cvv2 => '123', + expiration => '12/20', + amount => '1.00', + first_name => 'Tofu', + last_name => 'Beast', + address => '1234 Soybean Ln.', + city => 'Soyville', + state => 'CA', #where else? + zip => '94804', +); my $tx = new Business::OnlinePayment( 'FirstDataGlobalGateway' ); -$tx->content( %content ); +$tx->content( %content, + action => 'Normal Authorization' ); $tx->test_transaction(1); $tx->submit; -is( $tx->is_success, 1, 'Test transaction successful') - or diag('iATS Payments error: '. $tx->error_message); - +is( $tx->is_success, 1, 'purchase' ) + or diag('Gateway error: '. $tx->error_message); + +### +# Refund +### +my $auth = $tx->authorization; +$tx = new Business::OnlinePayment( 'FirstDataGlobalGateway' ); +$tx->content( %content, + action => 'Credit', + authorization => $auth ); +$tx->test_transaction(1); + +$tx->submit; + +is( $tx->is_success, 1, 'refund' ) + or diag('Gateway error: '. $tx->error_message); + 1; |