X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=OnlinePayment.pm;h=41654511a4ec34d4c6cd6f1dcc1ba3b587600735;hb=d0a0086336b8c7b9f0ea3e4dea903f6a44bdefcc;hp=7cc39de31dd3238ef9e1d5bfdfbe3f23cd1fb321;hpb=de4c4cf8598e4f2303a324d963a3d0f0e81661b3;p=Business-OnlinePayment.git diff --git a/OnlinePayment.pm b/OnlinePayment.pm index 7cc39de..4165451 100644 --- a/OnlinePayment.pm +++ b/OnlinePayment.pm @@ -6,7 +6,7 @@ use Carp; require 5.005; -$VERSION = '3.01_02'; +$VERSION = '3.03_01'; $VERSION = eval $VERSION; # modperlstyle: convert the string into a number # Remember subclasses we have "wrapped" submit() with _pre_submit() @@ -50,16 +50,16 @@ sub _info { %_info_handler = ( 'supported_types' => sub { my( $class, $v ) = @_; - my $types = ref($v) ? $v : [ $v ]; - $types = { map { $_=>1 } @$types } if ref($v) eq 'ARRAY'; + my $types = ref($v) ? $v : defined($v) ? [ $v ] : []; + $types = { map { $_=>1 } @$types } if ref($types) eq 'ARRAY'; $types; }, 'supported_actions' => sub { my( $class, $v ) = @_; - return $v if ref($v) eq 'HASH'; + return %$v if ref($v) eq 'HASH'; $v = [ $v ] unless ref($v); - my $types = $class->info('supported_types'); - { map { $_ => $v } keys %$types }; + my $types = $class->info('supported_types') || {}; + ( map { $_ => $v } keys %$types ); }, ); @@ -345,6 +345,8 @@ What action being taken by this transaction. Currently available are: =item Post Authorization +=item Reverse Authorization + =item Void =item Credit @@ -398,6 +400,11 @@ Duty amount (portion of amount field, not added to it). Tax exempt flag (i.e. TRUE, FALSE, T, F, YES, NO, Y, N, 1, 0). +=item currency + +Currency, specified as an ISO 4217 three-letter code, such as USD, CAD, EUR, +AUD, DKK, GBP, JPY, NZD, etc. + =back =head3 CUSTOMER INFO FIELDS @@ -492,14 +499,27 @@ IP Address from which the transaction originated. Credit card number. +=item expiration + +Credit card expiration. + =item cvv2 CVV2 number (also called CVC2 or CID) is a three- or four-digit security code used to reduce credit card fraud. -=item expiration +=item card_token -Credit card expiration. +If supported by your gateway, you can pass a card_token instead of a +card_number and expiration. + +=cut + +#=item card_response +# +#Some card_token schemes implement a challenge/response handshake. In those +#cases, this field is used for the response. In most cases the handshake +#it taken care of by the gateway module. =item track1 @@ -509,7 +529,7 @@ Track 1 on the magnetic stripe (Card present only) Track 2 on the magnetic stripe (Card present only) -=item recurring billing +=item recurring_billing Recurring billing flag @@ -649,6 +669,11 @@ later. The unique order number for the transaction generated by the gateway. Store this if you would like to run inquiries or refunds on the transaction later. +=head2 card_token() + +If supported by your gateway, a card_token can be used in a subsequent +transaction to refer to a card number. + =head2 fraud_score() Retrieve or change the fraud score from any Business::FraudDetect plugin @@ -747,6 +772,17 @@ Ivan Kohler Phil Lobbes Ephil at perkpartners dot comE +=head1 COPYRIGHT + +Copyright (c) 1999-2004 Jason Kohles +Copyright (c) 2004 Ivan Kohler +Copyright (c) 2007-2012 Freeside Internet Services, Inc. + +All rights reserved. + +This program is free software; you can redistribute it and/or modify it under +the same terms as Perl itself. + =head1 HOMEPAGE Homepage: http://420.am/business-onlinepayment/