+ // If we are calling this as a result of a POST action (e.g validating a form submission before first getting payment
+ // authorization from a payment processor like Paypal checkout) the lack of a qfKey will not result in a valid
+ // one being generated so we generate one first.
+ $originalRequest = $_REQUEST;
+ $qfKey = CRM_Utils_Array::value('qfKey', $_REQUEST);
+ if (!$qfKey) {
+ $_REQUEST['qfKey'] = CRM_Core_Key::get('CRM_Core_Controller', TRUE);
+ }