diff options
Diffstat (limited to 'IPPay.pm')
-rw-r--r-- | IPPay.pm | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -213,6 +213,14 @@ sub submit { $self->required_fields(@required_fields); + #quick validation because ippay dumps an error indecipherable to the end user + if (grep { /^routing_code$/ } @required_fields) { + unless( $content{routing_code} =~ /^\d{9}$/ ) { + $self->_error_response('Invalid routing code'); + return; + } + } + if ($self->test_transaction()) { $self->server('test1.jetpay.com'); $self->port('443'); @@ -408,6 +416,17 @@ sub submit { } +sub _error_response { + my ($self, $error_message) = (shift, shift); + $self->result_code(''); + $self->order_number(''); + $self->authorization(''); + $self->cvv2_response(''); + $self->avs_code(''); + $self->is_success( 0); + $self->error_message($error_message); +} + sub _xmlwrite { my ($self, $writer, $item, $value) = @_; $writer->startTag($item); |