true, 'bb_invoice_id' => $bb_invoice_id, 'bb_gateway_id' => $bb_gateway_id, 'get' => $_GET, 'post' => $_POST, 'server' => $_SERVER, 'http_raw_post_data' => file_get_contents("php://input"), ); try { $service = $di['mod_service']('invoice', 'transaction'); $output = $service->createAndProcess($ipn); $res = array('result'=>$output, 'error'=>null); } catch(Exception $e) { $res = array('result'=>null, 'error'=> array('message' => $e->getMessage())); $output = false; } // redirect to invoice if gateways requires if(isset($_GET['bb_redirect']) && isset($_GET['bb_invoice_hash'])) { $url = $di['url']->link('invoice/'.$_GET['bb_invoice_hash']); header("Location: $url"); exit; } else { header('Cache-Control: no-cache, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Content-type: application/json; charset=utf-8'); print json_encode($res); exit; }