# `make test'. After `make install' it should work as `perl eWay.t'
use Test;
-BEGIN { plan tests => 391, todo => [379,380,382] };
+require "t/lib/test_account.pl";
+
+BEGIN { plan tests => 391, todo => [361,376,382,383,388,389] };
use Business::OnlinePayment::USAePay;
+my %auth = test_account();
+
# a test transaction
my ($tx, $txnum, $res);
ok($tx = new Business::OnlinePayment("USAePay"));
+$tx->test_transaction(2);
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4005562233445564',
- expiration => '11/08',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
)
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4005562233445564',
- expiration => '11/08',
+ expiration => expiration_date(),
cvv2 => '123',
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
ok($tx->is_success());
ok($tx->error_message(), 'Approved');
ok($tx->authorization(), '/\d{6}/');
-ok($tx->server_response->{UMcvv2Result}, "Not Processed");
+ok($tx->server_response->{UMcvv2Result}, "No Match"); #"Not Processed");
# a failing transaction
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
address => '1234 Bean Curd Lane, Sydney',
zip => '2034',
card_number => '4646464646464646',
- expiration => '11/08',
+ expiration => expiration_date(),
cvv2 => '123',
)
);
-ok($tx->test_transaction(0),0);
+
+#ok($tx->test_transaction(0),0);
+ok($tx->test_transaction(2),2);
+
ok($tx->submit());
ok($tx->is_success(),0);
ok($tx->error_message(), 'Invalid Card Number (3)');
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000100011112224',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000100111112223',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000100211112222',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000100311112221',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000100411112220',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000100511112229',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000100611112228',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000100711112227',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000100811112226',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000100911112225',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok($tx->server_response->{UMresult}, "A");
ok($tx->server_response->{UMcvv2Result}, "Match");
ok($tx->server_response->{UMversion}, "2.9");
-ok($tx->server_response->{UMavsResult}, "Service Not Support");
+ok($tx->server_response->{UMavsResult}, "Service Not Supported");
ok($tx->server_response->{UMrefNum}, qr/^\d+/);
ok($tx->server_response->{UMerrorcode}, "00000");
ok($tx->server_response->{UMbatch}, qr/^\d+/);
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000101011112222',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000101111112221',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000101211112220',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok($tx->server_response->{UMresult}, "A");
ok($tx->server_response->{UMcvv2Result}, "Match");
ok($tx->server_response->{UMversion}, "2.9");
-ok($tx->server_response->{UMavsResult}, "International Address: Match & Zip: Not Compatible");
+ok($tx->server_response->{UMavsResult}, "International Address: Match & Postal: Not Compatible");
ok($tx->server_response->{UMrefNum}, qr/^\d+/);
ok($tx->server_response->{UMerrorcode}, "00000");
ok($tx->server_response->{UMbatch}, qr/^\d+/);
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000101311112229',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok($tx->server_response->{UMresult}, "A");
ok($tx->server_response->{UMcvv2Result}, "Match");
ok($tx->server_response->{UMversion}, "2.9");
-ok($tx->server_response->{UMavsResult}, "International Address: Match & Zip: Match");
+ok($tx->server_response->{UMavsResult}, "International Address: Match & Postal: Match");
ok($tx->server_response->{UMrefNum}, qr/^\d+/);
ok($tx->server_response->{UMerrorcode}, "00000");
ok($tx->server_response->{UMbatch}, qr/^\d+/);
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000101411112228',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok($tx->server_response->{UMresult}, "A");
ok($tx->server_response->{UMcvv2Result}, "Match");
ok($tx->server_response->{UMversion}, "2.9");
-ok($tx->server_response->{UMavsResult}, "International Address: No Compatible & Zip: Match");
+ok($tx->server_response->{UMavsResult}, "International Address: No Compatible & Postal: Match");
ok($tx->server_response->{UMrefNum}, qr/^\d+/);
ok($tx->server_response->{UMerrorcode}, "00000");
ok($tx->server_response->{UMbatch}, qr/^\d+/);
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000200011112222',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000200111112221',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000200211112220',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000200311112229',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
);
ok($tx->submit());
ok($tx->is_success(),0);
-ok($tx->error_message(), 'Card Declined');
+ok($tx->error_message(), 'Card Declined (00)');
ok($tx->authorization(), '/\d{6}/');
ok($tx->server_response->{UMavsResultCode}, "YYY");
ok($tx->server_response->{UMresult}, "D");
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000200411112228',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000200511112227',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000300011112220',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
);
ok($tx->submit());
ok($tx->is_success(),0);
-ok($tx->error_message(), 'Card Declined');
+ok($tx->error_message(), 'Card Declined (00)');
ok($tx->authorization(), '/\d{6}/');
ok($tx->server_response->{UMavsResultCode}, "YYY");
ok($tx->server_response->{UMresult}, "D");
-ok($tx->server_response->{UMcvv2Result}, "Not Processed");
+ok($tx->server_response->{UMcvv2Result}, "No Match"); #"Not Processed");
ok($tx->server_response->{UMversion}, "2.9");
ok($tx->server_response->{UMavsResult}, "Address: Match & 5 Digit Zip: Match");
ok($tx->server_response->{UMrefNum}, qr/^\d+/);
ok(
$tx->content(
type => 'CC',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '4000300111112229',
- expiration => '09/09',
+ expiration => expiration_date(),
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
cvv2 => '102',
ok($tx->authorization(), '/\d{6}/');
ok($tx->server_response->{UMavsResultCode}, "YYY");
ok($tx->server_response->{UMresult}, "E");
-ok($tx->server_response->{UMcvv2Result}, "Not Processed");
+ok($tx->server_response->{UMcvv2Result}, "No Match"); #"Not Processed");
ok($tx->server_response->{UMversion}, "2.9");
ok($tx->server_response->{UMavsResult}, "Address: Match & 5 Digit Zip: Match");
ok($tx->server_response->{UMrefNum}, qr/^\d+/);
ok(
$tx->content(
type => 'ECHECK',
- login => 'yCaWGYQsSVR0S48B6AKMK07RQhaxHvGu', #test platform
+ %auth,
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
);
ok($tx->submit());
ok($tx->is_success());
-ok($tx->error_message(), 'Approved');
-ok($tx->authorization(), '/^\d{6}/');
+ok($tx->error_message(), ''); #'Approved');
+ok($tx->authorization(), '/^\w{6}/'); #\d{6}/');
ok($tx->server_response->{UMavsResultCode}, "YYY");
ok($tx->server_response->{UMresult}, "E");
ok($tx->server_response->{UMcvv2Result}, "No CVV2/CVC data available for transaction.");
ok($tx->server_response->{UMversion}, "2.9");
-ok($tx->server_response->{UMavsResult}, "n/a");
+ok($tx->server_response->{UMavsResult}, "No AVS response (Typically no AVS data sent or swiped transaction)"); #"n/a");
ok($tx->server_response->{UMrefNum}, qr/^\d+/);
ok($tx->server_response->{UMerrorcode}, "00011");
ok($tx->server_response->{UMbatch}, qr/^\d+/);