Rewrote documentation a bit
[Business-OnlinePayment-InternetSecure.git] / InternetSecure.pm
index 964eb9e..a4cd4ed 100755 (executable)
@@ -79,13 +79,13 @@ sub parse_expdate {
 
        my ($y, $m);
 
-       if (/^(\d{4})\W(\d{1,2})$/ ||           # 2004.07  or  2004-7
-                       /^(\d\d)\W(\d)$/ ||     # 04/7
-                       /^(\d\d)[.-](\d\d)$/) { # 04-07
+       if (/^(\d{4})\W(\d{1,2})$/ ||           # YYYY.MM  or  YYYY-M
+                       /^(\d\d)\W(\d)$/ ||     # YY/M  or  YY-M
+                       /^(\d\d)[.-](\d\d)$/) { # YY-MM
                ($y, $m) = ($1, $2);
-       } elsif (/^(\d{1,2})\W(\d{4})$/ ||      # 07-2004  or  7/2004
-                       /^(\d)\W(\d\d)$/ ||     # 7/04
-                       /^(\d\d)\/?(\d\d)$/) {  # 07/04  or  0704
+       } elsif (/^(\d{1,2})\W(\d{4})$/ ||      # MM-YYYY  or  M/YYYY
+                       /^(\d)\W(\d\d)$/ ||     # M/YY  or  M-YY
+                       /^(\d\d)\/?(\d\d)$/) {  # MM/YY  or  MMYY
                ($y, $m) = ($2, $1);
        } else {
                croak "Unable to parse expiration date: $str";
@@ -230,8 +230,8 @@ sub parse_response {
 
        $self->server_response($response);
        
-       # (It's not quite clear whether there should be some decoding, or if
-       # the result is already utf8.)
+       # FIXME: It's not quite clear whether there should be some decoding, or
+       # if the result is already utf8.)
 
        $response = xml_in($response,
                        ForceArray => [qw(product flag)],
@@ -394,23 +394,24 @@ Transaction type, being one of the following:
 
 =item card_number (required)
 
-Credit card number.  Any spaces will be removed.
+Credit card number.  Spaces are allowed, and will be automatically removed.
 
 =item exp_date (required)
 
-Credit card expiration date.  Since L<Business::OnlinePayment> does not
-specify any syntax, this module is rather lax in what it will accept.  It is
-recommended to use either I<YYYY-MM> or I<MM/YYYY>, to avoid any nasty
-surprises.
+Credit card expiration date.  Since L<Business::OnlinePayment> does not specify
+any syntax, this module is rather lax regarding what it will accept.  The
+recommended syntax is I<YYYY-MM>, but forms such as I<MM/YYYY> or I<MMYY> are
+allowed as well.
 
 =item cvv2
 
 Three- or four-digit verification code printed on the card.  This can be left
 blank or undefined, in which case no check will be performed.  Whether or not a
-transaction will be declined in case of a mismatch depends on the merchant.
+transaction will be declined in case of a mismatch depends on the merchant
+account configuration.
 
 This number may be called Card Verification Value (CVV2), Card Validation
-Code (CVC2) or Card Identification number (CID).
+Code (CVC2) or Card Identification number (CID), depending on the card issuer.
 
 =item description
 
@@ -427,21 +428,21 @@ L<"Products list syntax">.
 =item currency
 
 Currency of all amounts for this order.  This can currently be either
-C<CAN> (default) or C<USD>.
+C<CAD> (default) or C<USD>.
 
 =item taxes
 
 Taxes to be added automatically.  These should not be included in B<amount>;
-they will be added by Internet Secure later on.
+they will be automatically added by Internet Secure later on.
 
-Available taxes are C<GST>, C<PST> and C<HST>; multiple taxes must be
-separated by spaces.
+Available taxes are C<GST>, C<PST> and C<HST>.  Taxes can be combined by
+separating them with spaces, such as C<GST HST>.
 
 =item name / company / address / city / state / zip / country / phone / email
 
 Facultative customer information.  B<state> should be either a postal
 abbreviation or a two-letter code taken from ISO 3166-2, and B<country> should
-be a two-letter code taken from in ISO 3166-1.
+be a two-letter code taken from ISO 3166-1.
 
 =back
 
@@ -552,7 +553,7 @@ Frederic Briere, E<lt>fbriere@fbriere.netE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2004 by Frederic Briere
+Copyright (C) 2006 by Frederic Briere
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself, either Perl version 5.8.4 or,