Version Notes
Public release of payment module for CityPay PayLink.
Download this release
Release Info
| Developer | CityPay |
| Extension | CityPay_PayLink |
| Version | 1.1.0.0 |
| Comparing to | |
| See all releases | |
Version 1.1.0.0
- app/code/community/CityPay/PayLink/Block/Cancel.php +35 -0
- app/code/community/CityPay/PayLink/Block/Failure.php +35 -0
- app/code/community/CityPay/PayLink/Block/Form.php +33 -0
- app/code/community/CityPay/PayLink/Block/Info.php +38 -0
- app/code/community/CityPay/PayLink/Block/Redirect.php +59 -0
- app/code/community/CityPay/PayLink/Block/Success.php +35 -0
- app/code/community/CityPay/PayLink/Helper/Data.php +29 -0
- app/code/community/CityPay/PayLink/Model/Cc.php +249 -0
- app/code/community/CityPay/PayLink/Model/Source/RequestType.php +29 -0
- app/code/community/CityPay/PayLink/controllers/ProcessingController.php +268 -0
- app/code/community/CityPay/PayLink/etc/config.xml +109 -0
- app/code/community/CityPay/PayLink/etc/system.xml +305 -0
- app/design/adminhtml/default/default/template/paylink/info.phtml +27 -0
- app/design/adminhtml/default/default/template/paylink/pdf/info.phtml +21 -0
- app/design/frontend/base/default/layout/paylink.xml +39 -0
- app/design/frontend/base/default/template/paylink/blank.phtml +40 -0
- app/design/frontend/base/default/template/paylink/cancel.phtml +28 -0
- app/design/frontend/base/default/template/paylink/failure.phtml +28 -0
- app/design/frontend/base/default/template/paylink/form.phtml +27 -0
- app/design/frontend/base/default/template/paylink/info.phtml +27 -0
- app/design/frontend/base/default/template/paylink/redirect.phtml +29 -0
- app/etc/modules/CityPay_PayLink.xml +28 -0
- package.xml +22 -0
app/code/community/CityPay/PayLink/Block/Cancel.php
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category CityPay
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class CityPay_PayLink_Block_Cancel extends Mage_Core_Block_Template
|
| 21 |
+
{
|
| 22 |
+
protected function _construct()
|
| 23 |
+
{
|
| 24 |
+
parent::_construct();
|
| 25 |
+
$this->setTemplate('paylink/cancel.phtml');
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
/**
|
| 29 |
+
* Get continue shopping url
|
| 30 |
+
*/
|
| 31 |
+
public function getContinueShoppingUrl()
|
| 32 |
+
{
|
| 33 |
+
return Mage::getUrl('*/*/cancel', array('_nosid' => true));
|
| 34 |
+
}
|
| 35 |
+
}
|
app/code/community/CityPay/PayLink/Block/Failure.php
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category CityPay
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class CityPay_PayLink_Block_Failure extends Mage_Core_Block_Template
|
| 21 |
+
{
|
| 22 |
+
protected function _construct()
|
| 23 |
+
{
|
| 24 |
+
parent::_construct();
|
| 25 |
+
$this->setTemplate('paylink/failure.phtml');
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
/**
|
| 29 |
+
* Get continue shopping url
|
| 30 |
+
*/
|
| 31 |
+
public function getContinueShoppingUrl()
|
| 32 |
+
{
|
| 33 |
+
return Mage::getUrl('checkout/cart', array('_nosid' => true));
|
| 34 |
+
}
|
| 35 |
+
}
|
app/code/community/CityPay/PayLink/Block/Form.php
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category CityPay
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
class CityPay_PayLink_Block_Form extends Mage_Payment_Block_Form
|
| 22 |
+
{
|
| 23 |
+
protected function _construct()
|
| 24 |
+
{
|
| 25 |
+
parent::_construct();
|
| 26 |
+
$this->setTemplate('paylink/form.phtml');
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
protected function _getConfig()
|
| 30 |
+
{
|
| 31 |
+
return Mage::getSingleton('paylink/config');
|
| 32 |
+
}
|
| 33 |
+
}
|
app/code/community/CityPay/PayLink/Block/Info.php
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category CityPay
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class CityPay_PayLink_Block_Info extends Mage_Payment_Block_Info
|
| 21 |
+
{
|
| 22 |
+
protected function _construct()
|
| 23 |
+
{
|
| 24 |
+
parent::_construct();
|
| 25 |
+
$this->setTemplate('paylink/info.phtml');
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
public function getMethodCode()
|
| 29 |
+
{
|
| 30 |
+
return $this->getInfo()->getMethodInstance()->getCode();
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
public function toPdf()
|
| 34 |
+
{
|
| 35 |
+
$this->setTemplate('paylink/pdf/info.phtml');
|
| 36 |
+
return $this->toHtml();
|
| 37 |
+
}
|
| 38 |
+
}
|
app/code/community/CityPay/PayLink/Block/Redirect.php
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category CityPay
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class CityPay_PayLink_Block_Redirect extends Mage_Core_Block_Template
|
| 21 |
+
{
|
| 22 |
+
|
| 23 |
+
/**
|
| 24 |
+
* Return checkout session instance
|
| 25 |
+
*
|
| 26 |
+
* @return Mage_Checkout_Model_Session
|
| 27 |
+
*/
|
| 28 |
+
protected function _getCheckout()
|
| 29 |
+
{
|
| 30 |
+
return Mage::getSingleton('checkout/session');
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
/**
|
| 34 |
+
* Return order instance
|
| 35 |
+
*
|
| 36 |
+
* @return Mage_Sales_Model_Order|null
|
| 37 |
+
*/
|
| 38 |
+
protected function _getOrder()
|
| 39 |
+
{
|
| 40 |
+
if ($this->getOrder()) {
|
| 41 |
+
return $this->getOrder();
|
| 42 |
+
} elseif ($orderIncrementId = $this->_getCheckout()->getLastRealOrderId()) {
|
| 43 |
+
return Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
|
| 44 |
+
} else {
|
| 45 |
+
return null;
|
| 46 |
+
}
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
/**
|
| 50 |
+
* Get form data
|
| 51 |
+
*
|
| 52 |
+
* @return array
|
| 53 |
+
*/
|
| 54 |
+
public function getFormData()
|
| 55 |
+
{
|
| 56 |
+
return $this->_getOrder()->getPayment()->getMethodInstance()->getFormFields();
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
}
|
app/code/community/CityPay/PayLink/Block/Success.php
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category CityPay
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class CityPay_PayLink_Block_Success extends Mage_Core_Block_Abstract
|
| 21 |
+
{
|
| 22 |
+
protected function _toHtml()
|
| 23 |
+
{
|
| 24 |
+
$successUrl = Mage::getUrl('*/*/success', array('_nosid' => true));
|
| 25 |
+
|
| 26 |
+
$html = '<html>'
|
| 27 |
+
. '<meta http-equiv="refresh" content="0; URL='.$successUrl.'">'
|
| 28 |
+
. '<body>'
|
| 29 |
+
. '<p>' . $this->__('Your payment has been successfully processed.') . '</p>'
|
| 30 |
+
. '<p>' . $this->__('Please click <a href="%s">here</a> if you are not redirected automatically.', $successUrl) . '</p>'
|
| 31 |
+
. '</body></html>';
|
| 32 |
+
|
| 33 |
+
return $html;
|
| 34 |
+
}
|
| 35 |
+
}
|
app/code/community/CityPay/PayLink/Helper/Data.php
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category CityPay
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class CityPay_PayLink_Helper_Data extends Mage_Payment_Helper_Data
|
| 21 |
+
{
|
| 22 |
+
public function getPendingPaymentStatus()
|
| 23 |
+
{
|
| 24 |
+
if (version_compare(Mage::getVersion(), '1.4.0', '<')) {
|
| 25 |
+
return Mage_Sales_Model_Order::STATE_HOLDED;
|
| 26 |
+
}
|
| 27 |
+
return Mage_Sales_Model_Order::STATE_PENDING_PAYMENT;
|
| 28 |
+
}
|
| 29 |
+
}
|
app/code/community/CityPay/PayLink/Model/Cc.php
ADDED
|
@@ -0,0 +1,249 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category CityPay
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class CityPay_PayLink_Model_Cc extends Mage_Payment_Model_Method_Abstract
|
| 21 |
+
{
|
| 22 |
+
protected $_code = 'paylink_cc';
|
| 23 |
+
|
| 24 |
+
protected $_isGateway = true;
|
| 25 |
+
protected $_canAuthorize = true;
|
| 26 |
+
protected $_canCapture = true;
|
| 27 |
+
protected $_canCapturePartial = false;
|
| 28 |
+
protected $_canRefund = false;
|
| 29 |
+
protected $_canRefundInvoicePartial = false;
|
| 30 |
+
protected $_canVoid = false;
|
| 31 |
+
protected $_canUseInternal = false;
|
| 32 |
+
protected $_canUseCheckout = true;
|
| 33 |
+
protected $_canUseForMultishipping = false;
|
| 34 |
+
protected $_canSaveCc = false;
|
| 35 |
+
|
| 36 |
+
protected $_paymentMethod = 'cc';
|
| 37 |
+
protected $_defaultLocale = 'en';
|
| 38 |
+
|
| 39 |
+
protected $_formBlockType = 'paylink/form';
|
| 40 |
+
protected $_infoBlockType = 'paylink/info';
|
| 41 |
+
|
| 42 |
+
protected $_order;
|
| 43 |
+
|
| 44 |
+
public function matchCurrencyConfig($currencyCode, $conf_num) {
|
| 45 |
+
$conf_code = trim($this->getConfigData('currency'.$conf_num));
|
| 46 |
+
$conf_mid = trim($this->getConfigData('merchant_id'.$conf_num));
|
| 47 |
+
$conf_key = trim($this->getConfigData('licence_key'.$conf_num));
|
| 48 |
+
if (empty($conf_code)) { return null; } // Currency code not configured
|
| 49 |
+
if (empty($conf_mid)) { return null; } // Merchant ID not configured
|
| 50 |
+
if (empty($conf_key)) { return null; } // Licence key not configured
|
| 51 |
+
if (!ctype_digit($conf_mid)) { return null; } // Merchant ID is not numeric
|
| 52 |
+
if (strcasecmp($conf_code,$currencyCode)!=0) { return null; } // Does not match required currency
|
| 53 |
+
return array($conf_mid,$conf_key); // Matched, return merchant ID and licence key
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
public function getCurrencyConfig($currencyCode) {
|
| 57 |
+
for ($conf_num=1;$conf_num<=5;$conf_num++) {
|
| 58 |
+
$conf=$this->matchCurrencyConfig($currencyCode,$conf_num);
|
| 59 |
+
if (is_array($conf) && !empty($conf)) {
|
| 60 |
+
return $conf;
|
| 61 |
+
}
|
| 62 |
+
}
|
| 63 |
+
return null;
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
+
/* Check if this payment method can be used for the current currency */
|
| 67 |
+
public function canUseForCurrency($currencyCode) {
|
| 68 |
+
$conf=$this->getCurrencyConfig($currencyCode);
|
| 69 |
+
if (is_array($conf) && !empty($conf)) {
|
| 70 |
+
return true;
|
| 71 |
+
}
|
| 72 |
+
return false; // No configured currency matches the required currency
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
protected function _getCheckout() {
|
| 76 |
+
return Mage::getSingleton('checkout/session');
|
| 77 |
+
}
|
| 78 |
+
|
| 79 |
+
public function getOrder() {
|
| 80 |
+
if (!$this->_order) {
|
| 81 |
+
$this->_order = $this->getInfoInstance()->getOrder();
|
| 82 |
+
}
|
| 83 |
+
return $this->_order;
|
| 84 |
+
}
|
| 85 |
+
|
| 86 |
+
public function getOrderPlaceRedirectUrl() {
|
| 87 |
+
return Mage::getUrl('paylink/processing/redirect');
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
public function getPaymentMethodType() {
|
| 91 |
+
return $this->_paymentMethod;
|
| 92 |
+
}
|
| 93 |
+
|
| 94 |
+
private function _buildUrl($part) {
|
| 95 |
+
$url= Mage::getUrl($part,array('_nosid' => true));
|
| 96 |
+
$url = trim(str_replace('&', '&', $url));
|
| 97 |
+
$url = str_replace('192.168.0.61', '213.138.224.57', $url);
|
| 98 |
+
return $url;
|
| 99 |
+
}
|
| 100 |
+
|
| 101 |
+
public function getFormFields() {
|
| 102 |
+
// Use the same number_format code as the rest of Magento to ensure the amount matches
|
| 103 |
+
// the amount shown in the cart (ensure same rounding methods are used etc).
|
| 104 |
+
// Magento uses a fixed value of 2 decimal places.
|
| 105 |
+
// CityPay system requires amount in minor units, to get this from number_format pass both the
|
| 106 |
+
// decimal and thousands seperator as empty strings and then cast the result to an int.
|
| 107 |
+
$price = (int)number_format($this->getOrder()->getGrandTotal(),2,'','');
|
| 108 |
+
$currency = $this->getOrder()->getOrderCurrencyCode();
|
| 109 |
+
$billing = $this->getOrder()->getBillingAddress();
|
| 110 |
+
$conf = $this->getCurrencyConfig($currency);
|
| 111 |
+
|
| 112 |
+
if (is_array($conf) && !empty($conf)) {
|
| 113 |
+
$mid = (int)$conf[0]; // Ensure merchant ID is an int and not a string
|
| 114 |
+
$key = $conf[1];
|
| 115 |
+
} else {
|
| 116 |
+
$message = 'Currency '.$currency.' not configured';
|
| 117 |
+
Mage::throwException($message);
|
| 118 |
+
}
|
| 119 |
+
$locale = explode('_', Mage::app()->getLocale()->getLocaleCode());
|
| 120 |
+
if (is_array($locale) && !empty($locale)) {
|
| 121 |
+
$locale = $locale[0];
|
| 122 |
+
} else {
|
| 123 |
+
$locale = $this->getDefaultLocale();
|
| 124 |
+
}
|
| 125 |
+
$order_id = $this->getOrder()->getRealOrderId();
|
| 126 |
+
|
| 127 |
+
// Use product description as transaction description if only 1 item has been
|
| 128 |
+
// ordered, otherwise use the generic pre-configured transaction description.
|
| 129 |
+
$items=$this->getOrder()->getAllVisibleItems();
|
| 130 |
+
$tran_desc='';
|
| 131 |
+
if (count($items)==1) {
|
| 132 |
+
foreach ($items as $item) {
|
| 133 |
+
if ($item->getQtyOrdered()==1) {
|
| 134 |
+
$tran_desc=trim($item->getName());
|
| 135 |
+
}
|
| 136 |
+
}
|
| 137 |
+
}
|
| 138 |
+
if (empty($tran_desc)) {
|
| 139 |
+
$tran_desc = trim($this->getConfigData('tran_desc'));
|
| 140 |
+
if (empty($tran_desc) || (strcasecmp($tran_desc,'Your purchase from StoreName')==0)) {
|
| 141 |
+
$tran_desc = 'Your purchase from '.Mage::app()->getStore()->getName();
|
| 142 |
+
}
|
| 143 |
+
$tran_desc = str_replace('{order}', $order_id, $tran_desc);
|
| 144 |
+
}
|
| 145 |
+
|
| 146 |
+
|
| 147 |
+
$params = array(
|
| 148 |
+
'merchantid' => $mid,
|
| 149 |
+
'licenceKey' => $key,
|
| 150 |
+
'identifier' => $order_id,
|
| 151 |
+
'amount' => $price,
|
| 152 |
+
//'test' => 'simulator',
|
| 153 |
+
'test' => ($this->getConfigData('transaction_testmode') == '0') ? 'false' : 'true',
|
| 154 |
+
'clientVersion' => 'Magento '.Mage::getVersion(),
|
| 155 |
+
'cardholder' => array(
|
| 156 |
+
'firstName' => Mage::helper('core')->removeAccents($billing->getFirstname()),
|
| 157 |
+
'lastName' => Mage::helper('core')->removeAccents($billing->getLastname()),
|
| 158 |
+
'email' => $this->getOrder()->getCustomerEmail(),
|
| 159 |
+
//'phone' => $billing->getTelephone(),
|
| 160 |
+
'address' => array (
|
| 161 |
+
'address1' => Mage::helper('core')->removeAccents($billing->getStreet(1)),
|
| 162 |
+
'address2' => Mage::helper('core')->removeAccents($billing->getStreet(2)),
|
| 163 |
+
'address3' => Mage::helper('core')->removeAccents($billing->getCity()),
|
| 164 |
+
'area' => Mage::helper('core')->removeAccents($billing->getRegion()),
|
| 165 |
+
'postcode' => $billing->getPostcode(),
|
| 166 |
+
'country' => $billing->getCountry())
|
| 167 |
+
),
|
| 168 |
+
'cart' => array(
|
| 169 |
+
'productInformation' => $tran_desc),
|
| 170 |
+
'config' => array(
|
| 171 |
+
'lockParams' => array('cardholder'),
|
| 172 |
+
'redirect_params' => false,
|
| 173 |
+
'postback_policy' => 'sync',
|
| 174 |
+
'postback' => $this->_buildUrl('paylink/processing/response'),
|
| 175 |
+
'redirect_success' => $this->_buildUrl('paylink/processing/success'),
|
| 176 |
+
'redirect_failure' => $this->_buildUrl('paylink/processing/cancel'))
|
| 177 |
+
);
|
| 178 |
+
|
| 179 |
+
$json= json_encode($params);
|
| 180 |
+
$client = new Varien_Http_Client();
|
| 181 |
+
$result = new Varien_Object();
|
| 182 |
+
$client->setUri('https://secure.citypay.com/paylink3/create')
|
| 183 |
+
->setMethod(Zend_Http_Client::POST)
|
| 184 |
+
->setConfig(array('timeout'=>30));
|
| 185 |
+
$client->setRawData($json, "application/json;charset=UTF-8");
|
| 186 |
+
|
| 187 |
+
try {
|
| 188 |
+
$response = $client->request();
|
| 189 |
+
$responseBody = $response->getBody();
|
| 190 |
+
} catch (Exception $e) {
|
| 191 |
+
$result->setResponseCode(-1)
|
| 192 |
+
->setResponseReasonCode($e->getCode())
|
| 193 |
+
->setResponseReasonText($e->getMessage());
|
| 194 |
+
//Mage::log($result->getData());
|
| 195 |
+
Mage::throwException('Error connecting to PayLink');
|
| 196 |
+
}
|
| 197 |
+
|
| 198 |
+
$results = json_decode($responseBody,true);
|
| 199 |
+
if ($results['result']!=1) {
|
| 200 |
+
Mage::throwException('Invalid response from PayLink');
|
| 201 |
+
}
|
| 202 |
+
$paylink_url=$results['url'];
|
| 203 |
+
if (empty($paylink_url)) {
|
| 204 |
+
Mage::throwException('No URL obtained from PayLink');
|
| 205 |
+
}
|
| 206 |
+
return $paylink_url;
|
| 207 |
+
}
|
| 208 |
+
|
| 209 |
+
public function capture(Varien_Object $payment, $amount) {
|
| 210 |
+
if (!$this->canCapture()) {
|
| 211 |
+
return $this;
|
| 212 |
+
}
|
| 213 |
+
|
| 214 |
+
if (Mage::app()->getRequest()->getParam('transno')) {
|
| 215 |
+
// Capture is being called from inside postback response action
|
| 216 |
+
$payment->setStatus(self::STATUS_APPROVED);
|
| 217 |
+
return $this;
|
| 218 |
+
}
|
| 219 |
+
return $this;
|
| 220 |
+
}
|
| 221 |
+
|
| 222 |
+
public function canEdit () {
|
| 223 |
+
return false;
|
| 224 |
+
}
|
| 225 |
+
|
| 226 |
+
public function canManageBillingAgreements () {
|
| 227 |
+
return false;
|
| 228 |
+
}
|
| 229 |
+
|
| 230 |
+
public function canManageRecurringProfiles () {
|
| 231 |
+
return true;
|
| 232 |
+
}
|
| 233 |
+
|
| 234 |
+
public function canRefund () {
|
| 235 |
+
return false;
|
| 236 |
+
}
|
| 237 |
+
|
| 238 |
+
public function canRefundInvoicePartial() {
|
| 239 |
+
return false;
|
| 240 |
+
}
|
| 241 |
+
|
| 242 |
+
public function canRefundPartialPerInvoice() {
|
| 243 |
+
return $this->canRefundInvoicePartial();
|
| 244 |
+
}
|
| 245 |
+
|
| 246 |
+
public function canCapturePartial() {
|
| 247 |
+
return false;
|
| 248 |
+
}
|
| 249 |
+
}
|
app/code/community/CityPay/PayLink/Model/Source/RequestType.php
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category CityPay
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class CityPay_PayLink_Model_Source_RequestType
|
| 21 |
+
{
|
| 22 |
+
public function toOptionArray()
|
| 23 |
+
{
|
| 24 |
+
return array(
|
| 25 |
+
array('value' => Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE, 'label' => Mage::helper('paylink')->__('PreAuthorisation')),
|
| 26 |
+
array('value' => Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE_CAPTURE, 'label' => Mage::helper('paylink')->__('Authorisation')),
|
| 27 |
+
);
|
| 28 |
+
}
|
| 29 |
+
}
|
app/code/community/CityPay/PayLink/controllers/ProcessingController.php
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category CityPay
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class CityPay_PayLink_ProcessingController extends Mage_Core_Controller_Front_Action
|
| 21 |
+
{
|
| 22 |
+
protected $_successBlockType = 'paylink/success';
|
| 23 |
+
protected $_failureBlockType = 'paylink/failure';
|
| 24 |
+
protected $_cancelBlockType = 'paylink/cancel';
|
| 25 |
+
|
| 26 |
+
protected $_order = NULL;
|
| 27 |
+
protected $_paymentInst = NULL;
|
| 28 |
+
|
| 29 |
+
protected function _getCheckout() {
|
| 30 |
+
return Mage::getSingleton('checkout/session');
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
protected function _getPendingPaymentStatus() {
|
| 34 |
+
return Mage::helper('paylink')->getPendingPaymentStatus();
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
protected function loadOrder($order_id) {
|
| 38 |
+
$this->_order = Mage::getModel('sales/order');
|
| 39 |
+
$this->_order->loadByIncrementId($order_id);
|
| 40 |
+
if (!$this->_order->getId()) {
|
| 41 |
+
Mage::throwException('Order not found');
|
| 42 |
+
}
|
| 43 |
+
$this->_paymentInst = $this->_order->getPayment()->getMethodInstance();
|
| 44 |
+
if (strcasecmp(get_class($this->_paymentInst),'CityPay_PayLink_Model_Cc')!=0) {
|
| 45 |
+
Mage::throwException('Order is not connected to CityPay');
|
| 46 |
+
}
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
public function textlog($text) {
|
| 50 |
+
$text=trim($text);
|
| 51 |
+
$log_fh=fopen('/var/www/log.txt','a');
|
| 52 |
+
fprintf($log_fh,"%s %s\n",date('d/m/Y H:i:s '),$text);
|
| 53 |
+
fclose($log_fh);
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
/* Redirect the customer from the Checkout page to the CityPay PayLink pages */
|
| 57 |
+
public function redirectAction() {
|
| 58 |
+
try {
|
| 59 |
+
$session = $this->_getCheckout();
|
| 60 |
+
$this->loadOrder($session->getLastRealOrderId());
|
| 61 |
+
if ($this->_order->getState() != Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
|
| 62 |
+
$this->_order->setState(
|
| 63 |
+
Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
|
| 64 |
+
$this->_getPendingPaymentStatus(),
|
| 65 |
+
Mage::helper('paylink')->__('Customer was redirected to CityPay.')
|
| 66 |
+
)->save();
|
| 67 |
+
}
|
| 68 |
+
if ($session->getQuoteId() && $session->getLastSuccessQuoteId()) {
|
| 69 |
+
$session->setCityPayQuoteId($session->getQuoteId());
|
| 70 |
+
$session->setCityPaySuccessQuoteId($session->getLastSuccessQuoteId());
|
| 71 |
+
$session->setCityPayRealOrderId($session->getLastRealOrderId());
|
| 72 |
+
$session->getQuote()->setIsActive(false)->save();
|
| 73 |
+
$session->clear();
|
| 74 |
+
}
|
| 75 |
+
$this->loadLayout();
|
| 76 |
+
$this->renderLayout();
|
| 77 |
+
return;
|
| 78 |
+
} catch (Mage_Core_Exception $e) {
|
| 79 |
+
$this->_getCheckout()->addError($e->getMessage());
|
| 80 |
+
} catch(Exception $e) {
|
| 81 |
+
Mage::logException($e);
|
| 82 |
+
}
|
| 83 |
+
$this->_redirect('checkout/cart');
|
| 84 |
+
}
|
| 85 |
+
|
| 86 |
+
/* Postback handler (not customer return) */
|
| 87 |
+
public function responseAction() {
|
| 88 |
+
try {
|
| 89 |
+
$results = $this->_checkPostbackData();
|
| 90 |
+
if ($results['authorised'] == true) {
|
| 91 |
+
$this->_processSale($results);
|
| 92 |
+
} else {
|
| 93 |
+
// Transaction was not authorised. No action at this time as
|
| 94 |
+
// there could be further attempts. Just pass back a generic 'OK' page
|
| 95 |
+
$this->getResponse()->setBody('<html></html>');
|
| 96 |
+
}
|
| 97 |
+
} catch (Mage_Core_Exception $e) {
|
| 98 |
+
$this->getResponse()->setBody(
|
| 99 |
+
$this->getLayout()
|
| 100 |
+
->createBlock($this->_failureBlockType)
|
| 101 |
+
->setOrder($this->_order)
|
| 102 |
+
->toHtml()
|
| 103 |
+
);
|
| 104 |
+
}
|
| 105 |
+
}
|
| 106 |
+
|
| 107 |
+
protected function _checkPostbackData() {
|
| 108 |
+
// Check request type
|
| 109 |
+
if (!$this->getRequest()->isPost()) {
|
| 110 |
+
Mage::throwException('Wrong request type.');
|
| 111 |
+
}
|
| 112 |
+
// Validate postback request is from CityPay IP
|
| 113 |
+
$helper = Mage::helper('core/http');
|
| 114 |
+
if (method_exists($helper, 'getRemoteAddr')) {
|
| 115 |
+
$remoteAddr = $helper->getRemoteAddr();
|
| 116 |
+
} else {
|
| 117 |
+
$request = $this->getRequest()->getServer();
|
| 118 |
+
$remoteAddr = $request['REMOTE_ADDR'];
|
| 119 |
+
}
|
| 120 |
+
$ip_conf=Mage::getStoreConfig('payment/paylink_cc/server_ip');
|
| 121 |
+
if (empty($ip_conf)) {
|
| 122 |
+
$ip_conf="54.246.184.81, 54.246.184.93, 54.246.184.95";
|
| 123 |
+
}
|
| 124 |
+
if (strcasecmp($ip_conf,'Any')!=0) {
|
| 125 |
+
$connection_allowed=false;
|
| 126 |
+
$ip_list=explode(',',$ip_conf);
|
| 127 |
+
foreach ($ip_list as $ip_check) {
|
| 128 |
+
if (strcmp(trim($ip_check),$remoteAddr)==0) {
|
| 129 |
+
$connection_allowed=true;
|
| 130 |
+
}
|
| 131 |
+
}
|
| 132 |
+
if (!$connection_allowed) {
|
| 133 |
+
Mage::throwException('IP '.$remoteAddr.' can\'t be validated as CityPay.');
|
| 134 |
+
}
|
| 135 |
+
}
|
| 136 |
+
// Check response data - need the raw post data, can't use the processed post value as data is
|
| 137 |
+
// in json format and not name/value pairs
|
| 138 |
+
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : file_get_contents("php://input");
|
| 139 |
+
if (empty($HTTP_RAW_POST_DATA)) {
|
| 140 |
+
Mage::throwException('Request doesn\'t contain postback data.');
|
| 141 |
+
}
|
| 142 |
+
$results = array_change_key_case(json_decode($HTTP_RAW_POST_DATA,true), CASE_LOWER);
|
| 143 |
+
if (empty($results)) {
|
| 144 |
+
Mage::throwException('Request doesn\'t contain valid JSON data.');
|
| 145 |
+
}
|
| 146 |
+
//$this->textlog(print_r($results,true));
|
| 147 |
+
|
| 148 |
+
// Check order id
|
| 149 |
+
if (empty($results['identifier']) || strlen($results['identifier']) > 50) {
|
| 150 |
+
Mage::throwException('Missing or invalid order ID');
|
| 151 |
+
}
|
| 152 |
+
// Load order for further validation
|
| 153 |
+
$this->loadOrder($results['identifier']);
|
| 154 |
+
$conf=$this->_paymentInst->getCurrencyConfig($results['currency']);
|
| 155 |
+
if (is_array($conf) && !empty($conf)) {
|
| 156 |
+
$mid = (int)$conf[0];
|
| 157 |
+
$key = $conf[1];
|
| 158 |
+
} else {
|
| 159 |
+
Mage::throwException('Order currency not configured');
|
| 160 |
+
}
|
| 161 |
+
$hash_src = $results['authcode'].$results['amount'].$results['errorcode'].$results['merchantid'].
|
| 162 |
+
$results['transno'].$results['identifier'].$key;
|
| 163 |
+
|
| 164 |
+
// Check both the sha1 and sha256 hash values to ensure that results have not
|
| 165 |
+
// been tampered with
|
| 166 |
+
$check=base64_encode(sha1($hash_src,true));
|
| 167 |
+
if (strcmp($results['sha1'],$check)!=0) {
|
| 168 |
+
// Hash check does not match. Data may of been tampered with.
|
| 169 |
+
Mage::throwException('Callback data security check failed (sha1)');
|
| 170 |
+
}
|
| 171 |
+
$check=base64_encode(hash('sha256',$hash_src,true));
|
| 172 |
+
if (strcmp($results['sha256'],$check)!=0) {
|
| 173 |
+
// Hash check does not match. Data may of been tampered with.
|
| 174 |
+
Mage::throwException('Callback data security check failed (sha256)');
|
| 175 |
+
}
|
| 176 |
+
// Postback data is valid
|
| 177 |
+
return $results;
|
| 178 |
+
}
|
| 179 |
+
|
| 180 |
+
protected function _processSale($results) {
|
| 181 |
+
// save transaction information
|
| 182 |
+
$this->_order->getPayment()
|
| 183 |
+
->setTransactionId($results['transno'])
|
| 184 |
+
->setLastTransId($results['transno'])
|
| 185 |
+
->setCcAvsStatus($results['avsresponse']);
|
| 186 |
+
|
| 187 |
+
// Allow transno param to be seen by other parts of the system
|
| 188 |
+
Mage::app()->getRequest()->setParam('transno',$results['transno']);
|
| 189 |
+
|
| 190 |
+
$surcharge=floatval($results['surcharge']);
|
| 191 |
+
$additional_data = $this->_order->getPayment()->getAdditionalData();
|
| 192 |
+
$additional_data .= ($additional_data ? "<br/>\n" : '') . 'Card used: '. $results['maskedpan'];
|
| 193 |
+
if ($surcharge>0) {
|
| 194 |
+
// Surcharge was added. Include in the additional data for the transaction, using the
|
| 195 |
+
// text version sent in the results.
|
| 196 |
+
$additional_data .= "<br/>\nSurcharge: ". $results['surcharge'];
|
| 197 |
+
}
|
| 198 |
+
$this->_order->getPayment()->setAdditionalData($additional_data);
|
| 199 |
+
if ($this->_order->canInvoice()) {
|
| 200 |
+
$invoice = $this->_order->prepareInvoice();
|
| 201 |
+
$invoice->register()->capture();
|
| 202 |
+
Mage::getModel('core/resource_transaction')
|
| 203 |
+
->addObject($invoice)
|
| 204 |
+
->addObject($invoice->getOrder())
|
| 205 |
+
->save();
|
| 206 |
+
}
|
| 207 |
+
$this->_order->addStatusToHistory($this->_paymentInst->getConfigData('order_status'), Mage::helper('paylink')->__('The transaction has been authorised by CityPay.'));
|
| 208 |
+
|
| 209 |
+
$this->_order->sendNewOrderEmail();
|
| 210 |
+
$this->_order->setEmailSent(true);
|
| 211 |
+
|
| 212 |
+
$this->_order->save();
|
| 213 |
+
|
| 214 |
+
$this->getResponse()->setBody(
|
| 215 |
+
$this->getLayout()
|
| 216 |
+
->createBlock($this->_successBlockType)
|
| 217 |
+
->setOrder($this->_order)
|
| 218 |
+
->toHtml()
|
| 219 |
+
);
|
| 220 |
+
}
|
| 221 |
+
|
| 222 |
+
protected function _processCancel($results) {
|
| 223 |
+
// cancel order
|
| 224 |
+
if ($this->_order->canCancel()) {
|
| 225 |
+
$this->_order->cancel();
|
| 226 |
+
$this->_order->addStatusToHistory(Mage_Sales_Model_Order::STATE_CANCELED, Mage::helper('paylink')->__('Payment was canceled'));
|
| 227 |
+
$this->_order->save();
|
| 228 |
+
}
|
| 229 |
+
|
| 230 |
+
$this->getResponse()->setBody(
|
| 231 |
+
$this->getLayout()
|
| 232 |
+
->createBlock($this->_cancelBlockType)
|
| 233 |
+
->setOrder($this->_order)
|
| 234 |
+
->toHtml()
|
| 235 |
+
);
|
| 236 |
+
}
|
| 237 |
+
|
| 238 |
+
/* Customer return actions (after postback phase has been completed) */
|
| 239 |
+
public function successAction() {
|
| 240 |
+
try {
|
| 241 |
+
$session = $this->_getCheckout();
|
| 242 |
+
$session->unsCityPayRealOrderId();
|
| 243 |
+
$session->setQuoteId($session->getCityPayQuoteId(true));
|
| 244 |
+
$session->setLastSuccessQuoteId($session->getCityPaySuccessQuoteId(true));
|
| 245 |
+
$this->_redirect('checkout/onepage/success');
|
| 246 |
+
return;
|
| 247 |
+
} catch (Mage_Core_Exception $e) {
|
| 248 |
+
$this->_getCheckout()->addError($e->getMessage());
|
| 249 |
+
} catch(Exception $e) {
|
| 250 |
+
Mage::logException($e);
|
| 251 |
+
}
|
| 252 |
+
$this->_redirect('checkout/cart');
|
| 253 |
+
}
|
| 254 |
+
|
| 255 |
+
public function cancelAction() {
|
| 256 |
+
// set quote to active
|
| 257 |
+
$session = $this->_getCheckout();
|
| 258 |
+
if ($quoteId = $session->getCityPayQuoteId()) {
|
| 259 |
+
$quote = Mage::getModel('sales/quote')->load($quoteId);
|
| 260 |
+
if ($quote->getId()) {
|
| 261 |
+
$quote->setIsActive(true)->save();
|
| 262 |
+
$session->setQuoteId($quoteId);
|
| 263 |
+
}
|
| 264 |
+
}
|
| 265 |
+
$session->addError(Mage::helper('paylink')->__('The order has been canceled.'));
|
| 266 |
+
$this->_redirect('checkout/cart');
|
| 267 |
+
}
|
| 268 |
+
}
|
app/code/community/CityPay/PayLink/etc/config.xml
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category CityPay
|
| 17 |
+
* @package CityPay_PayLink
|
| 18 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 19 |
+
*/
|
| 20 |
+
-->
|
| 21 |
+
<config>
|
| 22 |
+
<modules>
|
| 23 |
+
<CityPay_PayLink>
|
| 24 |
+
<version>0.1.0</version>
|
| 25 |
+
</CityPay_PayLink>
|
| 26 |
+
</modules>
|
| 27 |
+
|
| 28 |
+
<global>
|
| 29 |
+
<models>
|
| 30 |
+
<paylink>
|
| 31 |
+
<class>CityPay_PayLink_Model</class>
|
| 32 |
+
</paylink>
|
| 33 |
+
</models>
|
| 34 |
+
<helpers>
|
| 35 |
+
<paylink>
|
| 36 |
+
<class>CityPay_PayLink_Helper</class>
|
| 37 |
+
</paylink>
|
| 38 |
+
</helpers>
|
| 39 |
+
<resources>
|
| 40 |
+
<paylink_setup>
|
| 41 |
+
<setup>
|
| 42 |
+
<module>CityPay_PayLink</module>
|
| 43 |
+
</setup>
|
| 44 |
+
<connection>
|
| 45 |
+
<use>core_setup</use>
|
| 46 |
+
</connection>
|
| 47 |
+
</paylink_setup>
|
| 48 |
+
<paylink_write>
|
| 49 |
+
<connection>
|
| 50 |
+
<use>core_write</use>
|
| 51 |
+
</connection>
|
| 52 |
+
</paylink_write>
|
| 53 |
+
<paylink_read>
|
| 54 |
+
<connection>
|
| 55 |
+
<use>core_read</use>
|
| 56 |
+
</connection>
|
| 57 |
+
</paylink_read>
|
| 58 |
+
</resources>
|
| 59 |
+
<blocks>
|
| 60 |
+
<paylink><class>CityPay_PayLink_Block</class></paylink>
|
| 61 |
+
</blocks>
|
| 62 |
+
<payment>
|
| 63 |
+
<url>http://www.citypay.com/</url>
|
| 64 |
+
</payment>
|
| 65 |
+
</global>
|
| 66 |
+
|
| 67 |
+
<frontend>
|
| 68 |
+
<secure_url>
|
| 69 |
+
<paylink_processing>/paylink/processing</paylink_processing>
|
| 70 |
+
</secure_url>
|
| 71 |
+
<routers>
|
| 72 |
+
<paylink>
|
| 73 |
+
<use>standard</use>
|
| 74 |
+
<args>
|
| 75 |
+
<module>CityPay_PayLink</module>
|
| 76 |
+
<frontName>paylink</frontName>
|
| 77 |
+
</args>
|
| 78 |
+
</paylink>
|
| 79 |
+
</routers>
|
| 80 |
+
<layout>
|
| 81 |
+
<updates>
|
| 82 |
+
<paylink>
|
| 83 |
+
<file>paylink.xml</file>
|
| 84 |
+
</paylink>
|
| 85 |
+
</updates>
|
| 86 |
+
</layout>
|
| 87 |
+
</frontend>
|
| 88 |
+
|
| 89 |
+
<default>
|
| 90 |
+
<payment>
|
| 91 |
+
<paylink_cc>
|
| 92 |
+
<active>0</active>
|
| 93 |
+
<model>paylink/cc</model>
|
| 94 |
+
<order_status>1</order_status>
|
| 95 |
+
<title>Credit/Debit Card (CityPay)</title>
|
| 96 |
+
<allowspecific>0</allowspecific>
|
| 97 |
+
<transaction_testmode>1</transaction_testmode>
|
| 98 |
+
<order_status>processing</order_status>
|
| 99 |
+
<currency1>GBP</currency1>
|
| 100 |
+
<currency2>EUR</currency2>
|
| 101 |
+
<currency3>USD</currency3>
|
| 102 |
+
<currency4>AUD</currency4>
|
| 103 |
+
<currency5>CAD</currency5>
|
| 104 |
+
<server_ip>54.246.184.81, 54.246.184.93, 54.246.184.95</server_ip>
|
| 105 |
+
<tran_desc>Your order from StoreName</tran_desc>
|
| 106 |
+
</paylink_cc>
|
| 107 |
+
</payment>
|
| 108 |
+
</default>
|
| 109 |
+
</config>
|
app/code/community/CityPay/PayLink/etc/system.xml
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category CityPay
|
| 17 |
+
* @package CityPay_PayLink
|
| 18 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 19 |
+
*/
|
| 20 |
+
-->
|
| 21 |
+
<config>
|
| 22 |
+
<sections>
|
| 23 |
+
<payment>
|
| 24 |
+
<groups>
|
| 25 |
+
<paylink_cc translate="label" module="paylink">
|
| 26 |
+
<label>CityPay PayLink</label>
|
| 27 |
+
<frontend_type>text</frontend_type>
|
| 28 |
+
<sort_order>1</sort_order>
|
| 29 |
+
<show_in_default>1</show_in_default>
|
| 30 |
+
<show_in_website>1</show_in_website>
|
| 31 |
+
<show_in_store>0</show_in_store>
|
| 32 |
+
<comment><![CDATA[<a href="http://www.citypay.com/" target="_blank">Click here to apply for a CityPay account</a>]]></comment>
|
| 33 |
+
<fields>
|
| 34 |
+
<payselect translate="label">
|
| 35 |
+
<label>Payment selection</label>
|
| 36 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 37 |
+
<sort_order>1</sort_order>
|
| 38 |
+
<show_in_default>1</show_in_default>
|
| 39 |
+
<show_in_website>1</show_in_website>
|
| 40 |
+
<show_in_store>0</show_in_store>
|
| 41 |
+
</payselect>
|
| 42 |
+
<active translate="label">
|
| 43 |
+
<label>Enabled</label>
|
| 44 |
+
<frontend_type>select</frontend_type>
|
| 45 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 46 |
+
<sort_order>2</sort_order>
|
| 47 |
+
<show_in_default>1</show_in_default>
|
| 48 |
+
<show_in_website>1</show_in_website>
|
| 49 |
+
<show_in_store>0</show_in_store>
|
| 50 |
+
</active>
|
| 51 |
+
<title translate="label">
|
| 52 |
+
<label>Title</label>
|
| 53 |
+
<frontend_type>text</frontend_type>
|
| 54 |
+
<sort_order>3</sort_order>
|
| 55 |
+
<show_in_default>1</show_in_default>
|
| 56 |
+
<show_in_website>1</show_in_website>
|
| 57 |
+
<show_in_store>0</show_in_store>
|
| 58 |
+
</title>
|
| 59 |
+
<allowspecific translate="label">
|
| 60 |
+
<label>Payment to applicable countries</label>
|
| 61 |
+
<frontend_type>allowspecific</frontend_type>
|
| 62 |
+
<sort_order>4</sort_order>
|
| 63 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
| 64 |
+
<show_in_default>1</show_in_default>
|
| 65 |
+
<show_in_website>1</show_in_website>
|
| 66 |
+
<show_in_store>1</show_in_store>
|
| 67 |
+
</allowspecific>
|
| 68 |
+
<specificcountry translate="label">
|
| 69 |
+
<label>Payment to Specific countries</label>
|
| 70 |
+
<frontend_type>multiselect</frontend_type>
|
| 71 |
+
<sort_order>5</sort_order>
|
| 72 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
| 73 |
+
<show_in_default>1</show_in_default>
|
| 74 |
+
<show_in_website>1</show_in_website>
|
| 75 |
+
<show_in_store>1</show_in_store>
|
| 76 |
+
</specificcountry>
|
| 77 |
+
|
| 78 |
+
<tran_settings translate="label">
|
| 79 |
+
<label>Transaction settings</label>
|
| 80 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 81 |
+
<sort_order>10</sort_order>
|
| 82 |
+
<show_in_default>1</show_in_default>
|
| 83 |
+
<show_in_website>1</show_in_website>
|
| 84 |
+
<show_in_store>0</show_in_store>
|
| 85 |
+
</tran_settings>
|
| 86 |
+
|
| 87 |
+
<tran_desc translate="label">
|
| 88 |
+
<label>Description</label>
|
| 89 |
+
<frontend_type>text</frontend_type>
|
| 90 |
+
<sort_order>11</sort_order>
|
| 91 |
+
<show_in_default>1</show_in_default>
|
| 92 |
+
<show_in_website>1</show_in_website>
|
| 93 |
+
<show_in_store>0</show_in_store>
|
| 94 |
+
</tran_desc>
|
| 95 |
+
<order_status translate="label">
|
| 96 |
+
<label>New order status</label>
|
| 97 |
+
<frontend_type>select</frontend_type>
|
| 98 |
+
<source_model>adminhtml/system_config_source_order_status_processing</source_model>
|
| 99 |
+
<sort_order>12</sort_order>
|
| 100 |
+
<show_in_default>1</show_in_default>
|
| 101 |
+
<show_in_website>1</show_in_website>
|
| 102 |
+
<show_in_store>0</show_in_store>
|
| 103 |
+
</order_status>
|
| 104 |
+
<transaction_testmode translate="label">
|
| 105 |
+
<label>Test Mode</label>
|
| 106 |
+
<frontend_type>select</frontend_type>
|
| 107 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 108 |
+
<sort_order>13</sort_order>
|
| 109 |
+
<show_in_default>1</show_in_default>
|
| 110 |
+
<show_in_website>1</show_in_website>
|
| 111 |
+
<show_in_store>0</show_in_store>
|
| 112 |
+
</transaction_testmode>
|
| 113 |
+
|
| 114 |
+
<heading_currency1 translate="label">
|
| 115 |
+
<label>Account settings</label>
|
| 116 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 117 |
+
<sort_order>20</sort_order>
|
| 118 |
+
<show_in_default>1</show_in_default>
|
| 119 |
+
<show_in_website>1</show_in_website>
|
| 120 |
+
<show_in_store>0</show_in_store>
|
| 121 |
+
</heading_currency1>
|
| 122 |
+
<currency1 translate="label">
|
| 123 |
+
<label>Currency</label>
|
| 124 |
+
<frontend_type>select</frontend_type>
|
| 125 |
+
<source_model>adminhtml/system_config_source_currency</source_model>
|
| 126 |
+
<sort_order>21</sort_order>
|
| 127 |
+
<show_in_default>1</show_in_default>
|
| 128 |
+
<show_in_website>1</show_in_website>
|
| 129 |
+
<show_in_store>0</show_in_store>
|
| 130 |
+
</currency1>
|
| 131 |
+
<merchant_id1 translate="label">
|
| 132 |
+
<label>Merchant ID</label>
|
| 133 |
+
<frontend_type>text</frontend_type>
|
| 134 |
+
<sort_order>22</sort_order>
|
| 135 |
+
<show_in_default>1</show_in_default>
|
| 136 |
+
<show_in_website>1</show_in_website>
|
| 137 |
+
<show_in_store>0</show_in_store>
|
| 138 |
+
</merchant_id1>
|
| 139 |
+
<licence_key1 translate="label">
|
| 140 |
+
<label>Licence Key</label>
|
| 141 |
+
<frontend_type>text</frontend_type>
|
| 142 |
+
<sort_order>23</sort_order>
|
| 143 |
+
<show_in_default>1</show_in_default>
|
| 144 |
+
<show_in_website>1</show_in_website>
|
| 145 |
+
<show_in_store>0</show_in_store>
|
| 146 |
+
</licence_key1>
|
| 147 |
+
|
| 148 |
+
<heading_currency2 translate="label">
|
| 149 |
+
<label>Account settings (2nd currency)</label>
|
| 150 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 151 |
+
<sort_order>30</sort_order>
|
| 152 |
+
<show_in_default>1</show_in_default>
|
| 153 |
+
<show_in_website>1</show_in_website>
|
| 154 |
+
<show_in_store>0</show_in_store>
|
| 155 |
+
</heading_currency2>
|
| 156 |
+
<currency2 translate="label">
|
| 157 |
+
<label>Currency</label>
|
| 158 |
+
<frontend_type>select</frontend_type>
|
| 159 |
+
<source_model>adminhtml/system_config_source_currency</source_model>
|
| 160 |
+
<sort_order>31</sort_order>
|
| 161 |
+
<show_in_default>1</show_in_default>
|
| 162 |
+
<show_in_website>1</show_in_website>
|
| 163 |
+
<show_in_store>0</show_in_store>
|
| 164 |
+
</currency2>
|
| 165 |
+
<merchant_id2 translate="label">
|
| 166 |
+
<label>Merchant ID</label>
|
| 167 |
+
<frontend_type>text</frontend_type>
|
| 168 |
+
<sort_order>32</sort_order>
|
| 169 |
+
<show_in_default>1</show_in_default>
|
| 170 |
+
<show_in_website>1</show_in_website>
|
| 171 |
+
<show_in_store>0</show_in_store>
|
| 172 |
+
</merchant_id2>
|
| 173 |
+
<licence_key2 translate="label">
|
| 174 |
+
<label>Licence Key</label>
|
| 175 |
+
<frontend_type>text</frontend_type>
|
| 176 |
+
<sort_order>33</sort_order>
|
| 177 |
+
<show_in_default>1</show_in_default>
|
| 178 |
+
<show_in_website>1</show_in_website>
|
| 179 |
+
<show_in_store>0</show_in_store>
|
| 180 |
+
</licence_key2>
|
| 181 |
+
|
| 182 |
+
<heading_currency3 translate="label">
|
| 183 |
+
<label>Account settings (3rd currency)</label>
|
| 184 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 185 |
+
<sort_order>40</sort_order>
|
| 186 |
+
<show_in_default>1</show_in_default>
|
| 187 |
+
<show_in_website>1</show_in_website>
|
| 188 |
+
<show_in_store>0</show_in_store>
|
| 189 |
+
</heading_currency3>
|
| 190 |
+
<currency3 translate="label">
|
| 191 |
+
<label>Currency</label>
|
| 192 |
+
<frontend_type>select</frontend_type>
|
| 193 |
+
<source_model>adminhtml/system_config_source_currency</source_model>
|
| 194 |
+
<sort_order>41</sort_order>
|
| 195 |
+
<show_in_default>1</show_in_default>
|
| 196 |
+
<show_in_website>1</show_in_website>
|
| 197 |
+
<show_in_store>0</show_in_store>
|
| 198 |
+
</currency3>
|
| 199 |
+
<merchant_id3 translate="label">
|
| 200 |
+
<label>Merchant ID</label>
|
| 201 |
+
<frontend_type>text</frontend_type>
|
| 202 |
+
<sort_order>42</sort_order>
|
| 203 |
+
<show_in_default>1</show_in_default>
|
| 204 |
+
<show_in_website>1</show_in_website>
|
| 205 |
+
<show_in_store>0</show_in_store>
|
| 206 |
+
</merchant_id3>
|
| 207 |
+
<licence_key3 translate="label">
|
| 208 |
+
<label>Licence Key</label>
|
| 209 |
+
<frontend_type>text</frontend_type>
|
| 210 |
+
<sort_order>43</sort_order>
|
| 211 |
+
<show_in_default>1</show_in_default>
|
| 212 |
+
<show_in_website>1</show_in_website>
|
| 213 |
+
<show_in_store>0</show_in_store>
|
| 214 |
+
</licence_key3>
|
| 215 |
+
|
| 216 |
+
<heading_currency4 translate="label">
|
| 217 |
+
<label>Account settings (4th currency)</label>
|
| 218 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 219 |
+
<sort_order>50</sort_order>
|
| 220 |
+
<show_in_default>1</show_in_default>
|
| 221 |
+
<show_in_website>1</show_in_website>
|
| 222 |
+
<show_in_store>0</show_in_store>
|
| 223 |
+
</heading_currency4>
|
| 224 |
+
<currency4 translate="label">
|
| 225 |
+
<label>Currency</label>
|
| 226 |
+
<frontend_type>select</frontend_type>
|
| 227 |
+
<source_model>adminhtml/system_config_source_currency</source_model>
|
| 228 |
+
<sort_order>51</sort_order>
|
| 229 |
+
<show_in_default>1</show_in_default>
|
| 230 |
+
<show_in_website>1</show_in_website>
|
| 231 |
+
<show_in_store>0</show_in_store>
|
| 232 |
+
</currency4>
|
| 233 |
+
<merchant_id4 translate="label">
|
| 234 |
+
<label>Merchant ID</label>
|
| 235 |
+
<frontend_type>text</frontend_type>
|
| 236 |
+
<sort_order>52</sort_order>
|
| 237 |
+
<show_in_default>1</show_in_default>
|
| 238 |
+
<show_in_website>1</show_in_website>
|
| 239 |
+
<show_in_store>0</show_in_store>
|
| 240 |
+
</merchant_id4>
|
| 241 |
+
<licence_key4 translate="label">
|
| 242 |
+
<label>Licence Key</label>
|
| 243 |
+
<frontend_type>text</frontend_type>
|
| 244 |
+
<sort_order>53</sort_order>
|
| 245 |
+
<show_in_default>1</show_in_default>
|
| 246 |
+
<show_in_website>1</show_in_website>
|
| 247 |
+
<show_in_store>0</show_in_store>
|
| 248 |
+
</licence_key4>
|
| 249 |
+
|
| 250 |
+
<heading_currency5 translate="label">
|
| 251 |
+
<label>Account settings (5th currency)</label>
|
| 252 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 253 |
+
<sort_order>60</sort_order>
|
| 254 |
+
<show_in_default>1</show_in_default>
|
| 255 |
+
<show_in_website>1</show_in_website>
|
| 256 |
+
<show_in_store>0</show_in_store>
|
| 257 |
+
</heading_currency5>
|
| 258 |
+
<currency5 translate="label">
|
| 259 |
+
<label>Currency</label>
|
| 260 |
+
<frontend_type>select</frontend_type>
|
| 261 |
+
<source_model>adminhtml/system_config_source_currency</source_model>
|
| 262 |
+
<sort_order>61</sort_order>
|
| 263 |
+
<show_in_default>1</show_in_default>
|
| 264 |
+
<show_in_website>1</show_in_website>
|
| 265 |
+
<show_in_store>0</show_in_store>
|
| 266 |
+
</currency5>
|
| 267 |
+
<merchant_id5 translate="label">
|
| 268 |
+
<label>Merchant ID</label>
|
| 269 |
+
<frontend_type>text</frontend_type>
|
| 270 |
+
<sort_order>62</sort_order>
|
| 271 |
+
<show_in_default>1</show_in_default>
|
| 272 |
+
<show_in_website>1</show_in_website>
|
| 273 |
+
<show_in_store>0</show_in_store>
|
| 274 |
+
</merchant_id5>
|
| 275 |
+
<licence_key5 translate="label">
|
| 276 |
+
<label>Licence Key</label>
|
| 277 |
+
<frontend_type>text</frontend_type>
|
| 278 |
+
<sort_order>63</sort_order>
|
| 279 |
+
<show_in_default>1</show_in_default>
|
| 280 |
+
<show_in_website>1</show_in_website>
|
| 281 |
+
<show_in_store>0</show_in_store>
|
| 282 |
+
</licence_key5>
|
| 283 |
+
|
| 284 |
+
<heading_postback translate="label">
|
| 285 |
+
<label>Postback filter</label>
|
| 286 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 287 |
+
<sort_order>100</sort_order>
|
| 288 |
+
<show_in_default>1</show_in_default>
|
| 289 |
+
<show_in_website>1</show_in_website>
|
| 290 |
+
<show_in_store>0</show_in_store>
|
| 291 |
+
</heading_postback>
|
| 292 |
+
<server_ip translate="label">
|
| 293 |
+
<label>Server IP list </label>
|
| 294 |
+
<frontend_type>text</frontend_type>
|
| 295 |
+
<sort_order>101</sort_order>
|
| 296 |
+
<show_in_default>1</show_in_default>
|
| 297 |
+
<show_in_website>1</show_in_website>
|
| 298 |
+
<show_in_store>0</show_in_store>
|
| 299 |
+
</server_ip>
|
| 300 |
+
</fields>
|
| 301 |
+
</paylink_cc>
|
| 302 |
+
</groups>
|
| 303 |
+
</payment>
|
| 304 |
+
</sections>
|
| 305 |
+
</config>
|
app/design/adminhtml/default/default/template/paylink/info.phtml
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category design_default
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<?php
|
| 21 |
+
echo $this->getMethod()->getTitle() . '<br/>';
|
| 22 |
+
if ($this->getInfo()->getLastTransId() == '') {
|
| 23 |
+
echo Mage::helper('paylink')->__('Payment has not been processed yet.') . '<br/>';
|
| 24 |
+
} else {
|
| 25 |
+
echo Mage::helper('paylink')->__('CityPay Transaction ID: %s', $this->htmlEscape($this->getInfo()->getLastTransId())) . '<br/>';
|
| 26 |
+
}
|
| 27 |
+
?>
|
app/design/adminhtml/default/default/template/paylink/pdf/info.phtml
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category design_default
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<?php echo $this->getMethod()->getTitle() ?>
|
| 21 |
+
|
app/design/frontend/base/default/layout/paylink.xml
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category design_default
|
| 17 |
+
* @package CityPay_PayLink
|
| 18 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 19 |
+
*/
|
| 20 |
+
|
| 21 |
+
-->
|
| 22 |
+
<layout version="0.1.0">
|
| 23 |
+
<paylink_processing_failure>
|
| 24 |
+
<reference name="root">
|
| 25 |
+
<action method="setTemplate"><template>page/2columns-right.phtml</template></action>
|
| 26 |
+
</reference>
|
| 27 |
+
<reference name="content">
|
| 28 |
+
<block type="paylink/failure" name="paylink_failure" template="paylink/failure.phtml" />
|
| 29 |
+
</reference>
|
| 30 |
+
</paylink_processing_failure>
|
| 31 |
+
<paylink_processing_redirect>
|
| 32 |
+
<reference name="root">
|
| 33 |
+
<action method="setTemplate"><template>paylink/blank.phtml</template></action>
|
| 34 |
+
</reference>
|
| 35 |
+
<reference name="content">
|
| 36 |
+
<block type="paylink/redirect" name="paylink_redirect" template="paylink/redirect.phtml" />
|
| 37 |
+
</reference>
|
| 38 |
+
</paylink_processing_redirect>
|
| 39 |
+
</layout>
|
app/design/frontend/base/default/template/paylink/blank.phtml
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category design_default
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
| 21 |
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
|
| 22 |
+
<head>
|
| 23 |
+
<title>CityPay PayLink</title>
|
| 24 |
+
<style>
|
| 25 |
+
html {
|
| 26 |
+
font-size: 100%; /* IE trick to allow proper resizing of text */
|
| 27 |
+
}
|
| 28 |
+
body {
|
| 29 |
+
margin: 20px 0 0 0;
|
| 30 |
+
text-align: left;
|
| 31 |
+
font-family:"Helvetica Neue", Arial, Helvetica, sans-serif; /* 1em is now 12px at 96ppi. */
|
| 32 |
+
font-size:12px;
|
| 33 |
+
background-color: #ffffff;
|
| 34 |
+
color: #606060;
|
| 35 |
+
}
|
| 36 |
+
</style>
|
| 37 |
+
</head>
|
| 38 |
+
<body><center><?php echo $this->getChildHtml('content') ?></center><br>
|
| 39 |
+
</body>
|
| 40 |
+
</html>
|
app/design/frontend/base/default/template/paylink/cancel.phtml
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category design_default
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<html>
|
| 21 |
+
<meta http-equiv="refresh" content="0; URL=<?php echo $this->getContinueShoppingUrl()?>">
|
| 22 |
+
<body>
|
| 23 |
+
<div class="page-head">
|
| 24 |
+
<h3><?php echo Mage::helper('paylink')->__('Payment was canceled') ?></h3>
|
| 25 |
+
</div>
|
| 26 |
+
<p><?php echo Mage::helper('paylink')->__('Please <a href="%s">continue shopping</a>.', $this->getContinueShoppingUrl()) ?></p>
|
| 27 |
+
</body>
|
| 28 |
+
</html>
|
app/design/frontend/base/default/template/paylink/failure.phtml
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category design_default
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<html>
|
| 21 |
+
<meta http-equiv="refresh" content="0; URL=<?php echo $this->getContinueShoppingUrl()?>">
|
| 22 |
+
<body>
|
| 23 |
+
<div class="page-head">
|
| 24 |
+
<h3><?php echo Mage::helper('paylink')->__('Error occurred') ?></h3>
|
| 25 |
+
</div>
|
| 26 |
+
<p><?php echo Mage::helper('paylink')->__('Please <a href="%s">continue shopping</a>.', $this->getContinueShoppingUrl()) ?></p>
|
| 27 |
+
</body>
|
| 28 |
+
</html>
|
app/design/frontend/base/default/template/paylink/form.phtml
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category design_default
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<fieldset class="form-list">
|
| 21 |
+
<?php $_code=$this->getMethodCode() ?>
|
| 22 |
+
<ul id="payment_form_<?php echo $_code ?>" style="display:none">
|
| 23 |
+
<li>
|
| 24 |
+
<?php echo Mage::helper('paylink')->__('Details will be taken using the CityPay gateway when you place an order.') ?>
|
| 25 |
+
</li>
|
| 26 |
+
</ul>
|
| 27 |
+
</fieldset>
|
app/design/frontend/base/default/template/paylink/info.phtml
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category design_default
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<?php
|
| 21 |
+
echo $this->getMethod()->getTitle() . '<br/>';
|
| 22 |
+
if ($this->getInfo()->getLastTransId() == '') {
|
| 23 |
+
echo '<em>' . Mage::helper('paylink')->__('Details will be taken using the CityPay gateway when you place an order.') . '</em>';
|
| 24 |
+
} else {
|
| 25 |
+
echo Mage::helper('paylink')->__('CityPay Transaction ID: %s', $this->htmlEscape($this->getInfo()->getLastTransId())) . '<br/>';
|
| 26 |
+
}
|
| 27 |
+
?>
|
app/design/frontend/base/default/template/paylink/redirect.phtml
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category design_default
|
| 16 |
+
* @package CityPay_PayLink
|
| 17 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<b><?php echo Mage::helper('paylink')->__('You will now be transferred to CityPay to complete the transaction.'); ?></b>
|
| 21 |
+
<form name="paylink_form" id="paylink_form" action="<?php echo $this->getFormData();?>" method="GET">
|
| 22 |
+
</form>
|
| 23 |
+
|
| 24 |
+
<script type="text/javascript">
|
| 25 |
+
//<![CDATA[
|
| 26 |
+
var paymentform = document.getElementById('paylink_form');
|
| 27 |
+
window.onload = paymentform.submit();
|
| 28 |
+
//]]>
|
| 29 |
+
</script>
|
app/etc/modules/CityPay_PayLink.xml
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category CityPay
|
| 17 |
+
* @package CityPay_PayLink
|
| 18 |
+
* @copyright Copyright (c) 2014 CityPay (http://www.citypay.com/)
|
| 19 |
+
*/
|
| 20 |
+
-->
|
| 21 |
+
<config>
|
| 22 |
+
<modules>
|
| 23 |
+
<CityPay_PayLink>
|
| 24 |
+
<active>true</active>
|
| 25 |
+
<codePool>community</codePool>
|
| 26 |
+
</CityPay_PayLink>
|
| 27 |
+
</modules>
|
| 28 |
+
</config>
|
package.xml
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<package>
|
| 3 |
+
<name>CityPay_PayLink</name>
|
| 4 |
+
<version>1.1.0.0</version>
|
| 5 |
+
<stability>stable</stability>
|
| 6 |
+
<license>Open Software License</license>
|
| 7 |
+
<channel>community</channel>
|
| 8 |
+
<extends/>
|
| 9 |
+
<summary>CityPay PayLink payment module</summary>
|
| 10 |
+
<description>Take payments using the CityPay PayLink gateway.
|
| 11 |
+

|
| 12 |
+
CityPay are a PCI DSS Level 1 certified payment gateway accredited by UK and European Acquiring banks to process credit and debit card transitions.
|
| 13 |
+
</description>
|
| 14 |
+
<notes>Public release of payment module for CityPay PayLink.
|
| 15 |
+
</notes>
|
| 16 |
+
<authors><author><name>CityPay</name><user>CityPay</user><email>support@citypay.com</email></author></authors>
|
| 17 |
+
<date>2014-04-25</date>
|
| 18 |
+
<time>07:57:04</time>
|
| 19 |
+
<contents><target name="magecommunity"><dir name="CityPay"><dir name="PayLink"><dir name="Block"><file name="Cancel.php" hash="8f2ee8fd97fe192b1c8d8fbb3ad3731c"/><file name="Failure.php" hash="e71ec28b514d92a668e105e8d6f413fc"/><file name="Form.php" hash="c4a2504e23947a4f5a304191f069d959"/><file name="Info.php" hash="e7545ab3bf215627a6da875ae77d1fef"/><file name="Redirect.php" hash="7aac53817a08d06393b87e31c1434681"/><file name="Success.php" hash="489cab28853acb3438922ee12d9460e4"/></dir><dir name="Helper"><file name="Data.php" hash="1f362fcb67704e139c6331810dfecd5f"/></dir><dir name="Model"><file name="Cc.php" hash="9d98292a8bcf6fb227edc5eed02dcc0d"/><dir name="Source"><file name="RequestType.php" hash="697cfc73220222a8cf28128612240375"/></dir></dir><dir name="controllers"><file name="ProcessingController.php" hash="d62464d992ac1890d654804fd00dd1d1"/></dir><dir name="etc"><file name="config.xml" hash="d8e102b039c80ced095303f0275d9184"/><file name="system.xml" hash="98599ce255abd973aa538f26e502807b"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="paylink"><file name="info.phtml" hash="05f4aedb5addd0e95174fbead2bfad94"/><dir name="pdf"><file name="info.phtml" hash="baca1ec6d88eb4357f7b00f2b8e58d61"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="paylink.xml" hash="00675a1467815b7a11f15d7af1b297a4"/></dir><dir name="template"><dir name="paylink"><file name="blank.phtml" hash="18c29ba6bfe6af256e978fdad2fa6043"/><file name="cancel.phtml" hash="22a0148140b82fb50c58031b6807bcb6"/><file name="failure.phtml" hash="9ec6bab2615162b0c6ec2bbec64bff3f"/><file name="form.phtml" hash="f4d6d3ccdb3c059fd56c40779fa6ed96"/><file name="info.phtml" hash="a626432c8e6d5715f79eb4f5807d57f9"/><file name="redirect.phtml" hash="162c786fa5181be41a16530624b175b5"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="CityPay_PayLink.xml" hash="c03b8aaf72a67543317a733fdac34cd3"/></dir></target></contents>
|
| 20 |
+
<compatible/>
|
| 21 |
+
<dependencies><required><php><min>5.3.2</min><max>6.0.0</max></php></required></dependencies>
|
| 22 |
+
</package>
|
