From 1e4d0e5efa809ecb0480d9040e8b373bcb4f2480 Mon Sep 17 00:00:00 2001 From: fbriere Date: Sat, 19 Aug 2006 18:56:42 +0000 Subject: [PATCH] Added support for CC type --- InternetSecure.pm | 4 +++- t/types.t | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100755 t/types.t diff --git a/InternetSecure.pm b/InternetSecure.pm index b6632ed..cde38d3 100755 --- a/InternetSecure.pm +++ b/InternetSecure.pm @@ -151,7 +151,7 @@ sub to_xml { croak "Unsupported transaction type: $content{type}" if $content{type} && ! grep lc($content{type}) eq lc($_), - values %{+CARD_TYPES}; + values %{+CARD_TYPES}, 'CC'; croak 'Unsupported action' unless $content{action} =~ /^Normal Authori[zs]ation$/i; @@ -434,6 +434,8 @@ Transaction type, being one of the following: =item - JCB +=item - CC + =back (This is actually ignored for the moment, and can be left blank or undefined.) diff --git a/t/types.t b/t/types.t new file mode 100755 index 0000000..97383e9 --- /dev/null +++ b/t/types.t @@ -0,0 +1,29 @@ +# vim:set syntax=perl encoding=utf-8: + +# Check for case-insensitivity and CC support in type + +use constant TYPES => ('Visa', 'viSa', 'CC'); + +use Test::More tests => 1 + TYPES; + +BEGIN { use_ok('Business::OnlinePayment') }; + +my $txn = new Business::OnlinePayment 'InternetSecure', merchant_id => '0000'; + +foreach my $type (TYPES) { + $txn->content( + action => 'Normal Authorization', + type => $type, + + card_number => '5111-1111-1111-1111', + exp_date => '0704', + + amount => 13.95, + ); + + # This will fail if type is not recognized + $txn->to_xml; + + pass("type: $type"); +} + -- 2.11.0