Added support for CC type
authorfbriere <fbriere>
Sat, 19 Aug 2006 18:56:42 +0000 (18:56 +0000)
committerfbriere <fbriere>
Sat, 19 Aug 2006 18:56:42 +0000 (18:56 +0000)
InternetSecure.pm
t/types.t [new file with mode: 0755]

index b6632ed..cde38d3 100755 (executable)
@@ -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 (executable)
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");
+}
+