예제 #1
0
 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, "");
         }
     }
 }