From: fbriere Date: Sat, 18 Feb 2006 06:40:15 +0000 (+0000) Subject: Add JCB support, update type codes to match documentation, and get rid of X-Git-Tag: V0_01 X-Git-Url: http://git.freeside.biz/gitweb/?p=Business-OnlinePayment-InternetSecure.git;a=commitdiff_plain;h=601b33ac01d6fbb72208f603d2f1793b3f5c7ff1 Add JCB support, update type codes to match documentation, and get rid of that superfluous regex check. --- diff --git a/InternetSecure.pm b/InternetSecure.pm index 8590efb..9bae9e8 100755 --- a/InternetSecure.pm +++ b/InternetSecure.pm @@ -18,11 +18,11 @@ our $VERSION = '0.01'; use constant SUCCESS_CODES => qw(2000 90000 900P1); use constant CARD_TYPES => { - VI => 'Visa', + AM => 'American Express', + JB => 'JCB', MC => 'MasterCard', - AX => 'American Express', # FIXME: AM? NN => 'Discover', - # JB? + VI => 'Visa', }; @@ -142,9 +142,10 @@ sub to_xml { $self->required_fields(qw(action card_number exp_date)); - croak 'Unsupported transaction type' - if $content{type} && $content{type} !~ - /^(Visa|MasterCard|American Express|Discover)$/i; + croak "Unsupported transaction type: $content{type}" + if $content{type} && + ! grep lc($content{type}) eq lc($_), + values %{+CARD_TYPES}; croak 'Unsupported action' unless $content{action} =~ /^Normal Authori[zs]ation$/i; @@ -425,6 +426,8 @@ Transaction type, being one of the following: =item - Discover +=item - JCB + =back (This is actually ignored for the moment, and can be left blank or undefined.) @@ -571,6 +574,8 @@ following: =item - Discover +=item - JCB + =back