summaryrefslogtreecommitdiff
path: root/t/credit_card.t
diff options
context:
space:
mode:
Diffstat (limited to 't/credit_card.t')
-rw-r--r--t/credit_card.t31
1 files changed, 24 insertions, 7 deletions
diff --git a/t/credit_card.t b/t/credit_card.t
index 108f859..efe6a26 100644
--- a/t/credit_card.t
+++ b/t/credit_card.t
@@ -9,7 +9,7 @@ use Business::OnlinePayment;
my $runinfo =
"to test set environment variables:"
- . " (required) PFPRO_VENDOR PFPRO_USER PFPRO_PWD;"
+ . " (required) PFPRO_VENDOR PFPRO_USER PFPRO_PWD and CLIENTCERTID (for X-VPS-VIT-CLIENT-CERTIFICATION-ID); "
. " (optional) PFPRO_PARTNER PFPRO_CERT_PATH";
plan(
@@ -19,9 +19,22 @@ plan(
);
my %opts = (
- "vendor" => $ENV{PFPRO_VENDOR},
- "partner" => $ENV{PFPRO_PARTNER} || "verisign",
- "cert_path" => $ENV{PFPRO_CERT_PATH} || ".",
+ "debug" => 0,
+ "vendor" => $ENV{PFPRO_VENDOR},
+ "partner" => $ENV{PFPRO_PARTNER} || "verisign",
+ ( $ENV{PFPRO_CERT_PATH} ? ( "cert_path" => $ENV{PFPRO_CERT_PATH} ) : () ),
+ (
+ $ENV{CLIENTCERTID} ? (
+ headers => {
+ "X-VPS-VIT-CLIENT-CERTIFICATION-ID" => $ENV{CLIENTCERTID},
+
+ # "X-VPS-REQUEST-ID" => $self->request_id(),
+ # "X-VPS-CLIENT-TIMEOUT" => , # default 45 seconds
+ # "X-VPS-VIT-CLIENT-DURATION" => , # commit request
+ }
+ )
+ : ()
+ ),
);
my %content = (
@@ -91,6 +104,7 @@ my %content = (
);
# IF first 3 chars of STREET >= 667 THEN AVSADDR == "X" (and AVSZIP="X")
+ $tx = new Business::OnlinePayment( "PayflowPro", %opts );
$tx->content( %content, "address" => "700 Any street" );
tx_check(
$tx,
@@ -104,6 +118,7 @@ my %content = (
);
# IF ZIP <= 50001 and >= 99999 THEN AVSZIP == "N"
+ $tx = new Business::OnlinePayment( "PayflowPro", %opts );
$tx->content( %content, "zip" => "99999" );
tx_check(
$tx,
@@ -117,6 +132,7 @@ my %content = (
);
# Both AVSADDR and AVSZIP == "N"
+ $tx = new Business::OnlinePayment( "PayflowPro", %opts );
$tx->content( %content, "address" => "500 Any street", "zip" => "99999" );
tx_check(
$tx,
@@ -147,6 +163,7 @@ my %content = (
);
# IF CVV2 >= 601 THEN CVV2MATCH == "X"
+ $tx = new Business::OnlinePayment( "PayflowPro", %opts );
$tx->content( %content, "cvv2" => "601" );
tx_check(
$tx,
@@ -167,13 +184,13 @@ sub tx_check {
$tx->test_transaction(1);
$tx->submit;
- is( $tx->is_success, $o{is_success}, $o{desc} . ": " . tx_info($tx) );
- is( $tx->result_code, $o{result_code}, "result_code(): RESULT" );
- like( $tx->order_number, qr/^\w{12}/, "order_number() / PNREF" );
+ is( $tx->is_success, $o{is_success}, "$o{desc}: " . tx_info($tx) );
+ is( $tx->result_code, $o{result_code}, "result_code(): RESULT" );
is( $tx->error_message, $o{error_message}, "error_message() / RESPMSG" );
is( $tx->authorization, $o{authorization}, "authorization() / AUTHCODE" );
is( $tx->avs_code, $o{avs_code}, "avs_code() / AVSADDR and AVSZIP" );
is( $tx->cvv2_code, $o{cvv2_code}, "cvv2_code() / CVV2MATCH" );
+ like( $tx->order_number, qr/^\w{12}/, "order_number() / PNREF" );
}
sub tx_info {