summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfbriere <fbriere>2006-08-19 18:56:42 +0000
committerfbriere <fbriere>2006-08-19 18:56:42 +0000
commit1e4d0e5efa809ecb0480d9040e8b373bcb4f2480 (patch)
treee3705ef53b0f962a4a674f84724253debd933eb9
parentdf677a47383944a67d88371a83d18d557602f3cd (diff)
Added support for CC type
-rwxr-xr-xInternetSecure.pm4
-rwxr-xr-xt/types.t29
2 files changed, 32 insertions, 1 deletions
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");
+}
+