function checkTransaction($pmconfigs, $order, $act) { $jshopConfig =& JSFactory::getConfig(); $iDEAL = new iDEAL_Payment($pmconfigs['partnerid']); if ($pmconfigs['testmode']) { $iDEAL->setTestMode(); } $iDEAL->checkPayment($_GET['transaction_id']); $paidstatus = $iDEAL->getPaidStatus(); $bankstatus = $iDEAL->getBankStatus(); if ($bankstatus != "CheckedBefore") { pm_ideal::saveTrSatus($_GET['transaction_id'], $paidstatus, $bankstatus); } else { $data = pm_ideal::getTrSatus($_GET['transaction_id']); $paidstatus = $data->paid; $bankstatus = $data->status; } if ($paidstatus) { saveToLog("paymentdata.log", "OK. Order ID " . $order->order_id . ". " . $iDEAL->getAmount() . ", " . $iDEAL->getBankStatus()); return array(1, ''); } else { if ($bankstatus == "Cancelled") { return array(3, "Status cancelled. Order ID " . $order->order_id); } elseif ($bankstatus == "Failure") { return array(3, "Status Failure. Order ID " . $order->order_id); } else { saveToLog("paymentdata.log", "Order ID " . $order->order_id . ". " . $iDEAL->getAmount() . ", " . $bankstatus . ", " . $iDEAL->getErrorMessage()); return array(0, ""); } } }