Though we allow for the 'Authorization' and 'Order' payment
actions (process modes), we do NOT support the additional actions
within the Exponent interface which would be required to actually
perform them without having to be on the PayPal site. The 'Sale'
action/mode is a single step process which immediately authorizes
and captures the funds. We also provide a (full) refund
support.
Primarily, this would allow filling partial orders (split into
two shipments) or adjusting the final total cost based on actual
shipping/pickup costs vs. the shipping cost estimated by the
calculator at checkout.
To support 'Authorization' (which authorizes and holds funds for
3 days) we'd need to add methods (code) to do:
- 'DoCapture' to capture the full or partial amount of funds when
the item(s) is/are shipped calc->delayed_capture() method
- 'DoReauthorization' to extend the authorization time frame (one
time) to 29 days or increase the amount up to 115% of purchase
amount...need new calc->reauthorize() method along with
orderController interface/method
- 'DoVoid' to cancel the (un-captured part of the) authorization
(not the same as a capture then refund) calc->void_transaction()
method
To support 'Order' (which holds funds for 3 days) we'd need to
add methods (code) to do:
- 'DoAuthorization' to authorize a (single) capture within the 29
day time frame for the amount up to 115% of purchase amount...need
new calc->authorize() method along with orderController
interface/method
- 'DoCapture' to capture the full or partial amount of funds when
the item(s) is/are shipped (up to 10 times)
calc->delayed_capture() method
- 'DoVoid' to cancel the (un-captured part of the) order (not the
same as a capture then refund) calc->void_transaction()
method
And we'd have to not hard-set a 'FullRefund' to enable partial
refunds. Though we imply we can set the amount of the refund in
Exponent, according to the PayPal API, a 'FullRefund' doesn't
adhere to the amount.
https://developer.paypal.com/docs/classic/express-checkout/integrat...
https://developer.paypal.com/docs/classic/paypal-payments-standard/...