Update tests for new test server
authorIvan Kohler <ivan@freeside.biz>
Tue, 30 Mar 2021 17:35:55 +0000 (10:35 -0700)
committerIvan Kohler <ivan@freeside.biz>
Tue, 30 Mar 2021 17:35:55 +0000 (10:35 -0700)
Changes
IPPay.pm
README
t/card.t

diff --git a/Changes b/Changes
index 0a104a7..f297a16 100644 (file)
--- a/Changes
+++ b/Changes
@@ -4,6 +4,7 @@ Revision history for Perl extension Business::OnlinePayment::IPPay.
         - ACH SEC code: Allow setting, default to CCD for business accounts,
           PPD otherwise (was: always PPD)
         - doc: Update copyright and maintainer information
         - ACH SEC code: Allow setting, default to CCD for business accounts,
           PPD otherwise (was: always PPD)
         - doc: Update copyright and maintainer information
+        - Update tests for new test server
 
 0.10  unreleased (2015)
         - UserIPAddr is now UserIPAddress
 
 0.10  unreleased (2015)
         - UserIPAddr is now UserIPAddress
index 7f15fcc..1fca678 100644 (file)
--- a/IPPay.pm
+++ b/IPPay.pm
@@ -217,6 +217,7 @@ sub submit {
   }
   if ($self->test_transaction()) {
     $content{'login'} = 'TESTTERMINAL';
   }
   if ($self->test_transaction()) {
     $content{'login'} = 'TESTTERMINAL';
+    $self->server('testgtwy.ippay.com') if $self->server eq 'gtwy.ippay.com';
   }
   $self->content(%content);
 
   }
   $self->content(%content);
 
diff --git a/README b/README
index b8aeb7c..e82c2d7 100644 (file)
--- a/README
+++ b/README
@@ -9,7 +9,8 @@ This is Business::OnlinePayment::IPPay, a Business::OnlinePayment backend
 module for IPPay.  It is only useful if you have a merchant account with
 IPPay Merchant Services: http://www.ippay.com
 
 module for IPPay.  It is only useful if you have a merchant account with
 IPPay Merchant Services: http://www.ippay.com
 
-This module implements the IPPay XML Product Specification Revision 1.1.2
+This module implemented the IPPay XML Product Specification Revision 1.1.2
+(historically), updated in 2021 using revision 1-1-9.1 (September 2018).
 
 Jeff Finucane is the original author.  Mr. Kohles and Mr. Kohler provided
 material for cribbing.
 
 Jeff Finucane is the original author.  Mr. Kohles and Mr. Kohler provided
 material for cribbing.
index 8564fcb..f00ce4e 100644 (file)
--- a/t/card.t
+++ b/t/card.t
@@ -66,6 +66,7 @@ my $voidable_amount = 0;
     authorization => qr/^$/,
     avs_code      => '',           # so rather pointless :\
     cvv2_response => '',           # ...
     authorization => qr/^$/,
     avs_code      => '',           # so rather pointless :\
     cvv2_response => '',           # ...
+    order_number  => qr/^$/,
   );
 }
 
   );
 }
 
@@ -90,10 +91,7 @@ my $voidable_amount = 0;
 }
 
 # authorization void test
 }
 
 # authorization void test
-SKIP: {
-  #XXX void is returning "The transaction type is not a valid transaction type."
-  # with current IPPay.  did something change about the API, is this broken?
-  skip 'Reverse Authorization not currently working (against test account?)', 7;
+{
 
   my $tx = Business::OnlinePayment->new("IPPay", %opt);
   $tx->content(%content, action => 'authorization only',  amount => '3.00' );
 
   my $tx = Business::OnlinePayment->new("IPPay", %opt);
   $tx->content(%content, action => 'authorization only',  amount => '3.00' );
@@ -110,10 +108,10 @@ SKIP: {
       desc          => "reverse authorization",
       is_success    => 1,
       result_code   => '000',
       desc          => "reverse authorization",
       is_success    => 1,
       result_code   => '000',
-      error_message => 'APPROVED',
+      error_message => 'VOID SUCCESSFUL',
       authorization => qr/TEST\d{2}/,
       avs_code      => '',          # so rather pointless :\
       authorization => qr/TEST\d{2}/,
       avs_code      => '',          # so rather pointless :\
-      cvv2_response => '',          # ...
+      cvv2_response => 'P',          # ...
     );
   }
   else {
     );
   }
   else {
@@ -122,7 +120,7 @@ SKIP: {
 }
 
 # post authorization test
 }
 
 # post authorization test
