diff options
author | Laurent Baillet <laurent.baillet@gmail.com> | 2018-02-26 09:55:14 +0100 |
---|---|---|
committer | Laurent Baillet <laurent.baillet@gmail.com> | 2018-02-26 09:55:14 +0100 |
commit | 18c7355d405f80bcc448226cc1267f4a1120c8c7 (patch) | |
tree | cb97f8eac428333ee8a0b4e3c0f0e957efd39a49 | |
parent | 4569b49f0b6cd4a77bb4945002402d7b886991ee (diff) | |
parent | 602f62fc25d59e1cb42b031563329485c2931ef2 (diff) |
Merge tag 'upstream/3.05'
Upstream version 3.05
-rw-r--r-- | Changes | 7 | ||||
-rw-r--r-- | META.json | 6 | ||||
-rw-r--r-- | META.yml | 6 | ||||
-rw-r--r-- | OnlinePayment.pm | 50 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | notes_for_module_writers_v3 | 21 |
6 files changed, 74 insertions, 18 deletions
@@ -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 @@ -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" } @@ -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 @@ -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 |