Mage_Ogone_Official - Version 1.2.1.0

Version Notes

1.2.1.0

Download this release

Release Info

Developer Magento Core Team
Extension Mage_Ogone_Official
Version 1.2.1.0
Comparing to
See all releases


Code changes from version 1.2.0.1 to 1.2.1.0

app/code/core/Mage/Ogone/Block/Form.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+
28
+ class Mage_Ogone_Block_Form extends Mage_Payment_Block_Form_Cc
29
+ {
30
+ /**
31
+ * Init Ofone pay from to use it on frontend
32
+ *
33
+ */
34
+ protected function _construct()
35
+ {
36
+ parent::_construct();
37
+ $this->setTemplate('ogone/form.phtml');
38
+ }
39
+ }
app/code/core/Mage/Ogone/Block/Info.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Ogone payment iformation block
29
+ */
30
+ class Mage_Ogone_Block_Info extends Mage_Payment_Block_Info_Cc
31
+ {
32
+ /**
33
+ * Init ogone payment information block to use on admin area
34
+ *
35
+ */
36
+ protected function _construct()
37
+ {
38
+ parent::_construct();
39
+ $this->setTemplate('ogone/info.phtml');
40
+ }
41
+ }
app/code/core/Mage/Ogone/Block/Paypage.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+
28
+ class Mage_Ogone_Block_Paypage extends Mage_Core_Block_Template
29
+ {
30
+ /**
31
+ * Init pay page block
32
+ *
33
+ * @return Mage_Ogone_Block_Paypage
34
+ */
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('ogone/paypage.phtml');
39
+ return $this;
40
+ }
41
+ }
app/code/core/Mage/Ogone/Block/Placeform.php ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+
28
+ class Mage_Ogone_Block_Placeform extends Mage_Core_Block_Template
29
+ {
30
+ public function __construct()
31
+ {
32
+ }
33
+
34
+ /**
35
+ * Get checkout session namespace
36
+ *
37
+ * @return Mage_Checkout_Model_Session
38
+ */
39
+ public function getCheckout()
40
+ {
41
+ return Mage::getSingleton('checkout/session');
42
+ }
43
+
44
+ /**
45
+ * Ogone payment APi instance
46
+ *
47
+ * @return Mage_Ogone_Model_Api
48
+ */
49
+ protected function _getApi()
50
+ {
51
+ return Mage::getSingleton('ogone/api');
52
+ }
53
+
54
+ /**
55
+ * Return order instance with loaded onformation by increment id
56
+ *
57
+ * @return Mage_Sales_Model_Order
58
+ */
59
+ protected function _getOrder()
60
+ {
61
+ if ($this->getOrder()) {
62
+ $order = $this->getOrder();
63
+ } else if ($this->getCheckout()->getLastRealOrderId()) {
64
+ $order = Mage::getModel('sales/order')->loadByIncrementId($this->getCheckout()->getLastRealOrderId());
65
+ } else {
66
+ return null;
67
+ }
68
+ return $order;
69
+ }
70
+
71
+ /**
72
+ * Get Form data by using ogone payment api
73
+ *
74
+ * @return array
75
+ */
76
+ public function getFormData()
77
+ {
78
+ return $this->_getApi()->getFormFields($this->_getOrder());
79
+ }
80
+
81
+ /**
82
+ * Getting gateway url
83
+ *
84
+ * @return string
85
+ */
86
+ public function getFormAction()
87
+ {
88
+ return $this->_getApi()->getConfig()->getGatewayPath();
89
+ }
90
+ }
app/code/core/Mage/Ogone/Helper/Data.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Ogone data helper
29
+ */
30
+ class Mage_Ogone_Helper_Data extends Mage_Core_Helper_Abstract
31
+ {
32
+ /**
33
+ * @deprecated after 1.4.2.0-beta1
34
+ * @see Mage_Ogone_Model_Api::HASH_ALGO_SHA1
35
+ */
36
+ const HASH_ALGO = 'sha1';
37
+
38
+ /**
39
+ * @deprecated after 1.4.2.0-beta1
40
+ * @see Mage_Ogone_Model_Api::getHash()
41
+ * @param array $data
42
+ * @param string $key
43
+ * @return string
44
+ */
45
+ public function shaCrypt($data, $key = '')
46
+ {
47
+ return '';
48
+ }
49
+
50
+ /**
51
+ * @deprecated after 1.4.2.0-beta1
52
+ * @see Mage_Ogone_Model_Api::getHash()
53
+ * @param array $data
54
+ * @param string $hash
55
+ * @param string $key
56
+ * @return bool
57
+ */
58
+ public function shaCryptValidation($data, $hash, $key='')
59
+ {
60
+ return false;
61
+ }
62
+ }
app/code/core/Mage/Ogone/Model/Api.php ADDED
@@ -0,0 +1,474 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Ogone payment method model
29
+ */
30
+ class Mage_Ogone_Model_Api extends Mage_Payment_Model_Method_Abstract
31
+ {
32
+ /**
33
+ * Ogone payment method code
34
+ *
35
+ * @var string
36
+ */
37
+ const PAYMENT_CODE = 'ogone';
38
+
39
+ protected $_code = self::PAYMENT_CODE;
40
+ protected $_formBlockType = 'ogone/form';
41
+ protected $_infoBlockType = 'ogone/info';
42
+ protected $_config = null;
43
+
44
+ /**
45
+ * Availability options
46
+ */
47
+ protected $_isGateway = false;
48
+ protected $_canAuthorize = true;
49
+ protected $_canCapture = false;
50
+ protected $_canCapturePartial = false;
51
+ protected $_canRefund = false;
52
+ protected $_canVoid = false;
53
+ protected $_canUseInternal = false;
54
+ protected $_canUseCheckout = true;
55
+ protected $_canUseForMultishipping = false;
56
+
57
+ /**
58
+ * "OUT" hash string components, correspond to the "IN" signature in Ogone.
59
+ * "Out" relative to Magento, "in" relative to Ogone.
60
+ *
61
+ * @see Ogone eCommerce Advanced Technical Integration Guide v.5.0
62
+ * @var array
63
+ */
64
+ protected static $_outAllMap = array(
65
+ 'ACCEPTURL', 'ADDMATCH', 'ADDRMATCH',
66
+ // airline tickets - not implemented
67
+ // 'AIAIRNAME', 'AIAIRTAX', /*'AIBOOKIND*XX*', 'AICARRIER*XX*',*/ 'AICHDET', /*'AICLASS*XX*',*/ 'AICONJTI',
68
+ // /*'AIDESTCITY*XX*', 'AIDESTCITYL*XX*', 'AIEXTRAPASNAME*XX*',*/ 'AIEYCD', /*'AIFLDATE*XX*', 'AIFLNUM*XX*',*/
69
+ // 'AIIRST', /*'AIORCITY*XX*', 'AIORCITYL*XX*',*/ 'AIPASNAME', /*'AISTOPOV*XX*',*/ 'AITIDATE', 'AITINUM',
70
+ // 'AITYPCH', 'AIVATAMNT', 'AIVATAPPL',
71
+ 'ALIAS','ALIASOPERATION', 'ALIASUSAGE',
72
+ 'ALLOWCORRECTION', 'AMOUNT', /*'AMOUNT*XX*',*/ 'AMOUNTHTVA', 'AMOUNTTVA', 'BACKURL', 'BGCOLOR', 'BRAND',
73
+ 'BRANDVISUAL', 'BUTTONBGCOLOR', 'BUTTONTXTCOLOR', 'CANCELURL', 'CARDNO', 'CATALOGURL', 'CAVV_3D',
74
+ 'CAVVALGORITHM_3D', 'CERTID', 'CHECK_AAV', 'CIVILITY', 'CN', 'COM', 'COMPLUS', 'COSTCENTER', 'COSTCODE',
75
+ 'CREDITCODE', 'CUID', 'CURRENCY', 'CVC', 'DATA', 'DATATYPE', 'DATEIN', 'DATEOUT', 'DECLINEURL', 'DEVICE',
76
+ 'DISCOUNTRATE', 'ECI',
77
+ 'ECOM_BILLTO_POSTAL_CITY', 'ECOM_BILLTO_POSTAL_COUNTRYCODE', 'ECOM_BILLTO_POSTAL_NAME_FIRST',
78
+ 'ECOM_BILLTO_POSTAL_NAME_LAST', 'ECOM_BILLTO_POSTAL_POSTALCODE', 'ECOM_BILLTO_POSTAL_STREET_LINE1',
79
+ 'ECOM_BILLTO_POSTAL_STREET_LINE2', 'ECOM_BILLTO_POSTAL_STREET_NUMBER', 'ECOM_CONSUMERID',
80
+ 'ECOM_CONSUMERORDERID', 'ECOM_CONSUMERUSERALIAS', 'ECOM_PAYMENT_CARD_EXPDATE_MONTH',
81
+ 'ECOM_PAYMENT_CARD_EXPDATE_YEAR', 'ECOM_PAYMENT_CARD_NAME', 'ECOM_PAYMENT_CARD_VERIFICATION',
82
+ 'ECOM_SHIPTO_COMPANY', 'ECOM_SHIPTO_DOB', 'ECOM_SHIPTO_ONLINE_EMAIL', 'ECOM_SHIPTO_POSTAL_CITY',
83
+ 'ECOM_SHIPTO_POSTAL_COUNTRYCODE', 'ECOM_SHIPTO_POSTAL_NAME_FIRST', 'ECOM_SHIPTO_POSTAL_NAME_LAST',
84
+ 'ECOM_SHIPTO_POSTAL_NAME_PREFIX', 'ECOM_SHIPTO_POSTAL_POSTALCODE', 'ECOM_SHIPTO_POSTAL_STREET_LINE1',
85
+ 'ECOM_SHIPTO_POSTAL_STREET_LINE2', 'ECOM_SHIPTO_POSTAL_STREET_NUMBER', 'ECOM_SHIPTO_TELECOM_FAX_NUMBER',
86
+ 'ECOM_SHIPTO_TELECOM_PHONE_NUMBER', 'ECOM_SHIPTO_TVA',
87
+ 'ED', 'EMAIL', 'EXCEPTIONURL', 'EXCLPMLIST', /*'EXECUTIONDATE*XX*',*/ 'FIRSTCALL', 'FLAG3D', 'FONTTYPE',
88
+ 'FORCECODE1', 'FORCECODE2', 'FORCECODEHASH', 'FORCEPROCESS', 'FORCETP', 'GENERIC_BL', 'GIROPAY_BL',
89
+ 'GIROPAY_ACCOUNT_NUMBER', 'GIROPAY_BLZ', 'GIROPAY_OWNER_NAME', 'GLOBORDERID', 'GUID', 'HDFONTTYPE',
90
+ 'HDTBLBGCOLOR', 'HDTBLTXTCOLOR', 'HEIGHTFRAME', 'HOMEURL', 'HTTP_ACCEPT', 'HTTP_USER_AGENT', 'INCLUDE_BIN',
91
+ 'INCLUDE_COUNTRIES', 'INVDATE', 'INVDISCOUNT', 'INVLEVEL', 'INVORDERID', 'ISSUERID',
92
+ // cart items - not implemented
93
+ // 'ITEMCATEGORY*XX*', 'ITEMDISCOUNT*XX*', 'ITEMID*XX*', 'ITEMNAME*XX*', 'ITEMPRICE*XX*', 'ITEMQUANT*XX*',
94
+ // 'ITEMUNITOFMEASURE*XX*', 'ITEMVAT*XX*', 'ITEMVATCODE*XX*',
95
+ 'LANGUAGE', 'LEVEL1AUTHCPC', /*'LIDEXCL*XX*',*/ 'LIMITCLIENTSCRIPTUSAGE', 'LINE_REF',
96
+ 'LIST_BIN', 'LIST_COUNTRIES', 'LOGO', 'MERCHANTID', 'MODE', 'MTIME', 'MVER', 'NETAMOUNT', 'OPERATION',
97
+ 'ORDERID', 'ORDERSHIPCOST', 'ORDERSHIPTAX', 'ORDERSHIPTAXCODE',
98
+ 'ORIG', 'OR_INVORDERID', 'OR_ORDERID', 'OWNERADDRESS', 'OWNERADDRESS2', 'OWNERCTY', 'OWNERTELNO',
99
+ 'OWNERTOWN', 'OWNERZIP', 'PAIDAMOUNT', 'PARAMPLUS', 'PARAMVAR', 'PAYID', 'PAYMETHOD', 'PM', 'PMLIST',
100
+ 'PMLISTPMLISTTYPE', 'PMLISTTYPE', 'PMLISTTYPEPMLIST', 'PMTYPE', 'POPUP', 'POST', 'PSPID', 'PSWD', 'REF',
101
+ 'REFER', 'REFID', 'REFKIND', 'REF_CUSTOMERID', 'REF_CUSTOMERREF', 'REMOTE_ADDR', 'REQGENFIELDS','RTIMEOUT',
102
+ 'RTIMEOUTREQUESTEDTIMEOUT', 'SCORINGCLIENT', 'SETT_BATCH', 'SID', 'STATUS_3D', 'SUBSCRIPTION_ID', 'SUB_AM',
103
+ 'SUB_AMOUNT', 'SUB_COM', 'SUB_COMMENT', 'SUB_CUR', 'SUB_ENDDATE', 'SUB_ORDERID', 'SUB_PERIOD_MOMENT',
104
+ 'SUB_PERIOD_MOMENT_M', 'SUB_PERIOD_MOMENT_WW', 'SUB_PERIOD_NUMBER', 'SUB_PERIOD_NUMBER_D',
105
+ 'SUB_PERIOD_NUMBER_M', 'SUB_PERIOD_NUMBER_WW', 'SUB_PERIOD_UNIT', 'SUB_STARTDATE', 'SUB_STATUS', 'TAAL',
106
+ /*'TAXINCLUDED*XX*',*/ 'TBLBGCOLOR', 'TBLTXTCOLOR', 'TID', 'TITLE', 'TOTALAMOUNT', 'TP', 'TRACK2', 'TXTBADDR2',
107
+ 'TXTCOLOR', 'TXTOKEN', 'TXTOKENTXTOKENPAYPAL', 'TYPE_COUNTRY', 'UCAF_AUTHENTICATION_DATA',
108
+ 'UCAF_PAYMENT_CARD_CVC2', 'UCAF_PAYMENT_CARD_EXPDATE_MONTH', 'UCAF_PAYMENT_CARD_EXPDATE_YEAR',
109
+ 'UCAF_PAYMENT_CARD_NUMBER', 'USERID', 'USERTYPE', 'VERSION', 'WBTU_MSISDN', 'WBTU_ORDERID', 'WEIGHTUNIT',
110
+ 'WIN3DS', 'WITHROOT',
111
+ );
112
+ protected static $_outShortMap = array('ORDERID', 'AMOUNT', 'CURRENCY', 'PSPID', 'OPERATION',);
113
+
114
+ /**
115
+ * "IN" hash string components, correspond to the "OUT" signature in Ogone.
116
+ * "In" relative to Magento, "out" relative to Ogone.
117
+ *
118
+ * @see Ogone eCommerce Advanced Technical Integration Guide v.5.0
119
+ * @var array
120
+ */
121
+ protected static $_inAllMap = array(
122
+ 'AAVADDRESS', 'AAVCHECK', 'AAVZIP', 'ACCEPTANCE', 'ALIAS', 'AMOUNT', 'BRAND', 'CARDNO', 'CCCTY', 'CN',
123
+ 'COMPLUS', 'CREATION_STATUS', 'CURRENCY', 'CVCCHECK', 'DCC_COMMPERCENTAGE', 'DCC_CONVAMOUNT', 'DCC_CONVCCY',
124
+ 'DCC_EXCHRATE', 'DCC_EXCHRATESOURCE', 'DCC_EXCHRATETS', 'DCC_INDICATOR', 'DCC_MARGINPERCENTAGE',
125
+ 'DCC_VALIDHOURS', 'DIGESTCARDNO', 'ECI', 'ED', 'ENCCARDNO', 'IP', 'IPCTY', 'NBREMAILUSAGE', 'NBRIPUSAGE',
126
+ 'NBRIPUSAGE_ALLTX', 'NBRUSAGE', 'NCERROR', 'ORDERID', 'PAYID', 'PM', 'SCO_CATEGORY', 'SCORING','STATUS',
127
+ 'SUBSCRIPTION_ID', 'TRXDATE', 'VC',
128
+ );
129
+ protected static $_inShortMap = array(
130
+ 'ORDERID', 'CURRENCY', 'AMOUNT', 'PM', 'ACCEPTANCE', 'STATUS', 'CARDNO', 'PAYID', 'NCERROR', 'BRAND',
131
+ 'DCC_INDICATOR', 'DCC_EXCHRATE', 'DCC_EXCHRATETS', 'DCC_CONVCCY', 'DCC_CONVAMOUNT', 'DCC_VALIDHOURS',
132
+ 'DCC_EXCHRATESOURCE', 'DCC_MARGINPERCENTAGE', 'DCC_COMMPERCENTAGE',
133
+ );
134
+
135
+ /* Ogone template modes */
136
+ const TEMPLATE_OGONE = 'ogone';
137
+ const TEMPLATE_MAGENTO = 'magento';
138
+
139
+ /* Ogone payment process statuses */
140
+ const PENDING_OGONE_STATUS = 'pending_ogone';
141
+ const CANCEL_OGONE_STATUS = 'cancel_ogone';
142
+ const DECLINE_OGONE_STATUS = 'decline_ogone';
143
+ const PROCESSING_OGONE_STATUS = 'processing_ogone';
144
+ const WAITING_AUTHORIZATION = 'waiting_authorozation';
145
+ const PROCESSED_OGONE_STATUS = 'processed_ogone';
146
+
147
+ /* Ogone responce statuses */
148
+ const OGONE_PAYMENT_REQUESTED_STATUS = 9;
149
+ const OGONE_PAYMENT_PROCESSING_STATUS = 91;
150
+ const OGONE_AUTH_UKNKOWN_STATUS = 52;
151
+ const OGONE_PAYMENT_UNCERTAIN_STATUS = 92;
152
+ const OGONE_PAYMENT_INCOMPLETE = 1;
153
+ const OGONE_AUTH_REFUZED = 2;
154
+ const OGONE_AUTH_PROCESSING = 51;
155
+ const OGONE_TECH_PROBLEM = 93;
156
+ const OGONE_AUTHORIZED = 5;
157
+
158
+ /* Layout of the payment method */
159
+ const PMLIST_HORISONTAL_LEFT = 0;
160
+ const PMLIST_HORISONTAL = 1;
161
+ const PMLIST_VERTICAL = 2;
162
+
163
+ /* ogone paymen action constant*/
164
+ const OGONE_AUTHORIZE_ACTION = 'RES';
165
+ const OGONE_AUTHORIZE_CAPTURE_ACTION = 'SAL';
166
+
167
+ /**
168
+ * Parameters hashing context
169
+ * @var string
170
+ */
171
+ const HASH_DIR_OUT = 'out';
172
+ const HASH_DIR_IN = 'in';
173
+
174
+ /**
175
+ * Supported hashing algorithms
176
+ * @var string
177
+ */
178
+ const HASH_SHA1 = 'sha1';
179
+ const HASH_SHA256 = 'sha256';
180
+ const HASH_SHA512 = 'sha512';
181
+
182
+ /**
183
+ * Init Ogone Api instance, detup default values
184
+ *
185
+ * @return Mage_Ogone_Model_Api
186
+ */
187
+ public function __construct()
188
+ {
189
+ $this->_config = Mage::getSingleton('ogone/config');
190
+ return $this;
191
+ }
192
+
193
+ /**
194
+ * Return ogone config instance
195
+ *
196
+ * @return Mage_Ogone_Model_Config
197
+ */
198
+ public function getConfig()
199
+ {
200
+ return $this->_config;
201
+ }
202
+
203
+ /**
204
+ * @deprecated after 1.4.1.0
205
+ *
206
+ * @param int storeId
207
+ * @return bool
208
+ */
209
+ public function getDebug($storeId=null)
210
+ {
211
+ return $this->getDebugFlag();
212
+ }
213
+
214
+ /**
215
+ * Flag witch prevent automatic invoice creation
216
+ *
217
+ * @return bool
218
+ */
219
+ public function isInitializeNeeded()
220
+ {
221
+ return true;
222
+ }
223
+
224
+ /**
225
+ * Redirect url to ogone submit form
226
+ *
227
+ * @return string
228
+ */
229
+ public function getOrderPlaceRedirectUrl()
230
+ {
231
+ return Mage::getUrl('ogone/api/placeform', array('_secure' => true));
232
+ }
233
+
234
+ /**
235
+ * Return payment_action value from config area
236
+ *
237
+ * @return string
238
+ */
239
+ public function getPaymentAction()
240
+ {
241
+ return $this->getConfig()->getConfigData('payment_action');
242
+ }
243
+
244
+ /**
245
+ * Rrepare params array to send it to gateway page via POST
246
+ *
247
+ * @param Mage_Sales_Model_Order
248
+ * @return array
249
+ */
250
+ public function getFormFields($order)
251
+ {
252
+ if (empty($order)) {
253
+ if (!($order = $this->getOrder())) {
254
+ return array();
255
+ }
256
+ }
257
+ $billingAddress = $order->getBillingAddress();
258
+ $formFields = array();
259
+ $formFields['PSPID'] = $this->getConfig()->getPSPID();
260
+ $formFields['orderID'] = $order->getIncrementId();
261
+ $formFields['amount'] = round($order->getBaseGrandTotal()*100);
262
+ $formFields['currency'] = Mage::app()->getStore()->getBaseCurrencyCode();
263
+ $formFields['language'] = Mage::app()->getLocale()->getLocaleCode();
264
+
265
+ $formFields['CN'] = $this->_translate($billingAddress->getFirstname().' '.$billingAddress->getLastname());
266
+ $formFields['EMAIL'] = $order->getCustomerEmail();
267
+ $formFields['ownerZIP'] = $billingAddress->getPostcode();
268
+ $formFields['ownercty'] = $billingAddress->getCountry();
269
+ $formFields['ownertown']= $this->_translate($billingAddress->getCity());
270
+ $formFields['COM'] = $this->_translate($this->_getOrderDescription($order));
271
+ $formFields['ownertelno'] = $billingAddress->getTelephone();
272
+ $formFields['owneraddress'] = $this->_translate(str_replace("\n", ' ',$billingAddress->getStreet(-1)));
273
+
274
+ $paymentAction = $this->_getOgonePaymentOperation();
275
+ if ($paymentAction ) {
276
+ $formFields['operation'] = $paymentAction;
277
+ }
278
+
279
+ $formFields['homeurl'] = $this->getConfig()->getHomeUrl();
280
+ $formFields['catalogurl'] = $this->getConfig()->getHomeUrl();
281
+ $formFields['accepturl'] = $this->getConfig()->getAcceptUrl();
282
+ $formFields['declineurl'] = $this->getConfig()->getDeclineUrl();
283
+ $formFields['exceptionurl'] = $this->getConfig()->getExceptionUrl();
284
+ $formFields['cancelurl'] = $this->getConfig()->getCancelUrl();
285
+
286
+ if ($this->getConfig()->getConfigData('template')=='ogone') {
287
+ $formFields['TP']= '';
288
+ $formFields['PMListType'] = $this->getConfig()->getConfigData('pmlist');
289
+ } else {
290
+ $formFields['TP']= $this->getConfig()->getPayPageTemplate();
291
+ }
292
+ $formFields['TITLE'] = $this->_translate($this->getConfig()->getConfigData('html_title'));
293
+ $formFields['BGCOLOR'] = $this->getConfig()->getConfigData('bgcolor');
294
+ $formFields['TXTCOLOR'] = $this->getConfig()->getConfigData('txtcolor');
295
+ $formFields['TBLBGCOLOR'] = $this->getConfig()->getConfigData('tblbgcolor');
296
+ $formFields['TBLTXTCOLOR'] = $this->getConfig()->getConfigData('tbltxtcolor');
297
+ $formFields['BUTTONBGCOLOR'] = $this->getConfig()->getConfigData('buttonbgcolor');
298
+ $formFields['BUTTONTXTCOLOR'] = $this->getConfig()->getConfigData('buttontxtcolor');
299
+ $formFields['FONTTYPE'] = $this->getConfig()->getConfigData('fonttype');
300
+ $formFields['LOGO'] = $this->getConfig()->getConfigData('logo');
301
+
302
+ $formFields['SHASign'] = $this->getHash($formFields, $this->getConfig()->getShaOutCode(), self::HASH_DIR_OUT,
303
+ (int)$this->getConfig()->getConfigData('shamode'), $this->getConfig()->getConfigData('hashing_algorithm')
304
+ );
305
+
306
+ return $formFields;
307
+ }
308
+
309
+ /**
310
+ * Debug specified order fields if needed
311
+ *
312
+ * @param Mage_Sales_Model_Order $order
313
+ */
314
+ public function debugOrder(Mage_Sales_Model_Order $order)
315
+ {
316
+ if ($this->getDebugFlag()) {
317
+ $this->debugData(array('request' => $this->getFormFields($order)));
318
+ }
319
+ }
320
+
321
+ /**
322
+ * Create hash from provided data
323
+ *
324
+ * @param array $data
325
+ * @param string $passPhrase
326
+ * @param string $direction
327
+ * @param bool|int $mapAllParams
328
+ * @param string $algorithm
329
+ * @return string
330
+ * @throws Exception
331
+ */
332
+ public function getHash($data, $passPhrase, $direction, $mapAllParams = false, $algorithm = null)
333
+ {
334
+ // pick the right keys map depending on context
335
+ if (self::HASH_DIR_OUT === $direction) {
336
+ $hashMap = $mapAllParams ? '_outAllMap' : '_outShortMap';
337
+ } elseif (self::HASH_DIR_IN === $direction) {
338
+ $hashMap = $mapAllParams ? '_inAllMap' : '_inShortMap';
339
+ } else {
340
+ throw new Exception(sprintf('Unknown hashing context "%s".', $direction));
341
+ }
342
+
343
+ // collect non-empty data that maps and sort it alphabetically by key (uppercase)
344
+ $collected = array();
345
+ foreach ($data as $key => $value) {
346
+ if (null !== $value && '' != $value) {
347
+ $key = strtoupper($key);
348
+ if (in_array($key, self::$$hashMap)) {
349
+ $collected[$key] = $value;
350
+ }
351
+ }
352
+ }
353
+ ksort($collected);
354
+
355
+ if ($mapAllParams) {
356
+ $nonHashed = $this->_concatenateAdvanced($collected, $passPhrase);
357
+ if (empty($algorithm) || !in_array($algorithm, $this->getHashingAlgorithms(false))) {
358
+ $algorithm = self::HASH_SHA256;
359
+ }
360
+ } else {
361
+ $nonHashed = $this->_concatenateBasic($collected, $passPhrase, $hashMap);
362
+ $algorithm = self::HASH_SHA1;
363
+ }
364
+ return strtoupper(hash($algorithm, $nonHashed));
365
+ }
366
+
367
+ /**
368
+ * Get supported hashing algorithms as array
369
+ *
370
+ * @param bool $withLabels
371
+ * @return array
372
+ */
373
+ public function getHashingAlgorithms($withLabels = true)
374
+ {
375
+ if ($withLabels) {
376
+ return array(self::HASH_SHA1 => 'SHA-1', self::HASH_SHA256 => 'SHA-256', self::HASH_SHA512 => 'SHA-512');
377
+ }
378
+ return array(self::HASH_SHA1, self::HASH_SHA256, self::HASH_SHA512);
379
+ }
380
+
381
+ /**
382
+ * to translate UTF 8 to ISO 8859-1
383
+ * Ogone system is only compatible with iso-8859-1 and does not (yet) fully support the utf-8
384
+ */
385
+ protected function _translate($text)
386
+ {
387
+ return htmlentities(iconv("UTF-8", "ISO-8859-1", $text));
388
+ }
389
+
390
+ /**
391
+ * Get Ogone Payment Action value
392
+ *
393
+ * @param string
394
+ * @return string
395
+ */
396
+ protected function _getOgonePaymentOperation()
397
+ {
398
+ $value = $this->getPaymentAction();
399
+ if ($value==Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE) {
400
+ $value = Mage_Ogone_Model_Api::OGONE_AUTHORIZE_ACTION;
401
+ } elseif ($value==Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE_CAPTURE) {
402
+ $value = Mage_Ogone_Model_Api::OGONE_AUTHORIZE_CAPTURE_ACTION;
403
+ }
404
+ return $value;
405
+ }
406
+
407
+ /**
408
+ * get formated order description
409
+ *
410
+ * @param Mage_Sales_Model_Order
411
+ * @return string
412
+ */
413
+ protected function _getOrderDescription($order)
414
+ {
415
+ $invoiceDesc = '';
416
+ $lengs = 0;
417
+ foreach ($order->getAllItems() as $item) {
418
+ if ($item->getParentItem()) {
419
+ continue;
420
+ }
421
+ //COM filed can only handle max 100
422
+ if (Mage::helper('core/string')->strlen($invoiceDesc.$item->getName()) > 100) {
423
+ break;
424
+ }
425
+ $invoiceDesc .= $item->getName() . ', ';
426
+ }
427
+ return Mage::helper('core/string')->substr($invoiceDesc, 0, -2);
428
+ }
429
+
430
+ /**
431
+ * Define if debugging is enabled
432
+ *
433
+ * @return bool
434
+ */
435
+ public function getDebugFlag()
436
+ {
437
+ return $this->getConfigData('debug_flag');
438
+ }
439
+
440
+ /**
441
+ * Transform collected data array to <value1><value2><...><passPhrase> according to the provided map
442
+ *
443
+ * @param array $data
444
+ * @param string $passPhrase
445
+ * @param string $hashMap
446
+ * @return string
447
+ */
448
+ protected function _concatenateBasic($data, $passPhrase, $hashMap)
449
+ {
450
+ $result = '';
451
+ foreach (self::$$hashMap as $key) {
452
+ if (isset($data[$key])) {
453
+ $result .= $data[$key];
454
+ }
455
+ }
456
+ return $result . $passPhrase;
457
+ }
458
+
459
+ /**
460
+ * Transform collected data array to <KEY>=<value><passPhrase>
461
+ *
462
+ * @param array $data
463
+ * @param string $passPhrase
464
+ * @return string
465
+ */
466
+ protected function _concatenateAdvanced($data, $passPhrase)
467
+ {
468
+ $result = '';
469
+ foreach ($data as $key => $value) {
470
+ $result .= "{$key}={$value}{$passPhrase}";
471
+ }
472
+ return $result;
473
+ }
474
+ }
app/code/core/Mage/Ogone/Model/Api/Debug.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Ogone debug model
29
+ *
30
+ * @deprecated - used core/log_adapter for debugging
31
+ */
32
+ class Mage_Ogone_Model_Api_Debug extends Mage_Core_Model_Abstract
33
+ {
34
+ /**
35
+ * Init ogone debug model
36
+ *
37
+ */
38
+ protected function _construct()
39
+ {
40
+ $this->_init('ogone/api_debug');
41
+ }
42
+ }
app/code/core/Mage/Ogone/Model/Config.php ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Config model
29
+ */
30
+ class Mage_Ogone_Model_Config extends Mage_Payment_Model_Config
31
+ {
32
+ const OGONE_PAYMENT_PATH = 'payment/ogone/';
33
+
34
+ /**
35
+ * Return ogone payment config information
36
+ *
37
+ * @param string $path
38
+ * @param int $storeId
39
+ * @return Simple_Xml
40
+ */
41
+ public function getConfigData($path, $storeId=null)
42
+ {
43
+ if (!empty($path)) {
44
+ return Mage::getStoreConfig(self::OGONE_PAYMENT_PATH . $path, $storeId);
45
+ }
46
+ return false;
47
+ }
48
+
49
+ /**
50
+ * Return SHA1-in crypt key from config. Setup on admin place.
51
+ *
52
+ * @param int $storeId
53
+ * @return string
54
+ */
55
+ public function getShaInCode($storeId=null)
56
+ {
57
+ return Mage::helper('core')->decrypt($this->getConfigData('secret_key_in', $storeId));
58
+ }
59
+
60
+ /**
61
+ * Return SHA1-out crypt key from config. Setup on admin place.
62
+ * @param int $storeId
63
+ * @return string
64
+ */
65
+ public function getShaOutCode($storeId=null)
66
+ {
67
+ return Mage::helper('core')->decrypt($this->getConfigData('secret_key_out', $storeId));
68
+ }
69
+
70
+ /**
71
+ * Return gateway path, get from confing. Setup on admin place.
72
+ *
73
+ * @param int $storeId
74
+ * @return string
75
+ */
76
+ public function getGatewayPath($storeId=null)
77
+ {
78
+ return $this->getConfigData('ogone_gateway', $storeId);
79
+ }
80
+
81
+ /**
82
+ * Get PSPID, affiliation name in ogone system
83
+ *
84
+ * @param int $storeId
85
+ * @return string
86
+ */
87
+ public function getPSPID($storeId=null)
88
+ {
89
+ return $this->getConfigData('pspid', $storeId);
90
+ }
91
+
92
+ /**
93
+ * Get paypage template for magento style templates using
94
+ *
95
+ * @return string
96
+ */
97
+ public function getPayPageTemplate()
98
+ {
99
+ return Mage::getUrl('ogone/api/paypage', array('_nosid' => true));
100
+ }
101
+
102
+ /**
103
+ * Return url which ogone system will use as accept
104
+ *
105
+ * @return string
106
+ */
107
+ public function getAcceptUrl()
108
+ {
109
+ return Mage::getUrl('ogone/api/accept', array('_nosid' => true));
110
+ }
111
+
112
+ /**
113
+ * Return url which ogone system will use as decline url
114
+ *
115
+ * @return string
116
+ */
117
+ public function getDeclineUrl()
118
+ {
119
+ return Mage::getUrl('ogone/api/decline', array('_nosid' => true));
120
+ }
121
+
122
+ /**
123
+ * Return url which ogone system will use as exception url
124
+ *
125
+ * @return string
126
+ */
127
+ public function getExceptionUrl()
128
+ {
129
+ return Mage::getUrl('ogone/api/exception', array('_nosid' => true));
130
+ }
131
+
132
+ /**
133
+ * Return url which ogone system will use as cancel url
134
+ *
135
+ * @return string
136
+ */
137
+ public function getCancelUrl()
138
+ {
139
+ return Mage::getUrl('ogone/api/cancel', array('_nosid' => true));
140
+ }
141
+
142
+ /**
143
+ * Return url which ogone system will use as our magento home url on ogone success page
144
+ *
145
+ * @return string
146
+ */
147
+ public function getHomeUrl()
148
+ {
149
+ return Mage::getUrl('checkout/cart', array('_nosid' => true));
150
+ }
151
+ }
app/code/core/Mage/Ogone/Model/Mysql4/Api/Debug.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Ogone Debug
29
+ *
30
+ * @deprecated - used core/log_adapter for debugging
31
+ */
32
+ class Mage_Ogone_Model_Mysql4_Api_Debug extends Mage_Core_Model_Mysql4_Abstract
33
+ {
34
+ /**
35
+ * Init ogone debug resource model
36
+ *
37
+ */
38
+ protected function _construct()
39
+ {
40
+ $this->_init('ogone/api_debug', 'debug_id');
41
+ }
42
+ }
app/code/core/Mage/Ogone/Model/Source/PaymentAction.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Ogone Payment Action Dropdown source
29
+ */
30
+ class Mage_Ogone_Model_Source_PaymentAction
31
+ {
32
+ /**
33
+ * Prepare payment action list as optional array
34
+ *
35
+ * @return array
36
+ */
37
+ public function toOptionArray()
38
+ {
39
+ return array(
40
+ array('value' => '', 'label' => Mage::helper('ogone')->__('Ogone Default Operation')),
41
+ array('value' => Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE, 'label' => Mage::helper('ogone')->__('Authorization')),
42
+ array('value' => Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE_CAPTURE, 'label' => Mage::helper('ogone')->__('Direct Sale')),
43
+ );
44
+ }
45
+ }
app/code/core/Mage/Ogone/Model/Source/Pmlist.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Ogone template Action Dropdown source
29
+ */
30
+ class Mage_Ogone_Model_Source_Pmlist
31
+ {
32
+ /**
33
+ * Prepare ogone payment block layout as option array
34
+ *
35
+ * @return array
36
+ */
37
+ public function toOptionArray()
38
+ {
39
+ return array(
40
+ array('value' => Mage_Ogone_Model_Api::PMLIST_HORISONTAL_LEFT, 'label' => Mage::helper('ogone')->__('Horizontally grouped logo with group name on left')),
41
+ array('value' => Mage_Ogone_Model_Api::PMLIST_HORISONTAL, 'label' => Mage::helper('ogone')->__('Horizontally grouped logo with no group name')),
42
+ array('value' => Mage_Ogone_Model_Api::PMLIST_VERTICAL, 'label' => Mage::helper('ogone')->__('Verical list')),
43
+ );
44
+ }
45
+ }
app/code/core/Mage/Ogone/Model/Source/Template.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Ogone template Action Dropdown source
29
+ */
30
+ class Mage_Ogone_Model_Source_Template
31
+ {
32
+ /**
33
+ * Prepare ogone template mode list as option array
34
+ *
35
+ * @return array
36
+ */
37
+ public function toOptionArray()
38
+ {
39
+ return array(
40
+ array('value' => Mage_Ogone_Model_Api::TEMPLATE_OGONE, 'label' => Mage::helper('ogone')->__('Ogone')),
41
+ array('value' => Mage_Ogone_Model_Api::TEMPLATE_MAGENTO, 'label' => Mage::helper('ogone')->__('Magento')),
42
+ );
43
+ }
44
+ }
app/code/core/Mage/Ogone/controllers/ApiController.php ADDED
@@ -0,0 +1,536 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Ogone Api Controller
29
+ */
30
+ class Mage_Ogone_ApiController extends Mage_Core_Controller_Front_Action
31
+ {
32
+ /**
33
+ * Order instance
34
+ */
35
+ protected $_order;
36
+
37
+ /**
38
+ * Get checkout session namespace
39
+ *
40
+ * @return Mage_Checkout_Model_Session
41
+ */
42
+ protected function _getCheckout()
43
+ {
44
+ return Mage::getSingleton('checkout/session');
45
+ }
46
+
47
+ /**
48
+ * Get singleton with Checkout by Ogone Api
49
+ *
50
+ * @return Mage_Ogone_Model_Api
51
+ */
52
+ protected function _getApi()
53
+ {
54
+ return Mage::getSingleton('ogone/api');
55
+ }
56
+
57
+ /**
58
+ * Return order instance loaded by increment id'
59
+ *
60
+ * @return Mage_Sales_Model_Order
61
+ */
62
+ protected function _getOrder()
63
+ {
64
+ if (empty($this->_order)) {
65
+ $orderId = $this->getRequest()->getParam('orderID');
66
+ $this->_order = Mage::getModel('sales/order');
67
+ $this->_order->loadByIncrementId($orderId);
68
+ }
69
+ return $this->_order;
70
+ }
71
+
72
+ /**
73
+ * Validation of incoming Ogone data
74
+ *
75
+ * @return bool
76
+ */
77
+ protected function _validateOgoneData()
78
+ {
79
+ $params = $this->getRequest()->getParams();
80
+ $api = $this->_getApi();
81
+ $api->debugData(array('result' => $params));
82
+
83
+ $hashValidationResult = false;
84
+ if ($api->getConfig()->getShaInCode()) {
85
+ $referenceHash = $api->getHash(
86
+ $params,
87
+ $api->getConfig()->getShaInCode(),
88
+ Mage_Ogone_Model_Api::HASH_DIR_IN,
89
+ (int)$api->getConfig()->getConfigData('shamode'),
90
+ $api->getConfig()->getConfigData('hashing_algorithm')
91
+ );
92
+ if ($params['SHASIGN'] == $referenceHash) {
93
+ $hashValidationResult = true;
94
+ }
95
+ }
96
+
97
+ if (!$hashValidationResult) {
98
+ $this->_getCheckout()->addError($this->__('The hash is not valid'));
99
+ return false;
100
+ }
101
+
102
+ $order = $this->_getOrder();
103
+ if (!$order->getId()){
104
+ $this->_getCheckout()->addError($this->__('The order is not valid'));
105
+ return false;
106
+ }
107
+
108
+ return true;
109
+ }
110
+
111
+ /**
112
+ * Load place from layout to make POST on ogone
113
+ */
114
+ public function placeformAction()
115
+ {
116
+ $lastIncrementId = $this->_getCheckout()->getLastRealOrderId();
117
+ if ($lastIncrementId) {
118
+ $order = Mage::getModel('sales/order');
119
+ $order->loadByIncrementId($lastIncrementId);
120
+ if ($order->getId()) {
121
+ $order->setState(
122
+ Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
123
+ Mage_Ogone_Model_Api::PENDING_OGONE_STATUS,
124
+ Mage::helper('ogone')->__('Start Ogone Processing')
125
+ );
126
+ $order->save();
127
+
128
+ $this->_getApi()->debugOrder($order);
129
+ }
130
+ }
131
+
132
+ $this->_getCheckout()->getQuote()->setIsActive(false)->save();
133
+ $this->_getCheckout()->setOgoneQuoteId($this->_getCheckout()->getQuoteId());
134
+ $this->_getCheckout()->setOgoneLastSuccessQuoteId($this->_getCheckout()->getLastSuccessQuoteId());
135
+ $this->_getCheckout()->clear();
136
+
137
+ $this->loadLayout();
138
+ $this->renderLayout();
139
+ }
140
+
141
+ /**
142
+ * Display our pay page, need to ogone payment with external pay page mode
143
+ */
144
+ public function paypageAction()
145
+ {
146
+ $this->loadLayout();
147
+ $this->renderLayout();
148
+ }
149
+
150
+ /**
151
+ * Action to control postback data from ogone
152
+ *
153
+ */
154
+ public function postBackAction()
155
+ {
156
+ if (!$this->_validateOgoneData()) {
157
+ $this->getResponse()->setHeader("Status", "404 Not Found");
158
+ return false;
159
+ }
160
+
161
+ $this->_ogoneProcess();
162
+ }
163
+
164
+ /**
165
+ * Action to process ogone offline data
166
+ *
167
+ */
168
+ public function offlineProcessAction()
169
+ {
170
+ if (!$this->_validateOgoneData()) {
171
+ $this->getResponse()->setHeader("Status","404 Not Found");
172
+ return false;
173
+ }
174
+ $this->_ogoneProcess();
175
+ }
176
+
177
+ /**
178
+ * Made offline ogone data processing, depending of incoming statuses
179
+ */
180
+ protected function _ogoneProcess()
181
+ {
182
+ $status = $this->getRequest()->getParam('STATUS');
183
+ switch ($status) {
184
+ case Mage_Ogone_Model_Api::OGONE_AUTHORIZED :
185
+ case Mage_Ogone_Model_Api::OGONE_AUTH_PROCESSING:
186
+ case Mage_Ogone_Model_Api::OGONE_PAYMENT_REQUESTED_STATUS :
187
+ $this->_acceptProcess();
188
+ break;
189
+ case Mage_Ogone_Model_Api::OGONE_AUTH_REFUZED:
190
+ case Mage_Ogone_Model_Api::OGONE_PAYMENT_INCOMPLETE:
191
+ case Mage_Ogone_Model_Api::OGONE_TECH_PROBLEM:
192
+ $this->_declineProcess();
193
+ break;
194
+ case Mage_Ogone_Model_Api::OGONE_AUTH_UKNKOWN_STATUS:
195
+ case Mage_Ogone_Model_Api::OGONE_PAYMENT_UNCERTAIN_STATUS:
196
+ $this->_exceptionProcess();
197
+ break;
198
+ default:
199
+ //all unknown transaction will accept as exceptional
200
+ $this->_exceptionProcess();
201
+ }
202
+ }
203
+
204
+ /**
205
+ * when payment gateway accept the payment, it will land to here
206
+ * need to change order status as processed ogone
207
+ * update transaction id
208
+ *
209
+ */
210
+ public function acceptAction()
211
+ {
212
+ if (!$this->_validateOgoneData()) {
213
+ $this->_redirect('checkout/cart');
214
+ return;
215
+ }
216
+ $this->_ogoneProcess();
217
+ }
218
+
219
+ /**
220
+ * Process success action by accept url
221
+ */
222
+ protected function _acceptProcess()
223
+ {
224
+ $params = $this->getRequest()->getParams();
225
+ $order = $this->_getOrder();
226
+ if (!$this->_isOrderValid($order)) {
227
+ return;
228
+ }
229
+
230
+ $this->_getCheckout()->setLastSuccessQuoteId($order->getQuoteId());
231
+
232
+ $this->_prepareCCInfo($order, $params);
233
+ $order->getPayment()->setTransactionId($params['PAYID']);
234
+ $order->getPayment()->setLastTransId($params['PAYID']);
235
+
236
+ try {
237
+ $status = $this->getRequest()->getParam('STATUS');
238
+ switch ($status) {
239
+ case Mage_Ogone_Model_Api::OGONE_AUTHORIZED:
240
+ case Mage_Ogone_Model_Api::OGONE_AUTH_PROCESSING:
241
+ $this->_processAuthorize();
242
+ break;
243
+ case Mage_Ogone_Model_Api::OGONE_PAYMENT_REQUESTED_STATUS:
244
+ $this->_processDirectSale();
245
+ break;
246
+ default:
247
+ throw new Exception (Mage::helper('ogone')->__('Can\'t detect Ogone payment action'));
248
+ }
249
+ } catch(Exception $e) {
250
+ $this->_getCheckout()->addError(Mage::helper('ogone')->__('The order cannot be saved.'));
251
+ $this->_redirect('checkout/cart');
252
+ return;
253
+ }
254
+ }
255
+
256
+ /**
257
+ * Process Configured Payment Action: Direct Sale, create invoce if state is Pending
258
+ *
259
+ */
260
+ protected function _processDirectSale()
261
+ {
262
+ $order = $this->_getOrder();
263
+ $status = $this->getRequest()->getParam('STATUS');
264
+ try{
265
+ if ($status == Mage_Ogone_Model_Api::OGONE_AUTH_PROCESSING) {
266
+ $order->setState(
267
+ Mage_Sales_Model_Order::STATE_PROCESSING,
268
+ Mage_Ogone_Model_Api::WAITING_AUTHORIZATION,
269
+ Mage::helper('ogone')->__('Authorization Waiting from Ogone')
270
+ );
271
+ $order->save();
272
+ }elseif ($order->getState()==Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
273
+ if ($status == Mage_Ogone_Model_Api::OGONE_AUTHORIZED) {
274
+ if ($order->getStatus() != Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
275
+ $order->setState(
276
+ Mage_Sales_Model_Order::STATE_PROCESSING,
277
+ Mage_Ogone_Model_Api::PROCESSING_OGONE_STATUS,
278
+ Mage::helper('ogone')->__('Processed by Ogone')
279
+ );
280
+ }
281
+ } else {
282
+ $order->setState(
283
+ Mage_Sales_Model_Order::STATE_PROCESSING,
284
+ Mage_Ogone_Model_Api::PROCESSED_OGONE_STATUS,
285
+ Mage::helper('ogone')->__('Processed by Ogone')
286
+ );
287
+ }
288
+
289
+ if (!$order->getInvoiceCollection()->getSize()) {
290
+ $invoice = $order->prepareInvoice();
291
+ $invoice->register();
292
+ $invoice->setState(Mage_Sales_Model_Order_Invoice::STATE_PAID);
293
+ $invoice->getOrder()->setIsInProcess(true);
294
+
295
+ $transactionSave = Mage::getModel('core/resource_transaction')
296
+ ->addObject($invoice)
297
+ ->addObject($invoice->getOrder())
298
+ ->save();
299
+ $order->sendNewOrderEmail();
300
+ }
301
+ } else {
302
+ $order->save();
303
+ }
304
+ $this->_redirect('checkout/onepage/success');
305
+ return;
306
+ } catch (Exception $e) {
307
+ $this->_getCheckout()->addError(Mage::helper('ogone')->__('Order can\'t save'));
308
+ $this->_redirect('checkout/cart');
309
+ return;
310
+ }
311
+ }
312
+
313
+ /**
314
+ * Process Configured Payment Actions: Authorized, Default operation
315
+ * just place order
316
+ */
317
+ protected function _processAuthorize()
318
+ {
319
+ $order = $this->_getOrder();
320
+ $status = $this->getRequest()->getParam('STATUS');
321
+ try {
322
+ if ($status == Mage_Ogone_Model_Api::OGONE_AUTH_PROCESSING) {
323
+ $order->setState(
324
+ Mage_Sales_Model_Order::STATE_PROCESSING,
325
+ Mage_Ogone_Model_Api::WAITING_AUTHORIZATION,
326
+ Mage::helper('ogone')->__('Authorization Waiting from Ogone')
327
+ );
328
+ } else {
329
+ //to send new order email only when state is pending payment
330
+ if ($order->getState()==Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
331
+ $order->sendNewOrderEmail();
332
+ }
333
+ $order->setState(
334
+ Mage_Sales_Model_Order::STATE_PROCESSING,
335
+ Mage_Ogone_Model_Api::PROCESSED_OGONE_STATUS,
336
+ Mage::helper('ogone')->__('Processed by Ogone')
337
+ );
338
+ }
339
+ $order->save();
340
+ $this->_redirect('checkout/onepage/success');
341
+ return;
342
+ } catch(Exception $e) {
343
+ $this->_getCheckout()->addError(Mage::helper('ogone')->__('Order can\'t save'));
344
+ $this->_redirect('checkout/cart');
345
+ return;
346
+ }
347
+ }
348
+
349
+ /**
350
+ * We get some CC info from ogone, so we must save it
351
+ *
352
+ * @param Mage_Sales_Model_Order $order
353
+ * @param array $ccInfo
354
+ *
355
+ * @return Mage_Ogone_ApiController
356
+ */
357
+ protected function _prepareCCInfo($order, $ccInfo)
358
+ {
359
+ $order->getPayment()->setCcOwner($ccInfo['CN']);
360
+ $order->getPayment()->setCcNumberEnc($ccInfo['CARDNO']);
361
+ $order->getPayment()->setCcLast4(substr($ccInfo['CARDNO'], -4));
362
+ $order->getPayment()->setCcExpMonth(substr($ccInfo['ED'], 0, 2));
363
+ $order->getPayment()->setCcExpYear(substr($ccInfo['ED'], 2, 2));
364
+ return $this;
365
+ }
366
+
367
+
368
+ /**
369
+ * the payment result is uncertain
370
+ * exception status can be 52 or 92
371
+ * need to change order status as processing ogone
372
+ * update transaction id
373
+ *
374
+ */
375
+ public function exceptionAction()
376
+ {
377
+ if (!$this->_validateOgoneData()) {
378
+ $this->_redirect('checkout/cart');
379
+ return;
380
+ }
381
+ $this->_exceptionProcess();
382
+ }
383
+
384
+ /**
385
+ * Process exception action by ogone exception url
386
+ */
387
+ public function _exceptionProcess()
388
+ {
389
+ $params = $this->getRequest()->getParams();
390
+ $order = $this->_getOrder();
391
+ if (!$this->_isOrderValid($order)) {
392
+ return;
393
+ }
394
+
395
+ $exception = '';
396
+ switch($params['STATUS']) {
397
+ case Mage_Ogone_Model_Api::OGONE_PAYMENT_UNCERTAIN_STATUS :
398
+ $exception = Mage::helper('ogone')->__('Payment uncertain: A technical problem arose during payment process, giving unpredictable result');
399
+ break;
400
+ case Mage_Ogone_Model_Api::OGONE_AUTH_UKNKOWN_STATUS :
401
+ $exception = Mage::helper('ogone')->__('Authorization not known: A technical problem arose during authorization process, giving unpredictable result');
402
+ break;
403
+ default:
404
+ $exception = Mage::helper('ogone')->__('Unknown exception');
405
+ }
406
+
407
+ if (!empty($exception)) {
408
+ try{
409
+ $this->_getCheckout()->setLastSuccessQuoteId($order->getQuoteId());
410
+ $this->_prepareCCInfo($order, $params);
411
+ $order->getPayment()->setLastTransId($params['PAYID']);
412
+ //to send new order email only when state is pending payment
413
+ if ($order->getState()==Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
414
+ $order->sendNewOrderEmail();
415
+ $order->setState(
416
+ Mage_Sales_Model_Order::STATE_PROCESSING, Mage_Ogone_Model_Api::PROCESSING_OGONE_STATUS,
417
+ $exception
418
+ );
419
+ } else {
420
+ $order->addStatusToHistory(Mage_Ogone_Model_Api::PROCESSING_OGONE_STATUS, $exception);
421
+ }
422
+ $order->save();
423
+ }catch(Exception $e) {
424
+ $this->_getCheckout()->addError(Mage::helper('ogone')->__('The order cannot be saved for a system reason.'));
425
+ }
426
+ } else {
427
+ $this->_getCheckout()->addError(Mage::helper('ogone')->__('Exception not defined'));
428
+ }
429
+
430
+ $this->_redirect('checkout/onepage/success');
431
+ }
432
+
433
+ /**
434
+ * when payment got decline
435
+ * need to change order status to cancelled
436
+ * take the user back to shopping cart
437
+ *
438
+ */
439
+ public function declineAction()
440
+ {
441
+ if (!$this->_validateOgoneData()) {
442
+ $this->_redirect('checkout/cart');
443
+ return;
444
+ }
445
+ $this->_getCheckout()->setQuoteId($this->_getCheckout()->getOgoneQuoteId());
446
+ $this->_declineProcess();
447
+ return $this;
448
+ }
449
+
450
+ /**
451
+ * Process decline action by ogone decline url
452
+ */
453
+ protected function _declineProcess()
454
+ {
455
+ $status = Mage_Ogone_Model_Api::DECLINE_OGONE_STATUS;
456
+ $comment = Mage::helper('ogone')->__('Declined Order on Ogone side.');
457
+ $this->_getCheckout()->addError(Mage::helper('ogone')->__('Payment transaction has been declined.'));
458
+ $this->_cancelOrder($status, $comment);
459
+ }
460
+
461
+ /**
462
+ * when user cancel the payment
463
+ * change order status to cancelled
464
+ * need to rediect user to shopping cart
465
+ *
466
+ * @return Mage_Ogone_ApiController
467
+ */
468
+ public function cancelAction()
469
+ {
470
+ if (!$this->_validateOgoneData()) {
471
+ $this->_redirect('checkout/cart');
472
+ return;
473
+ }
474
+ $this->_getCheckout()->setQuoteId($this->_getCheckout()->getOgoneQuoteId());
475
+ $this->_cancelProcess();
476
+ return $this;
477
+ }
478
+
479
+ /**
480
+ * Process cancel action by cancel url
481
+ *
482
+ * @return Mage_Ogone_ApiController
483
+ */
484
+ public function _cancelProcess()
485
+ {
486
+ $status = Mage_Ogone_Model_Api::CANCEL_OGONE_STATUS;
487
+ $comment = Mage::helper('ogone')->__('The order was canceled on ogone side.');
488
+ $this->_cancelOrder($status, $comment);
489
+ return $this;
490
+ }
491
+
492
+ /**
493
+ * Cancel action, used for decline and cancel processes
494
+ *
495
+ * @return Mage_Ogone_ApiController
496
+ */
497
+ protected function _cancelOrder($status, $comment='')
498
+ {
499
+ $order = $this->_getOrder();
500
+ if (!$this->_isOrderValid($order)) {
501
+ return;
502
+ }
503
+
504
+ try{
505
+ $order->cancel();
506
+ $order->setState(Mage_Sales_Model_Order::STATE_CANCELED, $status, $comment);
507
+ $order->save();
508
+ }catch(Exception $e) {
509
+ $this->_getCheckout()->addError(Mage::helper('ogone')->__('The order cannot be canceled for a system reason.'));
510
+ }
511
+
512
+ $this->_redirect('checkout/cart');
513
+ return $this;
514
+ }
515
+
516
+ /**
517
+ * Check order payment method
518
+ *
519
+ * @param Mage_Sales_Model_Order $order
520
+ * @return bool
521
+ */
522
+ protected function _isOrderValid($order)
523
+ {
524
+ return Mage_Ogone_Model_Api::PAYMENT_CODE == $order->getPayment()->getMethodInstance()->getCode();
525
+ }
526
+
527
+ /**
528
+ * @deprecated after 1.4.2.0-beta1
529
+ * @see Mage_Ogone_Model_Api::$_inShortMap
530
+ * @return string
531
+ */
532
+ protected function _getSHAInSet($params, $key)
533
+ {
534
+ return '';
535
+ }
536
+ }
app/code/core/Mage/Ogone/etc/config.xml ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category Mage
23
+ * @package Mage_Ogone
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <config>
29
+ <modules>
30
+ <Mage_Ogone>
31
+ <version>1.6.0.0</version>
32
+ </Mage_Ogone>
33
+ </modules>
34
+ <global>
35
+ <models>
36
+ <ogone>
37
+ <class>Mage_Ogone_Model</class>
38
+ <resourceModel>ogone_resource</resourceModel>
39
+ </ogone>
40
+ <ogone_resource>
41
+ <class>Mage_Ogone_Model_Resource</class>
42
+ <deprecatedNode>ogone_mysql4</deprecatedNode>
43
+ <entities>
44
+ <api_debug><table>ogone_api_debug</table></api_debug>
45
+ </entities>
46
+ </ogone_resource>
47
+ </models>
48
+ <resources>
49
+ <ogone_setup>
50
+ <setup>
51
+ <module>Mage_Ogone</module>
52
+ </setup>
53
+ <connection>
54
+ <use>core_setup</use>
55
+ </connection>
56
+ </ogone_setup>
57
+ <ogone_write>
58
+ <connection>
59
+ <use>core_write</use>
60
+ </connection>
61
+ </ogone_write>
62
+ <ogone_read>
63
+ <connection>
64
+ <use>core_read</use>
65
+ </connection>
66
+ </ogone_read>
67
+ </resources>
68
+ <blocks>
69
+ <ogone>
70
+ <class>Mage_Ogone_Block</class>
71
+ </ogone>
72
+ </blocks>
73
+ <sales>
74
+ <order>
75
+ <statuses>
76
+ <pending_ogone translate="label"><label>Pending Ogone</label></pending_ogone>
77
+ <cancel_ogone translate="label"><label>Cancelled Ogone</label></cancel_ogone>
78
+ <decline_ogone translate="label"><label>Declined Ogone</label></decline_ogone>
79
+ <processing_ogone translate="label"><label>Processing Ogone Payment</label></processing_ogone>
80
+ <processed_ogone translate="label"><label>Processed Ogone Payment</label></processed_ogone>
81
+ <waiting_authorozation translate="label"><label>Waiting Authorization</label></waiting_authorozation>
82
+ </statuses>
83
+ <states>
84
+ <pending_payment>
85
+ <statuses>
86
+ <pending_ogone/>
87
+ </statuses>
88
+ </pending_payment>
89
+ <processing>
90
+ <statuses>
91
+ <processed_ogone />
92
+ </statuses>
93
+ </processing>
94
+ </states>
95
+ </order>
96
+ </sales>
97
+ </global>
98
+ <frontend>
99
+ <layout>
100
+ <updates>
101
+ <ogone>
102
+ <file>ogone.xml</file>
103
+ </ogone>
104
+ </updates>
105
+ </layout>
106
+ <secure_url>
107
+ <ogone_api>/ogone/api</ogone_api>
108
+ </secure_url>
109
+ <routers>
110
+ <ogone>
111
+ <use>standard</use>
112
+ <args>
113
+ <module>Mage_Ogone</module>
114
+ <frontName>ogone</frontName>
115
+ </args>
116
+ </ogone>
117
+ </routers>
118
+ </frontend>
119
+
120
+ <default>
121
+ <payment>
122
+ <ogone>
123
+ <model>ogone/api</model>
124
+ <title>Ogone</title>
125
+ <secret_key backend_model="adminhtml/system_config_backend_encrypted"/>
126
+ <payment_action>authorize</payment_action>
127
+ <hashing_algorithm>sha256</hashing_algorithm>
128
+ <template>ogone</template>
129
+ <ogone_gateway>https://secure.ogone.com/ncol/test/orderstandard.asp</ogone_gateway>
130
+ <pending_ogone>pending_ogone</pending_ogone>
131
+ <cancel_ogone>cancel_ogone</cancel_ogone>
132
+ <decline_ogone>decline_ogone</decline_ogone>
133
+ <processing_ogone>processing_ogone</processing_ogone>
134
+ <processed_ogone>processed_ogone</processed_ogone>
135
+ <waiting_authorozation>waiting_authorozation</waiting_authorozation>
136
+ </ogone>
137
+ </payment>
138
+ </default>
139
+ </config>
app/code/core/Mage/Ogone/etc/system.xml ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category Mage
23
+ * @package Mage_Ogone
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <config>
29
+ <sections>
30
+ <payment>
31
+ <groups>
32
+ <ogone translate="label,comment" module="ogone">
33
+ <label>Ogone</label>
34
+ <comment><![CDATA[<br />
35
+ <div class="custom-options">
36
+ <div class="box">
37
+ <p class="grand-total"><br /><b>Signing up with Ogone</b></p>
38
+ <p>Please enter the correct post back url and offline processiong url in Ogone configuration</p>
39
+ <p>post back url example: http://myMagentoStore.com/ogone/api/postBack</p>
40
+ <p>offline processing url example: http://myMagentoStore.com/ogone/api/offlineProcess</p>
41
+ </div>
42
+ </div>
43
+ ]]></comment>
44
+ <frontend_type>text</frontend_type>
45
+ <sort_order>800</sort_order>
46
+ <show_in_default>1</show_in_default>
47
+ <show_in_website>1</show_in_website>
48
+ <show_in_store>1</show_in_store>
49
+ <fields>
50
+ <active translate="label">
51
+ <label>Enabled</label>
52
+ <frontend_type>select</frontend_type>
53
+ <source_model>adminhtml/system_config_source_yesno</source_model>
54
+ <sort_order>5</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
+ </active>
59
+ <debug_flag translate="label">
60
+ <label>Debug</label>
61
+ <frontend_type>select</frontend_type>
62
+ <source_model>adminhtml/system_config_source_yesno</source_model>
63
+ <sort_order>10</sort_order>
64
+ <show_in_default>1</show_in_default>
65
+ <show_in_website>1</show_in_website>
66
+ <show_in_store>0</show_in_store>
67
+ </debug_flag>
68
+ <title translate="label">
69
+ <label>Title</label>
70
+ <frontend_type>text</frontend_type>
71
+ <sort_order>15</sort_order>
72
+ <show_in_default>1</show_in_default>
73
+ <show_in_website>1</show_in_website>
74
+ <show_in_store>1</show_in_store>
75
+ </title>
76
+ <pspid translate="label">
77
+ <label>PSPID</label>
78
+ <frontend_type>text</frontend_type>
79
+ <comment> PSPID is a case sensitive field.</comment>
80
+ <sort_order>20</sort_order>
81
+ <show_in_default>1</show_in_default>
82
+ <show_in_website>1</show_in_website>
83
+ <show_in_store>0</show_in_store>
84
+ </pspid>
85
+ <secret_key_out translate="label comment">
86
+ <label>SHA-IN Pass Phrase</label>
87
+ <comment><![CDATA[Use in posting data from Magento to Ogone.<br/>Use in data checking by Ogone before the payment.]]></comment>
88
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
89
+ <frontend_type>obscure</frontend_type>
90
+ <sort_order>25</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
+ </secret_key_out>
95
+ <secret_key_in translate="label comment">
96
+ <label>SHA-OUT Pass Phrase</label>
97
+ <comment><![CDATA[Use in posting data from Ogone to Magento.<br/>Use in feedback data checking by Magento.]]></comment>
98
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
99
+ <frontend_type>obscure</frontend_type>
100
+ <sort_order>30</sort_order>
101
+ <show_in_default>1</show_in_default>
102
+ <show_in_website>1</show_in_website>
103
+ <show_in_store>0</show_in_store>
104
+ </secret_key_in>
105
+ <shamode translate="label comment tooltip">
106
+ <label>Hash All Parameters</label>
107
+ <comment><![CDATA[Enabling this feature needs adjusting "Technical information > Global security parameters" on merchant administration.]]></comment>
108
+ <tooltip><![CDATA[To hash <strong>all parameters</strong>, select the following options in the "Global security parameters" fieldset: <ul><li>Each parameter followed by the pass phrase.</li><li>"Hash algorithm" same as "Hashing Algorithm" below</li><li>UTF-8</li></ul>]]></tooltip>
109
+ <frontend_type>select</frontend_type>
110
+ <source_model>adminhtml/system_config_source_yesno</source_model>
111
+ <sort_order>35</sort_order>
112
+ <show_in_default>1</show_in_default>
113
+ <show_in_website>1</show_in_website>
114
+ <show_in_store>0</show_in_store>
115
+ </shamode>
116
+ <hashing_algorithm translate="label">
117
+ <label>Hashing Algorithm</label>
118
+ <frontend_type>select</frontend_type>
119
+ <source_model>ogone/api::getHashingAlgorithms</source_model>
120
+ <depends><shamode>1</shamode></depends>
121
+ <sort_order>37</sort_order>
122
+ <show_in_default>1</show_in_default>
123
+ <show_in_website>1</show_in_website>
124
+ <show_in_store>0</show_in_store>
125
+ </hashing_algorithm>
126
+ <ogone_gateway translate="label comment">
127
+ <label>Gateway URL</label>
128
+ <frontend_type>text</frontend_type>
129
+ <comment>For production, replace "test" with "prod". Example: https://secure.ogone.com/ncol/prod/orderstandard.asp</comment>
130
+ <sort_order>40</sort_order>
131
+ <show_in_default>1</show_in_default>
132
+ <show_in_website>1</show_in_website>
133
+ <show_in_store>0</show_in_store>
134
+ </ogone_gateway>
135
+ <payment_action translate="label comment">
136
+ <label>Payment Action</label>
137
+ <frontend_type>select</frontend_type>
138
+ <source_model>ogone/source_paymentAction</source_model>
139
+ <comment>If you choose "No Operation", Ogone will use default payment procedure setup in Ogone configuration.</comment>
140
+ <sort_order>45</sort_order>
141
+ <show_in_default>1</show_in_default>
142
+ <show_in_website>1</show_in_website>
143
+ <show_in_store>0</show_in_store>
144
+ </payment_action>
145
+ <template translate="label comment">
146
+ <label>Payment Template</label>
147
+ <frontend_type>select</frontend_type>
148
+ <source_model>ogone/source_template</source_model>
149
+ <comment>If you choose "Ogone Template", you will need to fill in all the following fields.</comment>
150
+ <sort_order>50</sort_order>
151
+ <show_in_default>1</show_in_default>
152
+ <show_in_website>1</show_in_website>
153
+ <show_in_store>0</show_in_store>
154
+ </template>
155
+ <html_title translate="label comment">
156
+ <label>Title of the Ogone Template</label>
157
+ <frontend_type>text</frontend_type>
158
+ <sort_order>55</sort_order>
159
+ <show_in_default>1</show_in_default>
160
+ <show_in_website>1</show_in_website>
161
+ <show_in_store>1</show_in_store>
162
+ </html_title>
163
+ <bgcolor translate="label comment">
164
+ <label>Background Color of Ogone Template</label>
165
+ <frontend_type>text</frontend_type>
166
+ <comment><![CDATA[E.g: "white".]]></comment>
167
+ <sort_order>60</sort_order>
168
+ <show_in_default>1</show_in_default>
169
+ <show_in_website>1</show_in_website>
170
+ <show_in_store>1</show_in_store>
171
+ </bgcolor>
172
+ <txtcolor translate="label comment">
173
+ <label>Text Color of the Ogone Template</label>
174
+ <frontend_type>text</frontend_type>
175
+ <comment><![CDATA[E.g: "black".]]></comment>
176
+ <sort_order>65</sort_order>
177
+ <show_in_default>1</show_in_default>
178
+ <show_in_website>1</show_in_website>
179
+ <show_in_store>1</show_in_store>
180
+ </txtcolor>
181
+ <tblbgcolor translate="label comment">
182
+ <label>Table Background Color of the Ogone Template</label>
183
+ <frontend_type>text</frontend_type>
184
+ <comment><![CDATA[E.g: "white".]]></comment>
185
+ <sort_order>70</sort_order>
186
+ <show_in_default>1</show_in_default>
187
+ <show_in_website>1</show_in_website>
188
+ <show_in_store>1</show_in_store>
189
+ </tblbgcolor>
190
+ <tbltxtcolor translate="label comment">
191
+ <label>Table Text Color of the Ogone Template</label>
192
+ <frontend_type>text</frontend_type>
193
+ <comment><![CDATA[E.g: "black".]]></comment>
194
+ <sort_order>75</sort_order>
195
+ <show_in_default>1</show_in_default>
196
+ <show_in_website>1</show_in_website>
197
+ <show_in_store>1</show_in_store>
198
+ </tbltxtcolor>
199
+ <buttonbgcolor translate="label">
200
+ <label>Button Background Color of the Ogone Template</label>
201
+ <frontend_type>text</frontend_type>
202
+ <sort_order>80</sort_order>
203
+ <show_in_default>1</show_in_default>
204
+ <show_in_website>1</show_in_website>
205
+ <show_in_store>1</show_in_store>
206
+ </buttonbgcolor>
207
+ <buttontxtcolor translate="label comment">
208
+ <label>Button Text Color of the Ogone Template</label>
209
+ <frontend_type>text</frontend_type>
210
+ <comment><![CDATA[E.g: "white".]]></comment>
211
+ <sort_order>85</sort_order>
212
+ <show_in_default>1</show_in_default>
213
+ <show_in_website>1</show_in_website>
214
+ <show_in_store>1</show_in_store>
215
+ </buttontxtcolor>
216
+ <fonttype translate="label comment">
217
+ <label>Font Family of the Ogone Template</label>
218
+ <frontend_type>text</frontend_type>
219
+ <comment><![CDATA[E.g: "Verdana".]]></comment>
220
+ <sort_order>90</sort_order>
221
+ <show_in_default>1</show_in_default>
222
+ <show_in_website>1</show_in_website>
223
+ <show_in_store>1</show_in_store>
224
+ </fonttype>
225
+ <logo translate="label comment">
226
+ <label>Logo of the Ogone Template</label>
227
+ <frontend_type>text</frontend_type>
228
+ <comment><![CDATA[URL/filename of the logo.<br />The URL must be absolute and stored on a secure server.]]></comment>
229
+ <sort_order>95</sort_order>
230
+ <show_in_default>1</show_in_default>
231
+ <show_in_website>1</show_in_website>
232
+ <show_in_store>1</show_in_store>
233
+ </logo>
234
+ <pmlist translate="label comment">
235
+ <label>Layout of Payment Methods</label>
236
+ <frontend_type>select</frontend_type>
237
+ <source_model>ogone/source_pmlist</source_model>
238
+ <comment>You can arrange the layout/list of the payment methods on Ogone payment page.</comment>
239
+ <sort_order>100</sort_order>
240
+ <show_in_default>1</show_in_default>
241
+ <show_in_website>1</show_in_website>
242
+ <show_in_store>1</show_in_store>
243
+ </pmlist>
244
+ </fields>
245
+ </ogone>
246
+ </groups>
247
+ </payment>
248
+ </sections>
249
+ </config>
app/code/core/Mage/Ogone/sql/ogone_setup/install-1.6.0.0.php 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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ $installer = $this;
28
+ /* @var $installer Mage_Core_Model_Resource_Setup */
app/code/core/Mage/Ogone/sql/ogone_setup/mysql4-install-0.0.1.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Ogone
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ $installer = $this;
28
+ /* @var $installer Mage_Core_Model_Mysql4_Setup */
29
+
30
+ $installer->startSetup();
31
+
32
+ $installer->run("
33
+
34
+ DROP TABLE IF EXISTS `{$this->getTable('ogone/api_debug')}`;
35
+ CREATE TABLE `{$this->getTable('ogone/api_debug')}` (
36
+ `debug_id` int(10) unsigned NOT NULL auto_increment,
37
+ `dir` enum('in', 'out'),
38
+ `debug_at` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
39
+ `url` varchar(255),
40
+ `data` text,
41
+ PRIMARY KEY (`debug_id`)
42
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
43
+
44
+ ");
45
+
46
+ $installer->endSetup();
app/design/adminhtml/default/default/template/ogone/info.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 Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package default_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+
28
+ <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br />
29
+ <?php echo Mage::helper('payment')->__('Payment ID: %s', $this->htmlEscape($this->getInfo()->getLastTransId())) ?><br/>
app/design/frontend/base/default/layout/ogone.xml ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package base_default
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <layout version="0.1.0">
29
+ <ogone_api_paypage>
30
+ <remove name="right"/>
31
+ <remove name="left"/>
32
+ <remove name="catalog.topnav"/>
33
+ <reference name="header">
34
+ <remove name="top.links"/>
35
+ <remove name="top.search"/>
36
+ <remove name="store_language"/>
37
+ <remove name="top.container"/>
38
+ </reference>
39
+ <reference name="footer">
40
+ <remove name="cms_footer_links"/>
41
+ <remove name="footer_links"/>
42
+ <remove name="store_switcher"/>
43
+ </reference>
44
+ <reference name="root">
45
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
46
+ </reference>
47
+ <reference name="content">
48
+ <block type="ogone/paypage" name="ogone_paypage" template="ogone/paypage.phtml"/>
49
+ </reference>
50
+ </ogone_api_paypage>
51
+
52
+ <ogone_api_placeform>
53
+ <remove name="right"/>
54
+ <remove name="left"/>
55
+ <reference name="content">
56
+ <block type="ogone/placeform" name="ogone_placeform" template="ogone/placeform.phtml"/>
57
+ </reference>
58
+ </ogone_api_placeform>
59
+ </layout>
app/design/frontend/base/default/template/ogone/form.phtml ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+
28
+ <?php $_code=$this->getMethodCode() ?>
29
+ <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
30
+ <li>
31
+ <?php echo $this->__('You will be redirected to Ogone website when you place an order.') ?>
32
+ </li>
33
+ </ul>
app/design/frontend/base/default/template/ogone/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 Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <p><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></p>
app/design/frontend/base/default/template/ogone/paypage.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 Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+
28
+ $$$PAYMENT ZONE$$$
app/design/frontend/base/default/template/ogone/placeform.phtml ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+
28
+ <p><strong><?php echo Mage::helper('ogone')->__('Please, wait a moment. This page will transfer your data to Ogone payment gateway in a few seconds.'); ?></strong></p>
29
+ <form name="ogone" id="ogone_review_form" action="<?php echo $this->getFormAction();?>" method="post" accept-charset="ISO-8859-1">
30
+ <?php if ($formData = $this->getFormData()): ?>
31
+ <fieldset>
32
+ <?php foreach ($formData as $name => $value) { ?>
33
+ <input type="hidden" name="<?php echo $this->escapeHtml($name); ?>" value="<?php echo $this->escapeHtml($value); ?>" />
34
+ <?php }?>
35
+ </fieldset>
36
+ <?php endif; ?>
37
+ </form>
38
+ <script type="text/javascript">
39
+ //<![CDATA[
40
+ var review = new VarienForm('ogone_review_form', '');
41
+ Event.observe(window, 'load', function() {
42
+ review.submit();
43
+ });
44
+ //]]>
45
+ </script>
app/etc/modules/Mage_Ogone.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 Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category Mage
23
+ * @package Mage_Ogone
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <config>
29
+ <modules>
30
+ <Mage_Ogone>
31
+ <active>true</active>
32
+ <codePool>core</codePool>
33
+ <depends>
34
+ <Mage_Sales/>
35
+ <Mage_Payment/>
36
+ </depends>
37
+ </Mage_Ogone>
38
+ </modules>
39
+ </config>
app/locale/en_US/Mage_Ogone.csv ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Authorization","Authorization"
2
+ "Authorization Waiting from Ogone","Authorization Waiting from Ogone"
3
+ "Authorization not known: A technical problem arose during authorization process, giving unpredictable result","Authorization not known: A technical problem arose during authorization process, giving unpredictable result"
4
+ "Background Color of Ogone Template","Background Color of Ogone Template"
5
+ "Button Background Color of the Ogone Template","Button Background Color of the Ogone Template"
6
+ "Button Text Color of the Ogone Template","Button Text Color of the Ogone Template"
7
+ "Can\'t detect Ogone payment action","Can\'t detect Ogone payment action"
8
+ "Cancelled Ogone","Cancelled Ogone"
9
+ "Debug","Debug"
10
+ "Declined Ogone","Declined Ogone"
11
+ "Declined Order on Ogone side.","Declined Order on Ogone side."
12
+ "Direct Sale","Direct Sale"
13
+ "E.g: ""Verdana"".","E.g: ""Verdana""."
14
+ "E.g: ""black"".","E.g: ""black""."
15
+ "E.g: ""white"".","E.g: ""white""."
16
+ "Enabled","Enabled"
17
+ "Enabling this feature needs adjusting ""Technical information > Global security parameters"" on merchant administration.","Enabling this feature needs adjusting ""Technical information > Global security parameters"" on merchant administration."
18
+ "Exception not defined","Exception not defined"
19
+ "Font Family of the Ogone Template","Font Family of the Ogone Template"
20
+ "For production, replace ""test"" with ""prod"". Example: https://secure.ogone.com/ncol/prod/orderstandard.asp","For production, replace ""test"" with ""prod"". Example: https://secure.ogone.com/ncol/prod/orderstandard.asp"
21
+ "Gateway URL","Gateway URL"
22
+ "Hash All Parameters","Hash All Parameters"
23
+ "Hashing Algorithm","Hashing Algorithm"
24
+ "Horizontally grouped logo with group name on left","Horizontally grouped logo with group name on left"
25
+ "Horizontally grouped logo with no group name","Horizontally grouped logo with no group name"
26
+ "If you choose ""No Operation"", Ogone will use default payment procedure setup in Ogone configuration.","If you choose ""No Operation"", Ogone will use default payment procedure setup in Ogone configuration."
27
+ "If you choose ""Ogone Template"", you will need to fill in all the following fields.","If you choose ""Ogone Template"", you will need to fill in all the following fields."
28
+ "Layout of Payment Methods","Layout of Payment Methods"
29
+ "Logo of the Ogone Template","Logo of the Ogone Template"
30
+ "Magento","Magento"
31
+ "Ogone","Ogone"
32
+ "Ogone Default Operation","Ogone Default Operation"
33
+ "Order can\'t save","Order can\'t save"
34
+ "PSPID","PSPID"
35
+ "Payment Action","Payment Action"
36
+ "Payment Template","Payment Template"
37
+ "Payment transaction has been declined.","Payment transaction has been declined."
38
+ "Payment uncertain: A technical problem arose during payment process, giving unpredictable result","Payment uncertain: A technical problem arose during payment process, giving unpredictable result"
39
+ "Pending Ogone","Pending Ogone"
40
+ "Please, wait a moment. This page will transfer your data to Ogone payment gateway in a few seconds.","Please, wait a moment. This page will transfer your data to Ogone payment gateway in a few seconds."
41
+ "Processed Ogone Payment","Processed Ogone Payment"
42
+ "Processed by Ogone","Processed by Ogone"
43
+ "Processing Ogone Payment","Processing Ogone Payment"
44
+ "SHA-IN Pass Phrase","SHA-IN Pass Phrase"
45
+ "SHA-OUT Pass Phrase","SHA-OUT Pass Phrase"
46
+ "Start Ogone Processing","Start Ogone Processing"
47
+ "Table Background Color of the Ogone Template","Table Background Color of the Ogone Template"
48
+ "Table Text Color of the Ogone Template","Table Text Color of the Ogone Template"
49
+ "Text Color of the Ogone Template","Text Color of the Ogone Template"
50
+ "The hash is not valid","The hash is not valid"
51
+ "The order cannot be canceled for a system reason.","The order cannot be canceled for a system reason."
52
+ "The order cannot be saved for a system reason.","The order cannot be saved for a system reason."
53
+ "The order cannot be saved.","The order cannot be saved."
54
+ "The order is not valid","The order is not valid"
55
+ "The order was canceled on ogone side.","The order was canceled on ogone side."
56
+ "Title","Title"
57
+ "Title of the Ogone Template","Title of the Ogone Template"
58
+ "To hash <strong>all parameters</strong>, select the following options in the ""Global security parameters"" fieldset: <ul><li>Each parameter followed by the pass phrase.</li><li>""Hash algorithm"" same as ""Hashing Algorithm"" below</li><li>UTF-8</li></ul>","To hash <strong>all parameters</strong>, select the following options in the ""Global security parameters"" fieldset: <ul><li>Each parameter followed by the pass phrase.</li><li>""Hash algorithm"" same as ""Hashing Algorithm"" below</li><li>UTF-8</li></ul>"
59
+ "URL/filename of the logo.<br />The URL must be absolute and stored on a secure server.","URL/filename of the logo.<br />The URL must be absolute and stored on a secure server."
60
+ "Unknown exception","Unknown exception"
61
+ "Use in posting data from Magento to Ogone.<br/>Use in data checking by Ogone before the payment.","Use in posting data from Magento to Ogone.<br/>Use in data checking by Ogone before the payment."
62
+ "Use in posting data from Ogone to Magento.<br/>Use in feedback data checking by Magento.","Use in posting data from Ogone to Magento.<br/>Use in feedback data checking by Magento."
63
+ "Verical list","Verical list"
64
+ "Waiting Authorization","Waiting Authorization"
65
+ "You can arrange the layout/list of the payment methods on Ogone payment page.","You can arrange the layout/list of the payment methods on Ogone payment page."
66
+ "You will be redirected to Ogone website when you place an order.","You will be redirected to Ogone website when you place an order."
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Mage_Ogone_Official</name>
4
- <version>1.2.0.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Official Ogone Payment Services Integration Module</summary>
10
  <description>This extension provides Ogone payment services integration.</description>
11
- <notes>1.2.0.1</notes>
12
  <authors><author><name>Magento Core Team</name><user>core</user><email>core@magentocommerce.com</email></author></authors>
13
- <date>2012-01-11</date>
14
- <time>11:50:47</time>
15
- <contents><target name="mageetc"><dir name="modules"><file name="Mage_Ogone.xml" hash=""/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="ogone.xml" hash=""/></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Mage_Ogone.csv" hash=""/></dir></target></contents>
16
  <compatible/>
17
- <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.6.2.0</min><max>1.7.0.0</max></package></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Mage_Ogone_Official</name>
4
+ <version>1.2.1.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Official Ogone Payment Services Integration Module</summary>
10
  <description>This extension provides Ogone payment services integration.</description>
11
+ <notes>1.2.1.0</notes>
12
  <authors><author><name>Magento Core Team</name><user>core</user><email>core@magentocommerce.com</email></author></authors>
13
+ <date>2012-04-24</date>
14
+ <time>12:09:22</time>
15
+ <contents><target name="magecore"><dir name="Mage"><dir name="Ogone"><dir name="Block"><file name="Form.php" hash="f531191b16ca6590242f67817ac21ecf"/><file name="Info.php" hash="1cdd066cdbf604d7612d337384518612"/><file name="Paypage.php" hash="e41db872d9a0d6c2ac992a9af4279890"/><file name="Placeform.php" hash="7d24a667e7c708786c148295392d441c"/></dir><dir name="Helper"><file name="Data.php" hash="3e98b5e51d040d5f6d515e7939698e74"/></dir><dir name="Model"><dir name="Api"><file name="Debug.php" hash="5799aa22d0093ce8d3aa2874c2ed7ea0"/></dir><file name="Api.php" hash="9da9a9335f691114fcbac5861130be11"/><file name="Config.php" hash="0ba5efe4508e94ed19204d50fdb236f9"/><dir name="Mysql4"><dir name="Api"><file name="Debug.php" hash="a598ebf73c33a6f7dc7d8c6a10c9716d"/></dir></dir><dir name="Source"><file name="PaymentAction.php" hash="1aa1147b5ec6a5f02fe69c69a23338be"/><file name="Pmlist.php" hash="302e98085218f0c451ed5f807a28c46a"/><file name="Template.php" hash="3d24d492b0dfeb69d34f6d172b156dbc"/></dir></dir><dir name="controllers"><file name="ApiController.php" hash="06af1b9cf4b0adad6f23fa606fc933f3"/></dir><dir name="etc"><file name="config.xml" hash="90748015a5afe4fb5c67474a0f70ded7"/><file name="system.xml" hash="ce113067cc438f6312d48b661f71e27d"/></dir><dir name="sql"><dir name="ogone_setup"><file name="install-1.6.0.0.php" hash="c8781525995f5fcc2fc458adca95240a"/><file name="mysql4-install-0.0.1.php" hash="42972c96262922b5ac35224b264e67e4"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mage_Ogone.xml" hash="94f9caf09320e37be2a88ae04872cf68"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="ogone"><file name="form.phtml" hash="e605eb1d2a5b6943a3bd33e3a4cc4888"/><file name="info.phtml" hash="18ba9f7a5cd77a84c97406bc36691291"/><file name="paypage.phtml" hash="b9bf8f294345c505a60e9e7598123bc3"/><file name="placeform.phtml" hash="7eb5bc71d4b0c04e8e799571594e4846"/></dir></dir><dir name="layout"><file name="ogone.xml" hash="e14780d03e32b0ae8551eda05c117205"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="ogone"><file name="info.phtml" hash="2826b1daf1362f6b0c9db70b9170ca1e"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Mage_Ogone.csv" hash="e23ef05c79f21e4cbdb4d08c00f59223"/></dir></target></contents>
16
  <compatible/>
17
+ <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>