+ $q = explode('/', CRM_Utils_Array::value('q', $params, ''));
+ $lastParam = array_pop($q);
+ if (is_numeric($lastParam)) {
+ $params['processor_id'] = $_GET['processor_id'] = $lastParam;
+ }
+ else {
+ throw new CRM_Core_Exception("Either 'processor_id' or 'processor_name' param is required for payment callback");
+ }