Details
Description
This covers the removal of a bunch of calls to functions with processor-assumptions (doTransferPayment, doExpressPayment, doDirectPayment) with calls to doPayment (where the form doesn't need to know the type.
As part of making payment processor behaviour more aligned we need some generic process for paypalExpress. - I'm looking at
/**
- Does this processor support pre-approval.
* - This would generally look like a redirect to enter credentials which can then be used in a later payment call.
* - Currently Paypal express supports this, with a redirect to paypal after the 'Main' form is submitted in the
- contribution page. This token can then be processed at the confirm phase. Although this flow 'looks' like the
- 'notify' flow a key difference is that in the notify flow they don't have to return but in this flow they do.
* - @return bool
*/
protected function supportsPreApproval() { return FALSE; }
/**
- Function to action pre-approval if supported
* - @param array $params
- Parameters from the form
- @param string component
- contribution or event.
* - This function returns an array which should contain
- - pre_approval_parameters (this will be stored on the calling form & available later)
- - redirect_url (if set the browser will be redirected to this.
*/
protected function doPreApproval($params, $component) {}
I've noticed currently the behaviour is OK when it works but the error is not being caught properly. I'm going to fix that, try to write some unit tests specific to paypal express, & also test recurring behaviour.