*/ /** * Klasa stDotpayFrontendActions * * @package stDotpayPlugin * @subpackage actions */ class stMoneybookersFrontendActions extends stActions { /** * Pozytywny powrót z płatności */ public function executeReturnSuccess() { $this->smarty = new stSmarty($this->getModuleName()); } /** * Negatywny powrót z płatności */ public function executeReturnFail() { $this->smarty = new stSmarty($this->getModuleName()); $this->contactPage = WebpagePeer::retrieveByState('CONTACT'); } /** * Odbieranie statusu transakcji */ public function executeStatusReport() { $this->setLayout(false); $requestMerchantId = $this->getRequestParameter('merchant_id'); $requestTransactionId = $this->getRequestParameter('transaction_id'); $requestMbAmount = $this->getRequestParameter('mb_amount'); $requestMbCurrency = $this->getRequestParameter('mb_currency'); $requestStatus = $this->getRequestParameter('status'); $requestMd5sig = $this->getRequestParameter('md5sig'); $requestHash = $this->getRequestParameter('hash'); $stMoneybookers = new stMoneybookers(); $shopMd5sig = strtoupper(md5($requestMerchantId.$requestTransactionId.strtoupper(md5($stMoneybookers->getSecretWord())).$requestMbAmount.$requestMbCurrency.$requestStatus)); if ($requestMd5sig == $shopMd5sig) { $stPayment = new stPayment(); switch ($requestStatus) { case -2: // błędna $stPayment->cancelPayment($requestHash); break; case -1: // anulowana $stPayment->cancelPayment($requestHash); break; case 0: // nowa break; case 2: // zaakceptowana $stPayment->confirmPayment($requestHash); break; } } } }