Version Notes
Fix http 302 error on notifications when magento have SSL configured in frontend
Download this release
Release Info
Developer | Magento Core Team |
Extension | Pagantis_Pagantis |
Version | 2.2.6 |
Comparing to | |
See all releases |
Code changes from version 2.2.1 to 2.2.6
- app/code/community/Pagantis/Pagantis/Model/Webservice/Request.php +5 -1
- app/code/community/Pagantis/Pagantis/Model/Webservice/Requestloan.php +18 -2
- app/code/community/Pagantis/Pagantis/Pagantis/Block/Adminhtml/System/Config/Fieldset/Payment.php +0 -27
- app/code/community/Pagantis/Pagantis/Pagantis/Block/Form.php +0 -74
- app/code/community/Pagantis/Pagantis/Pagantis/Block/Redirect.php +0 -36
- app/code/community/Pagantis/Pagantis/Pagantis/Helper/Data.php +0 -237
- app/code/community/Pagantis/Pagantis/Pagantis/Model/Currency.php +0 -17
- app/code/community/Pagantis/Pagantis/Pagantis/Model/Observer.php +0 -145
- app/code/community/Pagantis/Pagantis/Pagantis/Model/Payment.php +0 -113
- app/code/community/Pagantis/Pagantis/Pagantis/Model/Source/Payment/Currency.php +0 -49
- app/code/community/Pagantis/Pagantis/Pagantis/Model/Source/Payment/Environment.php +0 -48
- app/code/community/Pagantis/Pagantis/Pagantis/Model/Webservice/Client.php +0 -116
- app/code/community/Pagantis/Pagantis/Pagantis/Model/Webservice/Paymentrequest.php +0 -76
- app/code/community/Pagantis/Pagantis/Pagantis/Model/Webservice/Request.php +0 -353
- app/code/community/Pagantis/Pagantis/Pagantis/Model/Webservice/Requestloan.php +0 -422
- app/code/community/Pagantis/Pagantis/Pagantis/Model/Webservice/Response.php +0 -15
- app/code/community/Pagantis/Pagantis/Pagantis/controllers/PagantisController.php +0 -181
- app/code/community/Pagantis/Pagantis/Pagantis/etc/config.xml +0 -132
- app/code/community/Pagantis/Pagantis/Pagantis/etc/system.xml +0 -212
- app/code/community/Pagantis/Pagantis/Pagantis/sql/pagantis_setup/mysql4-install-1.0.0.php +0 -7
- app/code/community/Pagantis/Pagantis/controllers/PagantisController.php +13 -4
- app/code/community/Pagantis/Pagantis/etc/system.xml +14 -14
- package.xml +5 -5
app/code/community/Pagantis/Pagantis/Model/Webservice/Request.php
CHANGED
@@ -270,7 +270,11 @@ class Pagantis_Pagantis_Model_Webservice_Request
|
|
270 |
*/
|
271 |
public function setCacllbackUrl()
|
272 |
{
|
273 |
-
|
|
|
|
|
|
|
|
|
274 |
}
|
275 |
|
276 |
/**
|
270 |
*/
|
271 |
public function setCacllbackUrl()
|
272 |
{
|
273 |
+
if (Mage::app()->getStore()->isFrontUrlSecure()){
|
274 |
+
$this->_callback_url=Mage::getUrl('',array('_forced_secure'=>true))."pagantis/pagantis/notification";
|
275 |
+
}else{
|
276 |
+
$this->_callback_url=Mage::getUrl('',array('_forced_secure'=>false))."pagantis/pagantis/notification";
|
277 |
+
}
|
278 |
}
|
279 |
|
280 |
/**
|
app/code/community/Pagantis/Pagantis/Model/Webservice/Requestloan.php
CHANGED
@@ -207,8 +207,10 @@ class Pagantis_Pagantis_Model_Webservice_Requestloan
|
|
207 |
if ($addressId) {
|
208 |
$address = Mage::getModel('sales/order_address')->load($addressId);
|
209 |
$street = $address->getStreet();
|
210 |
-
if ($street){
|
211 |
$this->_userData['street'] = $street[0];
|
|
|
|
|
212 |
}
|
213 |
$this->_userData['city'] = $address->getCity();
|
214 |
$this->_userData['province'] = $address->getCity();
|
@@ -220,6 +222,16 @@ class Pagantis_Pagantis_Model_Webservice_Requestloan
|
|
220 |
} else {
|
221 |
throw new \Exception('Missing user data info');
|
222 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
}
|
224 |
|
225 |
/**
|
@@ -334,7 +346,11 @@ class Pagantis_Pagantis_Model_Webservice_Requestloan
|
|
334 |
*/
|
335 |
public function setCacllbackUrl()
|
336 |
{
|
337 |
-
|
|
|
|
|
|
|
|
|
338 |
}
|
339 |
|
340 |
|
207 |
if ($addressId) {
|
208 |
$address = Mage::getModel('sales/order_address')->load($addressId);
|
209 |
$street = $address->getStreet();
|
210 |
+
if (is_array($street)){
|
211 |
$this->_userData['street'] = $street[0];
|
212 |
+
}else{
|
213 |
+
$this->_userData['street'] = $street;
|
214 |
}
|
215 |
$this->_userData['city'] = $address->getCity();
|
216 |
$this->_userData['province'] = $address->getCity();
|
222 |
} else {
|
223 |
throw new \Exception('Missing user data info');
|
224 |
}
|
225 |
+
|
226 |
+
//fix to avoid empty fields
|
227 |
+
$customer = Mage::getSingleton('customer/session')->getCustomer();
|
228 |
+
if (empty($this->_userData['email'])){
|
229 |
+
$this->_userData['email'] = $customer->getEmail();
|
230 |
+
}
|
231 |
+
if (empty($this->_userData['full_name'])){
|
232 |
+
$this->_userData['full_name'] = $customer->getFirstname() . ' ' . $customer->getLastname();
|
233 |
+
}
|
234 |
+
|
235 |
}
|
236 |
|
237 |
/**
|
346 |
*/
|
347 |
public function setCacllbackUrl()
|
348 |
{
|
349 |
+
if (Mage::app()->getStore()->isFrontUrlSecure()){
|
350 |
+
$this->_callback_url=Mage::getUrl('',array('_forced_secure'=>true))."pagantis/pagantis/notification";
|
351 |
+
}else{
|
352 |
+
$this->_callback_url=Mage::getUrl('',array('_forced_secure'=>false))."pagantis/pagantis/notification";
|
353 |
+
}
|
354 |
}
|
355 |
|
356 |
|
app/code/community/Pagantis/Pagantis/Pagantis/Block/Adminhtml/System/Config/Fieldset/Payment.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Pagantis_Pagantis payment form
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
class Pagantis_Pagantis_Block_Adminhtml_System_Config_Fieldset_Payment
|
12 |
-
extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
|
13 |
-
{
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Return header comment part of html for payment solution
|
17 |
-
*
|
18 |
-
* @param Varien_Data_Form_Element_Abstract $element
|
19 |
-
* @return string
|
20 |
-
*/
|
21 |
-
protected function _getHeaderCommentHtml($element)
|
22 |
-
{
|
23 |
-
return '<div class="adminLogoPagantis"></div>';
|
24 |
-
}
|
25 |
-
|
26 |
-
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Block/Form.php
DELETED
@@ -1,74 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Pagantis_Pagantis payment form
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
class Pagantis_Pagantis_Block_Form extends Mage_Payment_Block_Form
|
12 |
-
{
|
13 |
-
|
14 |
-
protected function _construct()
|
15 |
-
{
|
16 |
-
|
17 |
-
$title="Financiación:";
|
18 |
-
$session = Mage::getSingleton('checkout/session');
|
19 |
-
$mark = Mage::getConfig()->getBlockClassName('core/template');
|
20 |
-
$mark = new $mark;
|
21 |
-
$quote = Mage::getModel('checkout/session')->getQuote();
|
22 |
-
$quoteData= $quote->getData();
|
23 |
-
$amount=$quoteData['grand_total'];
|
24 |
-
$config = Mage::getStoreConfig('payment/pagantis');
|
25 |
-
$discount = $config['discount'];
|
26 |
-
if ($discount == 'true'){
|
27 |
-
$mark->setData('discount',1);
|
28 |
-
}else{
|
29 |
-
$mark->setData('discount',0);
|
30 |
-
}
|
31 |
-
$mark->setData('inst2',$this->instAmount(2));
|
32 |
-
$mark->setData('inst3',$this->instAmount(3));
|
33 |
-
$mark->setData('inst4',$this->instAmount(4));
|
34 |
-
$mark->setData('inst5',$this->instAmount(5));
|
35 |
-
$mark->setData('inst6',$this->instAmount(6));
|
36 |
-
$mark->setData('total',$amount);
|
37 |
-
$mark->setTemplate('pagantis/form.phtml');
|
38 |
-
$this->setTemplate('pagantis/pagantis.phtml')
|
39 |
-
->setMethodLabelAfterHtml($mark->toHtml())
|
40 |
-
->setMethodTitle($title)
|
41 |
-
|
42 |
-
;
|
43 |
-
return parent::_construct();
|
44 |
-
}
|
45 |
-
|
46 |
-
/*
|
47 |
-
* function instAmount
|
48 |
-
* calculate the price of the installment
|
49 |
-
* param $amount : amount in cents of the total loan
|
50 |
-
* param $num_installments: number of installments, integer
|
51 |
-
* return float with amount of the installment
|
52 |
-
*/
|
53 |
-
protected function instAmount ($num_installments) {
|
54 |
-
$quote = Mage::getModel('checkout/session')->getQuote();
|
55 |
-
$quoteData= $quote->getData();
|
56 |
-
$amount=$quoteData['grand_total']*100;
|
57 |
-
$config = Mage::getStoreConfig('payment/pagantis');
|
58 |
-
$discount = $config['discount'];
|
59 |
-
if ( $discount ){
|
60 |
-
$result= ($amount/100) / $num_installments;
|
61 |
-
}else{
|
62 |
-
$r = 0.25/365; #daily int
|
63 |
-
$X = $amount/100; #total loan
|
64 |
-
$aux = 1; #first inst value
|
65 |
-
for ($i=0; $i<= $num_installments-2;$i++) {
|
66 |
-
$aux = $aux + pow(1/(1+$r) ,(45+30*$i));
|
67 |
-
}
|
68 |
-
$result= (float)($X/$aux);
|
69 |
-
}
|
70 |
-
//add result to template
|
71 |
-
return $result;
|
72 |
-
}
|
73 |
-
|
74 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Block/Redirect.php
DELETED
@@ -1,36 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Pagantis_Pagantis payment form
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
class Pagantis_Pagantis_Block_Redirect extends Mage_Core_Block_Template
|
12 |
-
{
|
13 |
-
|
14 |
-
protected function _construct()
|
15 |
-
{
|
16 |
-
parent::_construct();
|
17 |
-
$helperPagantis = Mage::helper('pagantis_pagantis');
|
18 |
-
$urlPagantis = $helperPagantis->getUrlPagantis();
|
19 |
-
$paymentMethod = Mage::getModel('pagantis_pagantis/payment');
|
20 |
-
$form = new Varien_Data_Form();
|
21 |
-
|
22 |
-
|
23 |
-
$form->setAction($urlPagantis)
|
24 |
-
->setId('pagantis_pagantis_checkout')
|
25 |
-
->setLabel('Pagantis')
|
26 |
-
->setMethod('POST')
|
27 |
-
->setUseContainer(true);
|
28 |
-
|
29 |
-
foreach ($paymentMethod->getFormFields() as $field => $value) {
|
30 |
-
$form->addField($field, 'hidden', array('name' => $field, 'value' => $value));
|
31 |
-
}
|
32 |
-
$form->addField('submitButton', 'submit', array('name' => 'submitButton', 'value' => 'Continue'));
|
33 |
-
$this->setFormRedirect($form->toHtml());
|
34 |
-
}
|
35 |
-
|
36 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Helper/Data.php
DELETED
@@ -1,237 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Pagantis_Pagantis Helper
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
class Pagantis_Pagantis_Helper_Data extends Mage_Core_Helper_Abstract
|
12 |
-
{
|
13 |
-
|
14 |
-
private $languages = array(
|
15 |
-
'es_ES' => 'es',
|
16 |
-
'en_US' => 'en',
|
17 |
-
'en_UK' => 'en',
|
18 |
-
'ca_ES' => 'ca',
|
19 |
-
'eu_ES' => 'es',
|
20 |
-
'gl_ES' => 'es',
|
21 |
-
'fr_FR' => 'fr',
|
22 |
-
'it_IT' => 'it',
|
23 |
-
'ru_RU' => 'ru'
|
24 |
-
);
|
25 |
-
|
26 |
-
public function __construct()
|
27 |
-
{
|
28 |
-
$this->_config = Mage::getStoreConfig('payment/pagantis');
|
29 |
-
}
|
30 |
-
|
31 |
-
/**
|
32 |
-
* Restore last active quote based on checkout session
|
33 |
-
*
|
34 |
-
* @return bool True if quote restored successfully, false otherwise
|
35 |
-
*/
|
36 |
-
public function restoreQuote()
|
37 |
-
{
|
38 |
-
$lastOrderId = $this->_getCheckoutSession()->getLastRealOrderId();
|
39 |
-
if ($lastOrderId) {
|
40 |
-
$order = Mage::getModel('sales/order')->loadByIncrementId($lastOrderId);
|
41 |
-
if ($order->getId()) {
|
42 |
-
$quote = $this->_getQuote($order->getQuoteId());
|
43 |
-
if ($quote->getId()) {
|
44 |
-
$quote->setIsActive(1)
|
45 |
-
->setReservedOrderId(null)
|
46 |
-
->save();
|
47 |
-
$this->_getCheckoutSession()
|
48 |
-
->replaceQuote($quote)
|
49 |
-
->unsLastRealOrderId();
|
50 |
-
return true;
|
51 |
-
}
|
52 |
-
}
|
53 |
-
}
|
54 |
-
return false;
|
55 |
-
}
|
56 |
-
|
57 |
-
/**
|
58 |
-
* Return checkout session instance
|
59 |
-
*
|
60 |
-
* @return Mage_Checkout_Model_Session
|
61 |
-
*/
|
62 |
-
protected function _getCheckoutSession()
|
63 |
-
{
|
64 |
-
return Mage::getSingleton('checkout/session');
|
65 |
-
}
|
66 |
-
|
67 |
-
/**
|
68 |
-
* Return sales quote instance for specified ID
|
69 |
-
*
|
70 |
-
* @param int $quoteId Quote identifier
|
71 |
-
* @return Mage_Sales_Model_Quote
|
72 |
-
*/
|
73 |
-
protected function _getQuote($quoteId)
|
74 |
-
{
|
75 |
-
return Mage::getModel('sales/quote')->load($quoteId);
|
76 |
-
}
|
77 |
-
|
78 |
-
|
79 |
-
/**
|
80 |
-
* Returns a Request object with common parameters
|
81 |
-
* @todo Retrieve language, currency based on config
|
82 |
-
* @param float $amount
|
83 |
-
* @param string $orderId
|
84 |
-
* @param string $localeCode TBD
|
85 |
-
* @return Pagantis_Pagantis_Model_Webservice_Request
|
86 |
-
*/
|
87 |
-
public function getRequest($amount, $orderId, $localeCode)
|
88 |
-
{
|
89 |
-
$language = $this->getConsumerLanguage($localeCode);
|
90 |
-
$request = Mage::getModel('pagantis_pagantis/webservice_request');
|
91 |
-
$request->setAmount($amount);
|
92 |
-
$request->setLanguagePagantis($language);
|
93 |
-
$request->setUrlPagantis($this->_config['url_pagantis']);
|
94 |
-
$request->setAuthMethod($this->_config['auth_method']);
|
95 |
-
$request->setOrderId($orderId);
|
96 |
-
$request->setAmount($amount);
|
97 |
-
$request->setDiscount($this->_config['discount']);
|
98 |
-
switch($this->_config['environment']) {
|
99 |
-
case Pagantis_Pagantis_Model_Webservice_Client::ENV_TESTING:
|
100 |
-
$request->setAccountCode($this->_config['account_code_test']);
|
101 |
-
$request->setAccountKey($this->_config['account_key_test']);
|
102 |
-
//$request->setAccountApiKey($this->_config['account_api_key_test']);
|
103 |
-
break;
|
104 |
-
case Pagantis_Pagantis_Model_Webservice_Client::ENV_PRODUCTION:
|
105 |
-
$request->setAccountCode($this->_config['account_code_real']);
|
106 |
-
$request->setAccountKey($this->_config['account_key_real']);
|
107 |
-
//$request->setAccountApiKey($this->_config['account_api_key_real']);
|
108 |
-
break;
|
109 |
-
}
|
110 |
-
$request->setUrlOk();
|
111 |
-
$request->setUrlKo();
|
112 |
-
$request->setCacllbackUrl();
|
113 |
-
$request->setFirma();
|
114 |
-
return $request;
|
115 |
-
}
|
116 |
-
|
117 |
-
/**
|
118 |
-
* Returns a Request object with common parameters
|
119 |
-
* @todo Retrieve language, currency based on config
|
120 |
-
* @param float $amount
|
121 |
-
* @param string $orderId
|
122 |
-
* @param string $localeCode TBD
|
123 |
-
* @return Pagantis_Pagantis_Model_Webservice_Request
|
124 |
-
*/
|
125 |
-
public function getRequestloan($amount, $orderId, $localeCode)
|
126 |
-
{
|
127 |
-
$language = $this->getConsumerLanguage($localeCode);
|
128 |
-
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
|
129 |
-
$addressId = $order->getShippingAddress()->getId();
|
130 |
-
|
131 |
-
|
132 |
-
$request = Mage::getModel('pagantis_pagantis/webservice_requestloan');
|
133 |
-
$request->setOrderId($orderId);
|
134 |
-
$request->setAmount($amount);
|
135 |
-
$request->setLanguagePagantis($language);
|
136 |
-
//$request->setUrlPagantis($this->_config['url_pagantis_mastarde']);
|
137 |
-
$request->setUrlPagantis (Pagantis_Pagantis_Model_Payment::PMT_URL);
|
138 |
-
$request->setUserData($addressId);
|
139 |
-
$request->setOrderItems($orderId);
|
140 |
-
$request->setAmount($amount);
|
141 |
-
$request->setDiscount($this->_config['discount']);
|
142 |
-
switch($this->_config['environment']) {
|
143 |
-
case Pagantis_Pagantis_Model_Webservice_Client::ENV_TESTING:
|
144 |
-
$request->setAccountCode($this->_config['account_code_test']);
|
145 |
-
$request->setAccountKey($this->_config['account_key_test']);
|
146 |
-
break;
|
147 |
-
case Pagantis_Pagantis_Model_Webservice_Client::ENV_PRODUCTION:
|
148 |
-
$request->setAccountCode($this->_config['account_code_real']);
|
149 |
-
$request->setAccountKey($this->_config['account_key_real']);
|
150 |
-
break;
|
151 |
-
}
|
152 |
-
$request->setUrlOk();
|
153 |
-
$request->setUrlKo();
|
154 |
-
$request->setCacllbackUrl();
|
155 |
-
$request->setFirma();
|
156 |
-
|
157 |
-
return $request;
|
158 |
-
}
|
159 |
-
|
160 |
-
/**
|
161 |
-
* Returns a Request object with common parameters
|
162 |
-
* @todo Retrieve language, currency based on config
|
163 |
-
* @param float $amount
|
164 |
-
* @param string $orderId
|
165 |
-
* @param string $localeCode TBD
|
166 |
-
* @return Pagantis_Pagantis_Model_Webservice_Request
|
167 |
-
*/
|
168 |
-
public function getTransactionInfo($transaction)
|
169 |
-
{
|
170 |
-
$paymentRequest = Mage::getModel('pagantis_pagantis/webservice_paymentrequest');
|
171 |
-
switch($this->_config['environment']) {
|
172 |
-
case Pagantis_Pagantis_Model_Webservice_Client::ENV_TESTING:
|
173 |
-
$paymentRequest->setBearer($this->_config['account_api_key_test']);
|
174 |
-
break;
|
175 |
-
case Pagantis_Pagantis_Model_Webservice_Client::ENV_PRODUCTION:
|
176 |
-
$paymentRequest->setBearer($this->_config['account_api_key_real']);
|
177 |
-
break;
|
178 |
-
}
|
179 |
-
$paymentRequest->setTransaction($transaction);
|
180 |
-
$client = Mage::getModel('pagantis_pagantis/webservice_client');
|
181 |
-
$result = $client->getCurlResultPaymentRequest($paymentRequest);
|
182 |
-
return $result;
|
183 |
-
}
|
184 |
-
|
185 |
-
|
186 |
-
public function getUrlPagantis() {
|
187 |
-
|
188 |
-
return Pagantis_Pagantis_Model_Payment::PMT_URL;
|
189 |
-
//allways same url, no need to make this check
|
190 |
-
/*
|
191 |
-
$paymentDetails = $this->_getCheckoutSession()->getPaymentMethodDetail();
|
192 |
-
switch($paymentDetails) {
|
193 |
-
case Pagantis_Pagantis_Model_Payment::PAYMENT_UNIQUE:
|
194 |
-
return $this->_config['url_pagantis'];
|
195 |
-
break;
|
196 |
-
case Pagantis_Pagantis_Model_Payment::PAYMENT_LOAN:
|
197 |
-
return $this->_config['url_pagantis_mastarde'];
|
198 |
-
break;
|
199 |
-
}
|
200 |
-
*/
|
201 |
-
}
|
202 |
-
|
203 |
-
/**
|
204 |
-
* Returns a string with the corresponding CECA consumer language, given a ISO locale code
|
205 |
-
* Eg. es_ES
|
206 |
-
*
|
207 |
-
* @param $localeCode
|
208 |
-
* @return mixed
|
209 |
-
*/
|
210 |
-
private function getConsumerLanguage($localeCode)
|
211 |
-
{
|
212 |
-
return $this->languages[$localeCode];
|
213 |
-
}
|
214 |
-
|
215 |
-
/**
|
216 |
-
* @param $states
|
217 |
-
* @param $statuses
|
218 |
-
* @return mixed
|
219 |
-
*/
|
220 |
-
public function getOrdersToExport($states)
|
221 |
-
{
|
222 |
-
$methodPayment = $this->_config['title'];
|
223 |
-
|
224 |
-
$pendingProcessingOrdersPagantis = Mage::getModel('sales/order')
|
225 |
-
->getCollection()
|
226 |
-
->join(
|
227 |
-
array('payment' => 'sales/order_payment'),
|
228 |
-
'main_table.entity_id=payment.parent_id',
|
229 |
-
array('payment_method' => 'payment.method')
|
230 |
-
);
|
231 |
-
$pendingProcessingOrdersPagantis->addFieldToFilter('payment.method',array('like'=>$methodPayment))
|
232 |
-
->addFieldToFilter('state',array('in'=>$states));
|
233 |
-
|
234 |
-
return $pendingProcessingOrdersPagantis;
|
235 |
-
}
|
236 |
-
|
237 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Model/Currency.php
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* @package Pagantis_Pagantis
|
5 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
6 |
-
* @author Yameveo <yameveo@yameveo.com>
|
7 |
-
* @link http://www.yameveo.com
|
8 |
-
*/
|
9 |
-
|
10 |
-
class Pagantis_Pagantis_Model_Currency
|
11 |
-
{
|
12 |
-
|
13 |
-
const EUR = 'EUR';
|
14 |
-
const USD = 'USD';
|
15 |
-
const GBP = 'GBP';
|
16 |
-
|
17 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Model/Observer.php
DELETED
@@ -1,145 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Observer for cron jobs
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @author Yameveo <support@yameveo.com>
|
8 |
-
* @link http://www.yameveo.com
|
9 |
-
*/
|
10 |
-
class Pagantis_Pagantis_Model_Observer
|
11 |
-
{
|
12 |
-
|
13 |
-
const PAGANTIS_TR_ERROR = 'Error';
|
14 |
-
|
15 |
-
|
16 |
-
public function exportOrders()
|
17 |
-
{
|
18 |
-
$start = $this->chrono();
|
19 |
-
$startGetCollection = $this->chrono();
|
20 |
-
|
21 |
-
$orders = Mage::helper('pagantis_pagantis')->getOrdersToExport(array(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT));//,Mage_Sales_Model_Order::STATE_PROCESSING));//, array(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,Mage_Sales_Model_Order::STATE_PROCESSING));
|
22 |
-
|
23 |
-
$endGetCollection = $this->chrono();
|
24 |
-
$chronoCollection = round($endGetCollection - $startGetCollection, 3);
|
25 |
-
Mage::log("Loading orders collection executed in $chronoCollection seconds.", Zend_Log::DEBUG, $this->_logFile);
|
26 |
-
$ordersCount = $orders->count();
|
27 |
-
Mage::log("Exporting $ordersCount orders", Zend_Log::DEBUG, $this->_logFile);
|
28 |
-
|
29 |
-
$count = 1;
|
30 |
-
$result = array();
|
31 |
-
$orderCanceled = 0;
|
32 |
-
$orderProcessing = 0;
|
33 |
-
foreach ($orders as $order) {
|
34 |
-
$transaction = $order->getPagantisTransaction();
|
35 |
-
if ($transaction) {
|
36 |
-
$paymentRequestResult = Mage::helper('pagantis_pagantis')->getTransactionInfo($transaction);
|
37 |
-
if (!$paymentRequestResult['paid']) {
|
38 |
-
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED,true);
|
39 |
-
$order->save();
|
40 |
-
$orderCanceled++;
|
41 |
-
} else {
|
42 |
-
// @todo move this try in helper
|
43 |
-
try {
|
44 |
-
$sendMail = (int) Mage::getStoreConfig('payment/pagantis/sendmail');
|
45 |
-
$createInvoice = (int) Mage::getStoreConfig('payment/pagantis/invoice');
|
46 |
-
if ($order->getId()) {
|
47 |
-
//if ($response->isDsValid()) {
|
48 |
-
$orderStatus = Mage_Sales_Model_Order::STATE_PROCESSING;
|
49 |
-
if ($order->canInvoice() && $createInvoice) {
|
50 |
-
$invoice = $this->_createInvoice($order);
|
51 |
-
$comment = Mage::helper('pagantis_pagantis')->__('Authorized transaction. Created invoice %s', $invoice->getIncrementId());
|
52 |
-
} else {
|
53 |
-
$comment = Mage::helper('pagantis_pagantis')->__('Authorized transaction, but invoice not created');
|
54 |
-
}
|
55 |
-
$order->setState($orderStatus, $orderStatus, $comment, true);
|
56 |
-
$order->save();
|
57 |
-
if ($sendMail) {
|
58 |
-
if ($orderStatus == Mage_Sales_Model_Order::STATE_PROCESSING) {
|
59 |
-
$order->sendNewOrderEmail();
|
60 |
-
} else {
|
61 |
-
$order->sendOrderUpdateEmail(true);
|
62 |
-
}
|
63 |
-
}
|
64 |
-
}
|
65 |
-
$orderProcessing++;
|
66 |
-
} catch (Exception $e) {
|
67 |
-
Mage::logException($e);
|
68 |
-
}
|
69 |
-
}
|
70 |
-
}
|
71 |
-
}
|
72 |
-
return "Updated " . $orderCanceled . " orders in steta Canceled and " . $orderProcessing . " orders in Processing";
|
73 |
-
}
|
74 |
-
|
75 |
-
/**
|
76 |
-
* Create an invoice for the order and send an email
|
77 |
-
* @todo move to helper
|
78 |
-
* @param Mage_Sales_Model_Order $order
|
79 |
-
* @return Mage_Sales_Model_Order_Invoice
|
80 |
-
*/
|
81 |
-
private function _createInvoice($order)
|
82 |
-
{
|
83 |
-
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
|
84 |
-
if (!$invoice->getTotalQty()) {
|
85 |
-
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
|
86 |
-
}
|
87 |
-
|
88 |
-
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
|
89 |
-
$invoice->register();
|
90 |
-
$transactionSave = Mage::getModel('core/resource_transaction')
|
91 |
-
->addObject($invoice)
|
92 |
-
->addObject($invoice->getOrder());
|
93 |
-
|
94 |
-
$transactionSave->save();
|
95 |
-
$invoice->sendEmail();
|
96 |
-
return $invoice;
|
97 |
-
}
|
98 |
-
|
99 |
-
/**
|
100 |
-
* Returns the actual microtime in seconds
|
101 |
-
* @return float seconds
|
102 |
-
*/
|
103 |
-
protected function chrono()
|
104 |
-
{
|
105 |
-
list($msec, $sec) = explode(' ', microtime());
|
106 |
-
return ((float)$msec + (float)$sec);
|
107 |
-
}
|
108 |
-
|
109 |
-
|
110 |
-
/*
|
111 |
-
autmatically cancel the not paid orders afer 60 minutes
|
112 |
-
*/
|
113 |
-
public function cancelPendingOrders()
|
114 |
-
{
|
115 |
-
$orderCollection = Mage::getResourceModel('sales/order_collection');
|
116 |
-
|
117 |
-
$orderCollection
|
118 |
-
->addFieldToFilter('state', 'pending_payment')
|
119 |
-
->addFieldToFilter('created_at', array(
|
120 |
-
'lt' => new Zend_Db_Expr("DATE_ADD('".now()."', INTERVAL -'60:00' HOUR_MINUTE)")))
|
121 |
-
->getSelect()
|
122 |
-
->limit(20)
|
123 |
-
;
|
124 |
-
|
125 |
-
|
126 |
-
$orders ="";
|
127 |
-
foreach($orderCollection->getItems() as $order)
|
128 |
-
{
|
129 |
-
$orderModel = Mage::getModel('sales/order');
|
130 |
-
$orderModel->load($order['entity_id']);
|
131 |
-
|
132 |
-
|
133 |
-
if(!$orderModel->canCancel())
|
134 |
-
continue;
|
135 |
-
|
136 |
-
$orderModel->cancel();
|
137 |
-
$orderModel->setStatus('canceled');
|
138 |
-
$orderModel->save();
|
139 |
-
|
140 |
-
}
|
141 |
-
}
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Model/Payment.php
DELETED
@@ -1,113 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Payment class
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
|
12 |
-
class Pagantis_Pagantis_Model_Payment extends Mage_Payment_Model_Method_Abstract
|
13 |
-
{
|
14 |
-
|
15 |
-
protected $_code = 'pagantis';
|
16 |
-
protected $_formBlockType = 'pagantis_pagantis/form';
|
17 |
-
protected $_isInitializeNeeded = true;
|
18 |
-
protected $_canUseInternal = false;
|
19 |
-
protected $_canUseForMultishipping = false;
|
20 |
-
protected $_config = null;
|
21 |
-
|
22 |
-
const PAYMENT_UNIQUE = 'unico';
|
23 |
-
const PAYMENT_LOAN = 'financiacion';
|
24 |
-
const PMT_URL = 'https://pmt.pagantis.com/v1/installments/';
|
25 |
-
|
26 |
-
/**
|
27 |
-
* Get checkout session namespace
|
28 |
-
*
|
29 |
-
* @return Mage_Checkout_Model_Session
|
30 |
-
*/
|
31 |
-
public function getCheckout()
|
32 |
-
{
|
33 |
-
return Mage::getSingleton('checkout/session');
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Get current quote
|
38 |
-
*
|
39 |
-
* @return Mage_Sales_Model_Quote
|
40 |
-
*/
|
41 |
-
public function getQuote()
|
42 |
-
{
|
43 |
-
return $this->getCheckout()->getQuote();
|
44 |
-
}
|
45 |
-
|
46 |
-
/**
|
47 |
-
* Create main block for standard form
|
48 |
-
*
|
49 |
-
*/
|
50 |
-
public function createFormBlock($name)
|
51 |
-
{
|
52 |
-
$block = $this->getLayout()->createBlock($this->_formBlockType, $name)
|
53 |
-
->setMethod('pagantis')
|
54 |
-
->setPayment($this->getPayment())
|
55 |
-
->setTemplate('pagantis/form.phtml');
|
56 |
-
|
57 |
-
return $block;
|
58 |
-
}
|
59 |
-
|
60 |
-
/**
|
61 |
-
* Return Order place redirect url
|
62 |
-
*
|
63 |
-
* @return string
|
64 |
-
*/
|
65 |
-
public function getOrderPlaceRedirectUrl()
|
66 |
-
{
|
67 |
-
return Mage::getUrl('pagantis/pagantis/redirect', array('_secure' => true));
|
68 |
-
}
|
69 |
-
|
70 |
-
/**
|
71 |
-
* Instantiate state and set it to state object
|
72 |
-
* @param string $paymentAction
|
73 |
-
* @param Varien_Object
|
74 |
-
*/
|
75 |
-
public function initialize($paymentAction, $stateObject)
|
76 |
-
{
|
77 |
-
/*
|
78 |
-
$state = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT;
|
79 |
-
$paymentDetailArray = Mage::app()->getRequest()->getPost('paymentdetail');
|
80 |
-
$paymentDetail = $paymentDetailArray[0];
|
81 |
-
$this->getCheckout()->setPaymentMethodDetail($paymentDetail);
|
82 |
-
$stateObject->setState($state);
|
83 |
-
$stateObject->setStatus('pending_payment');
|
84 |
-
$stateObject->setIsNotified(false);
|
85 |
-
*/
|
86 |
-
}
|
87 |
-
|
88 |
-
public function getFormFields()
|
89 |
-
{
|
90 |
-
$orderIncrementId = $this->getCheckout()->getLastRealOrderId();
|
91 |
-
$paymentDetails = $this->getCheckout()->getPaymentMethodDetail();
|
92 |
-
$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
|
93 |
-
// For EUR last 2 position are considered decimals
|
94 |
-
$amount = $order->getTotalDue() * 100;
|
95 |
-
$orderId = $order->increment_id;
|
96 |
-
|
97 |
-
$localeCode = Mage::app()->getLocale()->getLocaleCode();
|
98 |
-
/*
|
99 |
-
switch($paymentDetails) {
|
100 |
-
case self::PAYMENT_UNIQUE:
|
101 |
-
$request = Mage::helper('pagantis_pagantis')->getRequest($amount, $orderId, $localeCode);
|
102 |
-
break;
|
103 |
-
case self::PAYMENT_LOAN:
|
104 |
-
$request = Mage::helper('pagantis_pagantis')->getRequestloan($amount, $orderId, $localeCode);
|
105 |
-
break;
|
106 |
-
}
|
107 |
-
*/
|
108 |
-
$request = Mage::helper('pagantis_pagantis')->getRequestloan($amount, $orderId, $localeCode);
|
109 |
-
return $request->toArray();
|
110 |
-
}
|
111 |
-
|
112 |
-
|
113 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Model/Source/Payment/Currency.php
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Currencies for Pagantis_Pagantis config
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
class Pagantis_Pagantis_Model_Source_Payment_Currency
|
12 |
-
{
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Options list as array
|
16 |
-
*
|
17 |
-
* @var array
|
18 |
-
*/
|
19 |
-
protected $_options = null;
|
20 |
-
|
21 |
-
/**
|
22 |
-
* Retrieve all currencies
|
23 |
-
*
|
24 |
-
* @return array
|
25 |
-
*/
|
26 |
-
public function getAllOptions()
|
27 |
-
{
|
28 |
-
if ($this->_options === null) {
|
29 |
-
$this->_options = array();
|
30 |
-
|
31 |
-
$this->_options[] = array('label' => Mage::helper('pagantis_pagantis')->__('Euro'), 'value' => Pagantis_Pagantis_Model_Currency::EUR);
|
32 |
-
$this->_options[] = array('label' => Mage::helper('pagantis_pagantis')->__('Pound'), 'value' => Pagantis_Pagantis_Model_Currency::GBP);
|
33 |
-
$this->_options[] = array('label' => Mage::helper('pagantis_pagantis')->__('US Dollar'), 'value' => Pagantis_Pagantis_Model_Currency::USD);
|
34 |
-
}
|
35 |
-
|
36 |
-
return $this->_options;
|
37 |
-
}
|
38 |
-
|
39 |
-
/**
|
40 |
-
* To option array conversion
|
41 |
-
*
|
42 |
-
* @return array
|
43 |
-
*/
|
44 |
-
public function toOptionArray()
|
45 |
-
{
|
46 |
-
return $this->getAllOptions();
|
47 |
-
}
|
48 |
-
|
49 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Model/Source/Payment/Environment.php
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Enviroments for Pagantis_Pagantis config
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
class Pagantis_Pagantis_Model_Source_Payment_Environment
|
12 |
-
{
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Options list as array
|
16 |
-
*
|
17 |
-
* @var array
|
18 |
-
*/
|
19 |
-
protected $_options = null;
|
20 |
-
|
21 |
-
/**
|
22 |
-
* Retrieve all environments
|
23 |
-
*
|
24 |
-
* @return array
|
25 |
-
*/
|
26 |
-
public function getAllOptions()
|
27 |
-
{
|
28 |
-
if ($this->_options === null) {
|
29 |
-
$this->_options = array();
|
30 |
-
|
31 |
-
$this->_options[] = array('label' => Mage::helper('pagantis_pagantis')->__('Real'), 'value' => Pagantis_Pagantis_Model_Webservice_Client::ENV_PRODUCTION);
|
32 |
-
$this->_options[] = array('label' => Mage::helper('pagantis_pagantis')->__('Testing'), 'value' => Pagantis_Pagantis_Model_Webservice_Client::ENV_TESTING);
|
33 |
-
}
|
34 |
-
|
35 |
-
return $this->_options;
|
36 |
-
}
|
37 |
-
|
38 |
-
/**
|
39 |
-
* To option array conversion
|
40 |
-
*
|
41 |
-
* @return array
|
42 |
-
*/
|
43 |
-
public function toOptionArray()
|
44 |
-
{
|
45 |
-
return $this->getAllOptions();
|
46 |
-
}
|
47 |
-
|
48 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Model/Webservice/Client.php
DELETED
@@ -1,116 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Class Pagantis_Pagantis_Model_Webservice_Client
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
|
12 |
-
class Pagantis_Pagantis_Model_Webservice_Client
|
13 |
-
{
|
14 |
-
|
15 |
-
// Environments
|
16 |
-
const ENV_TESTING = 'testing';
|
17 |
-
const ENV_PRODUCTION = 'production';
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
private $_pathConfig;
|
23 |
-
|
24 |
-
/**
|
25 |
-
* Pagantis_Pagantis_Model_Webservice_Client constructor
|
26 |
-
* @param array $path_config
|
27 |
-
*/
|
28 |
-
public function __construct($path_config = null)
|
29 |
-
{
|
30 |
-
if ($path_config != null) {
|
31 |
-
$this->_pathConfig = $path_config['config'];
|
32 |
-
}
|
33 |
-
$this->_session = Mage::getSingleton('checkout/session');
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Send a request and process response
|
38 |
-
*
|
39 |
-
* @param Pagantis_Pagantis_Model_Webservice_Request $request
|
40 |
-
* @return Pagantis_Pagantis_Model_Webservice_Response
|
41 |
-
*/
|
42 |
-
public function makeRequest(Pagantis_Pagantis_Model_Webservice_Request $request)
|
43 |
-
{
|
44 |
-
$response = $this->sendRequest($request);
|
45 |
-
return $this->processResponse($response);
|
46 |
-
}
|
47 |
-
|
48 |
-
/**
|
49 |
-
* Send a request and process response
|
50 |
-
*
|
51 |
-
* @param Pagantis_Pagantis_Model_Webservice_Request $request
|
52 |
-
* @return array
|
53 |
-
*/
|
54 |
-
public function getCurlResultPaymentRequest(Pagantis_Pagantis_Model_Webservice_PaymentRequest $paymentRequest)
|
55 |
-
{
|
56 |
-
$bearer = (string)$paymentRequest->getBearer();
|
57 |
-
$urlApi = (string)$paymentRequest->getUrlPagantis().$paymentRequest->getTransaction();
|
58 |
-
|
59 |
-
$crl = curl_init();
|
60 |
-
|
61 |
-
$header = array();
|
62 |
-
$header[] = 'Content-length: 0';
|
63 |
-
$header[] = 'Content-type: application/json';
|
64 |
-
$header[] = 'Authorization: Bearer '.$bearer;
|
65 |
-
|
66 |
-
curl_setopt($crl, CURLOPT_HTTPHEADER,$header);
|
67 |
-
curl_setopt($crl,CURLOPT_RETURNTRANSFER, 1);
|
68 |
-
curl_setopt($crl,CURLOPT_URL, $urlApi);
|
69 |
-
$result = json_decode(curl_exec($crl),true);
|
70 |
-
curl_close($crl);
|
71 |
-
return $result['response'];
|
72 |
-
}
|
73 |
-
|
74 |
-
/**
|
75 |
-
* Send a request
|
76 |
-
*
|
77 |
-
* @param Pagantis_Pagantis_Model_Webservice_Request $request
|
78 |
-
* @return Object
|
79 |
-
*/
|
80 |
-
private function sendPaymentRequest(Pagantis_Pagantis_Model_Webservice_PaymentRequest $request)
|
81 |
-
{
|
82 |
-
|
83 |
-
$xmlRequest = $request->toXml();
|
84 |
-
$response = $this->trataPeticion(array(
|
85 |
-
self::SOAP_REQUEST_WRAPPER => $xmlRequest
|
86 |
-
));
|
87 |
-
|
88 |
-
return $response;
|
89 |
-
}
|
90 |
-
|
91 |
-
/**
|
92 |
-
* Process response
|
93 |
-
*
|
94 |
-
* @param Pagantis_Pagantis_Model_Webservice_Response $response
|
95 |
-
*/
|
96 |
-
/*private function processResponse($response)
|
97 |
-
{
|
98 |
-
$response = new Pagantis_Pagantis_Model_Webservice_Response($response->trataPeticionReturn);
|
99 |
-
return $response;
|
100 |
-
}*/
|
101 |
-
|
102 |
-
public function getUrl()
|
103 |
-
{
|
104 |
-
$conf = Mage::getStoreConfig('payment/pagantis');
|
105 |
-
$environment = $conf['environment'];
|
106 |
-
switch($environment){
|
107 |
-
case Pagantis_Pagantis_Model_Webservice_Client::ENV_TESTING:
|
108 |
-
return $conf['url_pagantis_test'];
|
109 |
-
break;
|
110 |
-
case Pagantis_Pagantis_Model_Webservice_Client::ENV_PRODUCTION:
|
111 |
-
return $conf['url_pagantis_real'];
|
112 |
-
break;
|
113 |
-
}
|
114 |
-
}
|
115 |
-
|
116 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Model/Webservice/Paymentrequest.php
DELETED
@@ -1,76 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Class Pagantis_Pagantis_Model_Webservice_Request
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
|
12 |
-
class Pagantis_Pagantis_Model_Webservice_Paymentrequest
|
13 |
-
{
|
14 |
-
const BASE = 'pagantis/pagantis';
|
15 |
-
const URL_PAYMENT_REQUEST = 'https://psp.pagantis.com/api/1/charges/';
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @var string $_urlPagantis Redirect url for payment
|
19 |
-
*/
|
20 |
-
protected $_urlPagantis;
|
21 |
-
|
22 |
-
/**
|
23 |
-
* @var string $_amount Order Amount
|
24 |
-
*/
|
25 |
-
protected $_bearer;
|
26 |
-
|
27 |
-
/**
|
28 |
-
* @var string $_currency Order Amount
|
29 |
-
*/
|
30 |
-
protected $_transaction;
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
public function __construct()
|
35 |
-
{
|
36 |
-
$this->_urlPagantis = self::URL_PAYMENT_REQUEST;
|
37 |
-
}
|
38 |
-
|
39 |
-
/**
|
40 |
-
* Assign bearer for call
|
41 |
-
* @param string $bearer
|
42 |
-
* @throws Exception
|
43 |
-
*/
|
44 |
-
public function setBearer($bearer = '')
|
45 |
-
{
|
46 |
-
if (strlen(trim($bearer)) > 0) {
|
47 |
-
$this->_bearer = $bearer;
|
48 |
-
} else {
|
49 |
-
throw new \Exception('Missing bearer for call');
|
50 |
-
}
|
51 |
-
}
|
52 |
-
|
53 |
-
/**
|
54 |
-
* Assign transaction for call
|
55 |
-
* @param string $transaction
|
56 |
-
* @throws Exception
|
57 |
-
*/
|
58 |
-
public function setTransaction($transaction = '')
|
59 |
-
{
|
60 |
-
if (strlen(trim($transaction)) > 0) {
|
61 |
-
$this->_transaction = $transaction;
|
62 |
-
} else {
|
63 |
-
throw new \Exception('Missing transaction for call');
|
64 |
-
}
|
65 |
-
}
|
66 |
-
|
67 |
-
public function getTransaction(){
|
68 |
-
return $this->_transaction;
|
69 |
-
}
|
70 |
-
public function getBearer(){
|
71 |
-
return $this->_bearer;
|
72 |
-
}
|
73 |
-
public function getUrlPagantis(){
|
74 |
-
return $this->_urlPagantis;
|
75 |
-
}
|
76 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Model/Webservice/Request.php
DELETED
@@ -1,353 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Class Pagantis_Pagantis_Model_Webservice_Request
|
5 |
-
* @package Pagantis_Pagantis
|
6 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
7 |
-
* @author Yameveo <yameveo@yameveo.com>
|
8 |
-
* @link http://www.yameveo.com
|
9 |
-
*/
|
10 |
-
|
11 |
-
class Pagantis_Pagantis_Model_Webservice_Request
|
12 |
-
{
|
13 |
-
const BASE = 'pagantis/pagantis';
|
14 |
-
|
15 |
-
/**
|
16 |
-
* @var string $_urlPagantis Redirect url for payment
|
17 |
-
*/
|
18 |
-
protected $_urlPagantis;
|
19 |
-
|
20 |
-
/**
|
21 |
-
* @var string $_amount Order Amount
|
22 |
-
*/
|
23 |
-
protected $_amount;
|
24 |
-
|
25 |
-
/**
|
26 |
-
* @var string $_currency Order Amount
|
27 |
-
*/
|
28 |
-
protected $_currency;
|
29 |
-
|
30 |
-
/**
|
31 |
-
* @var string $_orderId Increment order Id
|
32 |
-
*/
|
33 |
-
protected $_orderId;
|
34 |
-
/**
|
35 |
-
* @var string $_languagePagantis Force language on bank page
|
36 |
-
*/
|
37 |
-
protected $_languagePagantis;
|
38 |
-
|
39 |
-
/**
|
40 |
-
* @var string $_authMethod Authentication method for payment redirect.
|
41 |
-
*/
|
42 |
-
protected $_authMethod;
|
43 |
-
|
44 |
-
/**
|
45 |
-
* @var string $_accountCode
|
46 |
-
*/
|
47 |
-
protected $_accountCode;
|
48 |
-
|
49 |
-
/**
|
50 |
-
* @var string $accountKey
|
51 |
-
*/
|
52 |
-
protected $_accountKey;
|
53 |
-
|
54 |
-
/**
|
55 |
-
* @var string $_accountApiKey
|
56 |
-
*/
|
57 |
-
protected $_accountApiKey;
|
58 |
-
|
59 |
-
/**
|
60 |
-
* @var string $_urlOk Requerido 500 URL completa.
|
61 |
-
*/
|
62 |
-
protected $_urlOk;
|
63 |
-
|
64 |
-
/**
|
65 |
-
*
|
66 |
-
* @var string $_urlKo Requerido 500 URL completa.
|
67 |
-
*/
|
68 |
-
protected $_urlKo;
|
69 |
-
|
70 |
-
/**
|
71 |
-
*
|
72 |
-
* @var string $_callback_url Requerido 500 URL completa.
|
73 |
-
*/
|
74 |
-
protected $_callback_url;
|
75 |
-
|
76 |
-
/**
|
77 |
-
* @var string $_firma created by clave_de_firma + account_id + order_id + amount + currency + auth_method + ok_url + nok_url
|
78 |
-
*/
|
79 |
-
protected $_firma;
|
80 |
-
|
81 |
-
/**
|
82 |
-
* @var dicount
|
83 |
-
*/
|
84 |
-
protected $_dicount;
|
85 |
-
|
86 |
-
|
87 |
-
public function __construct()
|
88 |
-
{
|
89 |
-
$this->_languagePagantis = $this->setLanguagePagantis(); //Por defecto español
|
90 |
-
$this->_currency = $this->setCurrency();
|
91 |
-
}
|
92 |
-
|
93 |
-
/**
|
94 |
-
* Return the array version of the Request to be sent through the form
|
95 |
-
*
|
96 |
-
* @return string
|
97 |
-
*/
|
98 |
-
public function toArray()
|
99 |
-
{
|
100 |
-
$array = array();
|
101 |
-
$array['locale'] = $this->_languagePagantis;
|
102 |
-
$array['ok_url'] = $this->_urlOk;
|
103 |
-
$array['nok_url'] = $this->_urlKo;
|
104 |
-
$array['callback_url'] = $this->_callback_url;
|
105 |
-
$array['discount'] = $this->_discount;
|
106 |
-
//$array['urlPagantis'] = $this->_urlPagantis;
|
107 |
-
$array['account_id'] = $this->_accountCode;
|
108 |
-
$array['amount'] = $this->_amount;
|
109 |
-
$array['auth_method'] = $this->_authMethod;
|
110 |
-
$array['currency'] = $this->_currency;
|
111 |
-
$array['signature'] = $this->_firma;
|
112 |
-
$array['order_id'] = $this->_orderId;
|
113 |
-
return $array;
|
114 |
-
}
|
115 |
-
|
116 |
-
/**
|
117 |
-
* Assign url for redirect
|
118 |
-
* @param string $urlPagantis
|
119 |
-
* @throws Exception
|
120 |
-
*/
|
121 |
-
public function setUrlPagantis($urlPagantis = '')
|
122 |
-
{
|
123 |
-
if (strlen(trim($urlPagantis)) > 0) {
|
124 |
-
$this->_urlPagantis = $urlPagantis;
|
125 |
-
} else {
|
126 |
-
throw new \Exception('Missing url for redirect to page bank');
|
127 |
-
}
|
128 |
-
}
|
129 |
-
|
130 |
-
/**
|
131 |
-
* Assign url for redirect
|
132 |
-
* @param string $urlPagantis
|
133 |
-
* @throws Exception
|
134 |
-
*/
|
135 |
-
public function setOrderId($orderId = '')
|
136 |
-
{
|
137 |
-
if (strlen(trim($orderId)) > 0) {
|
138 |
-
$this->_orderId = $orderId;
|
139 |
-
} else {
|
140 |
-
throw new \Exception('Missing orderId');
|
141 |
-
}
|
142 |
-
}
|
143 |
-
|
144 |
-
/**
|
145 |
-
* Assign currency for redirect
|
146 |
-
* @param string $currency
|
147 |
-
* @throws Exception
|
148 |
-
*/
|
149 |
-
public function setCurrency()
|
150 |
-
{
|
151 |
-
return Pagantis_Pagantis_Model_Currency::EUR;
|
152 |
-
}
|
153 |
-
|
154 |
-
/**
|
155 |
-
* Assign url for redirect
|
156 |
-
* @param string $urlPagantis
|
157 |
-
* @throws Exception
|
158 |
-
*/
|
159 |
-
public function setAmount($amount = '')
|
160 |
-
{
|
161 |
-
if (strlen(trim($amount)) > 0) {
|
162 |
-
$this->_amount = $amount;
|
163 |
-
} else {
|
164 |
-
throw new \Exception('Missing amount');
|
165 |
-
}
|
166 |
-
}
|
167 |
-
|
168 |
-
/**
|
169 |
-
* Assign language for bank page
|
170 |
-
* @param string $language Language for bank page
|
171 |
-
*/
|
172 |
-
public function setLanguagePagantis($language = 'es')
|
173 |
-
{
|
174 |
-
return $language;
|
175 |
-
}
|
176 |
-
|
177 |
-
/**
|
178 |
-
* Assign authentication method
|
179 |
-
* @param string $authMethod Auth method.
|
180 |
-
*/
|
181 |
-
public function setAuthMethod($authMethod = 'SHA1')
|
182 |
-
{
|
183 |
-
$this->_authMethod = $authMethod;
|
184 |
-
}
|
185 |
-
|
186 |
-
/**
|
187 |
-
* Assign account code
|
188 |
-
* @param string $accountCode
|
189 |
-
* @throws Exception
|
190 |
-
*/
|
191 |
-
public function setAccountCode($accountCode=''){
|
192 |
-
if (strlen(trim($accountCode)) > 0) {
|
193 |
-
$this->_accountCode = $accountCode;
|
194 |
-
} else {
|
195 |
-
throw new \Exception('Missing account code');
|
196 |
-
}
|
197 |
-
}
|
198 |
-
|
199 |
-
/**
|
200 |
-
* Assign discount
|
201 |
-
* @param string $discount
|
202 |
-
* @throws Exception
|
203 |
-
*/
|
204 |
-
public function setDiscount($discount=''){
|
205 |
-
if ($discount == 1) {
|
206 |
-
$this->_discount = 'true';
|
207 |
-
} else {
|
208 |
-
$this->_discount = 'false';
|
209 |
-
}
|
210 |
-
}
|
211 |
-
|
212 |
-
/**
|
213 |
-
* Assign account key
|
214 |
-
* @param string $accountKey
|
215 |
-
* @throws Exception
|
216 |
-
*/
|
217 |
-
public function setAccountKey($accountKey=''){
|
218 |
-
if (strlen(trim($accountKey)) > 0) {
|
219 |
-
$this->_accountKey = $accountKey;
|
220 |
-
} else {
|
221 |
-
throw new \Exception('Missing account key');
|
222 |
-
}
|
223 |
-
}
|
224 |
-
|
225 |
-
/**
|
226 |
-
* Assign account key
|
227 |
-
* @param string $accountApiKey
|
228 |
-
* @throws Exception
|
229 |
-
*/
|
230 |
-
public function setAccountApiKey($accountApiKey=''){
|
231 |
-
if (strlen(trim($accountApiKey)) > 0) {
|
232 |
-
$this->_accountApiKey = $accountApiKey;
|
233 |
-
} else {
|
234 |
-
throw new \Exception('Missing account API key');
|
235 |
-
}
|
236 |
-
}
|
237 |
-
|
238 |
-
/**
|
239 |
-
* @param string $urlok
|
240 |
-
* @throws Exception
|
241 |
-
*/
|
242 |
-
public function setUrlOk()
|
243 |
-
{
|
244 |
-
$urlOk = $this->getUrl('success');
|
245 |
-
if (strlen(trim($urlOk)) > 0) {
|
246 |
-
$this->_urlOk = $urlOk;
|
247 |
-
} else {
|
248 |
-
throw new \Exception('UrlOk not defined');
|
249 |
-
}
|
250 |
-
|
251 |
-
}
|
252 |
-
|
253 |
-
/**
|
254 |
-
* @param string $urlnok
|
255 |
-
* @throws Exception
|
256 |
-
*/
|
257 |
-
public function setUrlKo($urlKo = '')
|
258 |
-
{
|
259 |
-
$urlKo = $this->getUrl('cancel');
|
260 |
-
if (strlen(trim($urlKo)) > 0) {
|
261 |
-
$this->_urlKo = $urlKo;
|
262 |
-
} else {
|
263 |
-
throw new \Exception('UrlKo not defined');
|
264 |
-
}
|
265 |
-
}
|
266 |
-
|
267 |
-
/**
|
268 |
-
* @param string $urlnok
|
269 |
-
* @throws Exception
|
270 |
-
*/
|
271 |
-
public function setCacllbackUrl($url = '')
|
272 |
-
{
|
273 |
-
$this->_callback_url=Mage::getBaseUrl()."/pagantis/pagantis/notification";
|
274 |
-
}
|
275 |
-
|
276 |
-
/**
|
277 |
-
* Firm generation
|
278 |
-
* Generated with SHA1 of _accountKey + _accountCode + _orderId + _amount + _currency + _authMethod + _urlOk + _urlKo
|
279 |
-
* @throws Exception
|
280 |
-
* @return string
|
281 |
-
*/
|
282 |
-
public function setFirma()
|
283 |
-
{
|
284 |
-
|
285 |
-
if (strlen(trim($textToEncode)) > 0) {
|
286 |
-
// Retrieve del SHA1
|
287 |
-
$this->_firma = sha1($textToEncode);
|
288 |
-
} else {
|
289 |
-
throw new Exception('Missing SHA1');
|
290 |
-
}
|
291 |
-
}
|
292 |
-
|
293 |
-
//Utilities
|
294 |
-
//http://stackoverflow.com/a/9111049/444225
|
295 |
-
private function priceToSQL($price)
|
296 |
-
{
|
297 |
-
$price = preg_replace('/[^0-9\.,]*/i', '', $price);
|
298 |
-
$price = str_replace(',', '.', $price);
|
299 |
-
|
300 |
-
if (substr($price, -3, 1) == '.') {
|
301 |
-
$price = explode('.', $price);
|
302 |
-
$last = array_pop($price);
|
303 |
-
$price = join($price, '') . '.' . $last;
|
304 |
-
} else {
|
305 |
-
$price = str_replace('.', '', $price);
|
306 |
-
}
|
307 |
-
|
308 |
-
return $price;
|
309 |
-
}
|
310 |
-
|
311 |
-
public function getUrl($path)
|
312 |
-
{
|
313 |
-
$url = Mage::getUrl(self::BASE . "/$path");
|
314 |
-
return Mage::getModel('core/url')->sessionUrlVar($url);
|
315 |
-
}
|
316 |
-
|
317 |
-
/**
|
318 |
-
* Converts field names for setters and getters
|
319 |
-
*
|
320 |
-
* @param string $name
|
321 |
-
* @return string
|
322 |
-
*/
|
323 |
-
private function underscore($name)
|
324 |
-
{
|
325 |
-
$result = strtolower(preg_replace('/(.)([A-Z])/', "$1_$2", $name));
|
326 |
-
return $result;
|
327 |
-
}
|
328 |
-
|
329 |
-
/**
|
330 |
-
* Checks if received response is correct
|
331 |
-
* Clave_encriptacion+MerchantID+AcquirerBIN+TerminalID+Num_operacion+Importe+TipoMoneda+ Exponente+Referencia
|
332 |
-
* @param Yameveo_Ceca_Model_Webservice_Response $response
|
333 |
-
* @return boolean
|
334 |
-
*/
|
335 |
-
/*public function checkResponseSignature(Pagantis_Pagantis_Model_Webservice_Response $response)
|
336 |
-
{
|
337 |
-
$txt = $this->_clave_encriptacion;
|
338 |
-
$txt .= $response->getMerchantId();
|
339 |
-
$txt .= $response->getAcquirerBin();
|
340 |
-
$txt .= $response->getTerminalId();
|
341 |
-
$txt .= $response->getNumOperacion();
|
342 |
-
$txt .= $response->getImporte();
|
343 |
-
$txt .= $response->getTipoMoneda();
|
344 |
-
$txt .= $response->getExponente();
|
345 |
-
$txt .= $response->getReferencia();
|
346 |
-
|
347 |
-
// Calculate signature
|
348 |
-
$signature = sha1($txt);
|
349 |
-
|
350 |
-
// Compare received signature with calculated
|
351 |
-
return strtolower($signature) === strtolower($response->getFirma());
|
352 |
-
}*/
|
353 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Model/Webservice/Requestloan.php
DELETED
@@ -1,422 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Class Pagantis_Pagantis_Model_Webservice_Request
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
|
12 |
-
class Pagantis_Pagantis_Model_Webservice_Requestloan
|
13 |
-
{
|
14 |
-
const BASE = 'pagantis/pagantis';
|
15 |
-
|
16 |
-
/**
|
17 |
-
* @var string $_urlPagantis Redirect url for payment
|
18 |
-
*/
|
19 |
-
protected $_urlPagantis;
|
20 |
-
|
21 |
-
/**
|
22 |
-
* @var string $_amount Order Amount
|
23 |
-
*/
|
24 |
-
protected $_amount;
|
25 |
-
|
26 |
-
/**
|
27 |
-
* @var string $_currency Order Amount
|
28 |
-
*/
|
29 |
-
protected $_currency;
|
30 |
-
|
31 |
-
/**
|
32 |
-
* @var string $_orderId Increment order Id
|
33 |
-
*/
|
34 |
-
protected $_orderId;
|
35 |
-
/**
|
36 |
-
* @var string $_languagePagantis Force language on bank page
|
37 |
-
*/
|
38 |
-
protected $_languagePagantis;
|
39 |
-
|
40 |
-
/**
|
41 |
-
* @var string $_authMethod Authentication method for payment redirect.
|
42 |
-
*/
|
43 |
-
protected $_authMethod;
|
44 |
-
|
45 |
-
/**
|
46 |
-
* @var string $_accountCode
|
47 |
-
*/
|
48 |
-
protected $_accountCode;
|
49 |
-
|
50 |
-
/**
|
51 |
-
* @var string $accountKey
|
52 |
-
*/
|
53 |
-
protected $_accountKey;
|
54 |
-
|
55 |
-
|
56 |
-
/**
|
57 |
-
* @var string $_urlOk Requerido 500 URL completa.
|
58 |
-
*/
|
59 |
-
protected $_urlOk;
|
60 |
-
|
61 |
-
/**
|
62 |
-
*
|
63 |
-
* @var string $_urlKo Requerido 500 URL completa.
|
64 |
-
*/
|
65 |
-
protected $_urlKo;
|
66 |
-
|
67 |
-
/**
|
68 |
-
*
|
69 |
-
* @var string $_urlKo Requerido 500 URL completa.
|
70 |
-
*/
|
71 |
-
protected $_callback_url;
|
72 |
-
|
73 |
-
|
74 |
-
/**
|
75 |
-
* @var string $_firma created by clave_de_firma + account_id + order_id + amount + currency + ok_url + nok_url
|
76 |
-
*/
|
77 |
-
protected $_firma;
|
78 |
-
|
79 |
-
/**
|
80 |
-
* @var array
|
81 |
-
*/
|
82 |
-
protected $_userData;
|
83 |
-
|
84 |
-
/**
|
85 |
-
* @var array
|
86 |
-
*/
|
87 |
-
protected $_items;
|
88 |
-
|
89 |
-
/**
|
90 |
-
* @var dicount
|
91 |
-
*/
|
92 |
-
protected $_dicount;
|
93 |
-
|
94 |
-
public function __construct()
|
95 |
-
{
|
96 |
-
$this->_languagePagantis = $this->setLanguagePagantis(); //Por defecto español
|
97 |
-
$this->_currency = $this->setCurrency();
|
98 |
-
}
|
99 |
-
|
100 |
-
/**
|
101 |
-
* Return the array version of the Request to be sent through the form
|
102 |
-
*
|
103 |
-
* @return string
|
104 |
-
*/
|
105 |
-
public function toArray()
|
106 |
-
{
|
107 |
-
$array = array();
|
108 |
-
$array['order_id'] = $this->_orderId;
|
109 |
-
$array['amount'] = $this->_amount;
|
110 |
-
$array['currency'] = $this->_currency;
|
111 |
-
|
112 |
-
$array['ok_url'] = $this->_urlOk;
|
113 |
-
$array['nok_url'] = $this->_urlKo;
|
114 |
-
$array['callback_url'] = $this->_callback_url;
|
115 |
-
$array['discount[full]'] = $this->_discount;
|
116 |
-
|
117 |
-
$array['locale'] = $this->_languagePagantis;
|
118 |
-
$array['phone'] = $this->_userData['phone'];
|
119 |
-
$array['full_name'] = $this->_userData['full_name'];
|
120 |
-
$array['email'] = $this->_userData['email'];
|
121 |
-
$array['address[street]'] = $this->_userData['street'];
|
122 |
-
$array['address[city]'] = $this->_userData['city'];
|
123 |
-
$array['address[province]'] = $this->_userData['province'];
|
124 |
-
$array['address[zipcode]'] = $this->_userData['zipcode'];
|
125 |
-
$array['dni'] = $this->_userData['dni'];
|
126 |
-
|
127 |
-
foreach($this->_items as $key => $value){
|
128 |
-
$array['items[' . $key . '][description]'] = $value['description'];
|
129 |
-
$array['items[' . $key . '][quantity]'] = $value['quantity'];
|
130 |
-
$array['items[' . $key . '][amount]'] = $value['amount'];
|
131 |
-
}
|
132 |
-
|
133 |
-
$array['account_id'] = $this->_accountCode;
|
134 |
-
$array['signature'] = $this->_firma;
|
135 |
-
|
136 |
-
return $array;
|
137 |
-
}
|
138 |
-
|
139 |
-
/**
|
140 |
-
* Assign url for redirect
|
141 |
-
* @param string $urlPagantis
|
142 |
-
* @throws Exception
|
143 |
-
*/
|
144 |
-
public function setUrlPagantis($urlPagantis = '')
|
145 |
-
{
|
146 |
-
if (strlen(trim($urlPagantis)) > 0) {
|
147 |
-
$this->_urlPagantis = $urlPagantis;
|
148 |
-
} else {
|
149 |
-
throw new \Exception('Missing url for redirect to page bank');
|
150 |
-
}
|
151 |
-
}
|
152 |
-
|
153 |
-
/**
|
154 |
-
* Assign url for redirect
|
155 |
-
* @param string $urlPagantis
|
156 |
-
* @throws Exception
|
157 |
-
*/
|
158 |
-
public function setOrderId($orderId = '')
|
159 |
-
{
|
160 |
-
if (strlen(trim($orderId)) > 0) {
|
161 |
-
$this->_orderId = $orderId;
|
162 |
-
} else {
|
163 |
-
throw new \Exception('Missing orderId');
|
164 |
-
}
|
165 |
-
}
|
166 |
-
|
167 |
-
/**
|
168 |
-
* Assign currency for redirect
|
169 |
-
* @param string $currency
|
170 |
-
* @throws Exception
|
171 |
-
*/
|
172 |
-
public function setCurrency()
|
173 |
-
{
|
174 |
-
return Pagantis_Pagantis_Model_Currency::EUR;
|
175 |
-
}
|
176 |
-
|
177 |
-
/**
|
178 |
-
* Assign url for redirect
|
179 |
-
* @param string $urlPagantis
|
180 |
-
* @throws Exception
|
181 |
-
*/
|
182 |
-
public function setAmount($amount = '')
|
183 |
-
{
|
184 |
-
if (strlen(trim($amount)) > 0) {
|
185 |
-
$this->_amount = $amount;
|
186 |
-
} else {
|
187 |
-
throw new \Exception('Missing amount');
|
188 |
-
}
|
189 |
-
}
|
190 |
-
|
191 |
-
/**
|
192 |
-
* Assign language for bank page
|
193 |
-
* @param string $language Language for bank page
|
194 |
-
*/
|
195 |
-
public function setLanguagePagantis($language = 'es')
|
196 |
-
{
|
197 |
-
return $language;
|
198 |
-
}
|
199 |
-
|
200 |
-
/**
|
201 |
-
* Assign user data
|
202 |
-
* @param string $addressId
|
203 |
-
* @throws Exception
|
204 |
-
*/
|
205 |
-
public function setUserData($addressId)
|
206 |
-
{
|
207 |
-
if ($addressId) {
|
208 |
-
$address = Mage::getModel('sales/order_address')->load($addressId);
|
209 |
-
$street = $address->getStreet();
|
210 |
-
if ($street){
|
211 |
-
$this->_userData['street'] = $street[0];
|
212 |
-
}
|
213 |
-
$this->_userData['city'] = $address->getCity();
|
214 |
-
$this->_userData['province'] = $address->getCity();
|
215 |
-
$this->_userData['zipcode'] = $address->getPostcode();
|
216 |
-
$this->_userData['dni'] = $address->getVatId();
|
217 |
-
$this->_userData['full_name'] = $address->getFirstname() . ' ' . $address->getLastname();
|
218 |
-
$this->_userData['email'] = $address->getEmail();
|
219 |
-
$this->_userData['phone'] = $address->getTelephone();
|
220 |
-
} else {
|
221 |
-
throw new \Exception('Missing user data info');
|
222 |
-
}
|
223 |
-
}
|
224 |
-
|
225 |
-
/**
|
226 |
-
* Assign user data
|
227 |
-
* @param string $addressId
|
228 |
-
* @throws Exception
|
229 |
-
*/
|
230 |
-
public function setOrderItems($orderId)
|
231 |
-
{
|
232 |
-
if ($orderId) {
|
233 |
-
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
|
234 |
-
$items = $order->getAllVisibleItems();
|
235 |
-
$i = 0;
|
236 |
-
foreach($items as $item){
|
237 |
-
$amount = round($item->getPriceInclTax(),2);
|
238 |
-
$quantity = round($item->getQtyOrdered());
|
239 |
-
$this->_items[$i]['description'] = $item->getName();
|
240 |
-
$this->_items[$i]['quantity'] = $quantity;
|
241 |
-
$this->_items[$i]['amount'] = round($amount*$quantity,2);
|
242 |
-
$i++;
|
243 |
-
}
|
244 |
-
$shippingAmount = round($order->getShippingAmount(),2);
|
245 |
-
if($shippingAmount){
|
246 |
-
$this->_items[$i]['description'] = "Gastos de envío";
|
247 |
-
$this->_items[$i]['quantity'] = "1";
|
248 |
-
$this->_items[$i]['amount'] = $shippingAmount;
|
249 |
-
$i++;
|
250 |
-
}
|
251 |
-
$discountAmount = round($order->getBaseDiscountAmount(),2);
|
252 |
-
if($discountAmount){
|
253 |
-
$this->_items[$i]['description'] = "Descuento";
|
254 |
-
$this->_items[$i]['quantity'] = "1";
|
255 |
-
$this->_items[$i]['amount'] = $discountAmount;
|
256 |
-
}
|
257 |
-
|
258 |
-
} else {
|
259 |
-
throw new \Exception('Missing user data info');
|
260 |
-
}
|
261 |
-
}
|
262 |
-
|
263 |
-
/**
|
264 |
-
* Assign account code
|
265 |
-
* @param string $accountCode
|
266 |
-
* @throws Exception
|
267 |
-
*/
|
268 |
-
public function setAccountCode($accountCode=''){
|
269 |
-
if (strlen(trim($accountCode)) > 0) {
|
270 |
-
$this->_accountCode = $accountCode;
|
271 |
-
} else {
|
272 |
-
throw new \Exception('Missing account code');
|
273 |
-
}
|
274 |
-
}
|
275 |
-
|
276 |
-
/**
|
277 |
-
* Assign discount
|
278 |
-
* @param string $discount
|
279 |
-
* @throws Exception
|
280 |
-
*/
|
281 |
-
public function setDiscount($discount=''){
|
282 |
-
if ($discount == 1) {
|
283 |
-
$this->_discount = 'true';
|
284 |
-
} else {
|
285 |
-
$this->_discount = 'false';
|
286 |
-
}
|
287 |
-
}
|
288 |
-
/**
|
289 |
-
* Assign account key
|
290 |
-
* @param string $accountKey
|
291 |
-
* @throws Exception
|
292 |
-
*/
|
293 |
-
public function setAccountKey($accountKey=''){
|
294 |
-
if (strlen(trim($accountKey)) > 0) {
|
295 |
-
$this->_accountKey = $accountKey;
|
296 |
-
} else {
|
297 |
-
throw new \Exception('Missing account key');
|
298 |
-
}
|
299 |
-
}
|
300 |
-
|
301 |
-
|
302 |
-
/**
|
303 |
-
* @param string $urlok
|
304 |
-
* @throws Exception
|
305 |
-
*/
|
306 |
-
public function setUrlOk()
|
307 |
-
{
|
308 |
-
$urlOk = $this->getUrl('success');
|
309 |
-
if (strlen(trim($urlOk)) > 0) {
|
310 |
-
$this->_urlOk = $urlOk;
|
311 |
-
} else {
|
312 |
-
throw new \Exception('UrlOk not defined');
|
313 |
-
}
|
314 |
-
|
315 |
-
}
|
316 |
-
|
317 |
-
/**
|
318 |
-
* @param string $urlnok
|
319 |
-
* @throws Exception
|
320 |
-
*/
|
321 |
-
public function setUrlKo($urlKo = '')
|
322 |
-
{
|
323 |
-
$urlKo = $this->getUrl('cancel');
|
324 |
-
if (strlen(trim($urlKo)) > 0) {
|
325 |
-
$this->_urlKo = $urlKo;
|
326 |
-
} else {
|
327 |
-
throw new \Exception('UrlKo not defined');
|
328 |
-
}
|
329 |
-
}
|
330 |
-
|
331 |
-
/**
|
332 |
-
* @param string $urlnok
|
333 |
-
* @throws Exception
|
334 |
-
*/
|
335 |
-
public function setCacllbackUrl($ur = '')
|
336 |
-
{
|
337 |
-
$this->_callback_url=Mage::getBaseUrl()."/pagantis/pagantis/notification";
|
338 |
-
}
|
339 |
-
|
340 |
-
|
341 |
-
/**
|
342 |
-
* Firm generation
|
343 |
-
* Generated with SHA1 of _accountKey + _accountCode + _orderId + _amount + _currency + _urlOk + _urlKo
|
344 |
-
* @throws Exception
|
345 |
-
* @return string
|
346 |
-
*/
|
347 |
-
public function setFirma()
|
348 |
-
{
|
349 |
-
$textToEncode = $this->_accountKey . $this->_accountCode . $this->_orderId . $this->_amount . $this->_currency . $this->_urlOk . $this->_urlKo . $this->_callback_url . $this->_discount;
|
350 |
-
//encoding is SHA1
|
351 |
-
$this->_firma = sha1($textToEncode);
|
352 |
-
/*
|
353 |
-
if (strlen(trim($textToEncode)) > 0) {
|
354 |
-
// Retrieve del SHA1
|
355 |
-
$this->_firma = sha1($textToEncode);
|
356 |
-
} else {
|
357 |
-
throw new Exception('Missing SHA1');
|
358 |
-
}
|
359 |
-
*/
|
360 |
-
}
|
361 |
-
|
362 |
-
//Utilities
|
363 |
-
//http://stackoverflow.com/a/9111049/444225
|
364 |
-
private function priceToSQL($price)
|
365 |
-
{
|
366 |
-
$price = preg_replace('/[^0-9\.,]*/i', '', $price);
|
367 |
-
$price = str_replace(',', '.', $price);
|
368 |
-
|
369 |
-
if (substr($price, -3, 1) == '.') {
|
370 |
-
$price = explode('.', $price);
|
371 |
-
$last = array_pop($price);
|
372 |
-
$price = join($price, '') . '.' . $last;
|
373 |
-
} else {
|
374 |
-
$price = str_replace('.', '', $price);
|
375 |
-
}
|
376 |
-
|
377 |
-
return $price;
|
378 |
-
}
|
379 |
-
|
380 |
-
public function getUrl($path)
|
381 |
-
{
|
382 |
-
$url = Mage::getUrl(self::BASE . "/$path");
|
383 |
-
return Mage::getModel('core/url')->sessionUrlVar($url);
|
384 |
-
}
|
385 |
-
|
386 |
-
/**
|
387 |
-
* Converts field names for setters and getters
|
388 |
-
*
|
389 |
-
* @param string $name
|
390 |
-
* @return string
|
391 |
-
*/
|
392 |
-
private function underscore($name)
|
393 |
-
{
|
394 |
-
$result = strtolower(preg_replace('/(.)([A-Z])/', "$1_$2", $name));
|
395 |
-
return $result;
|
396 |
-
}
|
397 |
-
|
398 |
-
/**
|
399 |
-
* Checks if received response is correct
|
400 |
-
* Clave_encriptacion+MerchantID+AcquirerBIN+TerminalID+Num_operacion+Importe+TipoMoneda+ Exponente+Referencia
|
401 |
-
* @param Yameveo_Ceca_Model_Webservice_Response $response
|
402 |
-
* @return boolean
|
403 |
-
*/
|
404 |
-
/*public function checkResponseSignature(Pagantis_Pagantis_Model_Webservice_Response $response)
|
405 |
-
{
|
406 |
-
$txt = $this->_clave_encriptacion;
|
407 |
-
$txt .= $response->getMerchantId();
|
408 |
-
$txt .= $response->getAcquirerBin();
|
409 |
-
$txt .= $response->getTerminalId();
|
410 |
-
$txt .= $response->getNumOperacion();
|
411 |
-
$txt .= $response->getImporte();
|
412 |
-
$txt .= $response->getTipoMoneda();
|
413 |
-
$txt .= $response->getExponente();
|
414 |
-
$txt .= $response->getReferencia();
|
415 |
-
|
416 |
-
// Calculate signature
|
417 |
-
$signature = sha1($txt);
|
418 |
-
|
419 |
-
// Compare received signature with calculated
|
420 |
-
return strtolower($signature) === strtolower($response->getFirma());
|
421 |
-
}*/
|
422 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/Model/Webservice/Response.php
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
*
|
5 |
-
* @package Pagantis_Pagantis
|
6 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
7 |
-
* @author Yameveo <yameveo@yameveo.com>
|
8 |
-
* @link http://www.yameveo.com
|
9 |
-
*/
|
10 |
-
|
11 |
-
class Pagantis_Pagantis_Model_Webservice_Response
|
12 |
-
{
|
13 |
-
|
14 |
-
|
15 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/controllers/PagantisController.php
DELETED
@@ -1,181 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Pagantis Checkout Controller
|
5 |
-
*
|
6 |
-
* @package Pagantis_Pagantis
|
7 |
-
* @copyright Copyright (c) 2015 Yameveo (http://www.yameveo.com)
|
8 |
-
* @author Yameveo <yameveo@yameveo.com>
|
9 |
-
* @link http://www.yameveo.com
|
10 |
-
*/
|
11 |
-
class Pagantis_Pagantis_PagantisController extends Mage_Core_Controller_Front_Action
|
12 |
-
{
|
13 |
-
/**
|
14 |
-
* When a customer chooses Pagantis on Checkout/Payment page
|
15 |
-
*
|
16 |
-
*/
|
17 |
-
public function redirectAction()
|
18 |
-
{
|
19 |
-
/*$state = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT;
|
20 |
-
$session = Mage::getSingleton('checkout/session');
|
21 |
-
$order = Mage::getModel('sales/order')->load($session->getLastOrderId());
|
22 |
-
$order->setState($state, $state, Mage::helper('pagantis_pagantis')->__('Redirected to Pagantis'), false);
|
23 |
-
$order->save();
|
24 |
-
*/
|
25 |
-
$this->loadLayout();
|
26 |
-
$this->renderLayout();
|
27 |
-
}
|
28 |
-
|
29 |
-
/**
|
30 |
-
* When customer cancel payment from CECA (UrlKO)
|
31 |
-
*
|
32 |
-
*/
|
33 |
-
public function cancelAction()
|
34 |
-
{
|
35 |
-
$session = Mage::getSingleton('checkout/session');
|
36 |
-
//Mage::getSingleton(‘core/session’)->addError(‘Error message’);
|
37 |
-
$session->addError('Lo sentimos, se ha producido algún error en el pago, le agradeceríamos que volviera a intentarlo.');
|
38 |
-
if ($session->getLastRealOrderId()) {
|
39 |
-
$order = Mage::getModel('sales/order')->loadByIncrementId($session->getLastRealOrderId());
|
40 |
-
if ($order->getId()) {
|
41 |
-
$order->cancel()->save();
|
42 |
-
}
|
43 |
-
Mage::helper('pagantis_pagantis')->restoreQuote();
|
44 |
-
}
|
45 |
-
$this->_redirect('checkout/cart');
|
46 |
-
}
|
47 |
-
|
48 |
-
public function notificationAction(){
|
49 |
-
//$json = json_decode(file_get_contents(Mage::getBaseDir().'/charge.created.txt'),true);
|
50 |
-
//Notification url mush be like http://mydomain.com/pagantis/pagantis/notification
|
51 |
-
|
52 |
-
$json = file_get_contents('php://input');
|
53 |
-
$temp = json_decode($json,true);
|
54 |
-
//verify notification
|
55 |
-
$conf = Mage::getStoreConfig('payment/pagantis');
|
56 |
-
$environment = $conf['environment'];
|
57 |
-
switch($environment){
|
58 |
-
case Pagantis_Pagantis_Model_Webservice_Client::ENV_TESTING:
|
59 |
-
$key=$conf['account_key_test'];
|
60 |
-
break;
|
61 |
-
case Pagantis_Pagantis_Model_Webservice_Client::ENV_PRODUCTION:
|
62 |
-
$key=$conf['account_key_real'];
|
63 |
-
break;
|
64 |
-
}
|
65 |
-
$signature_check = sha1($key.$temp['account_id'].$temp['api_version'].$temp['event'].$temp['data']['id']);
|
66 |
-
if ($signature_check != $temp['signature'] ){
|
67 |
-
//hack detected
|
68 |
-
$this->cancelAction();
|
69 |
-
return false;
|
70 |
-
}
|
71 |
-
$data = $temp['data'];
|
72 |
-
$orderId = $data['order_id'];
|
73 |
-
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
|
74 |
-
Mage::log('Pagantis notification received for orderId '.$orderId);
|
75 |
-
//Mage::log($data,null,'logfile.txt');
|
76 |
-
if ($order->getId()) {
|
77 |
-
switch ($temp['event']) {
|
78 |
-
case 'charge.created':
|
79 |
-
$order->setPagantisTransaction($data['id']);
|
80 |
-
$order->save();
|
81 |
-
$this->_processOrder($order);
|
82 |
-
break;
|
83 |
-
case 'charge.failed':
|
84 |
-
$order->setPagantisTransaction($data['id']);
|
85 |
-
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED,true);
|
86 |
-
$order->save();
|
87 |
-
break;
|
88 |
-
}
|
89 |
-
}
|
90 |
-
}
|
91 |
-
|
92 |
-
/**
|
93 |
-
* When customer returns from Pagantis (UrlOK)
|
94 |
-
* The order information at this point is in POST
|
95 |
-
* variables. Order processing is done on callbackAction
|
96 |
-
*/
|
97 |
-
public function successAction()
|
98 |
-
{
|
99 |
-
Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
|
100 |
-
$this->_redirect('checkout/onepage/success', array('_secure' => true));
|
101 |
-
}
|
102 |
-
|
103 |
-
public function callbackAction()
|
104 |
-
{
|
105 |
-
$params = $this->getRequest()->getPost();
|
106 |
-
$response = Mage::getModel('pagantis_pagantis/webservice_response', $params);
|
107 |
-
$request = Mage::helper('pagantis_pagantis')->getRequest();
|
108 |
-
|
109 |
-
if ($request->checkResponseSignature($response)) {
|
110 |
-
// Process order
|
111 |
-
$this->_processOrder($response->getOrder(), $response);
|
112 |
-
} else {
|
113 |
-
// Log invalid signature and redirect to home
|
114 |
-
Mage::log('Pagantis: invalid signature on callback', Zend_Log::WARN);
|
115 |
-
$this->_redirect('');
|
116 |
-
}
|
117 |
-
}
|
118 |
-
|
119 |
-
/**
|
120 |
-
* Process order
|
121 |
-
*
|
122 |
-
* @param $order
|
123 |
-
*/
|
124 |
-
private function _processOrder($order)
|
125 |
-
{
|
126 |
-
try {
|
127 |
-
$sendMail = (int) Mage::getStoreConfig('payment/pagantis/sendmail');
|
128 |
-
$createInvoice = (int) Mage::getStoreConfig('payment/pagantis/invoice');
|
129 |
-
if ($order->getId()) {
|
130 |
-
//if ($response->isDsValid()) {
|
131 |
-
$orderStatus = Mage_Sales_Model_Order::STATE_PROCESSING;
|
132 |
-
if ($order->canInvoice() && $createInvoice) {
|
133 |
-
$invoice = $this->_createInvoice($order);
|
134 |
-
$comment = Mage::helper('pagantis_pagantis')->__('Transacción authorizada. Creada factura %s', $invoice->getIncrementId());
|
135 |
-
} else {
|
136 |
-
$comment = Mage::helper('pagantis_pagantis')->__('Transacción authorizada, factura no creada');
|
137 |
-
}
|
138 |
-
// } else {
|
139 |
-
// $orderStatus = Mage_Sales_Model_Order::STATE_CANCELED;
|
140 |
-
// $comment = Mage::helper('yameveo_ceca')->__($response->getErrorMessage());
|
141 |
-
// }
|
142 |
-
$order->setState($orderStatus, $orderStatus, $comment, true);
|
143 |
-
$order->save();
|
144 |
-
if ($sendMail) {
|
145 |
-
if ($orderStatus == Mage_Sales_Model_Order::STATE_PROCESSING) {
|
146 |
-
$order->sendNewOrderEmail();
|
147 |
-
} else {
|
148 |
-
$order->sendOrderUpdateEmail(true);
|
149 |
-
}
|
150 |
-
}
|
151 |
-
}
|
152 |
-
} catch (Exception $e) {
|
153 |
-
Mage::logException($e);
|
154 |
-
}
|
155 |
-
}
|
156 |
-
|
157 |
-
/**
|
158 |
-
* Create an invoice for the order and send an email
|
159 |
-
*
|
160 |
-
* @param Mage_Sales_Model_Order $order
|
161 |
-
* @return Mage_Sales_Model_Order_Invoice
|
162 |
-
*/
|
163 |
-
private function _createInvoice($order)
|
164 |
-
{
|
165 |
-
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
|
166 |
-
if (!$invoice->getTotalQty()) {
|
167 |
-
Mage::throwException(Mage::helper('core')->__('No se puede crear una factura sin productos.'));
|
168 |
-
}
|
169 |
-
|
170 |
-
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
|
171 |
-
$invoice->register();
|
172 |
-
$transactionSave = Mage::getModel('core/resource_transaction')
|
173 |
-
->addObject($invoice)
|
174 |
-
->addObject($invoice->getOrder());
|
175 |
-
|
176 |
-
$transactionSave->save();
|
177 |
-
$invoice->sendEmail();
|
178 |
-
return $invoice;
|
179 |
-
}
|
180 |
-
|
181 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/etc/config.xml
DELETED
@@ -1,132 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<config>
|
3 |
-
<modules>
|
4 |
-
<Pagantis_Pagantis>
|
5 |
-
<version>1.0.0</version>
|
6 |
-
</Pagantis_Pagantis>
|
7 |
-
</modules>
|
8 |
-
<adminhtml>
|
9 |
-
<layout>
|
10 |
-
<updates>
|
11 |
-
<bar>
|
12 |
-
<file>pagantis.xml</file>
|
13 |
-
</bar>
|
14 |
-
</updates>
|
15 |
-
</layout>
|
16 |
-
<translate>
|
17 |
-
<modules>
|
18 |
-
<pagantis_pagantis>
|
19 |
-
<files>
|
20 |
-
<default>Pagantis_Pagantis.csv</default>
|
21 |
-
</files>
|
22 |
-
</pagantis_pagantis>
|
23 |
-
</modules>
|
24 |
-
</translate>
|
25 |
-
</adminhtml>
|
26 |
-
<global>
|
27 |
-
<resources>
|
28 |
-
<pagantis_setup>
|
29 |
-
<setup>
|
30 |
-
<module>Pagantis_Pagantis</module>
|
31 |
-
<class>Mage_Sales_Model_Mysql4_Setup</class>
|
32 |
-
</setup>
|
33 |
-
<connection>
|
34 |
-
<use>core_setup</use>
|
35 |
-
</connection>
|
36 |
-
</pagantis_setup>
|
37 |
-
</resources>
|
38 |
-
<blocks>
|
39 |
-
<pagantis_pagantis>
|
40 |
-
<class>Pagantis_Pagantis_Block</class>
|
41 |
-
</pagantis_pagantis>
|
42 |
-
</blocks>
|
43 |
-
<helpers>
|
44 |
-
<pagantis_pagantis>
|
45 |
-
<class>Pagantis_Pagantis_Helper</class>
|
46 |
-
</pagantis_pagantis>
|
47 |
-
</helpers>
|
48 |
-
<models>
|
49 |
-
<pagantis_pagantis>
|
50 |
-
<class>Pagantis_Pagantis_Model</class>
|
51 |
-
</pagantis_pagantis>
|
52 |
-
</models>
|
53 |
-
</global>
|
54 |
-
<default>
|
55 |
-
<payment>
|
56 |
-
<pagantis>
|
57 |
-
<active>1</active>
|
58 |
-
<model>pagantis_pagantis/payment</model>
|
59 |
-
<order_status>1</order_status>
|
60 |
-
<title>Paga Mas Tarde</title>
|
61 |
-
<url_pagantis>https://psp.pagantis.com/2/charges</url_pagantis>
|
62 |
-
<url_pagantis_mastarde>https://pmt.pagantis.com/v1/installments</url_pagantis_mastarde>
|
63 |
-
<environment></environment>
|
64 |
-
<language_payment_page>ES</language_payment_page>
|
65 |
-
<auth_method>SHA1</auth_method>
|
66 |
-
<account_code_test></account_code_test>
|
67 |
-
<account_key_test></account_key_test>
|
68 |
-
<account_api_key_test></account_api_key_test>
|
69 |
-
<account_code_real></account_code_real>
|
70 |
-
<account_key_real></account_key_real>
|
71 |
-
<discount></discount>
|
72 |
-
<account_api_key_real></account_api_key_real>
|
73 |
-
<sendmail>1</sendmail>
|
74 |
-
<invoice>1</invoice>
|
75 |
-
<!--<sort_order></sort_order>-->
|
76 |
-
<payment_action>authorize_capture</payment_action>
|
77 |
-
</pagantis>
|
78 |
-
</payment>
|
79 |
-
</default>
|
80 |
-
<frontend>
|
81 |
-
<translate>
|
82 |
-
<modules>
|
83 |
-
<pagantis_pagantis>
|
84 |
-
<files>
|
85 |
-
<default>Pagantis_Pagantis.csv</default>
|
86 |
-
</files>
|
87 |
-
</pagantis_pagantis>
|
88 |
-
</modules>
|
89 |
-
</translate>
|
90 |
-
<secure_url>
|
91 |
-
<pagantis>/pagantis/pagantis</pagantis>
|
92 |
-
</secure_url>
|
93 |
-
<routers>
|
94 |
-
<pagantis>
|
95 |
-
<use>standard</use>
|
96 |
-
<args>
|
97 |
-
<module>Pagantis_Pagantis</module>
|
98 |
-
<frontName>pagantis</frontName>
|
99 |
-
</args>
|
100 |
-
</pagantis>
|
101 |
-
</routers>
|
102 |
-
<layout>
|
103 |
-
<updates>
|
104 |
-
<pagantis_pagantis_redirect>
|
105 |
-
<file>pagantis.xml</file>
|
106 |
-
</pagantis_pagantis_redirect>
|
107 |
-
</updates>
|
108 |
-
</layout>
|
109 |
-
</frontend>
|
110 |
-
<!--<crontab>
|
111 |
-
<jobs>
|
112 |
-
<pagantis_pagantis>
|
113 |
-
<schedule>
|
114 |
-
<config_path>pagantis_config/settings/cron_settings</config_path>
|
115 |
-
</schedule>
|
116 |
-
<run>
|
117 |
-
<model>pagantis_pagantis/observer::exportOrders</model>
|
118 |
-
</run>
|
119 |
-
</pagantis_pagantis>
|
120 |
-
</jobs>
|
121 |
-
</crontab>-->
|
122 |
-
<crontab>
|
123 |
-
<jobs>
|
124 |
-
<pagantis_pagantis>
|
125 |
-
<schedule><cron_expr>*/30 * * * *</cron_expr></schedule>
|
126 |
-
<run>
|
127 |
-
<model>pagantis_pagantis/observer::cancelPendingOrders</model>
|
128 |
-
</run>
|
129 |
-
</pagantis_pagantis>
|
130 |
-
</jobs>
|
131 |
-
</crontab>
|
132 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/etc/system.xml
DELETED
@@ -1,212 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<config>
|
3 |
-
<sections>
|
4 |
-
<payment>
|
5 |
-
<groups>
|
6 |
-
<pagantis translate="label" module="pagantis_pagantis">
|
7 |
-
<label>Pagamastarde Payment</label>
|
8 |
-
<sort_order>10</sort_order>
|
9 |
-
<show_in_default>1</show_in_default>
|
10 |
-
<show_in_website>1</show_in_website>
|
11 |
-
<show_in_store>1</show_in_store>
|
12 |
-
<frontend_model>pagantis_pagantis/adminhtml_system_config_fieldset_payment</frontend_model>
|
13 |
-
<fields>
|
14 |
-
<active translate="label" module="pagantis_pagantis">
|
15 |
-
<label>Habilitado</label>
|
16 |
-
<comment>Habilitar esta forma de pago?</comment>
|
17 |
-
<frontend_type>select</frontend_type>
|
18 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
19 |
-
<sort_order>1</sort_order>
|
20 |
-
<show_in_default>1</show_in_default>
|
21 |
-
<show_in_website>1</show_in_website>
|
22 |
-
<show_in_store>1</show_in_store>
|
23 |
-
</active>
|
24 |
-
<title translate="label" module="pagantis_pagantis">
|
25 |
-
<label>Título</label>
|
26 |
-
<sort_order>2</sort_order>
|
27 |
-
<show_in_default>1</show_in_default>
|
28 |
-
<show_in_website>1</show_in_website>
|
29 |
-
<show_in_store>1</show_in_store>
|
30 |
-
</title>
|
31 |
-
<!--<title_pagamastarde translate="label" module="pagantis_pagantis">
|
32 |
-
<label>Título Paga Mas Tarde</label>
|
33 |
-
<sort_order>3</sort_order>
|
34 |
-
<show_in_default>1</show_in_default>
|
35 |
-
<show_in_website>1</show_in_website>
|
36 |
-
<show_in_store>1</show_in_store>
|
37 |
-
</title_pagamastarde>-->
|
38 |
-
<!-- remove pagantis payment, pmt url moved to settings and automatically enabled -->
|
39 |
-
<!-- <url_pagantis translate="label" module="pagantis_pagantis">
|
40 |
-
<label>URL Pago Cobro Único</label>
|
41 |
-
<frontend_type>text</frontend_type>
|
42 |
-
<sort_order>10</sort_order>
|
43 |
-
<show_in_default>1</show_in_default>
|
44 |
-
<show_in_website>1</show_in_website>
|
45 |
-
<show_in_store>1</show_in_store>
|
46 |
-
</url_pagantis>
|
47 |
-
<url_pagantis_activated translate="label" module="pagantis_pagantis">
|
48 |
-
<label>Activar forma de Pago Cobro Único</label>
|
49 |
-
<comment>Abilitando esta forma de pago el cliente podrá eligirla al momento de la compra</comment>
|
50 |
-
<frontend_type>select</frontend_type>
|
51 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
52 |
-
<sort_order>11</sort_order>
|
53 |
-
<show_in_default>1</show_in_default>
|
54 |
-
<show_in_website>1</show_in_website>
|
55 |
-
<show_in_store>1</show_in_store>
|
56 |
-
</url_pagantis_activated>
|
57 |
-
<url_pagantis_mastarde translate="label" module="pagantis_pagantis">
|
58 |
-
<label>URL Paga+Tarde</label>
|
59 |
-
<frontend_type>text</frontend_type>
|
60 |
-
<sort_order>12</sort_order>
|
61 |
-
<show_in_default>1</show_in_default>
|
62 |
-
<show_in_website>1</show_in_website>
|
63 |
-
<show_in_store>1</show_in_store>
|
64 |
-
</url_pagantis_mastarde>
|
65 |
-
<url_pagantis_mastarde_activated translate="label" module="pagantis_pagantis">
|
66 |
-
<label>Activar forma de Paga+Tarde</label>
|
67 |
-
<comment>Abilitando esta forma de pago el cliente podrá eligirla al momento de la compra</comment>
|
68 |
-
<frontend_type>select</frontend_type>
|
69 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
70 |
-
<sort_order>13</sort_order>
|
71 |
-
<show_in_default>1</show_in_default>
|
72 |
-
<show_in_website>1</show_in_website>
|
73 |
-
<show_in_store>1</show_in_store>
|
74 |
-
</url_pagantis_mastarde_activated>
|
75 |
-
-->
|
76 |
-
<environment translate="label" module="pagantis_pagantis">
|
77 |
-
<label>Entorno</label>
|
78 |
-
<comment>Elegir entorno de Test o Real</comment>
|
79 |
-
<frontend_type>select</frontend_type>
|
80 |
-
<source_model>pagantis_pagantis/source_payment_environment</source_model>
|
81 |
-
<sort_order>14</sort_order>
|
82 |
-
<show_in_default>1</show_in_default>
|
83 |
-
<show_in_website>1</show_in_website>
|
84 |
-
<show_in_store>1</show_in_store>
|
85 |
-
</environment>
|
86 |
-
<!-- we remove this to have easier config and same template in all modules, we try to get user locale -->
|
87 |
-
<!--
|
88 |
-
<language_payment_page translate="label" module="pagantis_pagantis">
|
89 |
-
<label>Idioma Pagina De Pago</label>
|
90 |
-
<comment>Elegir el idioma con el cual se abrirá la pagina de pago Pagantis. Por ejemplo ES, FR, EN</comment>
|
91 |
-
<frontend_type>text</frontend_type>
|
92 |
-
<sort_order>25</sort_order>
|
93 |
-
<show_in_default>1</show_in_default>
|
94 |
-
<show_in_website>1</show_in_website>
|
95 |
-
<show_in_store>1</show_in_store>
|
96 |
-
</language_payment_page>
|
97 |
-
|
98 |
-
-->
|
99 |
-
<!-- sha1 customer don't care about this -->
|
100 |
-
<!--
|
101 |
-
<auth_method translate="label" module="pagantis_pagantis">
|
102 |
-
<label>Metodo de autenticación</label>
|
103 |
-
<comment>Valor necesario para pagos con cobro único (SHA1)</comment>
|
104 |
-
<frontend_type>text</frontend_type>
|
105 |
-
<sort_order>15</sort_order>
|
106 |
-
<show_in_default>1</show_in_default>
|
107 |
-
<show_in_website>1</show_in_website>
|
108 |
-
<show_in_store>1</show_in_store>
|
109 |
-
</auth_method>
|
110 |
-
-->
|
111 |
-
<account_code_test translate="label" module="pagantis_pagantis">
|
112 |
-
<label>Código de cuenta de Test</label>
|
113 |
-
<frontend_type>text</frontend_type>
|
114 |
-
<sort_order>17</sort_order>
|
115 |
-
<show_in_default>1</show_in_default>
|
116 |
-
<show_in_website>1</show_in_website>
|
117 |
-
<show_in_store>1</show_in_store>
|
118 |
-
</account_code_test>
|
119 |
-
<account_key_test translate="label" module="pagantis_pagantis">
|
120 |
-
<label>Clave de cuenta de Test</label>
|
121 |
-
<frontend_type>text</frontend_type>
|
122 |
-
<sort_order>18</sort_order>
|
123 |
-
<show_in_default>1</show_in_default>
|
124 |
-
<show_in_website>1</show_in_website>
|
125 |
-
<show_in_store>1</show_in_store>
|
126 |
-
</account_key_test>
|
127 |
-
<!-- api key not needed to perform payment -->
|
128 |
-
<!--
|
129 |
-
<account_api_key_test translate="label" module="pagantis_pagantis">
|
130 |
-
<label>API Key Test</label>
|
131 |
-
<frontend_type>text</frontend_type>
|
132 |
-
<sort_order>19</sort_order>
|
133 |
-
<show_in_default>1</show_in_default>
|
134 |
-
<show_in_website>1</show_in_website>
|
135 |
-
<show_in_store>1</show_in_store>
|
136 |
-
</account_api_key_test>
|
137 |
-
-->
|
138 |
-
<account_code_real translate="label" module="pagantis_pagantis">
|
139 |
-
<label>Código de cuenta Real</label>
|
140 |
-
<frontend_type>text</frontend_type>
|
141 |
-
<sort_order>20</sort_order>
|
142 |
-
<show_in_default>1</show_in_default>
|
143 |
-
<show_in_website>1</show_in_website>
|
144 |
-
<show_in_store>1</show_in_store>
|
145 |
-
</account_code_real>
|
146 |
-
<account_key_real translate="label" module="pagantis_pagantis">
|
147 |
-
<label>Clave de cuenta Real</label>
|
148 |
-
<frontend_type>text</frontend_type>
|
149 |
-
<sort_order>21</sort_order>
|
150 |
-
<show_in_default>1</show_in_default>
|
151 |
-
<show_in_website>1</show_in_website>
|
152 |
-
<show_in_store>1</show_in_store>
|
153 |
-
</account_key_real>
|
154 |
-
<!--
|
155 |
-
<account_api_key_real translate="label" module="pagantis_pagantis">
|
156 |
-
<label>API Key Real</label>
|
157 |
-
<frontend_type>text</frontend_type>
|
158 |
-
<sort_order>22</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 |
-
</account_api_key_real>
|
163 |
-
-->
|
164 |
-
<discount translate="label" module="pagantis_pagantis">
|
165 |
-
<label>Descuento - asumir comisiones</label>
|
166 |
-
<frontend_type>Select</frontend_type>
|
167 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
168 |
-
<sort_order>22</sort_order>
|
169 |
-
<show_in_default>1</show_in_default>
|
170 |
-
<show_in_website>1</show_in_website>
|
171 |
-
<show_in_store>1</show_in_store>
|
172 |
-
</discount>
|
173 |
-
<sendmail translate="label" module="pagantis_pagantis">
|
174 |
-
<label>Envía correo de confirma</label>
|
175 |
-
<frontend_type>Select</frontend_type>
|
176 |
-
<sort_order>40</sort_order>
|
177 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
178 |
-
<show_in_default>1</show_in_default>
|
179 |
-
<show_in_website>1</show_in_website>
|
180 |
-
<show_in_store>1</show_in_store>
|
181 |
-
</sendmail>
|
182 |
-
<invoice translate="label" module="pagantis_pagantis">
|
183 |
-
<label>Crea factura automaticamente</label>
|
184 |
-
<frontend_type>Select</frontend_type>
|
185 |
-
<sort_order>50</sort_order>
|
186 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
187 |
-
<show_in_default>1</show_in_default>
|
188 |
-
<show_in_website>1</show_in_website>
|
189 |
-
<show_in_store>1</show_in_store>
|
190 |
-
</invoice>
|
191 |
-
<sort_order translate="label" module="pagantis_pagantis">
|
192 |
-
<label>Ordenación metodo de pago</label>
|
193 |
-
<comment>Elegir en que posición tiene que salir el metodo de Pago Pagantis en el checkout</comment>
|
194 |
-
<frontend_type>text</frontend_type>
|
195 |
-
<sort_order>100</sort_order>
|
196 |
-
<show_in_default>1</show_in_default>
|
197 |
-
<show_in_website>1</show_in_website>
|
198 |
-
<show_in_store>1</show_in_store>
|
199 |
-
</sort_order>
|
200 |
-
<!--<cron_settings translate="label comment" module="pagantis_pagantis">
|
201 |
-
<label>Cuantas veces quieres ejecutar el proceso de sincronización de los pedidos?</label>
|
202 |
-
<frontend_type>text</frontend_type>
|
203 |
-
<sort_order>60</sort_order>
|
204 |
-
<comment>Utiliza el formato Crontab (p.e. "0 4 * * *" para cada día a las 4 a.m.)</comment>
|
205 |
-
<show_in_default>1</show_in_default>
|
206 |
-
</cron_settings>-->
|
207 |
-
</fields>
|
208 |
-
</pagantis>
|
209 |
-
</groups>
|
210 |
-
</payment>
|
211 |
-
</sections>
|
212 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/Pagantis/sql/pagantis_setup/mysql4-install-1.0.0.php
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
$installer = $this;
|
4 |
-
$installer->startSetup();
|
5 |
-
$installer->addAttribute("order", "pagantis_transaction", array("type" => "varchar"));
|
6 |
-
$installer->getConnection()->addColumn($installer->getTable('sales_flat_order_grid'), 'pagantis_transaction', 'varchar(255)');
|
7 |
-
$installer->endSetup();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Pagantis/Pagantis/controllers/PagantisController.php
CHANGED
@@ -19,10 +19,19 @@ class Pagantis_Pagantis_PagantisController extends Mage_Core_Controller_Front_Ac
|
|
19 |
$state = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT;
|
20 |
$session = Mage::getSingleton('checkout/session');
|
21 |
$order = Mage::getModel('sales/order')->load($session->getLastOrderId());
|
22 |
-
$order->
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
$cart = Mage::getSingleton('checkout/cart');
|
28 |
$items = $order->getItemsCollection();
|
19 |
$state = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT;
|
20 |
$session = Mage::getSingleton('checkout/session');
|
21 |
$order = Mage::getModel('sales/order')->load($session->getLastOrderId());
|
22 |
+
if ($order->data['total_due'] > 0){
|
23 |
+
//we come back from the form, we try to not duplicate the order
|
24 |
+
if ($order->data['total_due'] != $order->data['subtotal_incl_tax']){
|
25 |
+
//order changed
|
26 |
+
$order->setState($state, $state, Mage::helper('pagantis_pagantis')->__('Redirected to Pagantis'), false);
|
27 |
+
$order->save();
|
28 |
+
}else{
|
29 |
+
//order is the same, not saving new order
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
//$session->getQuote()->setIsActive(false)->save();
|
34 |
+
//$session->clear();
|
35 |
|
36 |
$cart = Mage::getSingleton('checkout/cart');
|
37 |
$items = $order->getItemsCollection();
|
app/code/community/Pagantis/Pagantis/etc/system.xml
CHANGED
@@ -19,7 +19,7 @@
|
|
19 |
<sort_order>1</sort_order>
|
20 |
<show_in_default>1</show_in_default>
|
21 |
<show_in_website>1</show_in_website>
|
22 |
-
<show_in_store>
|
23 |
</active>
|
24 |
<title translate="label" module="pagantis_pagantis">
|
25 |
<label>Título</label>
|
@@ -81,7 +81,7 @@
|
|
81 |
<sort_order>14</sort_order>
|
82 |
<show_in_default>1</show_in_default>
|
83 |
<show_in_website>1</show_in_website>
|
84 |
-
<show_in_store>
|
85 |
</environment>
|
86 |
<!-- we remove this to have easier config and same template in all modules, we try to get user locale -->
|
87 |
<!--
|
@@ -109,20 +109,20 @@
|
|
109 |
</auth_method>
|
110 |
-->
|
111 |
<account_code_test translate="label" module="pagantis_pagantis">
|
112 |
-
<label>
|
113 |
<frontend_type>text</frontend_type>
|
114 |
<sort_order>17</sort_order>
|
115 |
<show_in_default>1</show_in_default>
|
116 |
<show_in_website>1</show_in_website>
|
117 |
-
<show_in_store>
|
118 |
</account_code_test>
|
119 |
<account_key_test translate="label" module="pagantis_pagantis">
|
120 |
-
<label>
|
121 |
<frontend_type>text</frontend_type>
|
122 |
<sort_order>18</sort_order>
|
123 |
<show_in_default>1</show_in_default>
|
124 |
<show_in_website>1</show_in_website>
|
125 |
-
<show_in_store>
|
126 |
</account_key_test>
|
127 |
<!-- api key not needed to perform payment -->
|
128 |
<!--
|
@@ -136,20 +136,20 @@
|
|
136 |
</account_api_key_test>
|
137 |
-->
|
138 |
<account_code_real translate="label" module="pagantis_pagantis">
|
139 |
-
<label>
|
140 |
<frontend_type>text</frontend_type>
|
141 |
<sort_order>20</sort_order>
|
142 |
<show_in_default>1</show_in_default>
|
143 |
<show_in_website>1</show_in_website>
|
144 |
-
<show_in_store>
|
145 |
</account_code_real>
|
146 |
<account_key_real translate="label" module="pagantis_pagantis">
|
147 |
-
<label>
|
148 |
<frontend_type>text</frontend_type>
|
149 |
<sort_order>21</sort_order>
|
150 |
<show_in_default>1</show_in_default>
|
151 |
<show_in_website>1</show_in_website>
|
152 |
-
<show_in_store>
|
153 |
</account_key_real>
|
154 |
<!--
|
155 |
<account_api_key_real translate="label" module="pagantis_pagantis">
|
@@ -169,7 +169,7 @@
|
|
169 |
<sort_order>22</sort_order>
|
170 |
<show_in_default>1</show_in_default>
|
171 |
<show_in_website>1</show_in_website>
|
172 |
-
<show_in_store>
|
173 |
</discount>
|
174 |
<sendmail translate="label" module="pagantis_pagantis">
|
175 |
<label>Envía correo de confirmación</label>
|
@@ -178,7 +178,7 @@
|
|
178 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
179 |
<show_in_default>1</show_in_default>
|
180 |
<show_in_website>1</show_in_website>
|
181 |
-
<show_in_store>
|
182 |
</sendmail>
|
183 |
<invoice translate="label" module="pagantis_pagantis">
|
184 |
<label>Crea factura automaticamente</label>
|
@@ -187,7 +187,7 @@
|
|
187 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
188 |
<show_in_default>1</show_in_default>
|
189 |
<show_in_website>1</show_in_website>
|
190 |
-
<show_in_store>
|
191 |
</invoice>
|
192 |
<sort_order translate="label" module="pagantis_pagantis">
|
193 |
<label>Ordenación metodo de pago</label>
|
@@ -196,7 +196,7 @@
|
|
196 |
<sort_order>100</sort_order>
|
197 |
<show_in_default>1</show_in_default>
|
198 |
<show_in_website>1</show_in_website>
|
199 |
-
<show_in_store>
|
200 |
</sort_order>
|
201 |
<!--<cron_settings translate="label comment" module="pagantis_pagantis">
|
202 |
<label>Cuantas veces quieres ejecutar el proceso de sincronización de los pedidos?</label>
|
19 |
<sort_order>1</sort_order>
|
20 |
<show_in_default>1</show_in_default>
|
21 |
<show_in_website>1</show_in_website>
|
22 |
+
<show_in_store>1</show_in_store>
|
23 |
</active>
|
24 |
<title translate="label" module="pagantis_pagantis">
|
25 |
<label>Título</label>
|
81 |
<sort_order>14</sort_order>
|
82 |
<show_in_default>1</show_in_default>
|
83 |
<show_in_website>1</show_in_website>
|
84 |
+
<show_in_store>1</show_in_store>
|
85 |
</environment>
|
86 |
<!-- we remove this to have easier config and same template in all modules, we try to get user locale -->
|
87 |
<!--
|
109 |
</auth_method>
|
110 |
-->
|
111 |
<account_code_test translate="label" module="pagantis_pagantis">
|
112 |
+
<label>TEST Public Key</label>
|
113 |
<frontend_type>text</frontend_type>
|
114 |
<sort_order>17</sort_order>
|
115 |
<show_in_default>1</show_in_default>
|
116 |
<show_in_website>1</show_in_website>
|
117 |
+
<show_in_store>1</show_in_store>
|
118 |
</account_code_test>
|
119 |
<account_key_test translate="label" module="pagantis_pagantis">
|
120 |
+
<label>TEST Secret Key</label>
|
121 |
<frontend_type>text</frontend_type>
|
122 |
<sort_order>18</sort_order>
|
123 |
<show_in_default>1</show_in_default>
|
124 |
<show_in_website>1</show_in_website>
|
125 |
+
<show_in_store>1</show_in_store>
|
126 |
</account_key_test>
|
127 |
<!-- api key not needed to perform payment -->
|
128 |
<!--
|
136 |
</account_api_key_test>
|
137 |
-->
|
138 |
<account_code_real translate="label" module="pagantis_pagantis">
|
139 |
+
<label>REAL Public Key</label>
|
140 |
<frontend_type>text</frontend_type>
|
141 |
<sort_order>20</sort_order>
|
142 |
<show_in_default>1</show_in_default>
|
143 |
<show_in_website>1</show_in_website>
|
144 |
+
<show_in_store>1</show_in_store>
|
145 |
</account_code_real>
|
146 |
<account_key_real translate="label" module="pagantis_pagantis">
|
147 |
+
<label>Real Secret Key</label>
|
148 |
<frontend_type>text</frontend_type>
|
149 |
<sort_order>21</sort_order>
|
150 |
<show_in_default>1</show_in_default>
|
151 |
<show_in_website>1</show_in_website>
|
152 |
+
<show_in_store>1</show_in_store>
|
153 |
</account_key_real>
|
154 |
<!--
|
155 |
<account_api_key_real translate="label" module="pagantis_pagantis">
|
169 |
<sort_order>22</sort_order>
|
170 |
<show_in_default>1</show_in_default>
|
171 |
<show_in_website>1</show_in_website>
|
172 |
+
<show_in_store>1</show_in_store>
|
173 |
</discount>
|
174 |
<sendmail translate="label" module="pagantis_pagantis">
|
175 |
<label>Envía correo de confirmación</label>
|
178 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
179 |
<show_in_default>1</show_in_default>
|
180 |
<show_in_website>1</show_in_website>
|
181 |
+
<show_in_store>1</show_in_store>
|
182 |
</sendmail>
|
183 |
<invoice translate="label" module="pagantis_pagantis">
|
184 |
<label>Crea factura automaticamente</label>
|
187 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
188 |
<show_in_default>1</show_in_default>
|
189 |
<show_in_website>1</show_in_website>
|
190 |
+
<show_in_store>1</show_in_store>
|
191 |
</invoice>
|
192 |
<sort_order translate="label" module="pagantis_pagantis">
|
193 |
<label>Ordenación metodo de pago</label>
|
196 |
<sort_order>100</sort_order>
|
197 |
<show_in_default>1</show_in_default>
|
198 |
<show_in_website>1</show_in_website>
|
199 |
+
<show_in_store>1</show_in_store>
|
200 |
</sort_order>
|
201 |
<!--<cron_settings translate="label comment" module="pagantis_pagantis">
|
202 |
<label>Cuantas veces quieres ejecutar el proceso de sincronización de los pedidos?</label>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Pagantis_Pagantis</name>
|
4 |
-
<version>2.2.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.gnu.org/licenses/gpl-3.0.en.html">GPL</license>
|
7 |
<channel>community</channel>
|
@@ -10,11 +10,11 @@
|
|
10 |
<description>Paga+Tarde is an online payment method through which e-commerce websites offer their customers an easy and safe way to make deferred payments.
|
11 |

|
12 |
Buyers can choose to pay in up to 12 installments. At the same time, the shops will receive the total amount of the sale, without taking any risk.</description>
|
13 |
-
<notes
|
14 |
<authors><author><name>Albert Fatsini</name><user>auto-converted</user><email>afatsini@digitalorigin.com</email></author></authors>
|
15 |
-
<date>2016-
|
16 |
-
<time>
|
17 |
-
<contents><target name="magecommunity"><dir name="Pagantis"><dir name="Pagantis"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Payment.php" hash="7c2b0d3c7a7bf6d4a9ac02a5b6125af3"/></dir></dir></dir></dir><file name="Form.php" hash="9ad1e01301a0edd832eb472d2a8a8161"/><file name="Redirect.php" hash="24fef0caf8b76c629b75e2d4acc81443"/></dir><dir name="Helper"><file name="Data.php" hash="e90849a9b9310979d58f7a092d2d2a28"/></dir><dir name="Model"><dir name="Source"><dir name="Payment"><file name="Currency.php" hash="7e51124f09e2028198fb9587df820809"/><file name="Environment.php" hash="30d6400967acdd8975c5748994c100e6"/></dir></dir><dir name="Webservice"><file name="Client.php" hash="6a14e0ae7ef5180445a3a99aec4717bb"/><file name="Paymentrequest.php" hash="dcf473ea7211a82b55b5374549c3cfc0"/><file name="Request.php" hash="
|
18 |
<compatible/>
|
19 |
<dependencies/>
|
20 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Pagantis_Pagantis</name>
|
4 |
+
<version>2.2.6</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.gnu.org/licenses/gpl-3.0.en.html">GPL</license>
|
7 |
<channel>community</channel>
|
10 |
<description>Paga+Tarde is an online payment method through which e-commerce websites offer their customers an easy and safe way to make deferred payments.
|
11 |

|
12 |
Buyers can choose to pay in up to 12 installments. At the same time, the shops will receive the total amount of the sale, without taking any risk.</description>
|
13 |
+
<notes>Fix http 302 error on notifications when magento have SSL configured in frontend</notes>
|
14 |
<authors><author><name>Albert Fatsini</name><user>auto-converted</user><email>afatsini@digitalorigin.com</email></author></authors>
|
15 |
+
<date>2016-03-08</date>
|
16 |
+
<time>08:41:38</time>
|
17 |
+
<contents><target name="magecommunity"><dir name="Pagantis"><dir name="Pagantis"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Payment.php" hash="7c2b0d3c7a7bf6d4a9ac02a5b6125af3"/></dir></dir></dir></dir><file name="Form.php" hash="9ad1e01301a0edd832eb472d2a8a8161"/><file name="Redirect.php" hash="24fef0caf8b76c629b75e2d4acc81443"/></dir><dir name="Helper"><file name="Data.php" hash="e90849a9b9310979d58f7a092d2d2a28"/></dir><dir name="Model"><dir name="Source"><dir name="Payment"><file name="Currency.php" hash="7e51124f09e2028198fb9587df820809"/><file name="Environment.php" hash="30d6400967acdd8975c5748994c100e6"/></dir></dir><dir name="Webservice"><file name="Client.php" hash="6a14e0ae7ef5180445a3a99aec4717bb"/><file name="Paymentrequest.php" hash="dcf473ea7211a82b55b5374549c3cfc0"/><file name="Request.php" hash="0b01db7cdb0cbc691218fb84c2e8ce1e"/><file name="Requestloan.php" hash="df7dd8bb75a64ef9b0e48b3ee7795f98"/><file name="Response.php" hash="bb1ade5931c5580f4585fc0fdb2bc4b0"/></dir><file name="Currency.php" hash="a5557e10938898b0213a90dd7be15540"/><file name="Observer.php" hash="0c2a7b1b4ca273b482600b6e9e030ad9"/><file name="Payment.php" hash="737a295dbc465fe2333b187716c81077"/><file name=".Payment.php.swp" hash="3d8604107de061df66cb45ae029bd394"/></dir><dir name="controllers"><file name="PagantisController.php" hash="a7a4524e8e353e917f3867da669ffba3"/></dir><dir name="etc"><file name="config.xml" hash="a10e521ef5101e10d0b7aa61c2b76370"/><file name="system.xml" hash="494ce967feb8149a15666c95a3dbf03f"/></dir><dir name="sql"><dir name="pagantis_setup"><file name="mysql4-install-1.0.0.php" hash="4ec10724709f8d381758409f55cff99d"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="pagantis.xml" hash="4328e44e218a0996f4e2412c545a8e9b"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="pagantis.xml" hash="6a13e760f9edb35dc2b5ac4cd2ac11f0"/></dir><dir name="template"><dir name="pagantis"><file name="form.phtml" hash="11cf70a55d8ec9e8ae3c1d94a832eeab"/><file name="pagantis.phtml" hash="3024436be4e339669f7ebf590f6c03a9"/><file name="redirect.phtml" hash="3d7d1a5076fc98269e5a7f476be27650"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Pagantis_Pagantis.xml" hash="c57db60bd03314d7a45f27acc9a9475a"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="base"><dir name="default"><file name="pagantis.css" hash="7d1b6daea9f42c2552ebb5bd5c15596d"/></dir></dir><dir name="default"><dir name="default"><dir name="images"><dir name="pagantis"><file name="logopagamastarde.png" hash="d51fa42e42d9811653df55710a395d07"/><file name="pagantis.png" hash="292403ede1f62affccf06df004ddfe12"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="pagantis"><file name="logopagamastarde.png" hash="d51fa42e42d9811653df55710a395d07"/><file name="pagantis-fav.png" hash="c4e162b51c0792ff25385506d7998818"/><file name="pagantis.png" hash="292403ede1f62affccf06df004ddfe12"/></dir></dir></dir></dir></dir></target></contents>
|
18 |
<compatible/>
|
19 |
<dependencies/>
|
20 |
</package>
|