Untitled diff

Created Diff never expires
43 Entfernungen
Zeilen
Gesamt
Entfernt
Wörter
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisieren Sie auf
Diffchecker logo
Diffchecker Pro
145 Zeilen
28 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Wörter
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisieren Sie auf
Diffchecker logo
Diffchecker Pro
131 Zeilen
<?php
<?php


class Platnosci_Cashbill_CashbillController extends Mage_Core_Controller_Front_Action {
class Platnosci_Cashbill_CashbillController extends Mage_Core_Controller_Front_Action {


public function redirectAction() {
public function redirectAction() {
$session = Mage::getSingleton('checkout/session');
$session = Mage::getSingleton('checkout/session');
$session->setCashbillQuoteId($session->getQuoteId());
$session->setCashbillQuoteId($session->getQuoteId());


$this->getResponse()->setBody($this->getLayout()->createBlock('cashbill/payment_cashbill_redirect')->toHtml());
$this->getResponse()->setBody($this->getLayout()->createBlock('cashbill/payment_cashbill_redirect')->toHtml());
$session->unsQuoteId();
$session->unsQuoteId();
}
}


public function returnAction() {
public function returnAction() {
// Dane punktu otrzymane po zakonczeniu procesu rejestracji
// Dane punktu otrzymane po zakonczeniu procesu rejestracji
$service = Mage::getStoreConfig('payment/platnosci_cashbill/shopid');
$service = Mage::getStoreConfig('payment/platnosci_cashbill/shopid');
$key = Mage::getStoreConfig('payment/platnosci_cashbill/shopkey');
$key = Mage::getStoreConfig('payment/platnosci_cashbill/shopkey');
// Funkcja sprawdzajaca poprawnosc sygnatury
// Funkcja sprawdzajaca poprawnosc sygnatury
$data = $_GET;
$data = $_GET;
if( md5($data['service'].$data['orderid'].$data['amount'].$data['userdata'].$data['status'].$key) == $_GET['sign'] )
if( md5($data['service'].$data['orderid'].$data['amount'].$data['userdata'].$data['status'].$key) == $_GET['sign'] )
{$test = 1;}else{$test = 2;}
{
$test = 1;
}else{
$test = 2;
}


$params = array('n' => $data['userdata'], 'amount' => $data['amount']);
$params = array('n' => $data['userdata'], 'amount' => $data['amount']);
if( $test == 1 && $_GET['service'] == $service)
if( $test == 1 && $_GET['service'] == $service)
{
{
// prawidlowa sygnatura, w zaleznosci od statusu odpowiednia informacja dla klienta
// prawidlowa sygnatura, w zaleznosci od statusu odpowiednia informacja dla klienta
if( strtoupper($_GET['status']) == 'OK' ) {
if( strtoupper($_GET['status']) == 'OK' ) {
$this->_redirect('cashbill/cashbill/success/', $params);
$this->success($data['userdata'],$data['amount']);
}else {
}else {
$this->_redirect('cashbill/cashbill/failure', $params);
$this->failure($data['userdata'],$data['amount']);
}
}
}else {
}else {
$session = Mage::getSingleton('checkout/session');
$session = Mage::getSingleton('checkout/session');
$session->setQuoteId($session->getCashbillQuoteId(true));
$session->setQuoteId($session->getCashbillQuoteId(true));
$session->addError("wystąpił inny błąd. zgłoś to administratora sklepu.");
$session->addError("wystąpił inny błąd. zgłoś to administratora sklepu.");
$this->_redirect('checkout/cart');
$this->_redirect('checkout/cart');
}
}
}
}

public function serwerAction() {
public function serwerAction() {
// Dane punktu otrzymane po zakonczeniu procesu rejestracji
// Dane punktu otrzymane po zakonczeniu procesu rejestracji
$service = Mage::getStoreConfig('payment/platnosci_cashbill/shopid');
$service = Mage::getStoreConfig('payment/platnosci_cashbill/shopid');
$key = Mage::getStoreConfig('payment/platnosci_cashbill/shopkey');
$key = Mage::getStoreConfig('payment/platnosci_cashbill/shopkey');
// Funkcja sprawdzajaca poprawnosc sygnatury
// Funkcja sprawdzajaca poprawnosc sygnatury
$data = $_POST;
$data = $_POST;
if( md5($data['service'].$data['orderid'].$data['amount'].$data['userdata'].$data['status'].$key) == $_POST['sign'] )
if( md5($data['service'].$data['orderid'].$data['amount'].$data['userdata'].$data['status'].$key) == $_POST['sign'] )
{$test = 1;}else{$test = 2;}
{$test = 1;}else{$test = 2;}
$params = array( 'n' => $data['userdata'],'amount'=>$data['amount']);
$params = array( 'n' => $data['userdata'],'amount'=>$data['amount']);
if( $test == 1 && $_POST['service'] == $service)
if( $test == 1 && $_POST['service'] == $service)
{
{
if( strtoupper($_POST['status']) == 'OK' ) {
if( strtoupper($_POST['status']) == 'OK' ) {
$this->_redirect('cashbill/cashbill/hsuccess/', $params);
$this->hsuccess($data['userdata'],$data['amount']);
}
}
else {
else {
$this->_redirect('cashbill/cashbill/herror/', $params);
$this->herror($data['userdata'],$data['amount']);
}
}
}
}
else {
else {
echo 'BLAD SYGNATURY';
echo 'BLAD SYGNATURY';
}
}
}
}
private function hsuccess($order_id,$amount) {
public function hsuccessAction() {
$order_id = $this->getRequest()->getParam('n');
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
if($order->canInvoice()) {
if($order->canInvoice()) {
$order->sendNewOrderEmail();
$order->sendNewOrderEmail();
$order->addStatusHistoryComment ("Płatność w kwocie ".$this->getRequest()->getParam('amount')." zł została przyjęta przez CashBill.pl", Mage::getStoreConfig('payment/platnosci_cashbill/complete_order_status'));
$order->addStatusHistoryComment ("Płatność w kwocie ".$amount." zł została przyjęta przez CashBill.pl", Mage::getStoreConfig('payment/platnosci_cashbill/complete_order_status'));
$order->save();
$order->save();
}
}
$session = Mage::getSingleton('checkout/session');
$session = Mage::getSingleton('checkout/session');
$session->setQuoteId($session->getCashbillQuoteId(true));
$session->setQuoteId($session->getCashbillQuoteId(true));


Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
echo 'OK';
echo 'OK';
}
}
public function herrorAction()
private function herror($order_id,$amount) {
{
$order_id = $this->getRequest()->getParam('n');
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
if(!$order->getId()) { return FALSE; }
if(!$order->getId()) { return FALSE; }
$order->cancel();
$order->cancel();
$order->save();
$order->save();
echo 'OK';
echo 'OK';
}
}

private function success($order_id,$amount) {

public function successAction() {
$order_id = Mage::getSingleton('checkout/session')->getLastRealOrderId();
//$order_id = $this->getRequest()->getParam('n');
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
if($order->canInvoice()) {
if($order->canInvoice()) {
$order->sendNewOrderEmail();
$order->sendNewOrderEmail();
$order->addStatusHistoryComment ("Płatność w kwocie ".$this->getRequest()->getParam('amount')." zł została przyjęta przez CashBill.pl", Mage::getStoreConfig('payment/platnosci_cashbill/complete_order_status'));
$order->addStatusHistoryComment ("Płatność w kwocie ".$amount." zł została przyjęta przez CashBill.pl", Mage::getStoreConfig('payment/platnosci_cashbill/complete_order_status'));
$order->save();
$order->save();
}
}
$session = Mage::getSingleton('checkout/session');
$session = Mage::getSingleton('checkout/session');
$session->setQuoteId($session->getCashbillQuoteId(true));
$session->setQuoteId($session->getCashbillQuoteId(true));


Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
$this->_redirect('checkout/onepage/success');
$this->_redirect('checkout/onepage/success');
}
}
public function failureAction() {
private function failure($order_id,$amount) {
//$order_id = Mage::getSingleton('checkout/session')->getLastRealOrderId();
//$order_id = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order_id = $this->getRequest()->getParam('n');
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
if(!$order->getId()) { return FALSE; }
if(!$order->getId()) { return FALSE; }
$order->cancel();
$order->cancel();
$order->save();
$order->save();
$session = Mage::getSingleton('checkout/session');
$session = Mage::getSingleton('checkout/session');
$session->setQuoteId($session->getCashbillQuoteId(true));
$session->setQuoteId($session->getCashbillQuoteId(true));
$session->addError("Płatność za pomocą serwisu Cashbill została zakończona niepowodzeniem.");
$session->addError("Płatność za pomocą serwisu Cashbill została zakończona niepowodzeniem.");
$this->_redirect('checkout/cart');
$this->_redirect('checkout/cart');
}
}

}
}