db; $trans = $db->idobt->insert([ "reference" => $reference, "clientId" => $clientId, "amount" => $amount, "description" => $description, "status" => 1 ]); return $trans['id']; } /** * Get IDOB transaction data * @param int $id Transaction identifier * @return array */ public static function getTransactie($id) { $container = Application::getContainer(); $db = $container->db; $transactie = $db->idobt->where("transactieId", $id)->limit(1)->fetch(); if (!$transactie) { throw new \Exception("Transaction not found"); } return array( "transactieId" => $transactie['transactieId'], "reference" => $transactie['reference'], "clientId" => $transactie['clientId'], "amount" => (double) $transactie['amount'], "description" => $transactie['description'], "status" => (int) $transactie['status'] ); } /** * Set the IDOB transaction status * @param int $id Transaction identifier * @param int $status Status: 1 for pending, 2 for paid, 3 for unknown */ public static function setTransactionStatus($id, $status) { $container = Application::getContainer(); $db = $container->db; $transactie = $db->idobt->where("transactieId", $id)->limit(1); if (!$transactie) { throw new \Exception("Transaction not found"); } $transactie->update(array( "status" => $status )); if (!$transactie) { throw new \Exception("Failed to update status"); } } }