} } elseif (isset($_GET['id'])) { $client = new OptimalApiClient($optimalApiKeyId, $optimalApiKeySecret, Environment::TEST, $optimalAccountNumber); try { session_start(); if (!isset($_SESSION['order'])) { die('No pending order found'); } $sessionOrder = $_SESSION['order']; unset($_SESSION['order']); session_destroy(); if ($sessionOrder->id != $_GET['id']) { die('Invalid id'); } $client = new OptimalApiClient($optimalApiKeyId, $optimalApiKeySecret, Environment::TEST, $optimalAccountNumber); $order = $client->hostedPaymentService()->getOrder(new Order(array('id' => $_GET['id']))); if ($order->transaction->status == 'success') { if ($sessionOrder->totalAmount != $order->transaction->amount) { die('Invalid amount.'); } die('Payment successful! ID: ' . $order->id); } var_dump($order->transaction->status); var_dump($order); die; } catch (OptimalPayments\NetbanxException $e) { echo '<pre>'; var_dump($e->getMessage()); if ($e->fieldErrors) { var_dump($e->fieldErrors); }