Version Notes
Primeira versão liberada no Magento Connect
Download this release
Release Info
| Developer | TrayCheckout |
| Extension | Tray_CheckoutApi |
| Version | 0.1.0 |
| Comparing to | |
| See all releases | |
Version 0.1.0
- app/code/community/Tray/CheckoutApi/Block/Adminhtml/System/Config/Fieldset/Label.php +43 -0
- app/code/community/Tray/CheckoutApi/Block/Error.php +27 -0
- app/code/community/Tray/CheckoutApi/Block/Form/Standard.php +91 -0
- app/code/community/Tray/CheckoutApi/Block/Info/Standard.php +61 -0
- app/code/community/Tray/CheckoutApi/Block/Link.php +23 -0
- app/code/community/Tray/CheckoutApi/Block/Payment.php +76 -0
- app/code/community/Tray/CheckoutApi/Block/Redirect_D.php +78 -0
- app/code/community/Tray/CheckoutApi/Block/Return.php +28 -0
- app/code/community/Tray/CheckoutApi/Helper/Adress.php +142 -0
- app/code/community/Tray/CheckoutApi/Helper/Data.php +131 -0
- app/code/community/Tray/CheckoutApi/Model/Config.php +56 -0
- app/code/community/Tray/CheckoutApi/Model/Geral_D.php +34 -0
- app/code/community/Tray/CheckoutApi/Model/Mysql4/Setup.php +23 -0
- app/code/community/Tray/CheckoutApi/Model/Observer.php +37 -0
- app/code/community/Tray/CheckoutApi/Model/Source/Country.php +28 -0
- app/code/community/Tray/CheckoutApi/Model/Source/Paymentmethods.php +40 -0
- app/code/community/Tray/CheckoutApi/Model/Source/Qtdsplit.php +39 -0
- app/code/community/Tray/CheckoutApi/Model/Source/Specificcountries.php +28 -0
- app/code/community/Tray/CheckoutApi/Model/Standard.php +653 -0
- app/code/community/Tray/CheckoutApi/controllers/StandardController.php +357 -0
- app/code/community/Tray/CheckoutApi/etc/adminhtml.xml +45 -0
- app/code/community/Tray/CheckoutApi/etc/config.xml +181 -0
- app/code/community/Tray/CheckoutApi/etc/system.xml +174 -0
- app/code/community/Tray/CheckoutApi/sql/checkoutapi_setup/mysql4-install-0.1.0.php +60 -0
- app/design/adminhtml/default/default/layout/tray_checkoutapi.xml +36 -0
- app/design/adminhtml/default/default/template/tray/checkoutredir/form/standard.phtml +30 -0
- app/design/adminhtml/default/default/template/tray/checkoutredir/getbaseurl.phtml +30 -0
- app/design/adminhtml/default/default/template/tray/checkoutredir/info/standard.phtml +25 -0
- app/design/frontend/base/default/layout/tray_checkoutapi.xml +56 -0
- app/design/frontend/base/default/template/tray/checkoutapi/error.phtml +56 -0
- app/design/frontend/base/default/template/tray/checkoutapi/form/images/overlay.png +0 -0
- app/design/frontend/base/default/template/tray/checkoutapi/form/standard.phtml +190 -0
- app/design/frontend/base/default/template/tray/checkoutapi/head.phtml +36 -0
- app/design/frontend/base/default/template/tray/checkoutapi/info/standard.phtml +36 -0
- app/design/frontend/base/default/template/tray/checkoutapi/overlay.phtml +28 -0
- app/design/frontend/base/default/template/tray/checkoutapi/payment.phtml +84 -0
- app/design/frontend/base/default/template/tray/checkoutapi/return.phtml +23 -0
- app/etc/modules/Tray_CheckoutApi.xml +32 -0
- package.xml +18 -0
- skin/adminhtml/default/default/tray/checkoutapi/css/magentomodal.css +194 -0
- skin/adminhtml/default/default/tray/checkoutapi/images/btn_bg.gif +0 -0
- skin/adminhtml/default/default/tray/checkoutapi/images/content_bg.gif +0 -0
- skin/adminhtml/default/default/tray/checkoutapi/images/top_bg.gif +0 -0
- skin/adminhtml/default/default/tray/checkoutapi/images/window_close.png +0 -0
- skin/adminhtml/default/default/tray/checkoutapi/js/exibitionsettingswebcheckout.js +26 -0
- skin/frontend/base/default/tray/checkoutapi/css/styles.css +10 -0
- skin/frontend/base/default/tray/checkoutapi/images/BannerTrayCheckout890px.png +0 -0
- skin/frontend/base/default/tray/checkoutapi/images/banner_comlogo_formas.jpg +0 -0
- skin/frontend/base/default/tray/checkoutapi/images/banner_semlogo_formas.jpg +0 -0
- skin/frontend/base/default/tray/checkoutapi/images/banner_semlogo_formas.png +0 -0
- skin/frontend/base/default/tray/checkoutapi/images/close.png +0 -0
- skin/frontend/base/default/tray/checkoutapi/images/overlay.png +0 -0
- skin/frontend/base/default/tray/checkoutapi/images/paymentFlags1.png +0 -0
- skin/frontend/base/default/tray/checkoutapi/images/paymentFlagsTc.png +0 -0
app/code/community/Tray/CheckoutApi/Block/Adminhtml/System/Config/Fieldset/Label.php
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Block_Adminhtml_System_Config_Fieldset_Label extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface
|
| 21 |
+
{
|
| 22 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
| 23 |
+
{
|
| 24 |
+
$id = $element->getHtmlId();
|
| 25 |
+
$html = sprintf('
|
| 26 |
+
<tr class="system-fieldset-sub-head" id="row_%s">
|
| 27 |
+
<td colspan="5">
|
| 28 |
+
<h4 id="%s">%s</h4>
|
| 29 |
+
<p class="note">
|
| 30 |
+
<span>%s</span>
|
| 31 |
+
</p>
|
| 32 |
+
</td>
|
| 33 |
+
</tr>',
|
| 34 |
+
$element->getHtmlId(), $element->getHtmlId(), $element->getLabel(), $element->getComment()
|
| 35 |
+
);
|
| 36 |
+
|
| 37 |
+
$html .= <<<HTML
|
| 38 |
+
|
| 39 |
+
HTML;
|
| 40 |
+
|
| 41 |
+
return $html;
|
| 42 |
+
}
|
| 43 |
+
}
|
app/code/community/Tray/CheckoutApi/Block/Error.php
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Block_Error extends Mage_Core_Block_Template
|
| 21 |
+
{
|
| 22 |
+
|
| 23 |
+
protected function getError()
|
| 24 |
+
{
|
| 25 |
+
|
| 26 |
+
}
|
| 27 |
+
}
|
app/code/community/Tray/CheckoutApi/Block/Form/Standard.php
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Block_Form_Standard extends Mage_Payment_Block_Form
|
| 21 |
+
{
|
| 22 |
+
protected function _construct()
|
| 23 |
+
{
|
| 24 |
+
$this->setTemplate('tray/checkoutapi/form/standard.phtml');
|
| 25 |
+
parent::_construct();
|
| 26 |
+
}
|
| 27 |
+
protected function _getConfig()
|
| 28 |
+
{
|
| 29 |
+
return Mage::getSingleton('payment/config');
|
| 30 |
+
}
|
| 31 |
+
public function getCcMonths()
|
| 32 |
+
{
|
| 33 |
+
$months = $this->getData('cc_months');
|
| 34 |
+
if (is_null($months)) {
|
| 35 |
+
$months[0] = $this->__('Month');
|
| 36 |
+
$months = array_merge($months, $this->_getConfig()->getMonths());
|
| 37 |
+
$this->setData('cc_months', $months);
|
| 38 |
+
}
|
| 39 |
+
return $months;
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
public function getCcYears()
|
| 43 |
+
{
|
| 44 |
+
$years = $this->getData('cc_years');
|
| 45 |
+
if (is_null($years)) {
|
| 46 |
+
$years = $this->_getConfig()->getYears();
|
| 47 |
+
$years = array(0=>$this->__('Year'))+$years;
|
| 48 |
+
$this->setData('cc_years', $years);
|
| 49 |
+
}
|
| 50 |
+
return $years;
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
public function getSplitSimulate($totalValue = "0")
|
| 54 |
+
{
|
| 55 |
+
$tcStandard = Mage::getModel('checkoutapi/standard');
|
| 56 |
+
$tcNoSplitTaxRate = $tcStandard->getConfigData('tcNoSplitTaxRate');
|
| 57 |
+
|
| 58 |
+
$tcNoSplitTaxRate = explode(",",$tcNoSplitTaxRate);
|
| 59 |
+
|
| 60 |
+
$params = array(
|
| 61 |
+
"token_account" => $tcStandard->getConfigData('token'),
|
| 62 |
+
"payment_method_id" => "3",
|
| 63 |
+
"price" => $totalValue
|
| 64 |
+
);
|
| 65 |
+
|
| 66 |
+
|
| 67 |
+
if(sizeof($tcNoSplitTaxRate) > 1){
|
| 68 |
+
for($itc = 0; $itc < sizeof($tcNoSplitTaxRate);$itc++){
|
| 69 |
+
$params["splits[$itc][split_transaction]"] = $tcNoSplitTaxRate[$itc];
|
| 70 |
+
$params["splits[$itc][percentage]"] = $tcStandard->getConfigData('splitTax');
|
| 71 |
+
}
|
| 72 |
+
}else{
|
| 73 |
+
$params["splits[][split_transaction]"] = "1";
|
| 74 |
+
$params["splits[][percentage]"] = $tcStandard->getConfigData('splitTax');
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
$params = preg_replace("/splits\%5B\d+\%5D/","splits%5B%5D", http_build_query($params));
|
| 78 |
+
|
| 79 |
+
$tcResponse = simplexml_load_string($tcStandard->getTrayCheckoutRequest("/api/seller_splits/simulate_split",$params));
|
| 80 |
+
$splitSimulate = array(""=>'Parcela(s)');
|
| 81 |
+
|
| 82 |
+
for($iTc = 0; $iTc < (int)$tcStandard->getConfigData('tcQtdSplit'); $iTc++){
|
| 83 |
+
$splittings = $tcResponse->data_response->splittings->splitting[$iTc];
|
| 84 |
+
$splitSimulate[(int)$splittings->split] = (string)$splittings->split . " x de R$" . number_format((float)$splittings->value_split, 2, ',','');
|
| 85 |
+
}
|
| 86 |
+
|
| 87 |
+
$this->setData('splitSimulate', $splitSimulate);
|
| 88 |
+
|
| 89 |
+
return $splitSimulate;
|
| 90 |
+
}
|
| 91 |
+
}
|
app/code/community/Tray/CheckoutApi/Block/Info/Standard.php
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Block_Info_Standard extends Mage_Payment_Block_Info
|
| 21 |
+
{
|
| 22 |
+
protected function _construct()
|
| 23 |
+
{
|
| 24 |
+
parent::_construct();
|
| 25 |
+
$this->setTemplate('tray/checkoutapi/info/standard.phtml');
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
public function getLinkPayment($order)
|
| 29 |
+
{
|
| 30 |
+
if ($this->getRequest()->getRouteName() != 'checkout') {
|
| 31 |
+
$_order = $order;
|
| 32 |
+
$incrementid = $_order->getData('increment_id');
|
| 33 |
+
$quoteid = $_order->getData('quote_id');
|
| 34 |
+
|
| 35 |
+
$hash = Mage::getModel('core/encryption')->encrypt($incrementid . ":" . $quoteid);
|
| 36 |
+
$method = $_order->getPayment()->getMethod();
|
| 37 |
+
switch ($method) {
|
| 38 |
+
case 'traycheckoutapi':
|
| 39 |
+
return '<span>Para efetuar o pagamento, <a href="' . Mage::getBaseUrl() . 'checkoutapi/standard/paymentbackend/order/' . $hash . '">clique aqui</a>.</span>';
|
| 40 |
+
break;
|
| 41 |
+
}
|
| 42 |
+
}
|
| 43 |
+
}
|
| 44 |
+
|
| 45 |
+
protected function _prepareSpecificInformation($transport = null)
|
| 46 |
+
{
|
| 47 |
+
if (null !== $this->_paymentSpecificInformation) {
|
| 48 |
+
return $this->_paymentSpecificInformation;
|
| 49 |
+
}
|
| 50 |
+
$info = $this->getInfo();
|
| 51 |
+
$transport = new Varien_Object();
|
| 52 |
+
$transport = parent::_prepareSpecificInformation($transport);
|
| 53 |
+
$transport->addData(array(
|
| 54 |
+
Mage::helper('payment')->__('Payment Method ID') => $info->getTraycheckoutTransactionId(),
|
| 55 |
+
Mage::helper('payment')->__('Split Number') => $info->getTraycheckoutSplitNumber(),
|
| 56 |
+
Mage::helper('payment')->__('Split Value') => $info->getTraycheckoutSplitValue()
|
| 57 |
+
));
|
| 58 |
+
return $transport;
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
}
|
app/code/community/Tray/CheckoutApi/Block/Link.php
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Block_Link extends Mage_Core_Block_Template
|
| 21 |
+
{
|
| 22 |
+
|
| 23 |
+
}
|
app/code/community/Tray/CheckoutApi/Block/Payment.php
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Block_Payment extends Mage_Core_Block_Template
|
| 21 |
+
{
|
| 22 |
+
protected $order_number;
|
| 23 |
+
protected $transaction_id;
|
| 24 |
+
protected $url_payment;
|
| 25 |
+
protected $typeful_line;
|
| 26 |
+
protected $status_id;
|
| 27 |
+
protected $status_name;
|
| 28 |
+
protected $payment_method_id;
|
| 29 |
+
protected $payment_method_name;
|
| 30 |
+
|
| 31 |
+
public function getOrderNumber() {
|
| 32 |
+
return $this->order_number;
|
| 33 |
+
}
|
| 34 |
+
public function getTransactionId() {
|
| 35 |
+
return $this->transaction_id;
|
| 36 |
+
}
|
| 37 |
+
public function getUrlPayment() {
|
| 38 |
+
return $this->url_payment;
|
| 39 |
+
}
|
| 40 |
+
public function getTypefulLine() {
|
| 41 |
+
return $this->typeful_line;
|
| 42 |
+
}
|
| 43 |
+
public function getStatusId() {
|
| 44 |
+
return $this->status_id;
|
| 45 |
+
}
|
| 46 |
+
public function getStatusName() {
|
| 47 |
+
return $this->status_name;
|
| 48 |
+
}
|
| 49 |
+
public function getPaymentMethodId() {
|
| 50 |
+
return $this->payment_method_id;
|
| 51 |
+
}
|
| 52 |
+
public function getPaymentMethodName() {
|
| 53 |
+
return $this->payment_method_name;
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
protected function getPayment()
|
| 57 |
+
{
|
| 58 |
+
$standard = Mage::getModel('checkoutapi/'.$this->getRequest()->getParam("type"));
|
| 59 |
+
|
| 60 |
+
$response = $standard->getTrayCheckoutRequest("/v2/transactions/pay_complete",$standard->getCheckoutFormFields());
|
| 61 |
+
|
| 62 |
+
$xml = simplexml_load_string($response);
|
| 63 |
+
$this->order_number = $xml->data_response->transaction->order_number;
|
| 64 |
+
$this->transaction_id = $xml->data_response->transaction->transaction_id;
|
| 65 |
+
$this->url_payment = $xml->data_response->transaction->payment->url_payment;
|
| 66 |
+
$this->typeful_line = $xml->data_response->transaction->payment->linha_digitavel;
|
| 67 |
+
$this->status_id = $xml->data_response->transaction->status_id;
|
| 68 |
+
$this->status_name = $xml->data_response->transaction->status_name;
|
| 69 |
+
$this->payment_method_name = $xml->data_response->transaction->payment->payment_method_name;
|
| 70 |
+
$this->payment_method_id = $xml->data_response->transaction->payment->payment_method_id;
|
| 71 |
+
|
| 72 |
+
$standard->updateTransactionTrayCheckout($xml->data_response->transaction);
|
| 73 |
+
|
| 74 |
+
echo "";
|
| 75 |
+
}
|
| 76 |
+
}
|
app/code/community/Tray/CheckoutApi/Block/Redirect_D.php
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Block_Redirect extends Mage_Core_Block_Abstract
|
| 21 |
+
{
|
| 22 |
+
|
| 23 |
+
protected function _toHtml()
|
| 24 |
+
{
|
| 25 |
+
$standard = Mage::getModel('checkoutapi/'.$this->getRequest()->getParam("type"));
|
| 26 |
+
|
| 27 |
+
$form = new Varien_Data_Form();
|
| 28 |
+
|
| 29 |
+
$form->setAction($standard->getCheckoutApiUrl())
|
| 30 |
+
->setId('checkoutapi_payment_checkout')
|
| 31 |
+
->setName('checkoutapi_payment_checkout')
|
| 32 |
+
->setMethod('POST')
|
| 33 |
+
->setUseContainer(true);
|
| 34 |
+
|
| 35 |
+
$xx= 0;
|
| 36 |
+
foreach ($standard->getCheckoutFormFields() as $field => $value)
|
| 37 |
+
{
|
| 38 |
+
if($field =="transaction_products"){
|
| 39 |
+
$xx= $value;
|
| 40 |
+
}
|
| 41 |
+
$form->addField($field, 'hidden', array('name' => $field, 'value' => $value));
|
| 42 |
+
}
|
| 43 |
+
|
| 44 |
+
$xhtml = $form->toHtml();
|
| 45 |
+
for($yy=0; $yy< $xx; $yy++){
|
| 46 |
+
$xhtml = str_replace("transaction_product[$yy]", "transaction_product[]", $xhtml);
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
$html = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
|
| 50 |
+
$html .= '<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="pt-BR">';
|
| 51 |
+
$html .= '<head>';
|
| 52 |
+
$html .= '<meta http-equiv="Content-Language" content="pt-br" />';
|
| 53 |
+
$html .= '<meta name="language" content="pt-br" />';
|
| 54 |
+
$html .= '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /></head>';
|
| 55 |
+
$html .= '<body>';
|
| 56 |
+
$html .= '<div align="center">';
|
| 57 |
+
$html .= '<font size="4">Sua compra está em processo de finalização.<br /><br />';
|
| 58 |
+
$html .= ''.$this->__('Aguarde ... você será redirecionado para o TrayCheckout em <span id="tempo">5</span> segundos.</font>');
|
| 59 |
+
$html .= '<div>';
|
| 60 |
+
$html .=$xhtml;
|
| 61 |
+
$html .= '<script type="text/javascript">
|
| 62 |
+
function setTempo(){
|
| 63 |
+
var tempo = eval(document.getElementById("tempo").innerHTML);
|
| 64 |
+
if (tempo - 1 < 0){
|
| 65 |
+
document.getElementById("checkoutapi_payment_checkout").submit();
|
| 66 |
+
}else{
|
| 67 |
+
document.getElementById("tempo").innerHTML = tempo - 1;
|
| 68 |
+
setTimeout("setTempo()",1000);
|
| 69 |
+
}
|
| 70 |
+
|
| 71 |
+
}
|
| 72 |
+
setTimeout("setTempo()",1000);
|
| 73 |
+
</script>';
|
| 74 |
+
$html .= '</body></html>';
|
| 75 |
+
|
| 76 |
+
return utf8_decode($html);
|
| 77 |
+
}
|
| 78 |
+
}
|
app/code/community/Tray/CheckoutApi/Block/Return.php
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Block_Return extends Mage_Core_Block_Template
|
| 21 |
+
{
|
| 22 |
+
|
| 23 |
+
protected function getReturn()
|
| 24 |
+
{
|
| 25 |
+
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
}
|
app/code/community/Tray/CheckoutApi/Helper/Adress.php
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Helper_Adress extends Mage_Core_Helper_Data
|
| 21 |
+
{
|
| 22 |
+
|
| 23 |
+
private $completion = array("casa", "ap", "apto", "apart", "frente", "fundos", "sala", "cj");
|
| 24 |
+
private $df = array("bloco", "setor", "quadra", "lote");
|
| 25 |
+
private $noDf = array("av", "avenida", "rua", "alameda", "al.", "travessa", "trv", "praça", "praca");
|
| 26 |
+
private $without = array("sem ", "s.", "s/", "s. ", "s/ ");
|
| 27 |
+
private $number = array('n.º', 'nº', "numero", "num", "número", "núm", "n");
|
| 28 |
+
|
| 29 |
+
/**
|
| 30 |
+
* getAdress
|
| 31 |
+
* @param string $adress
|
| 32 |
+
* @return array
|
| 33 |
+
*/
|
| 34 |
+
public function getAdress($adress) {
|
| 35 |
+
if ($this->isDf($adress)) {
|
| 36 |
+
$number = 's/nº';
|
| 37 |
+
list($street, $completion) = $this->partCompletion($adress);
|
| 38 |
+
} else {
|
| 39 |
+
$splited = preg_split('/[-,]/', $adress);
|
| 40 |
+
if (in_array(sizeof($splited), array(2, 3))) {
|
| 41 |
+
list($street, $number, $completion) = $splited;
|
| 42 |
+
} else {
|
| 43 |
+
list($street, $number) = $this->reverse($adress);
|
| 44 |
+
}
|
| 45 |
+
$street = $this->cleanNumber($street);
|
| 46 |
+
if (strlen($completion)==0)
|
| 47 |
+
list($numberb,$completion) = $this->partNumber($number);
|
| 48 |
+
}
|
| 49 |
+
return array($this->endtrim($street), $this->endtrim($number), $this->endtrim($completion));
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
/**
|
| 53 |
+
* partNumber
|
| 54 |
+
* @param string $n
|
| 55 |
+
* @return array
|
| 56 |
+
*/
|
| 57 |
+
public function partNumber($n) {
|
| 58 |
+
$withoutNumber = $this->withoutNumber();
|
| 59 |
+
$n = $this->endtrim($n);
|
| 60 |
+
foreach ($withoutNumber as $sn) {
|
| 61 |
+
if ($n == $sn)return array($n, '');
|
| 62 |
+
if (substr($n, 0, strlen($sn)) == $sn)
|
| 63 |
+
return array(substr($n, 0, strlen($sn)), substr($n, strlen($sn)));
|
| 64 |
+
}
|
| 65 |
+
$q = preg_split('/\D/', $n);
|
| 66 |
+
$pos = strlen($q[0]);
|
| 67 |
+
return array(substr($n, 0, $pos), substr($n,$pos));
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
/**
|
| 71 |
+
* partCompletion
|
| 72 |
+
* @param string $adress
|
| 73 |
+
* @return array
|
| 74 |
+
*/
|
| 75 |
+
function partCompletion($adress) {
|
| 76 |
+
foreach ($this->$completion as $c)
|
| 77 |
+
if ($pos = strpos(strtolower($adress), $c))
|
| 78 |
+
return array(substr($adress, 0 ,$pos), substr($adress, $pos));
|
| 79 |
+
return array($adress, '');
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
+
/**
|
| 83 |
+
* @param string
|
| 84 |
+
* @return string
|
| 85 |
+
*/
|
| 86 |
+
function endtrim($e){
|
| 87 |
+
return preg_replace('/^\W+|\W+$/', '', $e);
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
/**
|
| 91 |
+
* cleanNumber
|
| 92 |
+
* @param string $street Endereço a ser tratado
|
| 93 |
+
* @return string
|
| 94 |
+
*/
|
| 95 |
+
function cleanNumber($street) {
|
| 96 |
+
foreach ($this->number as $n)
|
| 97 |
+
foreach (array(" $n"," $n ") as $N)
|
| 98 |
+
if (substr($street, -strlen($N)) == $N)
|
| 99 |
+
return substr($street, 0, -strlen($N));
|
| 100 |
+
return $street;
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
/**
|
| 104 |
+
* @param string $adress
|
| 105 |
+
* @return array
|
| 106 |
+
*/
|
| 107 |
+
function reverse($adress) {
|
| 108 |
+
$find = substr($adress, -10);
|
| 109 |
+
for ($i = 0; $i < 10; $i++) {
|
| 110 |
+
if (is_numeric(substr($find, $i, 1))) {
|
| 111 |
+
return array( substr($adress, 0, -10+$i), substr($adress, -10+$i) );
|
| 112 |
+
}
|
| 113 |
+
}
|
| 114 |
+
}
|
| 115 |
+
|
| 116 |
+
/**
|
| 117 |
+
* @param string $adress
|
| 118 |
+
* @return bool
|
| 119 |
+
*/
|
| 120 |
+
function isDf($adress) {
|
| 121 |
+
$df = false;
|
| 122 |
+
foreach ($this->df as $b)
|
| 123 |
+
if (strpos(strtolower($adress),$b) != false)
|
| 124 |
+
$df = true;
|
| 125 |
+
if ($df)
|
| 126 |
+
foreach ($this->noDf as $b)
|
| 127 |
+
if (strpos(strtolower($adress),$b) != false)
|
| 128 |
+
$df = false;
|
| 129 |
+
return $df;
|
| 130 |
+
}
|
| 131 |
+
|
| 132 |
+
/**
|
| 133 |
+
* @return array
|
| 134 |
+
*/
|
| 135 |
+
function withoutNumber() {
|
| 136 |
+
foreach ($this->number as $n)
|
| 137 |
+
foreach ($this->without as $s)
|
| 138 |
+
$withoutNum[] = "$s$n";
|
| 139 |
+
return $withoutNum;
|
| 140 |
+
}
|
| 141 |
+
|
| 142 |
+
}
|
app/code/community/Tray/CheckoutApi/Helper/Data.php
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Helper_Data extends Tray_CheckoutApi_Helper_Adress
|
| 21 |
+
{
|
| 22 |
+
public function prepareLineItems(Mage_Core_Model_Abstract $salesEntity, $discountTotalAsItem = true, $shippingTotalAsItem = false)
|
| 23 |
+
{
|
| 24 |
+
$items = array();
|
| 25 |
+
|
| 26 |
+
foreach ($salesEntity->getAllItems() as $item) {
|
| 27 |
+
|
| 28 |
+
if (!$item->getParentItem()) {
|
| 29 |
+
$items[] = new Varien_Object($this->_prepareLineItemFields($salesEntity, $item));
|
| 30 |
+
}
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
$discountAmount = 0;
|
| 34 |
+
|
| 35 |
+
$shippingDescription = '';
|
| 36 |
+
|
| 37 |
+
if ($salesEntity instanceof Mage_Sales_Model_Order) {
|
| 38 |
+
|
| 39 |
+
$discountAmount = abs(1 * $salesEntity->getBaseDiscountAmount());
|
| 40 |
+
|
| 41 |
+
$shippingDescription = $salesEntity->getShippingDescription();
|
| 42 |
+
|
| 43 |
+
$totals = array(
|
| 44 |
+
'subtotal' => $salesEntity->getBaseSubtotal() - $discountAmount,
|
| 45 |
+
'tax' => $salesEntity->getBaseTaxAmount(),
|
| 46 |
+
'shipping' => $salesEntity->getBaseShippingAmount(),
|
| 47 |
+
'discount' => $discountAmount
|
| 48 |
+
);
|
| 49 |
+
} else {
|
| 50 |
+
|
| 51 |
+
$address = $salesEntity->getIsVirtual() ? $salesEntity->getBillingAddress() : $salesEntity->getShippingAddress();
|
| 52 |
+
|
| 53 |
+
$discountAmount = abs(1 * $address->getBaseDiscountAmount());
|
| 54 |
+
|
| 55 |
+
$shippingDescription = $address->getShippingDescription();
|
| 56 |
+
|
| 57 |
+
$totals = array (
|
| 58 |
+
'subtotal' => $salesEntity->getBaseSubtotal() - $discountAmount,
|
| 59 |
+
'tax' => $address->getBaseTaxAmount(),
|
| 60 |
+
'shipping' => $address->getBaseShippingAmount(),
|
| 61 |
+
'discount' => $discountAmount
|
| 62 |
+
);
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
// discount total as line item (negative)
|
| 66 |
+
if ($discountTotalAsItem && $discountAmount) {
|
| 67 |
+
$items[] = new Varien_Object(array(
|
| 68 |
+
'name' => Mage::helper('checkoutapi')->__('Discount'),
|
| 69 |
+
'qty' => 1,
|
| 70 |
+
'amount' => -1.00 * $discountAmount,
|
| 71 |
+
));
|
| 72 |
+
}
|
| 73 |
+
|
| 74 |
+
// shipping total as line item
|
| 75 |
+
if ($shippingTotalAsItem && (!$salesEntity->getIsVirtual()) && (float)$totals['shipping']) {
|
| 76 |
+
$items[] = new Varien_Object(array(
|
| 77 |
+
'id' => Mage::helper('checkoutapi')->__('Shipping'),
|
| 78 |
+
'name' => $shippingDescription,
|
| 79 |
+
'qty' => 1,
|
| 80 |
+
'amount' => (float) $totals['shipping'],
|
| 81 |
+
));
|
| 82 |
+
}
|
| 83 |
+
|
| 84 |
+
$hiddenTax = (float) $salesEntity->getBaseHiddenTaxAmount();
|
| 85 |
+
|
| 86 |
+
if ($hiddenTax) {
|
| 87 |
+
$items[] = new Varien_Object(array(
|
| 88 |
+
'name' => Mage::helper('checkoutapi')->__('Discount Tax'),
|
| 89 |
+
'qty' => 1,
|
| 90 |
+
'amount' => (float)$hiddenTax,
|
| 91 |
+
));
|
| 92 |
+
}
|
| 93 |
+
|
| 94 |
+
return array($items, $totals, $discountAmount, $totals['shipping']);
|
| 95 |
+
}
|
| 96 |
+
|
| 97 |
+
/**
|
| 98 |
+
* Get one line item key-value array
|
| 99 |
+
*
|
| 100 |
+
* @param Mage_Core_Model_Abstract $salesEntity
|
| 101 |
+
* @param Varien_Object $item
|
| 102 |
+
* @return array
|
| 103 |
+
*/
|
| 104 |
+
protected function _prepareLineItemFields(Mage_Core_Model_Abstract $salesEntity, Varien_Object $item)
|
| 105 |
+
{
|
| 106 |
+
if ($salesEntity instanceof Mage_Sales_Model_Order) {
|
| 107 |
+
$qty = $item->getQtyOrdered();
|
| 108 |
+
$amount = $item->getBasePrice();
|
| 109 |
+
// TODO: nominal item for order
|
| 110 |
+
} else {
|
| 111 |
+
$qty = $item->getTotalQty();
|
| 112 |
+
$amount = $item->isNominal() ? 0 : $item->getBaseCalculationPrice();
|
| 113 |
+
}
|
| 114 |
+
|
| 115 |
+
// workaround in case if item subtotal precision is not compatible with PayPal (.2)
|
| 116 |
+
$subAggregatedLabel = '';
|
| 117 |
+
|
| 118 |
+
if ((float) $amount - round((float) $amount, 2)) {
|
| 119 |
+
$amount = $amount * $qty;
|
| 120 |
+
$subAggregatedLabel = ' x' . $qty;
|
| 121 |
+
$qty = 1;
|
| 122 |
+
}
|
| 123 |
+
|
| 124 |
+
return array(
|
| 125 |
+
'id' => $item->getSku(),
|
| 126 |
+
'name' => $item->getName() . $subAggregatedLabel,
|
| 127 |
+
'qty' => $qty,
|
| 128 |
+
'amount' => (float)$amount,
|
| 129 |
+
);
|
| 130 |
+
}
|
| 131 |
+
}
|
app/code/community/Tray/CheckoutApi/Model/Config.php
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Model_Config extends Varien_Object
|
| 21 |
+
{
|
| 22 |
+
const XML_PATH = 'payment/checkoutapi_standard/';
|
| 23 |
+
|
| 24 |
+
const XML_PATH_CONFIG = 'checkoutapi/settings/';
|
| 25 |
+
|
| 26 |
+
protected $_config = array();
|
| 27 |
+
|
| 28 |
+
protected $_config_settings = array();
|
| 29 |
+
|
| 30 |
+
public function getConfigData($key, $storeId = null)
|
| 31 |
+
{
|
| 32 |
+
if (!isset($this->_config[$key][$storeId])) {
|
| 33 |
+
$value = Mage::getStoreConfig(self::XML_PATH . $key, $storeId);
|
| 34 |
+
$this->_config[$key][$storeId] = $value;
|
| 35 |
+
}
|
| 36 |
+
return $this->_config[$key][$storeId];
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
public function getConfigDataSettings($key, $storeId = null)
|
| 40 |
+
{
|
| 41 |
+
if (!isset($this->_config_settings[$key][$storeId])) {
|
| 42 |
+
$value = Mage::getStoreConfig(self::XML_PATH_CONFIG . $key, $storeId);
|
| 43 |
+
$this->_config_settings[$key][$storeId] = $value;
|
| 44 |
+
}
|
| 45 |
+
return $this->_config_settings[$key][$storeId];
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
public function getExibitionWebCheckout($storeId = null)
|
| 49 |
+
{
|
| 50 |
+
if (!$this->hasData('exibitionmodal')) {
|
| 51 |
+
$this->setData('exibitionmodal', $this->getConfigData('exibitionmodal', $storeId));
|
| 52 |
+
}
|
| 53 |
+
return $this->getData('exibitionmodal');
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
}
|
app/code/community/Tray/CheckoutApi/Model/Geral_D.php
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Model_Standard extends Tray_CheckoutApi_Model_Standard
|
| 21 |
+
{
|
| 22 |
+
protected $_code = 'checkoutapi_standard';
|
| 23 |
+
|
| 24 |
+
protected $_formBlockType = 'checkoutapi/form_standard';
|
| 25 |
+
|
| 26 |
+
protected $_blockType = 'checkoutapi/standard';
|
| 27 |
+
|
| 28 |
+
protected $_infoBlockType = 'checkoutapi/info_standard';
|
| 29 |
+
|
| 30 |
+
public function getOrderPlaceRedirectUrl()
|
| 31 |
+
{
|
| 32 |
+
return Mage::getUrl('checkoutapi/standard/payment', array('_secure' => true, 'type' => 'standard'));
|
| 33 |
+
}
|
| 34 |
+
}
|
app/code/community/Tray/CheckoutApi/Model/Mysql4/Setup.php
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Model_Mysql4_Setup extends Mage_Eav_Model_Entity_Setup
|
| 21 |
+
{
|
| 22 |
+
|
| 23 |
+
}
|
app/code/community/Tray/CheckoutApi/Model/Observer.php
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Model_Observer extends Varien_Object
|
| 21 |
+
{
|
| 22 |
+
public function sendEmailFrontend()
|
| 23 |
+
{
|
| 24 |
+
$session = Mage::getSingleton('checkout/session');
|
| 25 |
+
$lastSuccessOrderId = $session->getData('last_real_order_id');
|
| 26 |
+
|
| 27 |
+
$order = Mage::getModel('sales/order')->loadByAttribute('increment_id',$lastSuccessOrderId);
|
| 28 |
+
|
| 29 |
+
// $sendNewOrderEmail = Mage::getStoreConfig('sales_email/order/enabled');
|
| 30 |
+
// if ($sendNewOrderEmail && !$order->getData('email_sent')) {
|
| 31 |
+
// $order->sendNewOrderEmail();
|
| 32 |
+
// $order->setEmailSent(true);
|
| 33 |
+
// $order->save();
|
| 34 |
+
// }
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
}
|
app/code/community/Tray/CheckoutApi/Model/Source/Country.php
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Model_Source_Country
|
| 21 |
+
{
|
| 22 |
+
public function toOptionArray()
|
| 23 |
+
{
|
| 24 |
+
return array(
|
| 25 |
+
array('value' => 'BR', 'label'=>Mage::helper('adminhtml')->__('Brasil')),
|
| 26 |
+
);
|
| 27 |
+
}
|
| 28 |
+
}
|
app/code/community/Tray/CheckoutApi/Model/Source/Paymentmethods.php
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Model_Source_Paymentmethods
|
| 21 |
+
{
|
| 22 |
+
public function toOptionArray()
|
| 23 |
+
{
|
| 24 |
+
return array(
|
| 25 |
+
array('value' => '3', 'label'=>Mage::helper('adminhtml')->__('Visa')),
|
| 26 |
+
array('value' => '4', 'label'=>Mage::helper('adminhtml')->__('Mastercard')),
|
| 27 |
+
array('value' => '2', 'label'=>Mage::helper('adminhtml')->__('Diners')),
|
| 28 |
+
array('value' => '5', 'label'=>Mage::helper('adminhtml')->__('American Express')),
|
| 29 |
+
array('value' => '18', 'label'=>Mage::helper('adminhtml')->__('Aura')),
|
| 30 |
+
array('value' => '16', 'label'=>Mage::helper('adminhtml')->__('Elo')),
|
| 31 |
+
array('value' => '15', 'label'=>Mage::helper('adminhtml')->__('Discover')),
|
| 32 |
+
array('value' => '19', 'label'=>Mage::helper('adminhtml')->__('JCB')),
|
| 33 |
+
array('value' => '14', 'label'=>Mage::helper('adminhtml')->__('Peela')),
|
| 34 |
+
array('value' => '7', 'label'=>Mage::helper('adminhtml')->__('Itaú Shopline (Transferência)')),
|
| 35 |
+
array('value' => '22', 'label'=>Mage::helper('adminhtml')->__('Transf. Online Bradesco')),
|
| 36 |
+
array('value' => '23', 'label'=>Mage::helper('adminhtml')->__('Transf. Online Banco do Brasil')),
|
| 37 |
+
array('value' => '6', 'label'=>Mage::helper('adminhtml')->__('Boleto Bancário')),
|
| 38 |
+
);
|
| 39 |
+
}
|
| 40 |
+
}
|
app/code/community/Tray/CheckoutApi/Model/Source/Qtdsplit.php
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Model_Source_Qtdsplit
|
| 21 |
+
{
|
| 22 |
+
public function toOptionArray()
|
| 23 |
+
{
|
| 24 |
+
return array(
|
| 25 |
+
array('value' => '1', 'label'=>"1"),
|
| 26 |
+
array('value' => '2', 'label'=>"2"),
|
| 27 |
+
array('value' => '3', 'label'=>"3"),
|
| 28 |
+
array('value' => '4', 'label'=>"4"),
|
| 29 |
+
array('value' => '5', 'label'=>"5"),
|
| 30 |
+
array('value' => '6', 'label'=>"6"),
|
| 31 |
+
array('value' => '7', 'label'=>"7"),
|
| 32 |
+
array('value' => '8', 'label'=>"8"),
|
| 33 |
+
array('value' => '9', 'label'=>"9"),
|
| 34 |
+
array('value' => '10', 'label'=>"10"),
|
| 35 |
+
array('value' => '11', 'label'=>"11"),
|
| 36 |
+
array('value' => '12', 'label'=>"12"),
|
| 37 |
+
);
|
| 38 |
+
}
|
| 39 |
+
}
|
app/code/community/Tray/CheckoutApi/Model/Source/Specificcountries.php
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Model_Source_Specificcountries
|
| 21 |
+
{
|
| 22 |
+
public function toOptionArray()
|
| 23 |
+
{
|
| 24 |
+
return array(
|
| 25 |
+
array('value'=>1, 'label'=>Mage::helper('adminhtml')->__('Specific Countries')),
|
| 26 |
+
);
|
| 27 |
+
}
|
| 28 |
+
}
|
app/code/community/Tray/CheckoutApi/Model/Standard.php
ADDED
|
@@ -0,0 +1,653 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_Model_Standard extends Mage_Payment_Model_Method_Abstract
|
| 21 |
+
{
|
| 22 |
+
const PAYMENT_TYPE_AUTH = 'AUTHORIZATION'; //retirar
|
| 23 |
+
const PAYMENT_TYPE_SALE = 'SALE'; //retirar
|
| 24 |
+
|
| 25 |
+
protected $_allowCurrencyCode = array('BRL');
|
| 26 |
+
|
| 27 |
+
protected $_code = 'traycheckoutapi';
|
| 28 |
+
|
| 29 |
+
protected $_formBlockType = 'checkoutapi/form_standard';
|
| 30 |
+
|
| 31 |
+
protected $_blockType = 'checkoutapi/standard';
|
| 32 |
+
|
| 33 |
+
protected $_infoBlockType = 'checkoutapi/info_standard';
|
| 34 |
+
|
| 35 |
+
protected $errorMessageTrayCheckout = '';
|
| 36 |
+
|
| 37 |
+
protected $errorCodeTrayCheckout = '';
|
| 38 |
+
|
| 39 |
+
protected $errorTypeErrorTrayCheckout = '';
|
| 40 |
+
|
| 41 |
+
/**
|
| 42 |
+
* Availability options
|
| 43 |
+
*/
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
/**
|
| 47 |
+
* Can be edit order (renew order)
|
| 48 |
+
*
|
| 49 |
+
* @return bool
|
| 50 |
+
*/
|
| 51 |
+
public function canEdit()
|
| 52 |
+
{
|
| 53 |
+
return false;
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
/**
|
| 57 |
+
* Return Order Place Redirect URL
|
| 58 |
+
*
|
| 59 |
+
* @return string Order Redirect URL
|
| 60 |
+
*/
|
| 61 |
+
public function getOrderPlaceRedirectUrl()
|
| 62 |
+
{
|
| 63 |
+
return Mage::getUrl('checkoutapi/standard/payment', array('_secure' => true, 'type' => 'standard'));
|
| 64 |
+
//return Mage::getUrl('checkoutapi/redirect');
|
| 65 |
+
}
|
| 66 |
+
|
| 67 |
+
/**
|
| 68 |
+
* Get checkoutapi session namespace
|
| 69 |
+
*
|
| 70 |
+
* @return Tray_CheckoutApi_Model_Session
|
| 71 |
+
*/
|
| 72 |
+
public function getSession()
|
| 73 |
+
{
|
| 74 |
+
return Mage::getSingleton('checkoutapi/session');
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
/**
|
| 78 |
+
* Get checkout session namespace
|
| 79 |
+
*
|
| 80 |
+
* @return Mage_Checkout_Model_Session
|
| 81 |
+
*/
|
| 82 |
+
public function getCheckout()
|
| 83 |
+
{
|
| 84 |
+
return Mage::getSingleton('checkout/session');
|
| 85 |
+
}
|
| 86 |
+
|
| 87 |
+
/**
|
| 88 |
+
* Get current quote
|
| 89 |
+
*
|
| 90 |
+
* @return Mage_Sales_Model_Quote
|
| 91 |
+
*/
|
| 92 |
+
public function getQuote()
|
| 93 |
+
{
|
| 94 |
+
return $this->getCheckout()->getQuote();
|
| 95 |
+
}
|
| 96 |
+
|
| 97 |
+
/**
|
| 98 |
+
* Using for multiple shipping address
|
| 99 |
+
*
|
| 100 |
+
* @return bool
|
| 101 |
+
*/
|
| 102 |
+
public function canUseForMultishipping()
|
| 103 |
+
{
|
| 104 |
+
return false;
|
| 105 |
+
}
|
| 106 |
+
|
| 107 |
+
public function createFormBlock($name)
|
| 108 |
+
{
|
| 109 |
+
$block = $this->getLayout()->createBlock($_formBlockType, $name)
|
| 110 |
+
->setMethod('checkoutapi')
|
| 111 |
+
->setPayment($this->getPayment())
|
| 112 |
+
->setTemplate('tray/checkoutapi/form.phtml');
|
| 113 |
+
return $block;
|
| 114 |
+
}
|
| 115 |
+
|
| 116 |
+
public function assignData($data)
|
| 117 |
+
{
|
| 118 |
+
if (!($data instanceof Varien_Object)) {
|
| 119 |
+
$data = new Varien_Object($data);
|
| 120 |
+
}
|
| 121 |
+
$info = $this->getInfoInstance();
|
| 122 |
+
$info->setCcType($data->getCcType())
|
| 123 |
+
->setCcOwner($data->getCcOwner())
|
| 124 |
+
->setCcLast4(substr($data->getCcNumber(), -4))
|
| 125 |
+
->setCcNumber($data->getCcNumber())
|
| 126 |
+
->setCcCid($data->getCcCid())
|
| 127 |
+
->setCcExpMonth($data->getCcExpMonth())
|
| 128 |
+
->setCcExpYear($data->getCcExpYear())
|
| 129 |
+
->setTraycheckoutSplitNumber($data->getTraycheckoutSplitNumber())
|
| 130 |
+
->setTraycheckoutSplitValue($data->getTraycheckoutSplitValue())
|
| 131 |
+
->setCcNumber($data->getCcNumber());
|
| 132 |
+
return $this;
|
| 133 |
+
}
|
| 134 |
+
|
| 135 |
+
public function prepareSave()
|
| 136 |
+
{
|
| 137 |
+
$info = $this->getInfoInstance();
|
| 138 |
+
$info->setCcNumberEnc($info->encrypt($info->getCcNumber()));
|
| 139 |
+
|
| 140 |
+
$info->setCcCidEnc($info->encrypt($info->getCcCid()));
|
| 141 |
+
$info->setCcNumber(null)
|
| 142 |
+
->setCcCid(null);
|
| 143 |
+
return $this;
|
| 144 |
+
}
|
| 145 |
+
|
| 146 |
+
public function validateCcNum($ccNumber)
|
| 147 |
+
{
|
| 148 |
+
$cardNumber = strrev($ccNumber);
|
| 149 |
+
$numSum = 0;
|
| 150 |
+
|
| 151 |
+
for ($i=0; $i<strlen($cardNumber); $i++) {
|
| 152 |
+
$currentNum = substr($cardNumber, $i, 1);
|
| 153 |
+
|
| 154 |
+
/**
|
| 155 |
+
* Double every second digit
|
| 156 |
+
*/
|
| 157 |
+
if ($i % 2 == 1) {
|
| 158 |
+
$currentNum *= 2;
|
| 159 |
+
}
|
| 160 |
+
|
| 161 |
+
/**
|
| 162 |
+
* Add digits of 2-digit numbers together
|
| 163 |
+
*/
|
| 164 |
+
if ($currentNum > 9) {
|
| 165 |
+
$firstNum = $currentNum % 10;
|
| 166 |
+
$secondNum = ($currentNum - $firstNum) / 10;
|
| 167 |
+
$currentNum = $firstNum + $secondNum;
|
| 168 |
+
}
|
| 169 |
+
|
| 170 |
+
$numSum += $currentNum;
|
| 171 |
+
}
|
| 172 |
+
|
| 173 |
+
/**
|
| 174 |
+
* If the total has no remainder it's OK
|
| 175 |
+
*/
|
| 176 |
+
return ($numSum % 10 == 0);
|
| 177 |
+
}
|
| 178 |
+
|
| 179 |
+
public function validate()
|
| 180 |
+
{
|
| 181 |
+
parent::validate();
|
| 182 |
+
|
| 183 |
+
$errorMsg = "";
|
| 184 |
+
$quote = $this->getCheckout()->getQuote();
|
| 185 |
+
|
| 186 |
+
$shippingAddress = $quote->getShippingAddress();
|
| 187 |
+
$billingAddress = $quote->getBillingAddress();
|
| 188 |
+
|
| 189 |
+
// Verificação se consta o nome vazio do consumidor
|
| 190 |
+
if (str_replace(" ","",$billingAddress->getData("firstname")." ".$billingAddress->getData("lastname")) == "") {
|
| 191 |
+
$errorMsg .= "Nome do comprador em branco ou inválido!!\n";
|
| 192 |
+
}
|
| 193 |
+
// Validação do CPF do cliente
|
| 194 |
+
$number_taxvat = str_replace(" ","",str_replace(".","",str_replace("-","",$quote->getCustomer()->getData("taxvat"))));
|
| 195 |
+
if($number_taxvat == null){
|
| 196 |
+
$number_taxvat = str_replace(" ","",str_replace(".","",str_replace("-","",$billingAddress->getData("taxvat"))));
|
| 197 |
+
}
|
| 198 |
+
if (preg_match("/[a-zA-Z]/",$number_taxvat)) {
|
| 199 |
+
$errorMsg .= "CPF em branco ou inválido!!\n";
|
| 200 |
+
}
|
| 201 |
+
// Validação do email do cliente
|
| 202 |
+
if (!filter_var($billingAddress->getData("email"), FILTER_VALIDATE_EMAIL)) {
|
| 203 |
+
$errorMsg .= "E-mail em branco ou inválido!!\n";
|
| 204 |
+
}
|
| 205 |
+
// Validação do telefone do cliente
|
| 206 |
+
$number_contact = substr(str_replace(" ","",str_replace("(","",str_replace(")","",str_replace("-","",$shippingAddress->getTelephone())))),0,2) . substr(str_replace(" ","",str_replace("-","",$shippingAddress->getTelephone())),-8);
|
| 207 |
+
if (preg_match('/[a-zA-Z]/',$number_contact)) {
|
| 208 |
+
$errorMsg .= "Telefone em branco ou inválido!!\n";
|
| 209 |
+
}
|
| 210 |
+
// Verificação se consta o endereço do cliente
|
| 211 |
+
if (str_replace(" ","",$shippingAddress->getStreet(1)) == "") {
|
| 212 |
+
$errorMsg .= "Endereço em branco ou inválido!!\n";
|
| 213 |
+
}
|
| 214 |
+
// Validação do número do endereço.
|
| 215 |
+
if (preg_match('/[a-zA-Z]/',$shippingAddress->getStreet(2))) {
|
| 216 |
+
$errorMsg .= "Número do endereço em branco ou inválido!!\n";
|
| 217 |
+
}
|
| 218 |
+
// Verificação se consta o bairro do endereço do cliente
|
| 219 |
+
if (str_replace(" ","",$shippingAddress->getStreet(4)) == "") {
|
| 220 |
+
$errorMsg .= "Bairro em branco ou inválido!!\n";
|
| 221 |
+
}
|
| 222 |
+
// Verificação se consta o cidade do endereço do cliente
|
| 223 |
+
if (str_replace(" ","",$shippingAddress->getCity()) == "") {
|
| 224 |
+
$errorMsg .= "Cidade em branco ou inválido!!\n";
|
| 225 |
+
}
|
| 226 |
+
// Validação do número do endereço.
|
| 227 |
+
if (!preg_match('/[A-Z]{2}$/',$shippingAddress->getRegionCode())) {
|
| 228 |
+
if (!preg_match('/[A-Z]{2}$/',$shippingAddress->getRegion())) {
|
| 229 |
+
$errorMsg .= "Estado em branco ou inválido!!\n";
|
| 230 |
+
}
|
| 231 |
+
}
|
| 232 |
+
//var_dump($shippingAddress->getRegionCode());
|
| 233 |
+
$currency_code = $this->getQuote()->getBaseCurrencyCode();
|
| 234 |
+
if (!$currency_code){
|
| 235 |
+
$session = Mage::getSingleton('adminhtml/session_quote');
|
| 236 |
+
$currency_code = $session->getQuote()->getBaseCurrencyCode();
|
| 237 |
+
}
|
| 238 |
+
if (!in_array($currency_code,$this->_allowCurrencyCode)) {
|
| 239 |
+
Mage::throwException(Mage::helper('checkoutapi')->__('A moeda selecionada ('.$currency_code.') não é compatível com o Tray'));
|
| 240 |
+
}
|
| 241 |
+
|
| 242 |
+
$ccType = $quote->getPayment()->getData('cc_type');
|
| 243 |
+
$ccNumber = $quote->getPayment()->getData('cc_number');
|
| 244 |
+
if(!in_array($ccType, array("2","6","7","14","22","23"))){
|
| 245 |
+
if ($this->validateCcNum($ccNumber)) {
|
| 246 |
+
switch ($ccType){
|
| 247 |
+
// Validação Visa
|
| 248 |
+
case "3":
|
| 249 |
+
if (!preg_match('/^4([0-9]{12}|[0-9]{15})$/', $ccNumber)) {
|
| 250 |
+
$errorMsg .= Mage::helper('payment')->__('Invalid Credit Card Number')."\n";
|
| 251 |
+
}
|
| 252 |
+
break;
|
| 253 |
+
// Validação Master
|
| 254 |
+
case "4":
|
| 255 |
+
if (!preg_match('/^5([1-5][0-9]{14})$/', $ccNumber)) {
|
| 256 |
+
$errorMsg .= Mage::helper('payment')->__('Invalid Credit Card Number')."\n";
|
| 257 |
+
}
|
| 258 |
+
break;
|
| 259 |
+
// Validação American Express
|
| 260 |
+
case "5":
|
| 261 |
+
if (!preg_match('/^3[47][0-9]{13}$/', $ccNumber)) {
|
| 262 |
+
$errorMsg .= Mage::helper('payment')->__('Invalid Credit Card Number')."\n";
|
| 263 |
+
}
|
| 264 |
+
break;
|
| 265 |
+
// Validação Discovery
|
| 266 |
+
case "15":
|
| 267 |
+
if (!preg_match('/^6011[0-9]{12}$/', $ccNumber)) {
|
| 268 |
+
$errorMsg .= Mage::helper('payment')->__('Invalid Credit Card Number')."\n";
|
| 269 |
+
}
|
| 270 |
+
break;
|
| 271 |
+
// Validação JCB
|
| 272 |
+
case "19":
|
| 273 |
+
if (!preg_match('/^(3[0-9]{15}|(2131|1800)[0-9]{11})$/', $ccNumber)) {
|
| 274 |
+
$errorMsg .= Mage::helper('payment')->__('Invalid Credit Card Number')."\n";
|
| 275 |
+
}
|
| 276 |
+
break;
|
| 277 |
+
}
|
| 278 |
+
}
|
| 279 |
+
else {
|
| 280 |
+
$errorMsg = Mage::helper('payment')->__('Invalid Credit Card Number')."\n";
|
| 281 |
+
}
|
| 282 |
+
}
|
| 283 |
+
if($ccType == "2"){
|
| 284 |
+
if (!preg_match('/^3(6|8)[0-9]{12}|^3(00|01|02|03|04|05)[0-9]{11}$/', $ccNumber)) {
|
| 285 |
+
$errorMsg .= Mage::helper('payment')->__('Invalid Credit Card Number')."\n";
|
| 286 |
+
}
|
| 287 |
+
}
|
| 288 |
+
|
| 289 |
+
if($errorMsg != ""){
|
| 290 |
+
$errorMsg .= "\nVerifique as informações para finalizar a compra pelo TrayCheckout!";
|
| 291 |
+
Mage::throwException($errorMsg);
|
| 292 |
+
}
|
| 293 |
+
return $this;
|
| 294 |
+
}
|
| 295 |
+
|
| 296 |
+
public function onOrderValidate(Mage_Sales_Model_Order_Payment $payment)
|
| 297 |
+
{
|
| 298 |
+
return $this;
|
| 299 |
+
}
|
| 300 |
+
|
| 301 |
+
public function onInvoiceCreate(Mage_Sales_Model_Invoice_Payment $payment)
|
| 302 |
+
{
|
| 303 |
+
return $this;
|
| 304 |
+
}
|
| 305 |
+
|
| 306 |
+
public function canCapture()
|
| 307 |
+
{
|
| 308 |
+
return true;
|
| 309 |
+
}
|
| 310 |
+
|
| 311 |
+
public function decrypt($data)
|
| 312 |
+
{
|
| 313 |
+
if ($data) {
|
| 314 |
+
return Mage::helper('core')->decrypt($data);
|
| 315 |
+
}
|
| 316 |
+
return $data;
|
| 317 |
+
}
|
| 318 |
+
|
| 319 |
+
public function getCheckoutFormFields()
|
| 320 |
+
{
|
| 321 |
+
$orderIncrementId = $this->getCheckout()->getLastRealOrderId();
|
| 322 |
+
|
| 323 |
+
if (!$orderIncrementId) {
|
| 324 |
+
$quoteidbackend = $this->getCheckout()->getData('checkoutapi_quote_id');
|
| 325 |
+
$order = Mage::getModel('sales/order')->loadByAttribute('quote_id', $quoteidbackend);
|
| 326 |
+
$orderIncrementId = $order->getData('increment_id');
|
| 327 |
+
}
|
| 328 |
+
else {
|
| 329 |
+
$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
|
| 330 |
+
}
|
| 331 |
+
|
| 332 |
+
$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
|
| 333 |
+
|
| 334 |
+
// Envia email de confirmação ao cliente
|
| 335 |
+
if(!$order->getEmailSent()) {
|
| 336 |
+
$order->sendNewOrderEmail();
|
| 337 |
+
$order->setEmailSent(true);
|
| 338 |
+
$order->save();
|
| 339 |
+
}
|
| 340 |
+
|
| 341 |
+
$isOrderVirtual = $order->getIsVirtual();
|
| 342 |
+
$ac = $order->getBillingAddress();
|
| 343 |
+
$a = $isOrderVirtual ? $order->getBillingAddress() : $order->getShippingAddress();
|
| 344 |
+
|
| 345 |
+
list($items, $totals, $discountAmount, $shippingAmount) = Mage::helper('checkoutapi')->prepareLineItems($order, false, false);
|
| 346 |
+
|
| 347 |
+
$shipping_description = $order->getData('shipping_description');
|
| 348 |
+
|
| 349 |
+
$sArr = array();
|
| 350 |
+
$number_contact = substr(str_replace(" ","",str_replace("(","",str_replace(")","",str_replace("-","",$a->getTelephone())))),0,2) . substr(str_replace(" ","",str_replace("-","",$a->getTelephone())),-8);
|
| 351 |
+
|
| 352 |
+
$sArr['token_account']= $this->getConfigData('token');
|
| 353 |
+
$sArr['transaction[order_number]']= $this->getConfigData('prefixo').$orderIncrementId;
|
| 354 |
+
|
| 355 |
+
$sArr['customer[name]']= $order->getData("customer_firstname") . ' ' . str_replace("(pj)", "", $order->getData("customer_lastname"));
|
| 356 |
+
$sArr['customer[cpf]']= $order->getData("customer_taxvat");
|
| 357 |
+
$sArr['customer[contacts][][number_contact]']= $number_contact;
|
| 358 |
+
$sArr['customer[contacts][][type_contact]']= "H";
|
| 359 |
+
$sArr['customer[email]']= $a->getEmail();
|
| 360 |
+
|
| 361 |
+
// Endereço de Entrega
|
| 362 |
+
$sArr['customer[addresses][0][type_address]']= "D";
|
| 363 |
+
$sArr['customer[addresses][0][postal_code]']= trim(str_replace("-", "", $a->getPostcode()));
|
| 364 |
+
$sArr['customer[addresses][0][street]']= $a->getStreet(1);
|
| 365 |
+
$sArr['customer[addresses][0][number]']= $a->getStreet(2);
|
| 366 |
+
$sArr['customer[addresses][0][completion]']= $a->getStreet(3);
|
| 367 |
+
$sArr['customer[addresses][0][neighborhood]']=$a->getStreet(4);
|
| 368 |
+
$sArr['customer[addresses][0][city]']= $a->getCity();
|
| 369 |
+
$sArr['customer[addresses][0][state]']= ($a->getRegionCode() != "") ? $a->getRegionCode() : $a->getRegion();
|
| 370 |
+
|
| 371 |
+
// Endereço de Cobrança
|
| 372 |
+
$sArr['customer[addresses][1][type_address]']= "B";
|
| 373 |
+
$sArr['customer[addresses][1][postal_code]']= trim(str_replace("-", "", $ac->getPostcode()));
|
| 374 |
+
$sArr['customer[addresses][1][street]']= $ac->getStreet(1);
|
| 375 |
+
$sArr['customer[addresses][1][number]']= $ac->getStreet(2);
|
| 376 |
+
$sArr['customer[addresses][1][completion]']= $ac->getStreet(3);
|
| 377 |
+
$sArr['customer[addresses][1][neighborhood]']=$ac->getStreet(4);
|
| 378 |
+
$sArr['customer[addresses][1][city]']= $ac->getCity();
|
| 379 |
+
$sArr['customer[addresses][1][state]']= ($ac->getRegionCode() != "") ? $ac->getRegionCode() : $ac->getRegion();
|
| 380 |
+
|
| 381 |
+
if ($items) {
|
| 382 |
+
$i = 0;
|
| 383 |
+
foreach($items as $item) {
|
| 384 |
+
if ($item->getAmount() > 0) {
|
| 385 |
+
$sArr ["transaction_product[$i][code]"] = $item->getId();
|
| 386 |
+
$sArr ["transaction_product[$i][description]"] = $item->getName();
|
| 387 |
+
$sArr ["transaction_product[$i][quantity]"] = $item->getQty();
|
| 388 |
+
$sArr ["transaction_product[$i][price_unit]"] = sprintf('%.2f',$item->getAmount());
|
| 389 |
+
$sArr ["transaction_product[$i][sku_code]"] = $item->getId();
|
| 390 |
+
$i++;
|
| 391 |
+
}
|
| 392 |
+
}
|
| 393 |
+
$sArr["transaction[price_discount]"] = is_numeric( $discountAmount ) ? sprintf('%.2f',$discountAmount) : 0;
|
| 394 |
+
$sArr["transaction[price_additional]"] = is_numeric( $order->getData("base_tax_amount") ) ? sprintf('%.2f',$order->getData("base_tax_amount")) : 0;
|
| 395 |
+
}
|
| 396 |
+
|
| 397 |
+
$shipping = sprintf('%.2f',$shippingAmount) ;
|
| 398 |
+
|
| 399 |
+
$sArr['transaction[shipping_type]'] = $shipping_description;
|
| 400 |
+
$sArr['transaction[shipping_price]'] = $shipping;
|
| 401 |
+
|
| 402 |
+
$sArr['transaction[url_process]'] = Mage::getUrl('checkoutapi/standard/return', array('_secure' => true));
|
| 403 |
+
$sArr['transaction[url_success]'] = Mage::getUrl('checkoutapi/standard/return', array('_secure' => true));
|
| 404 |
+
$sArr['transaction[url_notification]'] = Mage::getUrl('checkoutapi/standard/success', array('_secure' => true, 'type' => 'standard'));
|
| 405 |
+
|
| 406 |
+
$sArr['payment[payment_method_id]'] = $order->getPayment()->getData('cc_type');
|
| 407 |
+
$sArr['payment[split]'] = ($order->getPayment()->getData('traycheckout_split_number') == NULL ? '1' : $order->getPayment()->getData('traycheckout_split_number'));
|
| 408 |
+
$sArr['payment[card_name]'] = $order->getPayment()->getData('cc_owner');
|
| 409 |
+
$sArr['payment[card_number]'] = $this->decrypt($order->getPayment()->getData('cc_number_enc'));
|
| 410 |
+
$sArr['payment[card_expdate_month]'] = $order->getPayment()->getData('cc_exp_month');
|
| 411 |
+
$sArr['payment[card_expdate_year]'] = $order->getPayment()->getData('cc_exp_year');
|
| 412 |
+
$sArr['payment[card_cvv]'] = $this->decrypt(Mage::getModel('sales/quote_payment')->load($order->getData("quote_id"),"quote_id")->getData("cc_cid_enc"));
|
| 413 |
+
|
| 414 |
+
$sReq = '';
|
| 415 |
+
$rArr = array();
|
| 416 |
+
foreach ($sArr as $k=>$v) {
|
| 417 |
+
$value = str_replace("&","and",$v);
|
| 418 |
+
$rArr[$k] = $value;
|
| 419 |
+
$sReq .= '&'.$k.'='.$value;
|
| 420 |
+
}
|
| 421 |
+
return $rArr;
|
| 422 |
+
}
|
| 423 |
+
|
| 424 |
+
public function getTrayCheckoutUrl()
|
| 425 |
+
{
|
| 426 |
+
if ($this->getConfigData('sandbox') == '1')
|
| 427 |
+
{
|
| 428 |
+
return 'http://api.sandbox.traycheckout.com.br';
|
| 429 |
+
} else {
|
| 430 |
+
return 'https://api.traycheckout.com.br';
|
| 431 |
+
}
|
| 432 |
+
}
|
| 433 |
+
|
| 434 |
+
public function getErrorMessageTrayCheckout() {
|
| 435 |
+
return $this->errorMessageTrayCheckout;
|
| 436 |
+
}
|
| 437 |
+
|
| 438 |
+
public function getErrorCodeTrayCheckout() {
|
| 439 |
+
return $this->errorCodeTrayCheckout;
|
| 440 |
+
}
|
| 441 |
+
public function getTypeErrorTrayCheckout() {
|
| 442 |
+
return $this->errorTypeErrorTrayCheckout;
|
| 443 |
+
}
|
| 444 |
+
|
| 445 |
+
public function hasErrorTrayCheckout($res){
|
| 446 |
+
$xml = simplexml_load_string($res);
|
| 447 |
+
$codeTc = "";
|
| 448 |
+
$messageTc = "";
|
| 449 |
+
|
| 450 |
+
if($xml->message_response->message == "error"){
|
| 451 |
+
if(!empty($xml->error_response->general_errors)){
|
| 452 |
+
$this->errorTypeErrorTrayCheckout = "G";
|
| 453 |
+
$qtdError = sizeof($xml->error_response->general_errors->general_error);
|
| 454 |
+
for($i = 0; $i < $qtdError; $i++){
|
| 455 |
+
$codeTc .= $xml->error_response->general_errors->general_error[$i]->code . " | ";
|
| 456 |
+
$messageTc .= $xml->error_response->general_errors->general_error[$i]->message . " | ";
|
| 457 |
+
}
|
| 458 |
+
|
| 459 |
+
}
|
| 460 |
+
if(!empty($xml->error_response->validation_errors)){
|
| 461 |
+
$this->errorTypeErrorTrayCheckout = "V";
|
| 462 |
+
$qtdError = sizeof($xml->error_response->validation_errors->validation_error);
|
| 463 |
+
for($i = 0; $i < $qtdError; $i++){
|
| 464 |
+
$codeTc .= $xml->error_response->validation_errors->validation_error[$i]->field . " | ";
|
| 465 |
+
$messageTc .= $xml->error_response->validation_errors->validation_error[$i]->message_complete . " | ";
|
| 466 |
+
}
|
| 467 |
+
}
|
| 468 |
+
$codeTc = substr($codeTc, 0, - 3);
|
| 469 |
+
$messageTc = substr($messageTc, 0, - 3);
|
| 470 |
+
$this->errorCodeTrayCheckout = $codeTc;
|
| 471 |
+
$this->errorMessageTrayCheckout = $messageTc;
|
| 472 |
+
return true;
|
| 473 |
+
}else{
|
| 474 |
+
return false;
|
| 475 |
+
}
|
| 476 |
+
}
|
| 477 |
+
|
| 478 |
+
public function getTrayCheckoutRequest($url = "", $params = "")
|
| 479 |
+
{
|
| 480 |
+
$ch = curl_init ( $this->getTrayCheckoutUrl().$url );
|
| 481 |
+
|
| 482 |
+
curl_setopt ( $ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1 );
|
| 483 |
+
curl_setopt ( $ch, CURLOPT_POST, 1 );
|
| 484 |
+
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
|
| 485 |
+
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $params);
|
| 486 |
+
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, 1 );
|
| 487 |
+
curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 2 );
|
| 488 |
+
curl_setopt ( $ch, CURLOPT_FORBID_REUSE, 1 );
|
| 489 |
+
curl_setopt ( $ch, CURLOPT_HTTPHEADER, array ('Connection: Close' ) );
|
| 490 |
+
|
| 491 |
+
if (! ($res = curl_exec ( $ch ))) {
|
| 492 |
+
Mage::app()->getResponse()->setRedirect('checkoutapi/standard/error', array('_secure' => true , 'descricao' => urlencode(utf8_encode("Erro de execução!")),'codigo' => urlencode("999")))->sendResponse();
|
| 493 |
+
echo "Erro na execucao!";
|
| 494 |
+
curl_close ( $ch );
|
| 495 |
+
exit ();
|
| 496 |
+
}
|
| 497 |
+
$httpCode = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );
|
| 498 |
+
|
| 499 |
+
if ($httpCode != "200") {
|
| 500 |
+
http::httpError("Erro de requisicao em: $urlPost");
|
| 501 |
+
Mage::app()->getResponse()->setRedirect('checkoutapi/standard/error', array('_secure' => true , 'descricao' => urlencode(utf8_encode("Erro ao conectar em: $url")),'codigo' => urlencode($httpCode)))->sendResponse();
|
| 502 |
+
}
|
| 503 |
+
if(curl_errno($ch)){
|
| 504 |
+
http::httpError("Erro de conexão: " . curl_error($ch));
|
| 505 |
+
Mage::app()->getResponse()->setRedirect('checkoutapi/standard/error', array('_secure' => true , 'descricao' => urlencode(utf8_encode("Erro de conexão: " . curl_error($ch))),'codigo' => urlencode($httpCode)))->sendResponse();
|
| 506 |
+
}
|
| 507 |
+
curl_close($ch);
|
| 508 |
+
|
| 509 |
+
if($this->hasErrorTrayCheckout($res)){
|
| 510 |
+
Mage::app()->getResponse()->setRedirect(Mage::getModel('core/url')->getUrl('checkoutapi/standard/error', array('_secure' => true , 'descricao' => urlencode($this->getErrorMessageTrayCheckout()),'codigo' => urlencode($this->getErrorCodeTrayCheckout()),'type' => $this->getTypeErrorTrayCheckout())))->sendResponse();
|
| 511 |
+
exit;
|
| 512 |
+
}
|
| 513 |
+
return $res;
|
| 514 |
+
}
|
| 515 |
+
|
| 516 |
+
function updateTransactionTrayCheckout($transactionTc){
|
| 517 |
+
|
| 518 |
+
$order = Mage::getModel('sales/order')->loadByIncrementId($transactionTc->order_number);
|
| 519 |
+
$quote = Mage::getModel('sales/quote')->load($order->getData("quote_id"));
|
| 520 |
+
|
| 521 |
+
$quote->getPayment()->setData("traycheckout_transaction_id", $transactionTc->transaction_id);
|
| 522 |
+
$quote->getPayment()->setData("traycheckout_token_transaction", $transactionTc->token_transaction);
|
| 523 |
+
$quote->getPayment()->setData("traycheckout_url_payment", $transactionTc->payment->url_payment);
|
| 524 |
+
$quote->getPayment()->setData("traycheckout_typeful_line", $transactionTc->payment->linha_digitavel);
|
| 525 |
+
|
| 526 |
+
$quote->getPayment()->save();
|
| 527 |
+
|
| 528 |
+
$order->getPayment()->setData("traycheckout_transaction_id", $transactionTc->transaction_id);
|
| 529 |
+
$order->getPayment()->setData("traycheckout_token_transaction", $transactionTc->token_transaction);
|
| 530 |
+
$order->getPayment()->setData("traycheckout_url_payment", $transactionTc->payment->url_payment);
|
| 531 |
+
$order->getPayment()->setData("traycheckout_typeful_line", $transactionTc->payment->linha_digitavel);
|
| 532 |
+
|
| 533 |
+
|
| 534 |
+
$cod_status = $transactionTc->status_id;
|
| 535 |
+
$comment = "";
|
| 536 |
+
if (isset($transactionTc->status_id)) {
|
| 537 |
+
$comment .= " " . $transactionTc->status_id;
|
| 538 |
+
}
|
| 539 |
+
|
| 540 |
+
if (isset($transactionTc->status_name)) {
|
| 541 |
+
$comment .= " - " . $transactionTc->status_name;
|
| 542 |
+
}
|
| 543 |
+
switch ($cod_status){
|
| 544 |
+
case '4':
|
| 545 |
+
case '5':
|
| 546 |
+
case '88':
|
| 547 |
+
$order->addStatusToHistory(
|
| 548 |
+
Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, Mage::helper('checkoutapi')->__('TrayCheckout retornou o status: %s', $comment)
|
| 549 |
+
|
| 550 |
+
);
|
| 551 |
+
break;
|
| 552 |
+
case '6':
|
| 553 |
+
$items = $order->getAllItems();
|
| 554 |
+
|
| 555 |
+
$thereIsVirtual = false;
|
| 556 |
+
|
| 557 |
+
foreach ($items as $itemId => $item) {
|
| 558 |
+
if ($item["is_virtual"] == "1" || $item["is_downloadable"] == "1") {
|
| 559 |
+
$thereIsVirtual = true;
|
| 560 |
+
}
|
| 561 |
+
}
|
| 562 |
+
|
| 563 |
+
// what to do - from admin
|
| 564 |
+
$toInvoice = $this->getApi()->getConfigData('acaopadraovirtual') == "1" ? true : false;
|
| 565 |
+
|
| 566 |
+
if ($thereIsVirtual && !$toInvoice) {
|
| 567 |
+
|
| 568 |
+
$frase = 'Tray - Aprovado. Pagamento (fatura) confirmado automaticamente.';
|
| 569 |
+
|
| 570 |
+
$order->addStatusToHistory(
|
| 571 |
+
$order->getStatus(), //continue setting current order status
|
| 572 |
+
Mage::helper('checkoutapi')->__($frase), true
|
| 573 |
+
);
|
| 574 |
+
|
| 575 |
+
$order->sendOrderUpdateEmail(true, $frase);
|
| 576 |
+
} else {
|
| 577 |
+
|
| 578 |
+
if (!$order->canInvoice()) {
|
| 579 |
+
$isHolded = ( $order->getStatus() == Mage_Sales_Model_Order::STATE_HOLDED );
|
| 580 |
+
|
| 581 |
+
$status = ($isHolded) ? Mage_Sales_Model_Order::STATE_PROCESSING : $order->getStatus();
|
| 582 |
+
$frase = ($isHolded) ? 'Tray - Aprovado. Confirmado automaticamente o pagamento do pedido.' : 'Erro ao criar pagamento (fatura).';
|
| 583 |
+
|
| 584 |
+
//when order cannot create invoice, need to have some logic to take care
|
| 585 |
+
$order->addStatusToHistory(
|
| 586 |
+
$status, //continue setting current order status
|
| 587 |
+
Mage::helper('checkoutapi')->__( $frase )
|
| 588 |
+
);
|
| 589 |
+
|
| 590 |
+
} else {
|
| 591 |
+
|
| 592 |
+
//need to save transaction id
|
| 593 |
+
$order->getPayment()->setTransactionId($dados_post['transaction']['transaction_id']);
|
| 594 |
+
|
| 595 |
+
//need to convert from order into invoice
|
| 596 |
+
$invoice = $order->prepareInvoice();
|
| 597 |
+
|
| 598 |
+
if ($this->getApi()->canCapture()) {
|
| 599 |
+
$invoice->register()->capture();
|
| 600 |
+
}
|
| 601 |
+
|
| 602 |
+
Mage::getModel('core/resource_transaction')
|
| 603 |
+
->addObject($invoice)
|
| 604 |
+
->addObject($invoice->getOrder())
|
| 605 |
+
->save();
|
| 606 |
+
|
| 607 |
+
$frase = 'Pagamento (fatura) ' . $invoice->getIncrementId() . ' foi criado. Tray - Aprovado. Confirmado automaticamente o pagamento do pedido.';
|
| 608 |
+
|
| 609 |
+
if ($thereIsVirtual) {
|
| 610 |
+
|
| 611 |
+
$order->addStatusToHistory(
|
| 612 |
+
$order->getStatus(), Mage::helper('checkoutapi')->__($frase), true
|
| 613 |
+
);
|
| 614 |
+
|
| 615 |
+
} else {
|
| 616 |
+
|
| 617 |
+
$order->addStatusToHistory(
|
| 618 |
+
Mage_Sales_Model_Order::STATE_PROCESSING, //update order status to processing after creating an invoice
|
| 619 |
+
Mage::helper('checkoutapi')->__($frase), true
|
| 620 |
+
);
|
| 621 |
+
}
|
| 622 |
+
|
| 623 |
+
$invoice->sendEmail(true, $frase);
|
| 624 |
+
}
|
| 625 |
+
}
|
| 626 |
+
break;
|
| 627 |
+
case '24':
|
| 628 |
+
$order->addStatusToHistory(
|
| 629 |
+
Mage_Sales_Model_Order::STATE_HOLDED, Mage::helper('checkoutapi')->__('TrayCheckout retornou o status: %s', $comment)
|
| 630 |
+
);
|
| 631 |
+
break;
|
| 632 |
+
case '7':
|
| 633 |
+
case '89':
|
| 634 |
+
$frase = 'Tray - Cancelado. Pedido cancelado automaticamente (transação foi cancelada ou pagamento foi negado).';
|
| 635 |
+
|
| 636 |
+
$order->addStatusToHistory(
|
| 637 |
+
Mage_Sales_Model_Order::STATE_CANCELED, Mage::helper('checkoutapi')->__($frase), true
|
| 638 |
+
);
|
| 639 |
+
|
| 640 |
+
$order->sendOrderUpdateEmail(true, $frase);
|
| 641 |
+
|
| 642 |
+
$order->cancel();
|
| 643 |
+
break;
|
| 644 |
+
case '87':
|
| 645 |
+
$order->addStatusToHistory(
|
| 646 |
+
Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, Mage::helper('checkoutapi')->__('TrayCheckout retornou o status: %s', $comment)
|
| 647 |
+
);
|
| 648 |
+
break;
|
| 649 |
+
}
|
| 650 |
+
$order->save();
|
| 651 |
+
}
|
| 652 |
+
|
| 653 |
+
}
|
app/code/community/Tray/CheckoutApi/controllers/StandardController.php
ADDED
|
@@ -0,0 +1,357 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
class Tray_CheckoutApi_StandardController extends Mage_Core_Controller_Front_Action
|
| 21 |
+
{
|
| 22 |
+
|
| 23 |
+
/**
|
| 24 |
+
* Order instance
|
| 25 |
+
*/
|
| 26 |
+
protected $_order;
|
| 27 |
+
|
| 28 |
+
|
| 29 |
+
public function paymentAction()
|
| 30 |
+
{
|
| 31 |
+
$this->loadLayout();
|
| 32 |
+
$this->renderLayout();
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
public function returnAction()
|
| 36 |
+
{
|
| 37 |
+
$this->loadLayout();
|
| 38 |
+
$this->renderLayout();
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
public function paymentbackendAction()
|
| 42 |
+
{
|
| 43 |
+
$this->loadLayout();
|
| 44 |
+
$this->renderLayout();
|
| 45 |
+
|
| 46 |
+
$hash = explode("/order/", $this->getRequest()->getOriginalRequest()->getRequestUri());
|
| 47 |
+
$hashdecode = explode(":", Mage::getModel('core/encryption')->decrypt($hash[1]));
|
| 48 |
+
|
| 49 |
+
$order = Mage::getModel('sales/order')
|
| 50 |
+
->getCollection()
|
| 51 |
+
->addFieldToFilter('increment_id', $hashdecode[0])
|
| 52 |
+
->addFieldToFilter('quote_id', $hashdecode[1])
|
| 53 |
+
->getFirstItem();
|
| 54 |
+
|
| 55 |
+
if ($order) {
|
| 56 |
+
$session = Mage::getSingleton('checkout/session');
|
| 57 |
+
$session->setLastQuoteId($order->getData('quote_id'));
|
| 58 |
+
$session->setLastOrderId($order->getData('entity_id'));
|
| 59 |
+
$session->setLastSuccessQuoteId($order->getData('quote_id'));
|
| 60 |
+
$session->setLastRealOrderId($order->getData('increment_id'));
|
| 61 |
+
$session->setCheckoutApiQuoteId($order->getData('quote_id'));
|
| 62 |
+
$this->_redirect('checkoutapi/standard/payment/type/standard');
|
| 63 |
+
} else {
|
| 64 |
+
Mage::getSingleton('checkout/session')->addError('URL informada é inválida!');
|
| 65 |
+
$this->_redirect('checkout/cart');
|
| 66 |
+
}
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
public function errorAction()
|
| 70 |
+
{
|
| 71 |
+
$this->loadLayout();
|
| 72 |
+
$this->renderLayout();
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
/**
|
| 76 |
+
* Get order
|
| 77 |
+
*
|
| 78 |
+
* @return Mage_Sales_Model_Order
|
| 79 |
+
*/
|
| 80 |
+
public function getOrder() {
|
| 81 |
+
|
| 82 |
+
if ($this->_order == null) {
|
| 83 |
+
|
| 84 |
+
}
|
| 85 |
+
|
| 86 |
+
return $this->_order;
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
+
protected function _expireAjax() {
|
| 90 |
+
if (!Mage::getSingleton('checkout/session')->getQuote()->hasItems()) {
|
| 91 |
+
$this->getResponse()->setHeader('HTTP/1.1', '403 Session Expired');
|
| 92 |
+
exit;
|
| 93 |
+
}
|
| 94 |
+
}
|
| 95 |
+
|
| 96 |
+
/**
|
| 97 |
+
* Get singleton with checkout standard order transaction information
|
| 98 |
+
*
|
| 99 |
+
* @return Tray_CheckoutApi_Model_Api
|
| 100 |
+
*/
|
| 101 |
+
public function getApi()
|
| 102 |
+
{
|
| 103 |
+
return Mage::getSingleton('checkoutapi/'.$this->getRequest()->getParam("type"));
|
| 104 |
+
}
|
| 105 |
+
|
| 106 |
+
/**
|
| 107 |
+
* When a customer chooses Tray on Checkout/Payment page
|
| 108 |
+
*
|
| 109 |
+
*/
|
| 110 |
+
public function redirectAction()
|
| 111 |
+
{
|
| 112 |
+
|
| 113 |
+
$type = $this->getRequest()->getParam('type', false);
|
| 114 |
+
|
| 115 |
+
$session = Mage::getSingleton('checkout/session');
|
| 116 |
+
|
| 117 |
+
$session->setCheckoutApiQuoteId($session->getQuoteId());
|
| 118 |
+
|
| 119 |
+
$this->getResponse()->setHeader("Content-Type", "text/html; charset=ISO-8859-1", true);
|
| 120 |
+
|
| 121 |
+
$this->getResponse()->setBody($this->getLayout()->createBlock('checkoutapi/redirect')->toHtml());
|
| 122 |
+
|
| 123 |
+
$session->unsQuoteId();
|
| 124 |
+
}
|
| 125 |
+
|
| 126 |
+
/**
|
| 127 |
+
* When a customer cancel payment from traycheckout .
|
| 128 |
+
*/
|
| 129 |
+
public function cancelAction()
|
| 130 |
+
{
|
| 131 |
+
|
| 132 |
+
$session = Mage::getSingleton('checkout/session');
|
| 133 |
+
|
| 134 |
+
$session->setQuoteId($session->getCheckoutApiQuoteId(true));
|
| 135 |
+
|
| 136 |
+
// cancel order
|
| 137 |
+
if ($session->getLastRealOrderId()) {
|
| 138 |
+
|
| 139 |
+
$order = Mage::getModel('sales/order')->loadByIncrementId($session->getLastRealOrderId());
|
| 140 |
+
|
| 141 |
+
if ($order->getId()) {
|
| 142 |
+
$order->cancel()->save();
|
| 143 |
+
}
|
| 144 |
+
}
|
| 145 |
+
|
| 146 |
+
$this->_redirect('checkout/cart');
|
| 147 |
+
}
|
| 148 |
+
|
| 149 |
+
private function getUrlPostCheckoutApi($sandbox)
|
| 150 |
+
{
|
| 151 |
+
if ($sandbox == '1')
|
| 152 |
+
{
|
| 153 |
+
return "http://api.sandbox.checkout.tray.com.br/api/v1/transactions/get_by_token";
|
| 154 |
+
} else {
|
| 155 |
+
return "http://api.checkout.tray.com.br/api/v1/transactions/get_by_token";
|
| 156 |
+
}
|
| 157 |
+
}
|
| 158 |
+
|
| 159 |
+
/**
|
| 160 |
+
* when checkout returns
|
| 161 |
+
* The order information at this point is in POST
|
| 162 |
+
* variables. However, you don't want to "process" the order until you
|
| 163 |
+
* get validation from the return post.
|
| 164 |
+
*/
|
| 165 |
+
public function successAction()
|
| 166 |
+
{
|
| 167 |
+
$_type = $this->getRequest()->getParam('type', false);
|
| 168 |
+
$token = $this->getApi()->getConfigData('token');;
|
| 169 |
+
|
| 170 |
+
$urlPost = $this->getUrlPostCheckoutApi($this->getApi()->getConfigData('sandbox'));
|
| 171 |
+
|
| 172 |
+
$dados_post = $this->getRequest()->getPost();
|
| 173 |
+
|
| 174 |
+
$order_number_conf = utf8_encode(str_replace($this->getApi()->getConfigData('prefixo'),'',$dados_post['transaction']['order_number']));
|
| 175 |
+
$transaction_token= $dados_post['transaction']['transaction_token'];
|
| 176 |
+
|
| 177 |
+
ob_start();
|
| 178 |
+
$ch = curl_init();
|
| 179 |
+
curl_setopt($ch, CURLOPT_URL, $urlPost);
|
| 180 |
+
curl_setopt($ch, CURLOPT_POST, 1);
|
| 181 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, array("token"=>trim($transaction_token), "type_response"=>"J"));
|
| 182 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Expect:"));
|
| 183 |
+
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
|
| 184 |
+
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
|
| 185 |
+
curl_exec ($ch);
|
| 186 |
+
|
| 187 |
+
/* XML ou Json de retorno */
|
| 188 |
+
$resposta = ob_get_contents();
|
| 189 |
+
ob_end_clean();
|
| 190 |
+
|
| 191 |
+
/* Capturando o http code para tratamento dos erros na requisi��o*/
|
| 192 |
+
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
| 193 |
+
curl_close($ch);
|
| 194 |
+
$arrResponse = json_decode($resposta,TRUE);
|
| 195 |
+
|
| 196 |
+
$xml = simplexml_load_string($resposta);
|
| 197 |
+
if($httpCode != "200" ){
|
| 198 |
+
$codigo_erro = $xml->codigo;
|
| 199 |
+
$descricao_erro = $xml->descricao;
|
| 200 |
+
if ($codigo_erro == ''){
|
| 201 |
+
$codigo_erro = '0000000';
|
| 202 |
+
}
|
| 203 |
+
if ($descricao_erro == ''){
|
| 204 |
+
$descricao_erro = 'Erro Desconhecido';
|
| 205 |
+
}
|
| 206 |
+
$this->_redirect('checkoutapi/standard/error', array('_secure' => true , 'descricao' => urlencode(utf8_encode($descricao_erro)),'codigo' => urlencode($codigo_erro)));
|
| 207 |
+
}else{
|
| 208 |
+
|
| 209 |
+
$transaction = $arrResponse['data_response']['transaction'];
|
| 210 |
+
$order_number = str_replace($this->getApi()->getConfigData('prefixo'),'',$transaction['order_number']);
|
| 211 |
+
if($order_number != $order_number_conf) {
|
| 212 |
+
$codigo_erro = '0000000';
|
| 213 |
+
$descricao_erro = "Pedido: " . $order_number_conf . " não corresponte com a pedido consultado: ".$order_number."!";
|
| 214 |
+
$this->_redirect('checkoutapi/standard/error', array('_secure' => true , 'descricao' => urlencode(utf8_encode($descricao_erro)),'codigo' => urlencode($codigo_erro)));
|
| 215 |
+
}
|
| 216 |
+
|
| 217 |
+
if (isset($transaction['status_id'])) {
|
| 218 |
+
$comment .= " " . $transaction['status_id'];
|
| 219 |
+
}
|
| 220 |
+
|
| 221 |
+
if (isset($transaction['status_name'])) {
|
| 222 |
+
$comment .= " - " . $transaction['status_name'];
|
| 223 |
+
}
|
| 224 |
+
echo "Pedido: $order_number - $comment - ID: ".$dados_post['transaction']['transaction_id'];
|
| 225 |
+
$order = Mage::getModel('sales/order');
|
| 226 |
+
|
| 227 |
+
$order->loadByIncrementId($order_number);
|
| 228 |
+
|
| 229 |
+
if ($order->getId()) {
|
| 230 |
+
|
| 231 |
+
if ($transaction['price_original'] != $order->getGrandTotal()) {
|
| 232 |
+
|
| 233 |
+
$frase = 'Total pago à Tray é diferente do valor original.';
|
| 234 |
+
|
| 235 |
+
$order->addStatusToHistory(
|
| 236 |
+
$order->getStatus(), //continue setting current order status
|
| 237 |
+
Mage::helper('checkoutapi')->__($frase), true
|
| 238 |
+
);
|
| 239 |
+
|
| 240 |
+
$order->sendOrderUpdateEmail(true, $frase);
|
| 241 |
+
} else {
|
| 242 |
+
$cod_status = $transaction['status_id'];
|
| 243 |
+
|
| 244 |
+
switch ($cod_status){
|
| 245 |
+
case '4':
|
| 246 |
+
case '5':
|
| 247 |
+
case '88':
|
| 248 |
+
$order->addStatusToHistory(
|
| 249 |
+
Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, Mage::helper('checkoutapi')->__('Tray enviou automaticamente o status: %s', $comment)
|
| 250 |
+
|
| 251 |
+
);
|
| 252 |
+
break;
|
| 253 |
+
case '6':
|
| 254 |
+
$items = $order->getAllItems();
|
| 255 |
+
|
| 256 |
+
$thereIsVirtual = false;
|
| 257 |
+
|
| 258 |
+
foreach ($items as $itemId => $item) {
|
| 259 |
+
if ($item["is_virtual"] == "1" || $item["is_downloadable"] == "1") {
|
| 260 |
+
$thereIsVirtual = true;
|
| 261 |
+
}
|
| 262 |
+
}
|
| 263 |
+
|
| 264 |
+
// what to do - from admin
|
| 265 |
+
$toInvoice = $this->getApi()->getConfigData('acaopadraovirtual') == "1" ? true : false;
|
| 266 |
+
|
| 267 |
+
if ($thereIsVirtual && !$toInvoice) {
|
| 268 |
+
|
| 269 |
+
$frase = 'Tray - Aprovado. Pagamento (fatura) confirmado automaticamente.';
|
| 270 |
+
|
| 271 |
+
$order->addStatusToHistory(
|
| 272 |
+
$order->getStatus(), //continue setting current order status
|
| 273 |
+
Mage::helper('checkoutapi')->__($frase), true
|
| 274 |
+
);
|
| 275 |
+
|
| 276 |
+
$order->sendOrderUpdateEmail(true, $frase);
|
| 277 |
+
} else {
|
| 278 |
+
|
| 279 |
+
if (!$order->canInvoice()) {
|
| 280 |
+
$isHolded = ( $order->getStatus() == Mage_Sales_Model_Order::STATE_HOLDED );
|
| 281 |
+
|
| 282 |
+
$status = ($isHolded) ? Mage_Sales_Model_Order::STATE_PROCESSING : $order->getStatus();
|
| 283 |
+
$frase = ($isHolded) ? 'Tray - Aprovado. Confirmado automaticamente o pagamento do pedido.' : 'Erro ao criar pagamento (fatura).';
|
| 284 |
+
|
| 285 |
+
//when order cannot create invoice, need to have some logic to take care
|
| 286 |
+
$order->addStatusToHistory(
|
| 287 |
+
$status, //continue setting current order status
|
| 288 |
+
Mage::helper('checkoutapi')->__( $frase )
|
| 289 |
+
);
|
| 290 |
+
|
| 291 |
+
} else {
|
| 292 |
+
|
| 293 |
+
//need to save transaction id
|
| 294 |
+
$order->getPayment()->setTransactionId($dados_post['transaction']['transaction_id']);
|
| 295 |
+
|
| 296 |
+
//need to convert from order into invoice
|
| 297 |
+
$invoice = $order->prepareInvoice();
|
| 298 |
+
|
| 299 |
+
if ($this->getApi()->canCapture()) {
|
| 300 |
+
$invoice->register()->capture();
|
| 301 |
+
}
|
| 302 |
+
|
| 303 |
+
Mage::getModel('core/resource_transaction')
|
| 304 |
+
->addObject($invoice)
|
| 305 |
+
->addObject($invoice->getOrder())
|
| 306 |
+
->save();
|
| 307 |
+
|
| 308 |
+
$frase = 'Pagamento (fatura) ' . $invoice->getIncrementId() . ' foi criado. Tray - Aprovado. Confirmado automaticamente o pagamento do pedido.';
|
| 309 |
+
|
| 310 |
+
if ($thereIsVirtual) {
|
| 311 |
+
|
| 312 |
+
$order->addStatusToHistory(
|
| 313 |
+
$order->getStatus(), Mage::helper('checkoutapi')->__($frase), true
|
| 314 |
+
);
|
| 315 |
+
|
| 316 |
+
} else {
|
| 317 |
+
|
| 318 |
+
$order->addStatusToHistory(
|
| 319 |
+
Mage_Sales_Model_Order::STATE_PROCESSING, //update order status to processing after creating an invoice
|
| 320 |
+
Mage::helper('checkoutapi')->__($frase), true
|
| 321 |
+
);
|
| 322 |
+
}
|
| 323 |
+
|
| 324 |
+
$invoice->sendEmail(true, $frase);
|
| 325 |
+
}
|
| 326 |
+
}
|
| 327 |
+
break;
|
| 328 |
+
case '24':
|
| 329 |
+
$order->addStatusToHistory(
|
| 330 |
+
Mage_Sales_Model_Order::STATE_HOLDED, Mage::helper('checkoutapi')->__('Tray enviou automaticamente o status: %s', $comment)
|
| 331 |
+
);
|
| 332 |
+
break;
|
| 333 |
+
case '7':
|
| 334 |
+
case '89':
|
| 335 |
+
$frase = 'Tray - Cancelado. Pedido cancelado automaticamente (transação foi cancelada, pagamento foi negado, pagamento foi estornado ou ocorreu um chargeback).';
|
| 336 |
+
|
| 337 |
+
$order->addStatusToHistory(
|
| 338 |
+
Mage_Sales_Model_Order::STATE_CANCELED, Mage::helper('checkoutapi')->__($frase), true
|
| 339 |
+
);
|
| 340 |
+
|
| 341 |
+
$order->sendOrderUpdateEmail(true, $frase);
|
| 342 |
+
|
| 343 |
+
$order->cancel();
|
| 344 |
+
break;
|
| 345 |
+
case '87':
|
| 346 |
+
$order->addStatusToHistory(
|
| 347 |
+
Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, Mage::helper('checkoutapi')->__('Tray enviou automaticamente o status: %s', $comment)
|
| 348 |
+
);
|
| 349 |
+
break;
|
| 350 |
+
}
|
| 351 |
+
}
|
| 352 |
+
$order->save();
|
| 353 |
+
}
|
| 354 |
+
}
|
| 355 |
+
}
|
| 356 |
+
|
| 357 |
+
}
|
app/code/community/Tray/CheckoutApi/etc/adminhtml.xml
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category Tray
|
| 17 |
+
* @package Tray_CheckoutApi
|
| 18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 19 |
+
*/
|
| 20 |
+
-->
|
| 21 |
+
|
| 22 |
+
<config>
|
| 23 |
+
<acl>
|
| 24 |
+
<resources>
|
| 25 |
+
<all>
|
| 26 |
+
<title>Allow Everything</title>
|
| 27 |
+
</all>
|
| 28 |
+
<admin>
|
| 29 |
+
<children>
|
| 30 |
+
<system>
|
| 31 |
+
<children>
|
| 32 |
+
<config>
|
| 33 |
+
<children>
|
| 34 |
+
<checkoutapi>
|
| 35 |
+
<title>Tray - Settings</title>
|
| 36 |
+
</checkoutapi>
|
| 37 |
+
</children>
|
| 38 |
+
</config>
|
| 39 |
+
</children>
|
| 40 |
+
</system>
|
| 41 |
+
</children>
|
| 42 |
+
</admin>
|
| 43 |
+
</resources>
|
| 44 |
+
</acl>
|
| 45 |
+
</config>
|
app/code/community/Tray/CheckoutApi/etc/config.xml
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category Tray
|
| 17 |
+
* @package Tray_CheckoutApi
|
| 18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 19 |
+
*/
|
| 20 |
+
-->
|
| 21 |
+
<config>
|
| 22 |
+
<modules>
|
| 23 |
+
<Tray_CheckoutApi>
|
| 24 |
+
<version>0.1.0</version>
|
| 25 |
+
</Tray_CheckoutApi>
|
| 26 |
+
</modules>
|
| 27 |
+
<global>
|
| 28 |
+
<models>
|
| 29 |
+
<checkoutapi>
|
| 30 |
+
<class>Tray_CheckoutApi_Model</class>
|
| 31 |
+
<resourceModel>checkoutapi_mysql4</resourceModel>
|
| 32 |
+
</checkoutapi>
|
| 33 |
+
<checkoutapi_mysql4>
|
| 34 |
+
<class>Tray_CheckoutApi_Model_Mysql4</class>
|
| 35 |
+
<entities>
|
| 36 |
+
<api_debug>
|
| 37 |
+
<table>checkoutapi_api_debug</table>
|
| 38 |
+
</api_debug>
|
| 39 |
+
</entities>
|
| 40 |
+
</checkoutapi_mysql4>
|
| 41 |
+
</models>
|
| 42 |
+
<resources>
|
| 43 |
+
<checkoutapi_setup>
|
| 44 |
+
<setup>
|
| 45 |
+
<module>Tray_CheckoutApi</module>
|
| 46 |
+
</setup>
|
| 47 |
+
<connection>
|
| 48 |
+
<use>core_setup</use>
|
| 49 |
+
</connection>
|
| 50 |
+
</checkoutapi_setup>
|
| 51 |
+
<checkoutapi_write>
|
| 52 |
+
<connection>
|
| 53 |
+
<use>core_write</use>
|
| 54 |
+
</connection>
|
| 55 |
+
</checkoutapi_write>
|
| 56 |
+
<checkoutapi_read>
|
| 57 |
+
<connection>
|
| 58 |
+
<use>core_read</use>
|
| 59 |
+
</connection>
|
| 60 |
+
</checkoutapi_read>
|
| 61 |
+
</resources>
|
| 62 |
+
<blocks>
|
| 63 |
+
<checkoutapi>
|
| 64 |
+
<class>Tray_CheckoutApi_Block</class>
|
| 65 |
+
</checkoutapi>
|
| 66 |
+
</blocks>
|
| 67 |
+
<helpers>
|
| 68 |
+
<checkoutapi>
|
| 69 |
+
<class>Tray_CheckoutApi_Helper</class>
|
| 70 |
+
</checkoutapi>
|
| 71 |
+
</helpers>
|
| 72 |
+
<events>
|
| 73 |
+
<checkout_onepage_controller_success_action>
|
| 74 |
+
<observers>
|
| 75 |
+
<checkoutapi_observer>
|
| 76 |
+
<type>singleton</type>
|
| 77 |
+
<class>checkoutapi/observer</class>
|
| 78 |
+
<method>sendEmailFrontend</method>
|
| 79 |
+
</checkoutapi_observer>
|
| 80 |
+
</observers>
|
| 81 |
+
</checkout_onepage_controller_success_action>
|
| 82 |
+
<checkout_multishipping_controller_success_action>
|
| 83 |
+
<observers>
|
| 84 |
+
<checkoutapi_observer>
|
| 85 |
+
<type>singleton</type>
|
| 86 |
+
<class>checkoutapi/observer</class>
|
| 87 |
+
<method>sendEmailFrontend</method>
|
| 88 |
+
</checkoutapi_observer>
|
| 89 |
+
</observers>
|
| 90 |
+
</checkout_multishipping_controller_success_action>
|
| 91 |
+
</events>
|
| 92 |
+
<fieldsets>
|
| 93 |
+
<sales_convert_quote_payment>
|
| 94 |
+
<traycheckout_transaction_id>
|
| 95 |
+
<to_order_payment>*</to_order_payment>
|
| 96 |
+
</traycheckout_transaction_id>
|
| 97 |
+
<traycheckout_split_number>
|
| 98 |
+
<to_order_payment>*</to_order_payment>
|
| 99 |
+
</traycheckout_split_number>
|
| 100 |
+
<traycheckout_split_value>
|
| 101 |
+
<to_order_payment>*</to_order_payment>
|
| 102 |
+
</traycheckout_split_value>
|
| 103 |
+
<traycheckout_token_transaction>
|
| 104 |
+
<to_order_payment>*</to_order_payment>
|
| 105 |
+
</traycheckout_token_transaction>
|
| 106 |
+
<traycheckout_url_payment>
|
| 107 |
+
<to_order_payment>*</to_order_payment>
|
| 108 |
+
</traycheckout_url_payment>
|
| 109 |
+
<traycheckout_typeful_line>
|
| 110 |
+
<to_order_payment>*</to_order_payment>
|
| 111 |
+
</traycheckout_typeful_line>
|
| 112 |
+
</sales_convert_quote_payment>
|
| 113 |
+
</fieldsets>
|
| 114 |
+
</global>
|
| 115 |
+
<frontend>
|
| 116 |
+
<secure_url>
|
| 117 |
+
<checkoutapi>/checkoutapi/standard</checkoutapi>
|
| 118 |
+
</secure_url>
|
| 119 |
+
<routers>
|
| 120 |
+
<checkoutapi>
|
| 121 |
+
<use>standard</use>
|
| 122 |
+
<args>
|
| 123 |
+
<module>Tray_CheckoutApi</module>
|
| 124 |
+
<frontName>checkoutapi</frontName>
|
| 125 |
+
</args>
|
| 126 |
+
</checkoutapi>
|
| 127 |
+
</routers>
|
| 128 |
+
<translate>
|
| 129 |
+
<modules>
|
| 130 |
+
<checkoutapi>
|
| 131 |
+
<files>
|
| 132 |
+
<default>Tray_CheckoutApi.csv</default>
|
| 133 |
+
</files>
|
| 134 |
+
</checkoutapi>
|
| 135 |
+
</modules>
|
| 136 |
+
</translate>
|
| 137 |
+
<layout>
|
| 138 |
+
<updates>
|
| 139 |
+
<traycheckoutapi>
|
| 140 |
+
<file>tray_checkoutapi.xml</file>
|
| 141 |
+
</traycheckoutapi>
|
| 142 |
+
</updates>
|
| 143 |
+
</layout>
|
| 144 |
+
</frontend>
|
| 145 |
+
<adminhtml>
|
| 146 |
+
<translate>
|
| 147 |
+
<modules>
|
| 148 |
+
<checkoutapi>
|
| 149 |
+
<files>
|
| 150 |
+
<default>Tray_CheckoutApi.csv</default>
|
| 151 |
+
</files>
|
| 152 |
+
</checkoutapi>
|
| 153 |
+
</modules>
|
| 154 |
+
</translate>
|
| 155 |
+
<layout>
|
| 156 |
+
<updates>
|
| 157 |
+
<traycheckoutapi>
|
| 158 |
+
<file>tray_checkoutapi.xml</file>
|
| 159 |
+
</traycheckoutapi>
|
| 160 |
+
</updates>
|
| 161 |
+
</layout>
|
| 162 |
+
</adminhtml>
|
| 163 |
+
<default>
|
| 164 |
+
<payment>
|
| 165 |
+
<traycheckoutapi>
|
| 166 |
+
<active>0</active>
|
| 167 |
+
<model>Tray_CheckoutApi_Model_Standard</model>
|
| 168 |
+
<order_status>pending</order_status>
|
| 169 |
+
<title>TrayCheckout</title>
|
| 170 |
+
<allowspecific>1</allowspecific>
|
| 171 |
+
<splitTax>1.99</splitTax>
|
| 172 |
+
<retorno>http://www.urldoseusite.com.br/index.php/CheckoutApi_Standard/standard/success/</retorno>
|
| 173 |
+
</traycheckoutapi>
|
| 174 |
+
</payment>
|
| 175 |
+
<checkoutapi>
|
| 176 |
+
<settings>
|
| 177 |
+
<exibitionmodal>1</exibitionmodal>
|
| 178 |
+
</settings>
|
| 179 |
+
</checkoutapi>
|
| 180 |
+
</default>
|
| 181 |
+
</config>
|
app/code/community/Tray/CheckoutApi/etc/system.xml
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category Tray
|
| 17 |
+
* @package Tray_CheckoutApi
|
| 18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 19 |
+
*/
|
| 20 |
+
-->
|
| 21 |
+
<config>
|
| 22 |
+
<tabs>
|
| 23 |
+
<tray translate="label" module="checkoutapi">
|
| 24 |
+
<label>Tray Commerce</label>
|
| 25 |
+
<sort_order>100</sort_order>
|
| 26 |
+
</tray>
|
| 27 |
+
</tabs>
|
| 28 |
+
<sections>
|
| 29 |
+
<payment translate="label" module="checkoutapi">
|
| 30 |
+
<groups>
|
| 31 |
+
<traycheckoutapi translate="label">
|
| 32 |
+
<label>TrayCheckout - Transparente</label>
|
| 33 |
+
<sort_order>670</sort_order>
|
| 34 |
+
<show_in_default>1</show_in_default>
|
| 35 |
+
<show_in_website>1</show_in_website>
|
| 36 |
+
<show_in_store>0</show_in_store>
|
| 37 |
+
<fields>
|
| 38 |
+
<active translate="label">
|
| 39 |
+
<label>Enabled</label>
|
| 40 |
+
<frontend_type>select</frontend_type>
|
| 41 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 42 |
+
<sort_order>1</sort_order>
|
| 43 |
+
<show_in_default>1</show_in_default>
|
| 44 |
+
<show_in_website>1</show_in_website>
|
| 45 |
+
<show_in_store>0</show_in_store>
|
| 46 |
+
</active>
|
| 47 |
+
<title translate="label">
|
| 48 |
+
<label>Título</label>
|
| 49 |
+
<frontend_type>text</frontend_type>
|
| 50 |
+
<sort_order>2</sort_order>
|
| 51 |
+
<show_in_default>1</show_in_default>
|
| 52 |
+
<show_in_website>1</show_in_website>
|
| 53 |
+
<show_in_store>0</show_in_store>
|
| 54 |
+
</title>
|
| 55 |
+
<order_status translate="label">
|
| 56 |
+
<label>Status dos novos pedidos</label>
|
| 57 |
+
<frontend_type>select</frontend_type>
|
| 58 |
+
<source_model>adminhtml/system_config_source_order_status_new</source_model>
|
| 59 |
+
<sort_order>3</sort_order>
|
| 60 |
+
<show_in_default>1</show_in_default>
|
| 61 |
+
<show_in_website>1</show_in_website>
|
| 62 |
+
<show_in_store>0</show_in_store>
|
| 63 |
+
</order_status>
|
| 64 |
+
<!--custom_address_model translate="label, comment">
|
| 65 |
+
<label>Modelo de Endereço Personalizado</label>
|
| 66 |
+
<frontend_type>select</frontend_type>
|
| 67 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 68 |
+
<sort_order>5</sort_order>
|
| 69 |
+
<show_in_default>1</show_in_default>
|
| 70 |
+
<show_in_website>1</show_in_website>
|
| 71 |
+
<show_in_store>1</show_in_store>
|
| 72 |
+
<comment>Necessário disponibilizar quatro campos de endereço para habilitar.</comment>
|
| 73 |
+
</custom_address_model-->
|
| 74 |
+
<token translate="label">
|
| 75 |
+
<label>Token</label>
|
| 76 |
+
<frontend_type>text</frontend_type>
|
| 77 |
+
<sort_order>4</sort_order>
|
| 78 |
+
<show_in_default>1</show_in_default>
|
| 79 |
+
<show_in_website>1</show_in_website>
|
| 80 |
+
<show_in_store>0</show_in_store>
|
| 81 |
+
</token>
|
| 82 |
+
<acaopadraovirtual translate="label">
|
| 83 |
+
<label>Gerar Fatura automaticamente para pedidos com produtos virtuais?</label>
|
| 84 |
+
<frontend_type>select</frontend_type>
|
| 85 |
+
<sort_order>5</sort_order>
|
| 86 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 87 |
+
<show_in_default>1</show_in_default>
|
| 88 |
+
<show_in_website>1</show_in_website>
|
| 89 |
+
<show_in_store>0</show_in_store>
|
| 90 |
+
</acaopadraovirtual>
|
| 91 |
+
<tcQtdSplit translate="label">
|
| 92 |
+
<label>Quantidade Máxima de Parcelas</label>
|
| 93 |
+
<frontend_type>select</frontend_type>
|
| 94 |
+
<sort_order>6</sort_order>
|
| 95 |
+
<source_model>checkoutapi/source_qtdsplit</source_model>
|
| 96 |
+
<show_in_default>1</show_in_default>
|
| 97 |
+
<show_in_website>1</show_in_website>
|
| 98 |
+
<show_in_store>1</show_in_store>
|
| 99 |
+
</tcQtdSplit>
|
| 100 |
+
<tcPaymentMethods translate="label">
|
| 101 |
+
<label>Meios de Pagamento disponíveis</label>
|
| 102 |
+
<frontend_type>multiselect</frontend_type>
|
| 103 |
+
<sort_order>7</sort_order>
|
| 104 |
+
<source_model>checkoutapi/source_paymentmethods</source_model>
|
| 105 |
+
<show_in_default>1</show_in_default>
|
| 106 |
+
<show_in_website>1</show_in_website>
|
| 107 |
+
<show_in_store>1</show_in_store>
|
| 108 |
+
</tcPaymentMethods>
|
| 109 |
+
<tcNoSplitTaxRate translate="label">
|
| 110 |
+
<label>Parcelas sem Acréscimo</label>
|
| 111 |
+
<frontend_type>multiselect</frontend_type>
|
| 112 |
+
<sort_order>8</sort_order>
|
| 113 |
+
<source_model>checkoutapi/source_qtdsplit</source_model>
|
| 114 |
+
<show_in_default>1</show_in_default>
|
| 115 |
+
<show_in_website>1</show_in_website>
|
| 116 |
+
<show_in_store>1</show_in_store>
|
| 117 |
+
</tcNoSplitTaxRate>
|
| 118 |
+
<splitTax translate="label">
|
| 119 |
+
<label>Taxa de Acréscimo</label>
|
| 120 |
+
<frontend_type>text</frontend_type>
|
| 121 |
+
<sort_order>10</sort_order>
|
| 122 |
+
<show_in_default>1</show_in_default>
|
| 123 |
+
<show_in_website>1</show_in_website>
|
| 124 |
+
<show_in_store>0</show_in_store>
|
| 125 |
+
</splitTax>
|
| 126 |
+
<allowspecific translate="label">
|
| 127 |
+
<label>Tipos de Países Permitidos</label>
|
| 128 |
+
<frontend_type>select</frontend_type>
|
| 129 |
+
<sort_order>11</sort_order>
|
| 130 |
+
<source_model>checkoutapi/source_specificcountries</source_model>
|
| 131 |
+
<show_in_default>1</show_in_default>
|
| 132 |
+
<show_in_website>1</show_in_website>
|
| 133 |
+
<show_in_store>1</show_in_store>
|
| 134 |
+
</allowspecific>
|
| 135 |
+
<specificcountry translate="label">
|
| 136 |
+
<label>Permitir Pagamento de Países Específicos</label>
|
| 137 |
+
<frontend_type>select</frontend_type>
|
| 138 |
+
<sort_order>12</sort_order>
|
| 139 |
+
<source_model>checkoutapi/source_country</source_model>
|
| 140 |
+
<show_in_default>1</show_in_default>
|
| 141 |
+
<show_in_website>1</show_in_website>
|
| 142 |
+
<show_in_store>1</show_in_store>
|
| 143 |
+
</specificcountry>
|
| 144 |
+
<prefixo translate="label">
|
| 145 |
+
<label>Prefixo do Pedido</label>
|
| 146 |
+
<frontend_type>text</frontend_type>
|
| 147 |
+
<sort_order>15</sort_order>
|
| 148 |
+
<show_in_default>1</show_in_default>
|
| 149 |
+
<show_in_website>1</show_in_website>
|
| 150 |
+
<show_in_store>1</show_in_store>
|
| 151 |
+
</prefixo>
|
| 152 |
+
<sort_order translate="label">
|
| 153 |
+
<label>Ordem de Exibição</label>
|
| 154 |
+
<frontend_type>text</frontend_type>
|
| 155 |
+
<sort_order>100</sort_order>
|
| 156 |
+
<show_in_default>1</show_in_default>
|
| 157 |
+
<show_in_website>1</show_in_website>
|
| 158 |
+
<show_in_store>1</show_in_store>
|
| 159 |
+
</sort_order>
|
| 160 |
+
<sandbox translate="label">
|
| 161 |
+
<label>Ambiente de Teste (Sandbox)</label>
|
| 162 |
+
<frontend_type>select</frontend_type>
|
| 163 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 164 |
+
<sort_order>200</sort_order>
|
| 165 |
+
<show_in_default>1</show_in_default>
|
| 166 |
+
<show_in_website>1</show_in_website>
|
| 167 |
+
<show_in_store>0</show_in_store>
|
| 168 |
+
</sandbox>
|
| 169 |
+
</fields>
|
| 170 |
+
</traycheckoutapi>
|
| 171 |
+
</groups>
|
| 172 |
+
</payment>
|
| 173 |
+
</sections>
|
| 174 |
+
</config>
|
app/code/community/Tray/CheckoutApi/sql/checkoutapi_setup/mysql4-install-0.1.0.php
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
/** @var $installer Mage_Paypal_Model_Resource_Setup */
|
| 21 |
+
$installer = $this;
|
| 22 |
+
|
| 23 |
+
/**
|
| 24 |
+
* Prepare database for install
|
| 25 |
+
*/
|
| 26 |
+
$installer->startSetup();
|
| 27 |
+
|
| 28 |
+
/**
|
| 29 |
+
* Add paypal attributes to the:
|
| 30 |
+
* - sales/flat_quote_payment_item table
|
| 31 |
+
* - sales/flat_order table
|
| 32 |
+
*/
|
| 33 |
+
//$installer->addAttribute('quote_payment', 'traycheckout_transaction_id', array());
|
| 34 |
+
//$installer->addAttribute('quote_payment', 'traycheckout_split_number', array());
|
| 35 |
+
//$installer->addAttribute('quote_payment', 'traycheckout_split_value', array());
|
| 36 |
+
//$installer->addAttribute('quote_payment', 'traycheckout_token_transaction', array());
|
| 37 |
+
//$installer->addAttribute('quote_payment', 'traycheckout_url_payment', array());
|
| 38 |
+
//$installer->addAttribute('quote_payment', 'traycheckout_typeful_line', array());
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
$installer->run("
|
| 42 |
+
ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD `traycheckout_transaction_id` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 43 |
+
ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD `traycheckout_split_number` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 44 |
+
ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD `traycheckout_split_value` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 45 |
+
ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD `traycheckout_token_transaction` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 46 |
+
ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD `traycheckout_url_payment` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 47 |
+
ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD `traycheckout_typeful_line` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 48 |
+
|
| 49 |
+
ALTER TABLE {$this->getTable('sales_flat_order_payment')} ADD `traycheckout_transaction_id` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 50 |
+
ALTER TABLE {$this->getTable('sales_flat_order_payment')} ADD `traycheckout_split_number` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 51 |
+
ALTER TABLE {$this->getTable('sales_flat_order_payment')} ADD `traycheckout_split_value` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 52 |
+
ALTER TABLE {$this->getTable('sales_flat_order_payment')} ADD `traycheckout_token_transaction` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 53 |
+
ALTER TABLE {$this->getTable('sales_flat_order_payment')} ADD `traycheckout_url_payment` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 54 |
+
ALTER TABLE {$this->getTable('sales_flat_order_payment')} ADD `traycheckout_typeful_line` VARCHAR( 255 ) NULL DEFAULT NULL;
|
| 55 |
+
");
|
| 56 |
+
/**
|
| 57 |
+
* Prepare database after install
|
| 58 |
+
*/
|
| 59 |
+
|
| 60 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/layout/tray_checkoutapi.xml
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category Tray
|
| 17 |
+
* @package Tray_CheckoutApi
|
| 18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 19 |
+
*/
|
| 20 |
+
-->
|
| 21 |
+
<layout version="1.0.0">
|
| 22 |
+
<adminhtml_system_config_edit>
|
| 23 |
+
<reference name="head">
|
| 24 |
+
<action method="addItem">
|
| 25 |
+
<type>skin_js</type>
|
| 26 |
+
<script>tray/checkoutapi/js/exibitionsettingswebcheckout.js</script>
|
| 27 |
+
</action>
|
| 28 |
+
<action method="addCss">
|
| 29 |
+
<stylesheet>tray/checkoutapi/css/magentomodal.css</stylesheet>
|
| 30 |
+
</action>
|
| 31 |
+
</reference>
|
| 32 |
+
<reference name="content">
|
| 33 |
+
<block type="page/html" name="getbaseurl" template="tray/checkoutapi/getbaseurl.phtml" />
|
| 34 |
+
</reference>
|
| 35 |
+
</adminhtml_system_config_edit>
|
| 36 |
+
</layout>
|
app/design/adminhtml/default/default/template/tray/checkoutredir/form/standard.phtml
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<fieldset class="form-list">
|
| 21 |
+
<?php
|
| 22 |
+
$_code = $this->getMethodCode();
|
| 23 |
+
$_standardPD = Mage::getSingleton('checkoutapi/geral');
|
| 24 |
+
|
| 25 |
+
$totals = Mage::getSingleton('adminhtml/session_quote')->getQuote()->collectTotals();
|
| 26 |
+
?>
|
| 27 |
+
<ul id="payment_form_<?php echo $_code ?>" style="display:none">
|
| 28 |
+
<ul class="forma_pagamento"></ul>
|
| 29 |
+
</ul>
|
| 30 |
+
</fieldset>
|
app/design/adminhtml/default/default/template/tray/checkoutredir/getbaseurl.phtml
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* DISCLAIMER
|
| 16 |
+
*
|
| 17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
| 18 |
+
* versions in the future. If you wish to customize Magento for your
|
| 19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
| 20 |
+
*
|
| 21 |
+
* @category Itwin
|
| 22 |
+
* @package Itwin_PostcodeComplete
|
| 23 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
| 24 |
+
*/
|
| 25 |
+
?>
|
| 26 |
+
|
| 27 |
+
<script type="text/javascript">
|
| 28 |
+
var checkoutapi_baseurl = "<?php echo $this->getBaseUrl(); ?>";
|
| 29 |
+
</script>
|
| 30 |
+
|
app/design/adminhtml/default/default/template/tray/checkoutredir/info/standard.phtml
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<p>
|
| 21 |
+
<strong>
|
| 22 |
+
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?>
|
| 23 |
+
</strong>
|
| 24 |
+
</p>
|
| 25 |
+
<?php echo $this->getLinkPayment($this->getInfo()->getOrder()); ?>
|
app/design/frontend/base/default/layout/tray_checkoutapi.xml
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category Tray
|
| 17 |
+
* @package Tray_CheckoutApi
|
| 18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 19 |
+
*/
|
| 20 |
+
-->
|
| 21 |
+
<layout version="0.1.0">
|
| 22 |
+
<checkoutapi_standard_payment>
|
| 23 |
+
<reference name="head">
|
| 24 |
+
<action method="addCss">
|
| 25 |
+
<stylesheet>tray/checkoutapi/css/styles.css</stylesheet>
|
| 26 |
+
</action>
|
| 27 |
+
</reference>
|
| 28 |
+
<remove name="left"/>
|
| 29 |
+
<reference name="root">
|
| 30 |
+
<action method="setTemplate"><template>page/1column.phtml</template></action>
|
| 31 |
+
</reference>
|
| 32 |
+
<reference name="content">
|
| 33 |
+
<block type="checkoutapi/payment" name="payment" template="tray/checkoutapi/payment.phtml" />
|
| 34 |
+
</reference>
|
| 35 |
+
</checkoutapi_standard_payment>
|
| 36 |
+
|
| 37 |
+
<checkoutapi_standard_return>
|
| 38 |
+
<remove name="left"/>
|
| 39 |
+
<reference name="root">
|
| 40 |
+
<action method="setTemplate"><template>page/empty.phtml</template></action>
|
| 41 |
+
</reference>
|
| 42 |
+
<reference name="content">
|
| 43 |
+
<block type="checkoutapi/return" name="return" template="tray/checkoutapi/return.phtml" />
|
| 44 |
+
</reference>
|
| 45 |
+
</checkoutapi_standard_return>
|
| 46 |
+
|
| 47 |
+
<checkoutapi_standard_error>
|
| 48 |
+
<remove name="left"/>
|
| 49 |
+
<reference name="root">
|
| 50 |
+
<action method="setTemplate"><template>page/2columns-right.phtml</template></action>
|
| 51 |
+
</reference>
|
| 52 |
+
<reference name="content">
|
| 53 |
+
<block type="checkoutapi/error" name="error" template="tray/checkoutapi/error.phtml" />
|
| 54 |
+
</reference>
|
| 55 |
+
</checkoutapi_standard_error>
|
| 56 |
+
</layout>
|
app/design/frontend/base/default/template/tray/checkoutapi/error.phtml
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
|
| 20 |
+
$title = "";
|
| 21 |
+
$message = "";
|
| 22 |
+
?>
|
| 23 |
+
<?php
|
| 24 |
+
if($this->getRequest()->getParam("type") == 'G' || $this->getRequest()->getParam("type") == 'V'){
|
| 25 |
+
$title = "Erro ao realizar seu pedido pelo TrayCheckout";
|
| 26 |
+
$message = "Ocorreu um erro ao realizar o seu pedido pelo TrayCheckout.";
|
| 27 |
+
|
| 28 |
+
}else{
|
| 29 |
+
$title = "Erro ao realizar o Retorno Automático";
|
| 30 |
+
$message = "Ocorreu um erro ao realizar o retorno automático.";
|
| 31 |
+
}
|
| 32 |
+
?>
|
| 33 |
+
<div class="page-head">
|
| 34 |
+
|
| 35 |
+
<h2 class="sub-title"><?php echo $title;?></h2>
|
| 36 |
+
</div>
|
| 37 |
+
<table style="width:100%;">
|
| 38 |
+
<tr>
|
| 39 |
+
<td style="width:100%">
|
| 40 |
+
<?php echo $message;?><br /><br />
|
| 41 |
+
Dados do Erro:<br />
|
| 42 |
+
<?php
|
| 43 |
+
if($this->getRequest()->getParam("type") == 'V'){
|
| 44 |
+
?>
|
| 45 |
+
Campos: <?php echo utf8_decode($this->getRequest()->getParam("codigo")); ?><br />
|
| 46 |
+
<?php
|
| 47 |
+
}else{
|
| 48 |
+
?>
|
| 49 |
+
Código: <?php echo utf8_decode($this->getRequest()->getParam("codigo")); ?><br />
|
| 50 |
+
<?php
|
| 51 |
+
}
|
| 52 |
+
?>
|
| 53 |
+
Descrição: <?php echo $this->getRequest()->getParam("descricao"); ?><br />
|
| 54 |
+
</td>
|
| 55 |
+
</tr>
|
| 56 |
+
</table>
|
app/design/frontend/base/default/template/tray/checkoutapi/form/images/overlay.png
ADDED
|
Binary file
|
app/design/frontend/base/default/template/tray/checkoutapi/form/standard.phtml
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<fieldset class="form-list">
|
| 21 |
+
<?php
|
| 22 |
+
$_code = $this->getMethodCode();
|
| 23 |
+
$_standardPD = Mage::getSingleton('checkoutapi/standard');
|
| 24 |
+
|
| 25 |
+
$totals = Mage::getSingleton('checkout/session')->getQuote()->collectTotals();
|
| 26 |
+
//$shippingAmount = Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress()->getShippingAmount();
|
| 27 |
+
$strTcPaymentMethods = $_standardPD->getConfigData("tcPaymentMethods");
|
| 28 |
+
|
| 29 |
+
if($strTcPaymentMethods == "" || $strTcPaymentMethods == null){
|
| 30 |
+
$tcPaymentMethods = explode(",","3,4,2,5,18,16,15,19,14,7,22,23,6");
|
| 31 |
+
}else{
|
| 32 |
+
$tcPaymentMethods = explode(",",$strTcPaymentMethods);
|
| 33 |
+
}
|
| 34 |
+
?>
|
| 35 |
+
<style>
|
| 36 |
+
ul li.tcPaymentMethod{
|
| 37 |
+
float: left;
|
| 38 |
+
padding: 5px;
|
| 39 |
+
width: 80px;
|
| 40 |
+
height: 30px;
|
| 41 |
+
}
|
| 42 |
+
ul li input{
|
| 43 |
+
float: left;
|
| 44 |
+
margin-right: 5px;
|
| 45 |
+
}
|
| 46 |
+
ul li span.tcPaymentFlag{
|
| 47 |
+
float: left;
|
| 48 |
+
width: 60px;
|
| 49 |
+
height: 50px;
|
| 50 |
+
background-image: url(<?php echo $this->getSkinUrl('tray/checkoutapi/images/paymentFlags1.png'); ?>);
|
| 51 |
+
background-repeat: no-repeat;
|
| 52 |
+
}
|
| 53 |
+
/* Diners */
|
| 54 |
+
ul li span.tcPaymentFlag2{
|
| 55 |
+
background-position: -184px -8px;
|
| 56 |
+
}
|
| 57 |
+
/* Visa */
|
| 58 |
+
ul li span.tcPaymentFlag3{
|
| 59 |
+
background-position: 1px -8px;
|
| 60 |
+
}
|
| 61 |
+
/* Master */
|
| 62 |
+
ul li span.tcPaymentFlag4{
|
| 63 |
+
background-position: -60px -8px;
|
| 64 |
+
}
|
| 65 |
+
/* Amex */
|
| 66 |
+
ul li span.tcPaymentFlag5{
|
| 67 |
+
background-position: -123px -8px;
|
| 68 |
+
}
|
| 69 |
+
/* Boleto */
|
| 70 |
+
ul li span.tcPaymentFlag6{
|
| 71 |
+
background-position: -556px -8px;
|
| 72 |
+
}
|
| 73 |
+
/* Itaú */
|
| 74 |
+
ul li span.tcPaymentFlag7{
|
| 75 |
+
background-position: -618px -8px;
|
| 76 |
+
}
|
| 77 |
+
/* Peela */
|
| 78 |
+
ul li span.tcPaymentFlag14{
|
| 79 |
+
background-position: -369px -8px;
|
| 80 |
+
}
|
| 81 |
+
/* Discover */
|
| 82 |
+
ul li span.tcPaymentFlag15{
|
| 83 |
+
background-position: -308px -8px;
|
| 84 |
+
}
|
| 85 |
+
/* Elo */
|
| 86 |
+
ul li span.tcPaymentFlag16{
|
| 87 |
+
background-position: -246px -8px;
|
| 88 |
+
}
|
| 89 |
+
/* Aura */
|
| 90 |
+
ul li span.tcPaymentFlag18{
|
| 91 |
+
background-position: -431px -8px;
|
| 92 |
+
}
|
| 93 |
+
/* JCB */
|
| 94 |
+
ul li span.tcPaymentFlag19{
|
| 95 |
+
background-position: -494px -8px;
|
| 96 |
+
}
|
| 97 |
+
/* Bradesco */
|
| 98 |
+
ul li span.tcPaymentFlag22{
|
| 99 |
+
background-position: -679px -8px;
|
| 100 |
+
}
|
| 101 |
+
/* Banco do Brasil */
|
| 102 |
+
ul li span.tcPaymentFlag23{
|
| 103 |
+
background-position: -741px -8px;
|
| 104 |
+
}
|
| 105 |
+
</style>
|
| 106 |
+
<ul id="payment_form_<?php echo $_code ?>" style="display:none">
|
| 107 |
+
|
| 108 |
+
<li class="forma_pagamento" style="float:left;;">
|
| 109 |
+
<ul>
|
| 110 |
+
<li>
|
| 111 |
+
<label for="tcPaymentMethod"><?php echo Mage::helper('payment')->__('Selecione a forma de pagamento') ?> <span class="required">*</span></label><br/>
|
| 112 |
+
<input type="hidden" id="tcPaymentMethod" name="payment[cc_type]" class="required-entry" value=""/>
|
| 113 |
+
<ul>
|
| 114 |
+
<?php
|
| 115 |
+
foreach ($tcPaymentMethods as $idTcPayment){
|
| 116 |
+
$displayCcInfo = "none";
|
| 117 |
+
if(!in_array($idTcPayment, array("6","7","14","22","23"))){
|
| 118 |
+
$displayCcInfo = "block";
|
| 119 |
+
}
|
| 120 |
+
?>
|
| 121 |
+
<li class="tcPaymentMethod">
|
| 122 |
+
<input type="radio" name="tcPaymentMethodR" value="<?php echo $idTcPayment;?>" onclick="document.getElementById('tcPaymentMethod').value = this.value; document.getElementById('displayCcInfo').style.display = '<?php echo $displayCcInfo;?>'"/>
|
| 123 |
+
<span class="tcPaymentFlag tcPaymentFlag<?php echo $idTcPayment;?>">
|
| 124 |
+
|
| 125 |
+
</span>
|
| 126 |
+
</li>
|
| 127 |
+
<?php
|
| 128 |
+
|
| 129 |
+
}
|
| 130 |
+
?>
|
| 131 |
+
</ul>
|
| 132 |
+
</li>
|
| 133 |
+
</ul>
|
| 134 |
+
</li>
|
| 135 |
+
<li id="displayCcInfo" style="display: none;">
|
| 136 |
+
<ul>
|
| 137 |
+
<li>
|
| 138 |
+
<div class="input-box">
|
| 139 |
+
<label for="<?php echo $_code ?>_cc_owner"><?php echo Mage::helper('payment')->__('Name on Card') ?> <span class="required">*</span></label><br/>
|
| 140 |
+
<input type="text" title="<?php echo Mage::helper('payment')->__('Name on Card') ?>" class="required-entry input-text" id="<?php echo $_code ?>_cc_owner" name="payment[cc_owner]" value="<?php echo $this->getInfoData('cc_owner') ?>"/>
|
| 141 |
+
</div>
|
| 142 |
+
</li>
|
| 143 |
+
<li>
|
| 144 |
+
<div class="input-box">
|
| 145 |
+
<label for="<?php echo $_code ?>_cc_number"><?php echo Mage::helper('payment')->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
|
| 146 |
+
<input type="text" id="<?php echo $_code ?>_cc_number" name="payment[cc_number]" title="<?php echo Mage::helper('payment')->__('Credit Card Number') ?>" class="required-entry input-text validate-cc-number" value="<?php echo $this->getInfoData('cc_number')?>"/>
|
| 147 |
+
</div>
|
| 148 |
+
</li>
|
| 149 |
+
<li>
|
| 150 |
+
<div class="input-box">
|
| 151 |
+
<label for="<?php echo $_code ?>_expiration"><?php echo Mage::helper('payment')->__('Expiration Date') ?> <span class="required">*</span></label><br/>
|
| 152 |
+
<select id="<?php echo $_code ?>_expiration" style="width:140px;" name="payment[cc_exp_month]" class="validate-cc-exp required-entry">
|
| 153 |
+
<?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
|
| 154 |
+
<?php foreach ($this->getCcMonths() as $k=>$v): ?>
|
| 155 |
+
<option value="<?php echo $k ?>" <?php if($k==$_ccExpMonth): ?>selected="selected"<?php endif ?>><?php echo $v ?></option>
|
| 156 |
+
<?php endforeach ?>
|
| 157 |
+
</select>
|
| 158 |
+
<?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
|
| 159 |
+
<select id="<?php echo $_code ?>_expiration_yr" style="width:103px;" name="payment[cc_exp_year]" class="required-entry">
|
| 160 |
+
<?php foreach ($this->getCcYears() as $k=>$v): ?>
|
| 161 |
+
<option value="<?php echo $k ? $k : '' ?>" <?php if($k==$_ccExpYear): ?>selected="selected"<?php endif ?>><?php echo $v ?></option>
|
| 162 |
+
<?php endforeach ?>
|
| 163 |
+
</select>
|
| 164 |
+
</div>
|
| 165 |
+
</li>
|
| 166 |
+
<li>
|
| 167 |
+
<div class="input-box">
|
| 168 |
+
<input type="hidden" id="<?php echo $_code ?>_split_value" name="payment[traycheckout_split_value]" value="<?php echo $this->getInfoData('traycheckout_split_value')?>"/>
|
| 169 |
+
<label for="<?php echo $_code ?>_split"><?php echo Mage::helper('payment')->__('Parcelas') ?> <span class="required">*</span></label><br/>
|
| 170 |
+
<select id="<?php echo $_code ?>_split" style="width:140px;" name="payment[traycheckout_split_number]" class="required-entry" onchange="document.getElementById('<?php echo $_code ?>_split_value').value = this.options[this.selectedIndex].text.replace(/.*R\$/,'').replace(/\,/,'.');">
|
| 171 |
+
<?php $_ccSplitSimulator = $this->getInfoData('traycheckout_split_number') ?>
|
| 172 |
+
<?php foreach ($this->getSplitSimulate($totals->grand_total) as $k=>$v): ?>
|
| 173 |
+
<option value="<?php echo $k ?>" <?php if($k==$_ccSplitSimulator): ?>selected="selected"<?php endif ?>><?php echo $v ?></option>
|
| 174 |
+
<?php endforeach ?>
|
| 175 |
+
</select>
|
| 176 |
+
</div>
|
| 177 |
+
</li>
|
| 178 |
+
<li>
|
| 179 |
+
<label for="<?php echo $_code ?>_cc_cid" class="required"><em>*</em><?php echo $this->__('Card Verification Number') ?></label>
|
| 180 |
+
<div class="input-box">
|
| 181 |
+
<div class="v-fix">
|
| 182 |
+
<input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="input-text cvv required-entry validate-cc-cvn" id="<?php echo $_code ?>_cc_cid" name="payment[cc_cid]" value="" />
|
| 183 |
+
</div>
|
| 184 |
+
<a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
|
| 185 |
+
</div>
|
| 186 |
+
</li>
|
| 187 |
+
</ul>
|
| 188 |
+
</li>
|
| 189 |
+
</ul>
|
| 190 |
+
</fieldset>
|
app/design/frontend/base/default/template/tray/checkoutapi/head.phtml
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<title><?php echo $this->getTitle() ?></title>
|
| 21 |
+
<meta http-equiv="Content-Type" content="<?php echo $this->getContentType() ?>" />
|
| 22 |
+
<meta name="description" content="<?php echo htmlspecialchars($this->getDescription()) ?>" />
|
| 23 |
+
<meta name="keywords" content="<?php echo htmlspecialchars($this->getKeywords()) ?>" />
|
| 24 |
+
<meta name="robots" content="<?php echo htmlspecialchars($this->getRobots()) ?>" />
|
| 25 |
+
<link rel="icon" href="<?php echo $this->getSkinUrl('favicon.ico') ?>" type="image/x-icon" />
|
| 26 |
+
<link rel="shortcut icon" href="<?php echo $this->getSkinUrl('favicon.ico') ?>" type="image/x-icon" />
|
| 27 |
+
<script type="text/javascript">
|
| 28 |
+
//<![CDATA[
|
| 29 |
+
var BLANK_URL = '<?php echo $this->helper('core/js')->getJsUrl('blank.html') ?>';
|
| 30 |
+
var BLANK_IMG = '<?php echo $this->helper('core/js')->getJsUrl('spacer.gif') ?>';
|
| 31 |
+
//]]>
|
| 32 |
+
</script>
|
| 33 |
+
<?php echo $this->getCssJsHtml() ?>
|
| 34 |
+
<?php echo $this->getChildHtml() ?>
|
| 35 |
+
<?php echo $this->helper('core/js')->getTranslatorScript() ?>
|
| 36 |
+
<?php echo $this->getIncludes() ?>
|
app/design/frontend/base/default/template/tray/checkoutapi/info/standard.phtml
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<p>
|
| 21 |
+
<strong>
|
| 22 |
+
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?>
|
| 23 |
+
</strong>
|
| 24 |
+
<br/>
|
| 25 |
+
<?php
|
| 26 |
+
if($this->getInfo()->getData("cc_type") != NULL){
|
| 27 |
+
$tcTxtPaymentMethod = array("Diners Club","Visa","Mastercard","American Express","Boleto Bancário","Itaú Shopline","Peela","Discovery","Elo","Aura","JCB","Transf. Online Bradesco","Transf. Online Banco do Brasil");
|
| 28 |
+
$tcIdPaymentMethod = array("2","3","4","5","6","7","14","15","16","18","19","22","23");
|
| 29 |
+
$tcIdPaymentMethodCreditCard = array("","2","3","4","5","15","16","18","19");
|
| 30 |
+
|
| 31 |
+
echo $tcTxtPaymentMethod[array_search($this->getInfo()->getData("cc_type"), $tcIdPaymentMethod)];
|
| 32 |
+
}
|
| 33 |
+
?>
|
| 34 |
+
<?php echo (array_search($this->getInfo()->getData("cc_type"), $tcIdPaymentMethodCreditCard)) ? $this->getInfo()->getData("traycheckout_split_number") . " x R$". number_format((float)$this->getInfo()->getData("traycheckout_split_value"), 2, ',','') : ""; ?>
|
| 35 |
+
</p>
|
| 36 |
+
<?php echo $this->getLinkPayment($this->getInfo()->getOrder()); ?>
|
app/design/frontend/base/default/template/tray/checkoutapi/overlay.phtml
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
|
| 21 |
+
<div id="overlay-tc">
|
| 22 |
+
<center>
|
| 23 |
+
<div id="lightboxtc" style="padding: 10px;background-color: #fff;width: 980px;margin-top: 50px" >
|
| 24 |
+
<img src="<?php echo $this->getSkinUrl('tray/checkoutapi/images/close.png'); ?>" style="position: relative;margin-left: 970px;margin-top: -20px;" />
|
| 25 |
+
<iframe name="tc_frame" width="970" height="700" style="border:0px" ></iframe>
|
| 26 |
+
</div>
|
| 27 |
+
</center>
|
| 28 |
+
</div>
|
app/design/frontend/base/default/template/tray/checkoutapi/payment.phtml
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
<?php
|
| 21 |
+
$this->getPayment();
|
| 22 |
+
$title = "";
|
| 23 |
+
$descriptionPaymentTC = "";
|
| 24 |
+
switch ($this->getStatusId()){
|
| 25 |
+
case '4':
|
| 26 |
+
case '5':
|
| 27 |
+
case '87':
|
| 28 |
+
$title = "Sua compra foi finalizada com TrayCheckout";
|
| 29 |
+
$descriptionPaymentTC = "Sua compra foi finalizada através do TrayCheckout.<br/>Estamos aguardando a confirmação do pagamento.";
|
| 30 |
+
break;
|
| 31 |
+
case '6':
|
| 32 |
+
$title = "Sua compra foi finalizada com TrayCheckout";
|
| 33 |
+
$descriptionPaymentTC = "Sua compra foi finalizada com sucesso através do TrayCheckout.";
|
| 34 |
+
break;
|
| 35 |
+
case '7':
|
| 36 |
+
case '89':
|
| 37 |
+
$title = "Ocorreu um problema ao finalizar a compra pelo TrayCheckout";
|
| 38 |
+
$descriptionPaymentTC = "Ocorreu um problema ao finalizar a compra através do TrayCheckout.";
|
| 39 |
+
break;
|
| 40 |
+
case '88':
|
| 41 |
+
$title = "Sua compra foi finalizada com TrayCheckout";
|
| 42 |
+
$descriptionPaymentTC = "Sua compra foi finalizada através do TrayCheckout.<br/>Estamos aguardando a confirmação do pagamento.";
|
| 43 |
+
break;
|
| 44 |
+
}
|
| 45 |
+
?>
|
| 46 |
+
|
| 47 |
+
<div class="page-head">
|
| 48 |
+
<h2 class="sub-title"><?php echo $title;?></h2>
|
| 49 |
+
</div>
|
| 50 |
+
<div>
|
| 51 |
+
<table style="width:100%;">
|
| 52 |
+
<tr>
|
| 53 |
+
<td style="width:100%">
|
| 54 |
+
<?php echo $descriptionPaymentTC;?><br/><br/>
|
| 55 |
+
<strong>Dados do Pedido:</strong><br/>
|
| 56 |
+
Seu número de pedido é: <strong><?php echo $this->getOrderNumber()?></strong><br />
|
| 57 |
+
Número da transação no TrayCheckout: <strong><?php echo $this->getTransactionId()?></strong><br />
|
| 58 |
+
Meio de Pagamento: <strong>TrayCheckout - <?php echo $this->getPaymentMethodName()?></strong><br />
|
| 59 |
+
Situação da transação no TrayCheckout: <strong><?php echo $this->getStatusName()?></strong><br /><br />
|
| 60 |
+
|
| 61 |
+
<?php
|
| 62 |
+
switch ($this->getPaymentMethodId()) {
|
| 63 |
+
case "6":
|
| 64 |
+
?>
|
| 65 |
+
<button onclick="window.open('<?php echo $this->getUrlPayment()?>');" class="button btn-proceed-checkout btn-checkout" title="Imprimir Boleto" type="button"><span><span>Imprimir Boleto</span></span></button><br />
|
| 66 |
+
<?php
|
| 67 |
+
break;
|
| 68 |
+
case "7":
|
| 69 |
+
case "14":
|
| 70 |
+
case "22":
|
| 71 |
+
case "23":
|
| 72 |
+
?>
|
| 73 |
+
<button onclick="window.open('<?php echo $this->getUrlPayment()?>');" class="button btn-proceed-checkout btn-checkout" title="Efetuar Transferência Online" type="button"><span><span>Efetuar Transferência Online</span></span></button><br />
|
| 74 |
+
<?php
|
| 75 |
+
break;
|
| 76 |
+
}
|
| 77 |
+
?>
|
| 78 |
+
<br />
|
| 79 |
+
<br />
|
| 80 |
+
<img src="<?php echo $this->getSkinUrl('tray/checkoutapi/images/BannerTrayCheckout890px.png'); ?>" />
|
| 81 |
+
</td>
|
| 82 |
+
</tr>
|
| 83 |
+
</table>
|
| 84 |
+
</div>
|
app/design/frontend/base/default/template/tray/checkoutapi/return.phtml
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Magento
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 9 |
+
* It is also available through the world-wide-web at this URL:
|
| 10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 11 |
+
* If you did not receive a copy of the license and are unable to
|
| 12 |
+
* obtain it through the world-wide-web, please send an email
|
| 13 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 14 |
+
*
|
| 15 |
+
* @category Tray
|
| 16 |
+
* @package Tray_CheckoutApi
|
| 17 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 18 |
+
*/
|
| 19 |
+
?>
|
| 20 |
+
|
| 21 |
+
<script type="text/javascript">
|
| 22 |
+
parent.window.location = "<?php echo Mage::getUrl('checkout/onepage/success', array('_secure' => true));?>";
|
| 23 |
+
</script>
|
app/etc/modules/Tray_CheckoutApi.xml
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to suporte@tray.net.br so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category Tray
|
| 17 |
+
* @package Tray_CheckoutApi
|
| 18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 19 |
+
*/
|
| 20 |
+
-->
|
| 21 |
+
<config>
|
| 22 |
+
<modules>
|
| 23 |
+
<Tray_CheckoutApi>
|
| 24 |
+
<active>true</active>
|
| 25 |
+
<codePool>community</codePool>
|
| 26 |
+
</Tray_CheckoutApi>
|
| 27 |
+
<depends>
|
| 28 |
+
<Mage_Payment />
|
| 29 |
+
<Mage_Checkout/>
|
| 30 |
+
</depends>
|
| 31 |
+
</modules>
|
| 32 |
+
</config>
|
package.xml
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<package>
|
| 3 |
+
<name>Tray_CheckoutApi</name>
|
| 4 |
+
<version>0.1.0</version>
|
| 5 |
+
<stability>stable</stability>
|
| 6 |
+
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
| 7 |
+
<channel>community</channel>
|
| 8 |
+
<extends/>
|
| 9 |
+
<summary>Extensão Tray Checkout API para Magento</summary>
|
| 10 |
+
<description>O TrayCheckout é um facilitador de pagamento que oferece benefícios aos lojistas e aos compradores. Focado em praticidade e conversão, possibilita que as lojas virtuais ofereçam diversas formas de pagamento, sem burocracia ou necessidade de contrato com operadoras financeiras.</description>
|
| 11 |
+
<notes>Primeira versão liberada no Magento Connect</notes>
|
| 12 |
+
<authors><author><name>TrayCheckout</name><user>traycheckout</user><email>integracao@traycheckout.com.br</email></author></authors>
|
| 13 |
+
<date>2014-01-13</date>
|
| 14 |
+
<time>12:30:14</time>
|
| 15 |
+
<contents><target name="magecommunity"><dir name="Tray"><dir name="CheckoutApi"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Label.php" hash="6eb581cddd1fb9380930da38e4404f5e"/></dir></dir></dir></dir><file name="Error.php" hash="a3a8aa9edb5c7718b7941e85421f0aa2"/><dir name="Form"><file name="Standard.php" hash="8e6f1b128ebbb58f381bd8d169bddd44"/></dir><dir name="Info"><file name="Standard.php" hash="e383d51eaaa9a0afd82a1ec60024e752"/></dir><file name="Link.php" hash="06ad7cb8eb1a52c7f130caacc0921657"/><file name="Payment.php" hash="889bd2a45399c30470523c4472e3417b"/><file name="Redirect_D.php" hash="5500cadf24369462c8deaeb03deefb64"/><file name="Return.php" hash="6b5700113c184160ee447d1c6116b1c0"/></dir><dir name="Helper"><file name="Adress.php" hash="6064f62a723b2075290964e3e980d92b"/><file name="Data.php" hash="9a1da0d7564539c0b2fc307fc815b4ea"/></dir><dir name="Model"><file name="Config.php" hash="7377296737b655ad3c01b3ae6081b507"/><file name="Geral_D.php" hash="bf4cfa5e87c591a5b11e4b01465ab707"/><dir name="Mysql4"><file name="Setup.php" hash="8a42c69f5c1a1be59d99985982a3703b"/></dir><file name="Observer.php" hash="059a8bfe166f862477127c8b7b63afad"/><dir name="Source"><file name="Country.php" hash="153d0153071b72f23ac2a1c4fee93c24"/><file name="Paymentmethods.php" hash="e19dc6aa0d7846fb4358bf11c18ba6ce"/><file name="Qtdsplit.php" hash="1273ee53626482898aefd7a3d31ebaea"/><file name="Specificcountries.php" hash="e41658287e6c68041d3f0042130f7db3"/></dir><file name="Standard.php" hash="e7601ed73af5638c13f0d20ac9cd80d7"/></dir><dir name="controllers"><file name="StandardController.php" hash="d6f7b6ffaf604dc95554fc889bcd4376"/></dir><dir name="etc"><file name="adminhtml.xml" hash="2b0114a2ffbce1930787f7a4e20ce73b"/><file name="config.xml" hash="a1e5911b7b18b2c0ee86903c2144bba8"/><file name="system.xml" hash="3948c445ded660c565540836f3063d2c"/></dir><dir name="sql"><dir name="checkoutapi_setup"><file name="mysql4-install-0.1.0.php" hash="8eb2972ea2fcdd38306041ed37665902"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="tray"><dir name="checkoutapi"><file name="error.phtml" hash="9e07c1164917e9118c3b21d5bf8c864b"/><dir name="form"><dir name="images"><file name="overlay.png" hash="143d209e15051311fdae758b295036b5"/></dir><file name="standard.phtml" hash="54d2ee862308188506ce9a881a971de7"/></dir><file name="head.phtml" hash="750d167a7a10ef1f56a73262f918dca5"/><dir name="info"><file name="standard.phtml" hash="ba1bbd8cc8504bd299aa36df42c61f2a"/></dir><file name="overlay.phtml" hash="d4ee4dbb85f9a7a350c6e8d5f59a9978"/><file name="payment.phtml" hash="a19bd7e8e7ec695e15a96deeccd85c57"/><file name="return.phtml" hash="47d5e3e1c3bda47721573e9639a54ca6"/></dir></dir></dir><dir name="layout"><file name="tray_checkoutapi.xml" hash="a8c98d02dc6be894803e1957d1422b79"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="tray"><dir name="checkoutredir"><dir name="form"><file name="standard.phtml" hash="9abb8cb909140d1af4cdd6afb5b5d7f5"/></dir><file name="getbaseurl.phtml" hash="05fba34637bc8da3958d1342f54c0ed4"/><dir name="info"><file name="standard.phtml" hash="1e9ba28c30b9a88c3fd6a53420ae8419"/></dir></dir></dir></dir><dir name="layout"><file name="tray_checkoutapi.xml" hash="5b288e1243541c19aad017941544e5a5"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="tray"><dir name="checkoutapi"><dir name="css"><file name="styles.css" hash="5d09463e234fd2f20622f63795019be6"/></dir><dir name="images"><file name="BannerTrayCheckout890px.png" hash="535d5a4a4f190d03df38664dcb6463f8"/><file name="banner_comlogo_formas.jpg" hash="e02a16c32109746786c24db177ddad3a"/><file name="banner_semlogo_formas.jpg" hash="4f13591f17ed96347f136eab09343121"/><file name="banner_semlogo_formas.png" hash="84a82c3d7ed9a42ade9660b8dd16511d"/><file name="close.png" hash="6e2879a324a76e9972ebc98201aae1d8"/><file name="overlay.png" hash="143d209e15051311fdae758b295036b5"/><file name="paymentFlags1.png" hash="2a1724b718bf2ff7a1b25b53acc0cefd"/><file name="paymentFlagsTc.png" hash="6dd7df4802b30ea61b96ad5752bab4ed"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="tray"><dir name="checkoutapi"><dir name="css"><file name="magentomodal.css" hash="2c6dd38e421f644475a121b8d6c96503"/></dir><dir name="images"><file name="btn_bg.gif" hash="37c51a4d48a92da9648dcd3ca011039f"/><file name="content_bg.gif" hash="21278ea0da2d4256f4ced96b6080ba2e"/><file name="top_bg.gif" hash="26f28090de87d64f9b01bf624f89bfe2"/><file name="window_close.png" hash="3af14f053f360bf31f8ba2df73ec7f1e"/></dir><dir name="js"><file name="exibitionsettingswebcheckout.js" hash="1d9d374cad719e27ffa6a78f1239c63a"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Tray_CheckoutApi.xml" hash="c95a8f82fd3200b98898f0b9712ea0c8"/></dir></target></contents>
|
| 16 |
+
<compatible/>
|
| 17 |
+
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.6.0.0</min><max>1.8</max></package></required></dependencies>
|
| 18 |
+
</package>
|
skin/adminhtml/default/default/tray/checkoutapi/css/magentomodal.css
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.overlay_dialog {
|
| 2 |
+
background-color: #666666;
|
| 3 |
+
filter:alpha(opacity=60);
|
| 4 |
+
-moz-opacity: 0.6;
|
| 5 |
+
opacity: 0.6;
|
| 6 |
+
}
|
| 7 |
+
|
| 8 |
+
.overlay___invisible__ {
|
| 9 |
+
background-color: #666666;
|
| 10 |
+
filter:alpha(opacity=0);
|
| 11 |
+
-moz-opacity: 0;
|
| 12 |
+
opacity: 0;
|
| 13 |
+
}
|
| 14 |
+
|
| 15 |
+
.dialog_nw {
|
| 16 |
+
width: 9px;
|
| 17 |
+
height: 23px;
|
| 18 |
+
background: transparent url(../images/top_left.gif) no-repeat 0 0;
|
| 19 |
+
}
|
| 20 |
+
|
| 21 |
+
.dialog_n {
|
| 22 |
+
background: transparent url(../images/top_mid.gif) repeat-x 0 0;
|
| 23 |
+
height: 23px;
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
.dialog_ne {
|
| 27 |
+
width: 9px;
|
| 28 |
+
height: 23px;
|
| 29 |
+
background: transparent url(../images/top_right.gif) no-repeat 0 0;
|
| 30 |
+
}
|
| 31 |
+
|
| 32 |
+
.dialog_e {
|
| 33 |
+
width: 2px;
|
| 34 |
+
background: transparent url(../images/center_right.gif) repeat-y 0 0;
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
.dialog_w {
|
| 38 |
+
width: 2px;
|
| 39 |
+
background: transparent url(../images/center_left.gif) repeat-y 0 0;
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
.dialog_sw {
|
| 43 |
+
width: 9px;
|
| 44 |
+
height: 19px;
|
| 45 |
+
background: transparent url(../images/bottom_left.gif) no-repeat 0 0;
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
.dialog_s {
|
| 49 |
+
background: transparent url(../images/bottom_mid.gif) repeat-x 0 0;
|
| 50 |
+
height: 19px;
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
.dialog_se {
|
| 54 |
+
width: 9px;
|
| 55 |
+
height: 19px;
|
| 56 |
+
background: transparent url(../images/bottom_right.gif) no-repeat 0 0;
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
.dialog_sizer {
|
| 60 |
+
width: 9px;
|
| 61 |
+
height: 19px;
|
| 62 |
+
background: transparent url(../images/sizer.gif) no-repeat 0 0;
|
| 63 |
+
cursor:se-resize;
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
+
.dialog_close {
|
| 67 |
+
width: 14px;
|
| 68 |
+
height: 14px;
|
| 69 |
+
background: transparent url(../images/close.gif) no-repeat 0 0;
|
| 70 |
+
position:absolute;
|
| 71 |
+
top:5px;
|
| 72 |
+
left:8px;
|
| 73 |
+
cursor:pointer;
|
| 74 |
+
z-index:2000;
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
.dialog_minimize {
|
| 78 |
+
width: 14px;
|
| 79 |
+
height: 15px;
|
| 80 |
+
background: transparent url(../images/minimize.gif) no-repeat 0 0;
|
| 81 |
+
position:absolute;
|
| 82 |
+
top:5px;
|
| 83 |
+
left:28px;
|
| 84 |
+
cursor:pointer;
|
| 85 |
+
z-index:2000;
|
| 86 |
+
}
|
| 87 |
+
|
| 88 |
+
.dialog_maximize {
|
| 89 |
+
width: 14px;
|
| 90 |
+
height: 15px;
|
| 91 |
+
background: transparent url(../images/maximize.gif) no-repeat 0 0;
|
| 92 |
+
position:absolute;
|
| 93 |
+
top:5px;
|
| 94 |
+
left:49px;
|
| 95 |
+
cursor:pointer;
|
| 96 |
+
z-index:2000;
|
| 97 |
+
}
|
| 98 |
+
|
| 99 |
+
.dialog_title {
|
| 100 |
+
float:left;
|
| 101 |
+
height:14px;
|
| 102 |
+
font-family: Tahoma, Arial, sans-serif;
|
| 103 |
+
font-size:12px;
|
| 104 |
+
text-align:center;
|
| 105 |
+
width:100%;
|
| 106 |
+
color:#000;
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
.dialog_content {
|
| 110 |
+
overflow:auto;
|
| 111 |
+
color: #DDD;
|
| 112 |
+
font-family: Tahoma, Arial, sans-serif;
|
| 113 |
+
font-size: 10px;
|
| 114 |
+
background-color:#123;
|
| 115 |
+
}
|
| 116 |
+
|
| 117 |
+
.top_draggable, .bottom_draggable {
|
| 118 |
+
cursor:move;
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
+
.status_bar {
|
| 122 |
+
font-size:12px;
|
| 123 |
+
}
|
| 124 |
+
.status_bar input{
|
| 125 |
+
font-size:12px;
|
| 126 |
+
}
|
| 127 |
+
|
| 128 |
+
.wired_frame {
|
| 129 |
+
display: block;
|
| 130 |
+
position: absolute;
|
| 131 |
+
border: 1px #000 dashed;
|
| 132 |
+
}
|
| 133 |
+
|
| 134 |
+
/* DO NOT CHANGE THESE VALUES*/
|
| 135 |
+
.dialog {
|
| 136 |
+
display: block;
|
| 137 |
+
position: absolute;
|
| 138 |
+
}
|
| 139 |
+
|
| 140 |
+
.dialog table.table_window {
|
| 141 |
+
border-collapse: collapse;
|
| 142 |
+
border-spacing: 0;
|
| 143 |
+
width: 100%;
|
| 144 |
+
margin: 0px;
|
| 145 |
+
padding:0px;
|
| 146 |
+
}
|
| 147 |
+
|
| 148 |
+
.dialog table.table_window td , .dialog table.table_window th {
|
| 149 |
+
padding: 0;
|
| 150 |
+
}
|
| 151 |
+
|
| 152 |
+
.dialog .title_window {
|
| 153 |
+
-moz-user-select:none;
|
| 154 |
+
}
|
| 155 |
+
|
| 156 |
+
.dialog { border:1px solid #555; }
|
| 157 |
+
.dialog .bot { display:none !important; }
|
| 158 |
+
.overlay_magento { background-color:#000; filter:alpha(opacity=60); -moz-opacity:.6; opacity:.6; -webkit-opacity:.6; }
|
| 159 |
+
.top.table_window { border-bottom:1px solid #e6e6e6; background:#6a838b url(../images/top_bg.gif) 0 100% repeat-x; }
|
| 160 |
+
|
| 161 |
+
.magento_nw { width:6px; height:28px; }
|
| 162 |
+
.magento_n { height:28px; }
|
| 163 |
+
.magento_ne { width:6px; height:28px; }
|
| 164 |
+
|
| 165 |
+
.magento_w { width:6px; }
|
| 166 |
+
.magento_e { width:6px; }
|
| 167 |
+
.magento_w,
|
| 168 |
+
.magento_e,
|
| 169 |
+
.magento_content { background: #fafafa url(../images/content_bg.gif) 0 0 repeat-x; }
|
| 170 |
+
|
| 171 |
+
.magento_sw { background:#deebf0; width:5px; height:3px; }
|
| 172 |
+
.magento_s { background:#deebf0; height:3px; }
|
| 173 |
+
.magento_se,
|
| 174 |
+
|
| 175 |
+
.magento_sizer { background:#deebf0; width:5px; height:3px; }
|
| 176 |
+
.magento_sizer { cursor:se-resize; }
|
| 177 |
+
|
| 178 |
+
.magento_close { width:16px; height:16px; background:url(../images/window_close.png) no-repeat 0 0; position:absolute; top:5px; right:7px; cursor:pointer; z-index:1000; }
|
| 179 |
+
.magento_minimize { width:16px; height:16px; background:url(../images/window_minimize.png) 0 0 no-repeat; position:absolute; top:5px; right:28px; cursor:pointer; z-index:1000; }
|
| 180 |
+
.magento_maximize { width:16px; height:16px; background:url(../images/window_maximize.png)0 0 no-repeat; position:absolute; top:5px; right:49px; cursor:pointer; z-index:1000; }
|
| 181 |
+
|
| 182 |
+
.magento_title { float:left; width:100%; font:bold 12px/28px Arial, Helvetica, sans-serif; color:#fff; text-align:left; }
|
| 183 |
+
|
| 184 |
+
.magento_content { overflow:auto; font-size:12px; }
|
| 185 |
+
.magento_content,
|
| 186 |
+
.magento_content label { color:#333; font-family:Arial, sans-serif; }
|
| 187 |
+
|
| 188 |
+
.magento_buttons { padding:10px; text-align:right; }
|
| 189 |
+
.magento_buttons input.button { border-width:1px; border-style:solid; border-color:#ed6502 #a04300 #a04300 #ed6502; background:#ffac47 url(../images/btn_bg.gif) 0 100% repeat-x; padding:0 7px 1px 7px; font:bold 12px/18px Arial, Helvetica, sans-serif; color:#fff; cursor:pointer; text-align:center; white-space:nowrap; }
|
| 190 |
+
|
| 191 |
+
/* FOR IE */
|
| 192 |
+
* html .magento_close { background-image:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../images/window_maximize.png", sizingMethod="crop"); }
|
| 193 |
+
* html .magento_minimize { background-image:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../images/window_close.png", sizingMethod="crop");}
|
| 194 |
+
* html .magento_maximize { background-image:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../images/window_minimize.png", sizingMethod="crop"); }
|
skin/adminhtml/default/default/tray/checkoutapi/images/btn_bg.gif
ADDED
|
Binary file
|
skin/adminhtml/default/default/tray/checkoutapi/images/content_bg.gif
ADDED
|
Binary file
|
skin/adminhtml/default/default/tray/checkoutapi/images/top_bg.gif
ADDED
|
Binary file
|
skin/adminhtml/default/default/tray/checkoutapi/images/window_close.png
ADDED
|
Binary file
|
skin/adminhtml/default/default/tray/checkoutapi/js/exibitionsettingswebcheckout.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
function openModalTray(url, txtTitle)
|
| 3 |
+
{
|
| 4 |
+
var _url = checkoutapi_baseurl + url;
|
| 5 |
+
|
| 6 |
+
if(txtTitle === null || txtTitle === '') {
|
| 7 |
+
txtTitle = 'Validação das informações do Anúncio';
|
| 8 |
+
}
|
| 9 |
+
winCompare = new Window({
|
| 10 |
+
className:'magento',
|
| 11 |
+
title:txtTitle,
|
| 12 |
+
url:_url,
|
| 13 |
+
width:820,
|
| 14 |
+
height:600,
|
| 15 |
+
minimizable:false,
|
| 16 |
+
maximizable:false,
|
| 17 |
+
showEffectOptions:{
|
| 18 |
+
duration:0.4
|
| 19 |
+
},
|
| 20 |
+
hideEffectOptions:{
|
| 21 |
+
duration:0.4
|
| 22 |
+
}
|
| 23 |
+
});
|
| 24 |
+
winCompare.setZIndex(100000);
|
| 25 |
+
winCompare.showCenter(true);
|
| 26 |
+
}
|
skin/frontend/base/default/tray/checkoutapi/css/styles.css
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#overlay-tc {
|
| 2 |
+
background-image: url('../images/overlay.png');
|
| 3 |
+
display:block;
|
| 4 |
+
position: absolute;
|
| 5 |
+
top: 0px;
|
| 6 |
+
left: 0px;
|
| 7 |
+
width: 100%;
|
| 8 |
+
height: 100%;
|
| 9 |
+
z-index: 2147483647;
|
| 10 |
+
}
|
skin/frontend/base/default/tray/checkoutapi/images/BannerTrayCheckout890px.png
ADDED
|
Binary file
|
skin/frontend/base/default/tray/checkoutapi/images/banner_comlogo_formas.jpg
ADDED
|
Binary file
|
skin/frontend/base/default/tray/checkoutapi/images/banner_semlogo_formas.jpg
ADDED
|
Binary file
|
skin/frontend/base/default/tray/checkoutapi/images/banner_semlogo_formas.png
ADDED
|
Binary file
|
skin/frontend/base/default/tray/checkoutapi/images/close.png
ADDED
|
Binary file
|
skin/frontend/base/default/tray/checkoutapi/images/overlay.png
ADDED
|
Binary file
|
skin/frontend/base/default/tray/checkoutapi/images/paymentFlags1.png
ADDED
|
Binary file
|
skin/frontend/base/default/tray/checkoutapi/images/paymentFlagsTc.png
ADDED
|
Binary file
|
