Hi bastien,
You're on the right track. The methods "initiateExpressCheckout" and "completeExpressCheckout" in PayPalCheckoutServiceImpl is only for an AUTHORIZEANDDEBIT transaction only (the default configured workflow). The PayPalCheckoutService just facilitates the flow of a basic eCommerce checkout (where an authorization and capture are done in a single transaction).
If you are wanting to perform just a DEBIT transaction, maybe in an offline process or as a batch capture at a later point?
In order to perform just a DEBIT transaction (which is just a CAPTURE), you will need to manually construct the Payment Info and place the TRANSACTIONID on the additional fields map. Also note, TRANSACTIONID is NOT the PaymentInfo ID, it is the transaction id that is sent back from PayPal (authorization id).
https://www.x.com/developers/paypal/doc ... ration-nvpSo, this assumes that an authorization was done previously.
We recommend that you extend the PayPalCheckoutService and add some additional methods to invoke just the Authorization Process and another method just to invoke the Debit Process (
https://www.x.com/developers/paypal/doc ... ration-nvp and
https://www.x.com/developers/paypal/doc ... ration-nvp). In this new method that invokes just the Debit process you can construct your payment info object with the appropriate transaction id.
Hope this helps.