summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Baillet <laurent.baillet@gmail.com>2018-02-26 09:55:14 +0100
committerLaurent Baillet <laurent.baillet@gmail.com>2018-02-26 09:55:14 +0100
commit18c7355d405f80bcc448226cc1267f4a1120c8c7 (patch)
treecb97f8eac428333ee8a0b4e3c0f0e957efd39a49
parent4569b49f0b6cd4a77bb4945002402d7b886991ee (diff)
parent602f62fc25d59e1cb42b031563329485c2931ef2 (diff)
Merge tag 'upstream/3.05'
Upstream version 3.05
-rw-r--r--Changes7
-rw-r--r--META.json6
-rw-r--r--META.yml6
-rw-r--r--OnlinePayment.pm50
-rw-r--r--README2
-rw-r--r--notes_for_module_writers_v321
6 files changed, 74 insertions, 18 deletions
diff --git a/Changes b/Changes
index cb97df5..882b4e4 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,12 @@
Revision history for Perl extension Business::OnlinePayment.
+3.05 Fri Feb 2 09:25:50 PST 2018
+ - Add txn_date to return fields (and build_subs)
+ - doc: Add Tokenize action (stand-alone tokenize without a transaction)
+ - doc: follow-up transaction fields
+ - doc: nacha_sec_code for ACH transactions
+ - doc: adjust URLs and year for current reality
+
3.04 Thu Dec 3 12:49:59 PST 2015
- Partial authorizations
- Doc: Moo is a-okay for module authors
diff --git a/META.json b/META.json
index d256dff..3193a72 100644
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
"Ivan Kohler <ivan-business-onlinepayment@420.am>"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.150005",
+ "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010",
"license" : [
"unknown"
],
@@ -41,6 +41,6 @@
"resources" : {
"homepage" : "http://perl.business/onlinepayment"
},
- "version" : "3.04",
- "x_serialization_backend" : "JSON::PP version 2.27203"
+ "version" : "3.05",
+ "x_serialization_backend" : "JSON::PP version 2.27400_02"
}
diff --git a/META.yml b/META.yml
index 41d2c08..41d21b6 100644
--- a/META.yml
+++ b/META.yml
@@ -7,7 +7,7 @@ build_requires:
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.150005'
+generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010'
license: unknown
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -22,5 +22,5 @@ requires:
Tie::IxHash: '0'
resources:
homepage: http://perl.business/onlinepayment
-version: '3.04'
-x_serialization_backend: 'CPAN::Meta::YAML version 0.012'
+version: '3.05'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff --git a/OnlinePayment.pm b/OnlinePayment.pm
index 0b598f1..aa68380 100644
--- a/OnlinePayment.pm
+++ b/OnlinePayment.pm
@@ -6,7 +6,7 @@ use Carp;
require 5.005;
-$VERSION = '3.04';
+$VERSION = '3.05';
$VERSION = eval $VERSION; # modperlstyle: convert the string into a number
# Remember subclasses we have "wrapped" submit() with _pre_submit()
@@ -36,6 +36,7 @@ my @methods = qw(
response_page
avs_code
cvv2_response
+ txn_date
);
__PACKAGE__->build_subs(@methods);
@@ -363,6 +364,8 @@ What action being taken by this transaction. Currently available are:
=item Credit
+=item Tokenize
+
=item Recurring Authorization
=item Modify Recurring Authorization
@@ -574,6 +577,14 @@ Bank's routing code
Account type. Can be (case-insensitive): B<Personal Checking>,
B<Personal Savings>, B<Business Checking> or B<Business Savings>.
+=item nacha_sec_code
+
+NACHA SEC Code for US ACH transactions. 'PPD' indicates customer signed a form
+giving authorization for the charge, 'CCD' same for a business checking/savings
+account, 'WEB' for online transactions where a box was checked authorizing the
+charge, and 'TEL' for authorization via recorded phone call (NACHA script
+required).
+
=item account_name
Account holder's name.
@@ -612,6 +623,21 @@ Customer's date of birth.
=back
+=head3 FOLLOW-UP TRANSACTION FIELDS
+
+These fields are used in follow-up transactions related to an original
+transaction (Post Authorization, Reverse Authorization, Void, Credit).
+
+=over 4
+
+=item authorization
+
+=item order_number
+
+=item txn_date
+
+=back
+
=head3 RECURRING BILLING FIELDS
=over 4
@@ -708,6 +734,12 @@ this if you would like to run inquiries or refunds on the transaction later.
If supported by your gateway, a card_token can be used in a subsequent
transaction to refer to a card number.
+=head2 txn_date()
+
+Transaction date, as returned by the gateway. Required by some gateways
+for follow-up transactions. Store this if you would like to run inquiries or
+refunds on the transaction later.
+
=head2 fraud_score()
Retrieve or change the fraud score from any Business::FraudDetect plugin
@@ -788,8 +820,8 @@ Croaks if any of the required fields are not present.
=head2 silly_bool( $value )
-Returns 0 if the value starts with y, Y, t or T.
-Returns 1 if the value starts with n, N, f or F.
+Returns 1 if the value starts with y, Y, t or T.
+Returns 0 if the value starts with n, N, f or F.
Otherwise returns the value itself.
Use this for handling boolean content like tax_exempt.
@@ -810,7 +842,7 @@ Phil Lobbes E<lt>phil at perkpartners dot comE<gt>
Copyright (c) 1999-2004 Jason Kohles
Copyright (c) 2004 Ivan Kohler
-Copyright (c) 2007-2015 Freeside Internet Services, Inc.
+Copyright (c) 2007-2018 Freeside Internet Services, Inc.
All rights reserved.
@@ -826,7 +858,7 @@ Development: http://perl.business/onlinepayment/ng.html
=head1 MAILING LIST
Please direct current development questions, patches, etc. to the mailing list:
-http://420.am/cgi-bin/mailman/listinfo/bop-devel/
+http://mail.freeside.biz/cgi-bin/mailman/listinfo/bop-devel/
=head1 REPOSITORY
@@ -836,16 +868,16 @@ The code is available from our public git repository:
Or on the web:
- http://freeside.biz/gitweb/?p=Business-OnlinePayment.git
+ http://git.freeside.biz/gitweb/?p=Business-OnlinePayment.git
Or:
- http://freeside.biz/gitlist/Business-OnlinePayment.git
+ http://git.freeside.biz/cgit/Business-OnlinePayment.git
Many (but by no means all!) processor plugins are also available in the same
repository, see:
- http://freeside.biz/gitweb/
+ http://git.freeside.biz/gitweb/
Or:
- http://freeside.biz/gitlist/
+ http://git.freeside.biz/cgit/
=head1 DISCLAIMER
diff --git a/README b/README
index 7c92543..10ff0bc 100644
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
Copyright (c) 1999-2004 Jason Kohles
Copyright (c) 2004 Ivan Kohler
-Copyright (c) 2007-2015 Freeside Internet Services, Inc.
+Copyright (c) 2007-2016 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.
diff --git a/notes_for_module_writers_v3 b/notes_for_module_writers_v3
index 86172c5..3376500 100644
--- a/notes_for_module_writers_v3
+++ b/notes_for_module_writers_v3
@@ -82,6 +82,7 @@ These are the module writer's notes for v3. See the regular
'Post Authorization',
'Void',
'Credit',
+ 'Tokenize',
'Recurring Authorization',
'Modify Recurring Authorization',
'Cancel Recurring Authorization',
@@ -93,6 +94,7 @@ These are the module writer's notes for v3. See the regular
],
},
'CC_void_requires_card' => 1,
+ #? 'CC_reverse_auth_requires_txn_date' => 1,
'ECHECK_void_requires_account' => 1, #routing_code, account_number, name
};
}
@@ -102,7 +104,7 @@ These are the module writer's notes for v3. See the regular
Gateways will return one or two values from Authorization Only and
Normal Authorization transactions that must be submitted back with a
- Post Authorization, Void, or Credit transaction.
+ Post Authorization, Reverse Authorization, Void, or Credit transaction.
If the gateway returns one value, return this as "authorization"
@@ -112,6 +114,21 @@ These are the module writer's notes for v3. See the regular
is a unique tranaction id generated by the gateway.
+= txn_date (NEW IN 3.05) =
+
+ Some gateways return a transaction date from Authorization Only / Normal
+ Authorization transactions that must be submitted back for a follow-up
+ Post Authorization, Reverse Authorization, Void, or Credit transaction.
+
+ For the most compatibility with all gateways for follow-up transactions,
+ pass this as well as authorization and order number. Note this field is
+ a recent addition, so always access it like this:
+
+ my $txn_date = $bop_transaction_object->can('txn_date')
+ ? $bop_transaction_object->txn_date
+ : '';
+
+
= Moo (NEWLY DOCUMENTED IN 3.04) =
Feel free to write gateway modules which use Moo. Please do not require
@@ -132,7 +149,7 @@ These are the module writer's notes for v3. See the regular
- Honor the transaction 'partial_auth' flag as follows:
+ If this transaction flag is unset, the application is not expecting to
handle a partial authorzation. So, either set the gateway flag disabling
- partial authorizations, or (if your gatweay does not have such a
+ partial authorizations, or (if your gateway does not have such a
setting), immediately void any partial authorization received and
return is_success 0.
+ If this transaction flag is set, the application can handle a partial