X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=notes_for_module_writers_v3;h=41ae2ddcd84ce65d02cc7fa737de3f75f7f0d3c6;hb=e25139b75acbabb4b88e69c22d10976c949f769e;hp=e7f05018ff1a1087493d29205aebfe6108730249;hpb=06aef4f2a899ed6d6aaaf77c23567aea7db8847c;p=Business-OnlinePayment.git diff --git a/notes_for_module_writers_v3 b/notes_for_module_writers_v3 index e7f0501..41ae2dd 100644 --- a/notes_for_module_writers_v3 +++ b/notes_for_module_writers_v3 @@ -4,6 +4,9 @@ These are the module writer's notes for v3. See the regular - If your gateway is HTTPS-based, use (or convert to) Business::OnlinePayment::HTTPS !! + Note: The correct thing for modern B:OP: gateway modules that need to + speak HTTPS to do is to use Business::OnlinePayment::HTTPS and depend on + "Net::HTTPS::Any" (since B:OP itself doesn't). - Handling failures: @@ -28,14 +31,6 @@ These are the module writer's notes for v3. See the regular - "inactive" (inactive card or not authorized for card-not-present) (?) - "decline" (other card/transaction declines only, not other errors) - You should use code like this so your module can work with B:OP versions - before 3.00_04: - - $self->build_subs('failure_status') unless $self->can('failure_status'); - - (or add "failure_status" to your build_subs call if you have one during - initialization) - - (NEW IN 3.01) Introspection: @@ -52,6 +47,7 @@ These are the module writer's notes for v3. See the regular 'supported_types' => [ qw( CC ECHECK ) ], 'token_support' => 0, #card storage/tokenization support 'test_transaction' => 0, #set true if ->test_transaction(1) works + 'partial_auth' => 1, #can gateway partial auth (new in 3.04) 'supported_actions' => [ 'Normal Authorization', 'Authorization Only', @@ -110,3 +106,19 @@ These are the module writer's notes for v3. See the regular value returned from the underlying processing network while "order_number" is a unique tranaction id generated by the gateway. + +- Moo (NEWLY DOCUMENTED IN 3.04) + + Feel free to write gateway modules which use Moo. Please do not require + Moo newer than 0.091011 at this time (until 2018 or so). + +- Partial authorization (NEW in 3.04) + + If your gateway supports partial authorizations: + + + Indicate this in the introspection _info subroutine (see above) + + Accept the partial_auth transaction field: + * if not explicitly set, partial authorizations should be reversed/voided + and returned as is_success 0 + * if explicitly set, partial authorizations should return is_success 1 + and the authorized amount as partial_auth_amount