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, ""); } } }
function check($transaction_id) { require_once 'ideal.class.php'; $partner_id = $this->partnerID; // Uw mollie partner ID $iDEAL = new iDEAL_Payment($partner_id); if ($this->testMode) { $iDEAL->setTestMode(); } $iDEAL->checkPayment($transaction_id); if ($iDEAL->getPaidStatus() == true) { /* De betaling is betaald, deze informatie kan opgeslagen worden (bijv. in de database). Met behulp van $iDEAL->getConsumerInfo(); kunt u de consument gegevens ophalen (de functie returned een array). Met behulp van $iDEAL->getAmount(); kunt u het betaalde bedrag vergelijken met het bedrag dat afgerekend zou moeten worden. */ $data = array('customerInfo' => $iDEAL->getConsumerInfo(), 'amount' => $iDEAL->getAmount()); return $data; } else { $data = array('error' => true, 'msg' => 'Kon geen betaling vinden met deze transactie id.'); return $data; } }