From: Ivan Kohler Date: Thu, 5 Nov 2015 18:20:27 +0000 (-0800) Subject: Partial authorizations X-Git-Url: http://git.freeside.biz/gitweb/?p=Business-OnlinePayment.git;a=commitdiff_plain;h=95f57c2acd7654953f1dab8e208170ba91fa6e79 Partial authorizations --- 95f57c2acd7654953f1dab8e208170ba91fa6e79 diff --cc notes_for_module_writers_v3 index 7313e11,41ae2dd..aaa1223 --- a/notes_for_module_writers_v3 +++ b/notes_for_module_writers_v3 @@@ -119,24 -116,9 +120,24 @@@ These are the module writer's notes fo 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 + - Declare this in your "sub _info" introspection subroutine: + 'partial_auth' => 1, + + - Add "partial_auth_amount to your build_subs call in set_defaults, or add + one: + $self->build_subs('partial_auth_amount'); + + - 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 + setting), immediately void any partial authorization received and + return is_success 0. + + If this transaction flag is set, the application can handle a partial + authorization. Make sure the flag to enable them is passed to the - gateway, if necessary. When a partial authorization is received, the - amount must be returned as "partial_auth_amount": ++ gateway, if necessary. When a partial authorization is received, return ++ is_success 1, and the amount as "partial_auth_amount": + $self->partial_auth_amount( $partial_amount ); + For normal full authorizations, "partial_auth_amount" must not be set. + +