better error message when LinkPoint does not return a statusMessage
authorivan <ivan>
Mon, 31 Mar 2003 20:41:56 +0000 (20:41 +0000)
committerivan <ivan>
Mon, 31 Mar 2003 20:41:56 +0000 (20:41 +0000)
Changes
LinkPoint.pm

diff --git a/Changes b/Changes
index 559ccdf..ef0b721 100644 (file)
--- a/Changes
+++ b/Changes
@@ -7,6 +7,7 @@ Revision history for Perl extension Business::OnlinePayment::LinkPoint.
        - better URLs for linkpoint perl wrapper
        - don't spew debugging output by default
        - move load.t test from t1/ to t2/
+       - better error message when LinkPoint doesn't return a statusMessage
 
 0.01  Wed Nov 21 04:00:26 2001
        - original version; created by ivan 1.0
index 26c16bb..b0c496a 100644 (file)
@@ -1,6 +1,6 @@
 package Business::OnlinePayment::LinkPoint;
 
-# $Id: LinkPoint.pm,v 1.6 2002-08-14 01:32:54 ivan Exp $
+# $Id: LinkPoint.pm,v 1.7 2003-03-31 20:41:56 ivan Exp $
 
 use strict;
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
@@ -159,7 +159,13 @@ sub submit {
     if ( $response{'statusCode'} == 0 ) {
       $self->is_success(0);
       $self->result_code('');
-      $self->error_message($response{'statusMessage'});
+      if ( exists($response{'statusMessage'})
+           && defined($response{'statusMessage'}) ) { # "normal" error
+        $self->error_message($response{'statusMessage'});
+      } else { # "should not happen" error (should this die/croak?)
+        $self->error_message("No statusMessage returned!  Response follows:".
+          join(' / ', map { "$_=>".$response{$_} } keys %response )           );
+      }
     } else {
       $self->is_success(1);
       $self->result_code($response{'AVCCode'});