-SKIP: {
+{
   my $tx = new Business::OnlinePayment( "IPPay", %opt );
   $tx->content( %content, 'action'       => "post authorization", 
                           'amount'       => $postable_amount,    # not required
   my $tx = new Business::OnlinePayment( "IPPay", %opt );
   $tx->content( %content, 'action'       => "post authorization", 
                           'amount'       => $postable_amount,    # not required
@@ -141,7 +139,7 @@ SKIP: {
 }
 
 # void test
 }
 
 # void test
-SKIP: {
+{
   my $tx = new Business::OnlinePayment( "IPPay", %opt );
   $tx->content( %content, 'action' => "Void",
                           'order_number' => $voidable,
   my $tx = new Business::OnlinePayment( "IPPay", %opt );
   $tx->content( %content, 'action' => "Void",
                           'order_number' => $voidable,
@@ -152,15 +150,15 @@ SKIP: {
     desc          => "void",
     is_success    => 1,
     result_code   => '000',
     desc          => "void",
     is_success    => 1,
     result_code   => '000',
-    error_message => 'VOID PROCESSED',
-    authorization => qr/^$voidable_auth$/,
+    error_message => 'VOID SUCCESSFUL',
+    authorization => qr/TEST\d{2}/,
     avs_code      => '',
     avs_code      => '',
-    cvv2_response => '',
+    cvv2_response => 'P',
     );
 }
 
 # credit test
     );
 }
 
 # credit test
-SKIP: {
+{
   my $tx = new Business::OnlinePayment( "IPPay", %opt );
   $tx->content( %content, 'action' => "credit");
   tx_check(
   my $tx = new Business::OnlinePayment( "IPPay", %opt );
   $tx->content( %content, 'action' => "credit");
   tx_check(
@@ -168,10 +166,10 @@ SKIP: {
     desc          => "credit",
     is_success    => 1,
     result_code   => '000',
     desc          => "credit",
     is_success    => 1,
     result_code   => '000',
-    error_message => 'RETURN ACCEPTED',
-    authorization => qr/\d{6}/,
+    error_message => 'APPROVED',
+    authorization => qr/TEST\d{2}/,
     avs_code      => '',
     avs_code      => '',
-    cvv2_response => '',
+    cvv2_response => 'P',
     );
 }
 
     );
 }
 
@@ -183,13 +181,14 @@ sub tx_check {
     $tx->test_transaction(1);
     $tx->submit;
 
     $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" );
-    is( $tx->error_message, $o{error_message}, "error_message() / RESPMSG" );
-    like( $tx->authorization, $o{authorization}, "authorization() / AUTHCODE" );
-    is( $tx->avs_code,  $o{avs_code},  "avs_code() / AVSADDR and AVSZIP" );
-    is( $tx->cvv2_response, $o{cvv2_response}, "cvv2_response() / CVV2MATCH" );
-    like( $tx->order_number, qr/^\w{18}/, "order_number() / PNREF" );
+    is(   $tx->is_success,    $o{is_success},    "$o{desc}: ". tx_info($tx)  );
+    is(   $tx->result_code,   $o{result_code},   "$o{desc}: result_code()"   );
+    is(   $tx->error_message, $o{error_message}, "$o{desc}: error_message()" );
+    like( $tx->authorization, $o{authorization}, "$o{desc}: authorization()" );
+    is(   $tx->avs_code,      $o{avs_code},      "$o{desc}: avs_code()"      );
+    is(   $tx->cvv2_response, $o{cvv2_response}, "$o{desc}: cvv2_response()" );
+    like( $tx->order_number,  $o{order_number}
+                                || qr/^\w{18}/,  "$o{desc}: order_number()"  );
 }
 
 sub tx_info {
 }
 
 sub tx_info {