Version Notes
Added ORM-D functionality
Download this release
Release Info
Developer | AnnaConcept |
Extension | globalcheckout |
Version | 1.0.1 |
Comparing to | |
See all releases |
Code changes from version 1.0.0 to 1.0.1
- app/code/community/AnnaConcept/GlobalCheckout/Block/Button.php +163 -0
- app/code/community/AnnaConcept/GlobalCheckout/Block/Form.php +40 -0
- app/code/community/AnnaConcept/GlobalCheckout/Helper/Data.php +61 -0
- app/code/community/AnnaConcept/GlobalCheckout/Model/Observer.php +56 -0
- app/code/community/AnnaConcept/GlobalCheckout/Model/Standard.php +38 -0
- app/code/community/AnnaConcept/GlobalCheckout/controllers/IndexController.php +148 -0
- app/code/community/AnnaConcept/GlobalCheckout/etc/config.xml +130 -0
- app/code/community/AnnaConcept/GlobalCheckout/etc/system.xml +170 -0
- app/code/community/AnnaConcept/GlobalCheckout/sql/globalcheckout_setup/mysql4-upgrade-1.0.0-1.0.1.php +53 -0
- app/design/frontend/base/default/template/annaconcept/globalcheckout/form.phtml +0 -24
- app/locale/en_US/AnnaConcept_GlobalCheckout.csv +3 -0
- package.xml +34 -10
app/code/community/AnnaConcept/GlobalCheckout/Block/Button.php
ADDED
@@ -0,0 +1,163 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* AnnaConcept
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
*
|
12 |
+
* @category AnnaConcept
|
13 |
+
* @package AnnaConcept_GlobalCheckout
|
14 |
+
* @copyright Copyright (c) 2015 AnnaConcept. (http://annaconcept.com)
|
15 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.txt GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Button block
|
20 |
+
*
|
21 |
+
* @category AnnaConcept
|
22 |
+
* @package AnnaConcept_GlobalCheckout
|
23 |
+
* @author Sebastian Pruteanu <sebi.pruteanu@gmail.com>
|
24 |
+
*/
|
25 |
+
|
26 |
+
class AnnaConcept_GlobalCheckout_Block_Button extends Mage_Core_Block_Template {
|
27 |
+
|
28 |
+
function buildItemDescription($item) {
|
29 |
+
|
30 |
+
$crlf = "\n";
|
31 |
+
$valueSeperator = " - ";
|
32 |
+
$output = "";
|
33 |
+
$output .= $this->htmlEscape($item->getName()).$crlf;
|
34 |
+
|
35 |
+
$options = $this->getProductOptions($item);
|
36 |
+
if (count($options)) {
|
37 |
+
for ($c=0; $c<count($options); $c++) {
|
38 |
+
|
39 |
+
if (is_array($options[$c]["value"])) {
|
40 |
+
$output .= " [ ". $options[$c]["label"].": ".strip_tags(implode($valueSeperator,$options[$c]["value"]))." ] ";
|
41 |
+
}
|
42 |
+
else {
|
43 |
+
$output .= " [ ".$options[$c]["label"].": ".strip_tags($options[$c]["value"])." ] ";
|
44 |
+
}
|
45 |
+
|
46 |
+
$output .= $crlf;
|
47 |
+
}
|
48 |
+
}
|
49 |
+
|
50 |
+
// addition of links for downloadable products
|
51 |
+
//
|
52 |
+
if ($links = $this->getLinks($item)) {
|
53 |
+
$output .= " [ " . strip_tags($this->getLinksTitle($item));
|
54 |
+
foreach ($links as $link) {
|
55 |
+
$output .= " ( " . strip_tags($link->getTitle()) . " ) ";
|
56 |
+
}
|
57 |
+
$output .= " ] ";
|
58 |
+
$output .= $crlf;
|
59 |
+
}
|
60 |
+
|
61 |
+
|
62 |
+
return $output;
|
63 |
+
}
|
64 |
+
|
65 |
+
function getProductOptions($item)
|
66 |
+
{
|
67 |
+
$options = array();
|
68 |
+
if ($optionIds = $item->getOptionByCode('option_ids')) {
|
69 |
+
$options = array();
|
70 |
+
foreach (explode(',', $optionIds->getValue()) as $optionId) {
|
71 |
+
if ($option = $item->getProduct()->getOptionById($optionId)) {
|
72 |
+
|
73 |
+
$quoteItemOption = $item->getOptionByCode('option_' . $option->getId());
|
74 |
+
|
75 |
+
$group = $option->groupFactory($option->getType())
|
76 |
+
->setOption($option)
|
77 |
+
->setQuoteItemOption($quoteItemOption);
|
78 |
+
|
79 |
+
$options[] = array(
|
80 |
+
'label' => $option->getTitle(),
|
81 |
+
'value' => $group->getFormattedOptionValue($quoteItemOption->getValue()),
|
82 |
+
'print_value' => $group->getPrintableOptionValue($quoteItemOption->getValue()),
|
83 |
+
'option_id' => $option->getId(),
|
84 |
+
'option_type' => $option->getType(),
|
85 |
+
'custom_view' => $group->isCustomizedView()
|
86 |
+
);
|
87 |
+
}
|
88 |
+
}
|
89 |
+
}
|
90 |
+
if ($addOptions = $item->getOptionByCode('additional_options')) {
|
91 |
+
$options = array_merge($options, unserialize($addOptions->getValue()));
|
92 |
+
}
|
93 |
+
|
94 |
+
|
95 |
+
if ($item->getProduct()->isConfigurable()) {
|
96 |
+
$options = array_merge($this->getProductAttributes($item), $options); // configurable products
|
97 |
+
}
|
98 |
+
|
99 |
+
|
100 |
+
if ($item->getProduct()->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
|
101 |
+
$options = array_merge($this->_getBundleOptions($item), $options); // bundle products
|
102 |
+
}
|
103 |
+
|
104 |
+
|
105 |
+
return $options;
|
106 |
+
}
|
107 |
+
|
108 |
+
function getLinksTitle($item)
|
109 |
+
{
|
110 |
+
if ($item->getProduct()->getLinksTitle()) {
|
111 |
+
return $item->getProduct()->getLinksTitle();
|
112 |
+
}
|
113 |
+
return Mage::getStoreConfig(Mage_Downloadable_Model_Link::XML_PATH_LINKS_TITLE);
|
114 |
+
}
|
115 |
+
|
116 |
+
function buttonClassName() {
|
117 |
+
|
118 |
+
$className = "";
|
119 |
+
|
120 |
+
$version = Mage::getVersion();
|
121 |
+
|
122 |
+
if ($version >= "1.4") {
|
123 |
+
$className = "button btn-checkout";
|
124 |
+
}
|
125 |
+
else {
|
126 |
+
$className = "form-button-alt";
|
127 |
+
}
|
128 |
+
|
129 |
+
return $className;
|
130 |
+
}
|
131 |
+
|
132 |
+
function getProductThumbnail($item)
|
133 |
+
{
|
134 |
+
|
135 |
+
// begin configurable
|
136 |
+
if ($item->getProduct()->isConfigurable()) {
|
137 |
+
$product = $this->getChildProduct($item);
|
138 |
+
if (!$product || !$product->getData('thumbnail')
|
139 |
+
|| ($product->getData('thumbnail') == 'no_selection')
|
140 |
+
|| (Mage::getStoreConfig(Mage_Checkout_Block_Cart_Item_Renderer_Configurable::CONFIGURABLE_PRODUCT_IMAGE) == Mage_Checkout_Block_Cart_Item_Renderer_Configurable::USE_PARENT_IMAGE)) {
|
141 |
+
$product = $item->getProduct();
|
142 |
+
}
|
143 |
+
return Mage::helper('catalog/image')->init($product, 'thumbnail');
|
144 |
+
}
|
145 |
+
// end configurable
|
146 |
+
|
147 |
+
// begin grouped
|
148 |
+
if ($item->getProduct()->isGrouped()) {
|
149 |
+
$product = $item->getProduct();
|
150 |
+
if (!$product->getData('thumbnail')
|
151 |
+
||($product->getData('thumbnail') == 'no_selection')
|
152 |
+
|| (Mage::getStoreConfig(Mage_Checkout_Block_Cart_Item_Renderer_Grouped::GROUPED_PRODUCT_IMAGE) == Mage_Checkout_Block_Cart_Item_Renderer_Grouped::USE_PARENT_IMAGE)) {
|
153 |
+
$product = $this->getGroupedProduct($item);
|
154 |
+
}
|
155 |
+
return Mage::helper('catalog/image')->init($product, 'thumbnail');
|
156 |
+
}
|
157 |
+
// end grouped
|
158 |
+
|
159 |
+
|
160 |
+
return Mage::helper('catalog/image')->init($item->getProduct(), 'thumbnail');
|
161 |
+
|
162 |
+
}
|
163 |
+
}
|
app/code/community/AnnaConcept/GlobalCheckout/Block/Form.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* AnnaConcept
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
*
|
12 |
+
* @category AnnaConcept
|
13 |
+
* @package AnnaConcept_GlobalCheckout
|
14 |
+
* @copyright Copyright (c) 2015 AnnaConcept. (http://annaconcept.com)
|
15 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.txt GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Form block
|
20 |
+
*
|
21 |
+
* @category AnnaConcept
|
22 |
+
* @package AnnaConcept_GlobalCheckout
|
23 |
+
* @author Sebastian Pruteanu <sebi.pruteanu@gmail.com>
|
24 |
+
*/
|
25 |
+
|
26 |
+
class AnnaConcept_GlobalCheckout_Block_Form extends Mage_Payment_Block_Form
|
27 |
+
{
|
28 |
+
/**
|
29 |
+
* Set template and redirect message
|
30 |
+
*/
|
31 |
+
public function __construct()
|
32 |
+
{
|
33 |
+
parent::__construct();
|
34 |
+
$this
|
35 |
+
->setTemplate('annaconcept/globalcheckout/form.phtml')
|
36 |
+
->setRedirectMessage(
|
37 |
+
Mage::helper('globalcheckout')->__('You will be redirected to the GlobalCheckout website when you place an order.')
|
38 |
+
);
|
39 |
+
}
|
40 |
+
}
|
app/code/community/AnnaConcept/GlobalCheckout/Helper/Data.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* AnnaConcept
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
*
|
12 |
+
* @category AnnaConcept
|
13 |
+
* @package AnnaConcept_GlobalCheckout
|
14 |
+
* @copyright Copyright (c) 2015 AnnaConcept. (http://annaconcept.com)
|
15 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.txt GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Data helper
|
20 |
+
*
|
21 |
+
* @category AnnaConcept
|
22 |
+
* @package AnnaConcept_GlobalCheckout
|
23 |
+
* @author Sebastian Pruteanu <sebi.pruteanu@gmail.com>
|
24 |
+
*/
|
25 |
+
|
26 |
+
class AnnaConcept_GlobalCheckout_Helper_Data extends Mage_Payment_Helper_Data
|
27 |
+
|
28 |
+
{
|
29 |
+
const XML_PATH_EMAIL_RECIPIENT = 'payment/globalcheckout/notification_email';
|
30 |
+
const XML_PATH_EMAIL_SENDER = 'contacts/email/sender_email_identity';
|
31 |
+
const XML_PATH_EMAIL_TEMPLATE = 'payment/globalcheckout/email_template';
|
32 |
+
const XML_PATH_PAYMENT_LINK = 'payment/globalcheckout/payment_url';
|
33 |
+
|
34 |
+
public function payment_link_email_notification($orderId, $amount, $shipping) {
|
35 |
+
$amount = round($amount, 2);
|
36 |
+
$shipping = round($shipping, 2);
|
37 |
+
$link = Mage::getStoreConfig(self::XML_PATH_PAYMENT_LINK);
|
38 |
+
|
39 |
+
$link = preg_replace('/{order}/', $orderId, $link);
|
40 |
+
$link = preg_replace('/{amount}/', $amount, $link);
|
41 |
+
$link = preg_replace('/{shipping}/', $shipping, $link);
|
42 |
+
|
43 |
+
$translate = Mage::getSingleton('core/translate');
|
44 |
+
$mailTemplate = Mage::getModel('core/email_template');
|
45 |
+
|
46 |
+
$mailTemplate->setDesignConfig(array('area' => 'frontend'))
|
47 |
+
->setReplyTo(Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER))
|
48 |
+
->sendTransactional(
|
49 |
+
Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE),
|
50 |
+
Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER),
|
51 |
+
Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT),
|
52 |
+
null,
|
53 |
+
array(
|
54 |
+
'link' => $link,
|
55 |
+
'order' => $orderId,
|
56 |
+
'amount' => $amount,
|
57 |
+
'shipping' => $shipping
|
58 |
+
)
|
59 |
+
);
|
60 |
+
}
|
61 |
+
}
|
app/code/community/AnnaConcept/GlobalCheckout/Model/Observer.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* AnnaConcept
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
*
|
12 |
+
* @category AnnaConcept
|
13 |
+
* @package AnnaConcept_GlobalCheckout
|
14 |
+
* @copyright Copyright (c) 2015 AnnaConcept. (http://annaconcept.com)
|
15 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.txt GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Observer model
|
20 |
+
*
|
21 |
+
* @category AnnaConcept
|
22 |
+
* @package AnnaConcept_GlobalCheckout
|
23 |
+
* @author Sebastian Pruteanu <sebi.pruteanu@gmail.com>
|
24 |
+
*/
|
25 |
+
|
26 |
+
class AnnaConcept_GlobalCheckout_Model_Observer {
|
27 |
+
|
28 |
+
public function paymentMethodIsActive($observer)
|
29 |
+
{
|
30 |
+
if(Mage::getStoreConfig("payment/globalcheckout/gc_specificcountry"))
|
31 |
+
{
|
32 |
+
$method = $observer->getMethodInstance();
|
33 |
+
$result = $observer->getResult();
|
34 |
+
$quote = Mage::getSingleton('checkout/session')->getQuote();
|
35 |
+
$shipping_address = $quote->getShippingAddress();
|
36 |
+
|
37 |
+
$countries = array();
|
38 |
+
if(Mage::getStoreConfig("payment/globalcheckout/gc_allowspecific")) {
|
39 |
+
$countries = explode(",", Mage::getStoreConfig("payment/globalcheckout/gc_specificcountry"));
|
40 |
+
} else {
|
41 |
+
$countries = explode(",", Mage::getStoreConfig("general/country/allow"));
|
42 |
+
}
|
43 |
+
|
44 |
+
if($method->getCode() == 'globalcheckout'){
|
45 |
+
if(!in_array($shipping_address->getCountry(), $countries)) {
|
46 |
+
$result->isAvailable = false;
|
47 |
+
}
|
48 |
+
} elseif(Mage::getStoreConfig("payment/globalcheckout/disable_other_methods")) {
|
49 |
+
if(in_array($shipping_address->getCountry(), $countries)) {
|
50 |
+
$result->isAvailable = false;
|
51 |
+
}
|
52 |
+
}
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
}
|
app/code/community/AnnaConcept/GlobalCheckout/Model/Standard.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* AnnaConcept
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
*
|
12 |
+
* @category AnnaConcept
|
13 |
+
* @package AnnaConcept_GlobalCheckout
|
14 |
+
* @copyright Copyright (c) 2015 AnnaConcept. (http://annaconcept.com)
|
15 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.txt GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* GlobalCheckout Standard payment method model
|
20 |
+
*
|
21 |
+
* @category AnnaConcept
|
22 |
+
* @package AnnaConcept_GlobalCheckout
|
23 |
+
* @author Sebastian Pruteanu <sebi.pruteanu@gmail.com>
|
24 |
+
*/
|
25 |
+
|
26 |
+
class AnnaConcept_GlobalCheckout_Model_Standard extends Mage_Payment_Model_Method_Abstract
|
27 |
+
{
|
28 |
+
protected $_code = 'globalcheckout';
|
29 |
+
protected $_isInitializeNeeded = true;
|
30 |
+
protected $_canUseInternal = true;
|
31 |
+
protected $_canUseForMultishipping = true;
|
32 |
+
|
33 |
+
protected $_formBlockType = 'globalcheckout/form';
|
34 |
+
|
35 |
+
public function getCheckoutRedirectUrl() {
|
36 |
+
return Mage::getUrl('globalcheckout/index/redirect', array('_secure' => true));
|
37 |
+
}
|
38 |
+
}
|
app/code/community/AnnaConcept/GlobalCheckout/controllers/IndexController.php
ADDED
@@ -0,0 +1,148 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* AnnaConcept
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
*
|
12 |
+
* @category AnnaConcept
|
13 |
+
* @package AnnaConcept_GlobalCheckout
|
14 |
+
* @copyright Copyright (c) 2015 AnnaConcept. (http://annaconcept.com)
|
15 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.txt GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Index controller
|
20 |
+
*
|
21 |
+
* @category AnnaConcept
|
22 |
+
* @package AnnaConcept_GlobalCheckout
|
23 |
+
* @author Sebastian Pruteanu <sebi.pruteanu@gmail.com>
|
24 |
+
*/
|
25 |
+
|
26 |
+
class AnnaConcept_GlobalCheckout_IndexController extends Mage_Core_Controller_Front_Action
|
27 |
+
{
|
28 |
+
public function redirectAction() {
|
29 |
+
if (Mage::getStoreConfig("payment/globalcheckout/live_url") == '' || Mage::getStoreConfig("payment/globalcheckout/debug_url") == '') {
|
30 |
+
Mage::getSingleton('core/session')->addError($this->__('Global Checkout missconfigured. Please contact administrator !'));
|
31 |
+
}
|
32 |
+
|
33 |
+
if (!Mage::getStoreConfig("payment/globalcheckout/debug")) {
|
34 |
+
$url = Mage::getStoreConfig("payment/globalcheckout/live_url");
|
35 |
+
} else {
|
36 |
+
$url = Mage::getStoreConfig("payment/globalcheckout/debug_url");
|
37 |
+
}
|
38 |
+
|
39 |
+
$form = new Varien_Data_Form();
|
40 |
+
$form->setAction($url)
|
41 |
+
->setId('globalcheckoutform')
|
42 |
+
->setName('globalcheckoutform')
|
43 |
+
->setMethod('POST')
|
44 |
+
->setUseContainer(true);
|
45 |
+
|
46 |
+
/* @var $quote Mage_Sales_Model_Quote */
|
47 |
+
$quote = Mage::getSingleton('checkout/cart')->getQuote();
|
48 |
+
|
49 |
+
(int)$i = 0;
|
50 |
+
foreach($quote->getItemsCollection() as $item)
|
51 |
+
{
|
52 |
+
if($item->getProductType() === 'simple') {
|
53 |
+
$i += 1;
|
54 |
+
$product = Mage::getModel('catalog/product')->load($item->getProductId());
|
55 |
+
$form->addField('url' . $i, 'hidden', array('name' => 'url' . $i, 'value' => $product->getUrl()));
|
56 |
+
$form->addField('sku' . $i, 'hidden', array('name' => 'sku' . $i, 'value' => $product->getSku()));
|
57 |
+
$form->addField('prodname' . $i, 'hidden', array('name' => 'prodname' . $i, 'value' => $product->getName()));
|
58 |
+
$form->addField('prodnumb' . $i, 'hidden', array('name' => 'prodnumb' . $i, 'value' => (int)$item->getQty()));
|
59 |
+
$form->addField('unitprice' . $i, 'hidden', array('name' => 'unitprice' . $i, 'value' => $item->getPrice()));
|
60 |
+
$form->addField('volumetricweight' . $i, 'hidden', array('name' => 'volumetricweight' . $i, 'value' => $product->getWeight()));
|
61 |
+
$form->addField('imageurl' . $i, 'hidden', array('name' => 'imageurl' . $i, 'value' => $product->getImageUrl()));
|
62 |
+
$form->addField('size' . $i, 'hidden', array('name' => 'size' . $i, 'value' => ''));
|
63 |
+
$form->addField('color' . $i, 'hidden', array('name' => 'color' . $i, 'value' => ''));
|
64 |
+
$form->addField('ormd' . $i, 'hidden', array('name' => 'ormd' . $i, 'value' => $product->getGcOrmd()));
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
$totals = $quote->getTotals();
|
69 |
+
|
70 |
+
$form->addField('itemNumber', 'hidden', array('name'=>'itemNumber', 'value'=>$quote->getItemsCollection()->count()));
|
71 |
+
if(isset($totals['discount'])) {
|
72 |
+
$form->addField('merchant_credit', 'hidden', array('name'=>'merchant_credit', 'value'=>abs($totals['discount']->getValue())));
|
73 |
+
}
|
74 |
+
|
75 |
+
$url = Mage::getBaseUrl();
|
76 |
+
$parsed_url = parse_url($url);
|
77 |
+
$merchant_url = $parsed_url['host'];
|
78 |
+
|
79 |
+
$form->addField('cartlockurl', 'hidden', array('name'=>'cartlockurl', 'value'=>Mage::getBaseUrl().'globalcheckout/index/success'));
|
80 |
+
$form->addField('domestichandling', 'hidden', array('name'=>'domestichandling', 'value'=>'0'));
|
81 |
+
$form->addField('merchant', 'hidden', array('name'=>'merchant', 'value'=>$merchant_url));
|
82 |
+
$form->addField('merchantShoppingCart', 'hidden', array('name'=>'merchantShoppingCart', 'value'=>Mage::getBaseUrl().'checkout/cart/'));
|
83 |
+
|
84 |
+
//Billing address
|
85 |
+
$billing_address = $quote->getBillingAddress();
|
86 |
+
$form->addField('addressLine1', 'hidden', array('name'=>'addressLine1', 'value'=>$billing_address->getStreet1()));
|
87 |
+
$form->addField('addressLine2', 'hidden', array('name'=>'addressLine2', 'value'=>$billing_address->getStreet2()));
|
88 |
+
$form->addField('addressLine3', 'hidden', array('name'=>'addressLine3', 'value'=>$billing_address->getStreet3()));
|
89 |
+
$form->addField('receiver', 'hidden', array('name'=>'receiver', 'value'=>$billing_address->getName()));
|
90 |
+
$form->addField('receiverContact', 'hidden', array('name'=>'receiverContact', 'value'=>$billing_address->getTelephone()));
|
91 |
+
$form->addField('country', 'hidden', array('name'=>'country', 'value'=>$billing_address->getCountryId()));
|
92 |
+
$form->addField('province', 'hidden', array('name'=>'province', 'value'=>$billing_address->getRegion()));
|
93 |
+
$form->addField('postcode', 'hidden', array('name'=>'postcode', 'value'=>$billing_address->getPostcode()));
|
94 |
+
$form->addField('email', 'hidden', array('name'=>'email', 'value'=>$billing_address->getEmail()));
|
95 |
+
|
96 |
+
//Shipping address
|
97 |
+
$shipping_address = $quote->getShippingAddress();
|
98 |
+
$form->addField('bAddressLine1', 'hidden', array('name'=>'bAddressLine1', 'value'=>$shipping_address->getStreet1()));
|
99 |
+
$form->addField('bAddressLine2', 'hidden', array('name'=>'bAddressLine2', 'value'=>$shipping_address->getStreet2()));
|
100 |
+
$form->addField('bAddressLine3', 'hidden', array('name'=>'bAddressLine3', 'value'=>$shipping_address->getStreet3()));
|
101 |
+
$form->addField('bReceiver', 'hidden', array('name'=>'bReceiver', 'value'=>$shipping_address->getName()));
|
102 |
+
$form->addField('bReceiverContact', 'hidden', array('name'=>'bReceiverContact', 'value'=>$shipping_address->getTelephone()));
|
103 |
+
$form->addField('bCountry', 'hidden', array('name'=>'bCountry', 'value'=>$shipping_address->getCountryId()));
|
104 |
+
$form->addField('bProvince', 'hidden', array('name'=>'bProvince', 'value'=>$shipping_address->getRegion()));
|
105 |
+
$form->addField('bPostcode', 'hidden', array('name'=>'bPostcode', 'value'=>$shipping_address->getPostcode()));
|
106 |
+
$form->addField('bEmail', 'hidden', array('name'=>'bEmail', 'value'=>$shipping_address->getEmail()));
|
107 |
+
|
108 |
+
$form->addField('merchantaddress', 'hidden', array('name'=>'merchantaddress', 'value'=>"merchantaddress"));
|
109 |
+
|
110 |
+
|
111 |
+
$html = '<html><body>';
|
112 |
+
$html.= $this->__('You will be redirected to Global Checkout in a few seconds.');
|
113 |
+
$html.= $form->toHtml();
|
114 |
+
$html.= '<script type="text/javascript">document.getElementById("globalcheckoutform").submit();</script>';
|
115 |
+
$html.= '</body></html>';
|
116 |
+
Mage::log($html, null, 'GC.log');
|
117 |
+
|
118 |
+
echo $html;
|
119 |
+
}
|
120 |
+
|
121 |
+
public function testAction() {
|
122 |
+
echo Mage::helper('globalcheckout')->payment_link_email_notification(1,2,3);
|
123 |
+
}
|
124 |
+
|
125 |
+
public function successAction() {
|
126 |
+
$quote = Mage::getSingleton('checkout/session')->getQuote();
|
127 |
+
$quote->collectTotals()->save();
|
128 |
+
$service = Mage::getModel('sales/service_quote', $quote);
|
129 |
+
$service->submitAll();
|
130 |
+
$quote->setIsActive(false)->save();
|
131 |
+
|
132 |
+
$order = $service->getOrder();
|
133 |
+
|
134 |
+
$order->sendNewOrderEmail();
|
135 |
+
$order->setEmailSent(true);
|
136 |
+
$order->save();
|
137 |
+
|
138 |
+
Mage::getSingleton('checkout/session')->setLastQuoteId($quote->getId())->setLastSuccessQuoteId($quote->getId());
|
139 |
+
Mage::getSingleton('checkout/session')->setLastOrderId($order->getId())->setLastRealOrderId($order->getIncrementId());
|
140 |
+
Mage::getSingleton('checkout/session')->unsQuoteId();
|
141 |
+
|
142 |
+
Mage::dispatchEvent('gc_order_placed', array('order_ids' => array($order->getId())));
|
143 |
+
|
144 |
+
Mage::log("SUCCESS notification URL called", null, 'GC.log');
|
145 |
+
|
146 |
+
Mage::helper('globalcheckout')->payment_link_email_notification($order->getIncrementId(), $order->getData('grand_total'), $order->getData('shipping_amount'));
|
147 |
+
}
|
148 |
+
}
|
app/code/community/AnnaConcept/GlobalCheckout/etc/config.xml
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* AnnaConcept
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
*
|
12 |
+
* @category AnnaConcept
|
13 |
+
* @package AnnaConcept_GlobalCheckout
|
14 |
+
* @copyright Copyright (c) 2015 AnnaConcept. (http://annaconcept.com)
|
15 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.txt GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Config xml
|
20 |
+
*
|
21 |
+
* @category AnnaConcept
|
22 |
+
* @package AnnaConcept_GlobalCheckout
|
23 |
+
* @author Sebastian Pruteanu <sebi.pruteanu@gmail.com>
|
24 |
+
*/
|
25 |
+
-->
|
26 |
+
<config>
|
27 |
+
<modules>
|
28 |
+
<AnnaConcept_GlobalCheckout>
|
29 |
+
<version>1.0.1</version>
|
30 |
+
</AnnaConcept_GlobalCheckout>
|
31 |
+
</modules>
|
32 |
+
|
33 |
+
<global>
|
34 |
+
<blocks>
|
35 |
+
<globalcheckout>
|
36 |
+
<class>AnnaConcept_GlobalCheckout_Block</class>
|
37 |
+
</globalcheckout>
|
38 |
+
</blocks>
|
39 |
+
<helpers>
|
40 |
+
<globalcheckout>
|
41 |
+
<class>AnnaConcept_GlobalCheckout_Helper</class>
|
42 |
+
</globalcheckout>
|
43 |
+
</helpers>
|
44 |
+
<models>
|
45 |
+
<globalcheckout>
|
46 |
+
<class>AnnaConcept_GlobalCheckout_Model</class>
|
47 |
+
</globalcheckout>
|
48 |
+
</models>
|
49 |
+
<resources>
|
50 |
+
<globalcheckout_setup>
|
51 |
+
<setup>
|
52 |
+
<module>AnnaConcept_GlobalCheckout</module>
|
53 |
+
<class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
|
54 |
+
</setup>
|
55 |
+
<connection>
|
56 |
+
<use>core_setup</use>
|
57 |
+
</connection>
|
58 |
+
</globalcheckout_setup>
|
59 |
+
<globalcheckout_write>
|
60 |
+
<connection>
|
61 |
+
<use>core_write</use>
|
62 |
+
</connection>
|
63 |
+
</globalcheckout_write>
|
64 |
+
<globalcheckout_read>
|
65 |
+
<connection>
|
66 |
+
<use>core_read</use>
|
67 |
+
</connection>
|
68 |
+
</globalcheckout_read>
|
69 |
+
</resources>
|
70 |
+
<template>
|
71 |
+
<email>
|
72 |
+
<payment_globalcheckout_email_template module="globalcheckout">
|
73 |
+
<label>GlobalCheckout Email Notification</label>
|
74 |
+
<file>global_checkout_email_notification.html</file>
|
75 |
+
<type>html</type>
|
76 |
+
</payment_globalcheckout_email_template>
|
77 |
+
</email>
|
78 |
+
</template>
|
79 |
+
</global>
|
80 |
+
|
81 |
+
<frontend>
|
82 |
+
<layout>
|
83 |
+
<updates>
|
84 |
+
<globalcheckout>
|
85 |
+
<file>ac_globalcheckout.xml</file>
|
86 |
+
</globalcheckout>
|
87 |
+
</updates>
|
88 |
+
</layout>
|
89 |
+
<routers>
|
90 |
+
<globalcheckout>
|
91 |
+
<use>standard</use>
|
92 |
+
<args>
|
93 |
+
<module>AnnaConcept_GlobalCheckout</module>
|
94 |
+
<frontName>globalcheckout</frontName>
|
95 |
+
</args>
|
96 |
+
</globalcheckout>
|
97 |
+
</routers>
|
98 |
+
<events>
|
99 |
+
<payment_method_is_active>
|
100 |
+
<observers>
|
101 |
+
<gc_payment_method_is_active>
|
102 |
+
<type>singleton</type>
|
103 |
+
<class>AnnaConcept_GlobalCheckout_Model_Observer</class>
|
104 |
+
<method>paymentMethodIsActive</method>
|
105 |
+
</gc_payment_method_is_active>
|
106 |
+
</observers>
|
107 |
+
</payment_method_is_active>
|
108 |
+
</events>
|
109 |
+
</frontend>
|
110 |
+
|
111 |
+
|
112 |
+
<default>
|
113 |
+
<payment>
|
114 |
+
<globalcheckout>
|
115 |
+
<active>0</active>
|
116 |
+
<model>globalcheckout/standard</model>
|
117 |
+
<payment_action>sale</payment_action>
|
118 |
+
<order_status>pending</order_status>
|
119 |
+
<title><![CDATA[Global Checkout]]></title>
|
120 |
+
<debug>1</debug>
|
121 |
+
<live_url><![CDATA[https://secure.globalcheckout.com/global-check-out.do]]></live_url>
|
122 |
+
<debug_url><![CDATA[https://secure1.cgwstage.com/globalcheckout/global-check-out.do]]></debug_url>
|
123 |
+
<payment_url><![CDATA[https://www.paypal.com/cgi-bin/webscr?business=email@example.com&cmd=_xclick¤cy_code=USD&amount={amount}&item_name=Order%20{order}]]></payment_url>
|
124 |
+
</globalcheckout>
|
125 |
+
<email>
|
126 |
+
<email_template>payment_globalcheckout_email_template</email_template>
|
127 |
+
</email>
|
128 |
+
</payment>
|
129 |
+
</default>
|
130 |
+
</config>
|
app/code/community/AnnaConcept/GlobalCheckout/etc/system.xml
ADDED
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* AnnaConcept
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
*
|
12 |
+
* @category AnnaConcept
|
13 |
+
* @package AnnaConcept_GlobalCheckout
|
14 |
+
* @copyright Copyright (c) 2015 AnnaConcept. (http://annaconcept.com)
|
15 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.txt GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* System xml
|
20 |
+
*
|
21 |
+
* @category AnnaConcept
|
22 |
+
* @package AnnaConcept_GlobalCheckout
|
23 |
+
* @author Sebastian Pruteanu <sebi.pruteanu@gmail.com>
|
24 |
+
*/
|
25 |
+
-->
|
26 |
+
<config>
|
27 |
+
<sections>
|
28 |
+
<payment>
|
29 |
+
<groups>
|
30 |
+
<globalcheckout translate="label" module="globalcheckout">
|
31 |
+
<label>AnnaConcept - GlobalCheckout</label>
|
32 |
+
<sort_order>600</sort_order>
|
33 |
+
<show_in_default>1</show_in_default>
|
34 |
+
<show_in_website>1</show_in_website>
|
35 |
+
<show_in_store>0</show_in_store>
|
36 |
+
<fields>
|
37 |
+
<active translate="label comment">
|
38 |
+
<label>Enabled</label>
|
39 |
+
<comment>Enable or disable this payment method.</comment>
|
40 |
+
<frontend_type>select</frontend_type>
|
41 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
42 |
+
<sort_order>10</sort_order>
|
43 |
+
<show_in_default>1</show_in_default>
|
44 |
+
<show_in_website>1</show_in_website>
|
45 |
+
<show_in_store>0</show_in_store>
|
46 |
+
</active>
|
47 |
+
<title translate="label comment">
|
48 |
+
<label>Title</label>
|
49 |
+
<comment>Default title for payment on checkout page and order view page.</comment>
|
50 |
+
<frontend_type>text</frontend_type>
|
51 |
+
<sort_order>20</sort_order>
|
52 |
+
<show_in_default>1</show_in_default>
|
53 |
+
<show_in_website>1</show_in_website>
|
54 |
+
<show_in_store>0</show_in_store>
|
55 |
+
</title>
|
56 |
+
|
57 |
+
<order_status translate="label comment">
|
58 |
+
<label>New order status</label>
|
59 |
+
<comment>Order status for new orders paid by this payment method.</comment>
|
60 |
+
<frontend_type>select</frontend_type>
|
61 |
+
<source_model>adminhtml/system_config_source_order_status</source_model>
|
62 |
+
<sort_order>30</sort_order>
|
63 |
+
<show_in_default>1</show_in_default>
|
64 |
+
<show_in_website>1</show_in_website>
|
65 |
+
<show_in_store>0</show_in_store>
|
66 |
+
</order_status>
|
67 |
+
<gc_allowspecific translate="label">
|
68 |
+
<label>Shipping to Applicable Countries (shipping)</label>
|
69 |
+
<frontend_type>allowspecific</frontend_type>
|
70 |
+
<sort_order>31</sort_order>
|
71 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
72 |
+
<show_in_default>1</show_in_default>
|
73 |
+
<show_in_website>1</show_in_website>
|
74 |
+
<show_in_store>0</show_in_store>
|
75 |
+
</gc_allowspecific>
|
76 |
+
<gc_specificcountry translate="label">
|
77 |
+
<label>Shipping to Specific Countries (shipping)</label>
|
78 |
+
<frontend_type>multiselect</frontend_type>
|
79 |
+
<sort_order>32</sort_order>
|
80 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
81 |
+
<show_in_default>1</show_in_default>
|
82 |
+
<show_in_website>1</show_in_website>
|
83 |
+
<show_in_store>0</show_in_store>
|
84 |
+
<can_be_empty>1</can_be_empty>
|
85 |
+
</gc_specificcountry>
|
86 |
+
<disable_other_methods translate="label">
|
87 |
+
<label>Disable other payment methods when GC is available</label>
|
88 |
+
<frontend_type>select</frontend_type>
|
89 |
+
<sort_order>33</sort_order>
|
90 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
91 |
+
<show_in_default>1</show_in_default>
|
92 |
+
<show_in_website>1</show_in_website>
|
93 |
+
<show_in_store>0</show_in_store>
|
94 |
+
</disable_other_methods>
|
95 |
+
<allowspecific translate="label">
|
96 |
+
<label>Payment from Applicable Countries (billing)</label>
|
97 |
+
<frontend_type>allowspecific</frontend_type>
|
98 |
+
<sort_order>35</sort_order>
|
99 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
100 |
+
<show_in_default>1</show_in_default>
|
101 |
+
<show_in_website>1</show_in_website>
|
102 |
+
<show_in_store>0</show_in_store>
|
103 |
+
</allowspecific>
|
104 |
+
<specificcountry translate="label">
|
105 |
+
<label>Payment from Specific Countries (billing)</label>
|
106 |
+
<frontend_type>multiselect</frontend_type>
|
107 |
+
<sort_order>36</sort_order>
|
108 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
109 |
+
<show_in_default>1</show_in_default>
|
110 |
+
<show_in_website>1</show_in_website>
|
111 |
+
<show_in_store>0</show_in_store>
|
112 |
+
<can_be_empty>1</can_be_empty>
|
113 |
+
</specificcountry>
|
114 |
+
<debug translate="label comment">
|
115 |
+
<label>Debug mode</label>
|
116 |
+
<frontend_type>select</frontend_type>
|
117 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
118 |
+
<sort_order>40</sort_order>
|
119 |
+
<show_in_default>1</show_in_default>
|
120 |
+
<show_in_website>1</show_in_website>
|
121 |
+
<show_in_store>0</show_in_store>
|
122 |
+
</debug>
|
123 |
+
<live_url translate="label comment">
|
124 |
+
<label>Production URL</label>
|
125 |
+
<frontend_type>text</frontend_type>
|
126 |
+
<sort_order>50</sort_order>
|
127 |
+
<show_in_default>1</show_in_default>
|
128 |
+
<show_in_website>1</show_in_website>
|
129 |
+
<show_in_store>0</show_in_store>
|
130 |
+
</live_url>
|
131 |
+
<debug_url translate="label comment">
|
132 |
+
<label>Debug URL</label>
|
133 |
+
<frontend_type>text</frontend_type>
|
134 |
+
<sort_order>60</sort_order>
|
135 |
+
<show_in_default>1</show_in_default>
|
136 |
+
<show_in_website>1</show_in_website>
|
137 |
+
<show_in_store>0</show_in_store>
|
138 |
+
</debug_url>
|
139 |
+
<email_template translate="label">
|
140 |
+
<label>Email Template</label>
|
141 |
+
<frontend_type>select</frontend_type>
|
142 |
+
<source_model>adminhtml/system_config_source_email_template</source_model>
|
143 |
+
<sort_order>61</sort_order>
|
144 |
+
<show_in_default>1</show_in_default>
|
145 |
+
<show_in_website>1</show_in_website>
|
146 |
+
<show_in_store>1</show_in_store>
|
147 |
+
</email_template>
|
148 |
+
<payment_url translate="label comment">
|
149 |
+
<label>Payment URL</label>
|
150 |
+
<comment>Variables you can use : {order}, {amount}, {shipping}</comment>
|
151 |
+
<frontend_type>text</frontend_type>
|
152 |
+
<sort_order>65</sort_order>
|
153 |
+
<show_in_default>1</show_in_default>
|
154 |
+
<show_in_website>1</show_in_website>
|
155 |
+
<show_in_store>0</show_in_store>
|
156 |
+
</payment_url>
|
157 |
+
<notification_email translate="label comment">
|
158 |
+
<label>Notification Email</label>
|
159 |
+
<frontend_type>text</frontend_type>
|
160 |
+
<sort_order>66</sort_order>
|
161 |
+
<show_in_default>1</show_in_default>
|
162 |
+
<show_in_website>1</show_in_website>
|
163 |
+
<show_in_store>0</show_in_store>
|
164 |
+
</notification_email>
|
165 |
+
</fields>
|
166 |
+
</globalcheckout>
|
167 |
+
</groups>
|
168 |
+
</payment>
|
169 |
+
</sections>
|
170 |
+
</config>
|
app/code/community/AnnaConcept/GlobalCheckout/sql/globalcheckout_setup/mysql4-upgrade-1.0.0-1.0.1.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* AnnaConcept
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
*
|
12 |
+
* @category AnnaConcept
|
13 |
+
* @package AnnaConcept_GlobalCheckout
|
14 |
+
* @copyright Copyright (c) 2015 AnnaConcept. (http://annaconcept.com)
|
15 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.txt GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Install script
|
20 |
+
*
|
21 |
+
* @category AnnaConcept
|
22 |
+
* @package AnnaConcept_GlobalCheckout
|
23 |
+
* @author Sebastian Pruteanu <sebi.pruteanu@gmail.com>
|
24 |
+
*/
|
25 |
+
|
26 |
+
/* @var $installer Mage_Catalog_Model_Resource_Eav_Mysql4_Setup */
|
27 |
+
$installer = $this;
|
28 |
+
|
29 |
+
$installer->startSetup();
|
30 |
+
|
31 |
+
$installer->addAttribute('catalog_product', 'gc_ormd', array(
|
32 |
+
'type' => 'int',
|
33 |
+
'backend' => '',
|
34 |
+
'frontend' => '',
|
35 |
+
'label' => 'GlobalCheckout ORMD',
|
36 |
+
'input' => 'select',
|
37 |
+
'class' => '',
|
38 |
+
'source' => 'eav/entity_attribute_source_boolean',
|
39 |
+
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
|
40 |
+
'visible' => true,
|
41 |
+
'required' => false,
|
42 |
+
'user_defined' => false,
|
43 |
+
'default' => '',
|
44 |
+
'searchable' => false,
|
45 |
+
'filterable' => false,
|
46 |
+
'comparable' => false,
|
47 |
+
'visible_on_front' => false,
|
48 |
+
'unique' => false,
|
49 |
+
'group' => 'General',
|
50 |
+
'sort' => 99
|
51 |
+
));
|
52 |
+
|
53 |
+
$installer->endSetup();
|
app/design/frontend/base/default/template/annaconcept/globalcheckout/form.phtml
CHANGED
@@ -1,27 +1,3 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* AnnaConcept
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
8 |
-
* It is also available through the world-wide-web at this URL:
|
9 |
-
* https://www.gnu.org/licenses/gpl-3.0.txt
|
10 |
-
*
|
11 |
-
* @category AnnaConcept
|
12 |
-
* @package AnnaConcept_GlobalCheckout
|
13 |
-
* @copyright Copyright (c) 2015 AnnaConcept. (http://annaconcept.com)
|
14 |
-
* @license https://www.gnu.org/licenses/gpl-3.0.txt GNU GENERAL PUBLIC LICENSE (GPL 3.0)
|
15 |
-
*/
|
16 |
-
|
17 |
-
/**
|
18 |
-
* GlobalCheckout Standard payment method form template
|
19 |
-
*
|
20 |
-
* @category AnnaConcept
|
21 |
-
* @package AnnaConcept_GlobalCheckout
|
22 |
-
* @author Sebastian Pruteanu <sebi.pruteanu@gmail.com>
|
23 |
-
*/
|
24 |
-
?>
|
25 |
<ul class="form-list" id="payment_form_<?php echo $this->getMethodCode() ?>" style="display:none;">
|
26 |
<li class="form-alt"><?php echo $this->getRedirectMessage() ?></li>
|
27 |
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<ul class="form-list" id="payment_form_<?php echo $this->getMethodCode() ?>" style="display:none;">
|
2 |
<li class="form-alt"><?php echo $this->getRedirectMessage() ?></li>
|
3 |
</ul>
|
app/locale/en_US/AnnaConcept_GlobalCheckout.csv
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
"Global Checkout missconfigured. Please contact administrator !","Global Checkout missconfigured. Please contact administrator !"
|
2 |
+
"We have partnered with Global Checkout to provide you with the best International Shipping Rates.<br><br>You will be redirected to Global Checkout to complete this order.","We have partnered with Global Checkout to provide you with the best International Shipping Rates.<br><br>You will be redirected to Global Checkout to complete this order."
|
3 |
+
"You will be redirected to Global Checkout in a few seconds.","You will be redirected to Global Checkout in a few seconds."
|
package.xml
CHANGED
@@ -1,20 +1,44 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>globalcheckout</name>
|
4 |
-
<version>1.0.
|
5 |
<stability>stable</stability>
|
6 |
-
<license uri="https://www.gnu.org/licenses/gpl-3.0.txt">
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
-
<summary>
|
10 |
-
<description>Global Checkout
|
11 |
-
|
12 |
-
|
13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
<authors><author><name>AnnaConcept</name><user>annaconcept</user><email>info@annaconcept.com</email></author><author><name>Sebastian Pruteanu</name><user>sebip</user><email>sebi.pruteanu@gmail.com</email></author></authors>
|
15 |
-
<date>2015-
|
16 |
-
<time>
|
17 |
-
<contents><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="annaconcept"><dir name="globalcheckout"><file name="form.phtml" hash="
|
18 |
<compatible/>
|
19 |
<dependencies><required><php><min>5.4.0</min><max>5.6.5</max></php></required></dependencies>
|
20 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>globalcheckout</name>
|
4 |
+
<version>1.0.1</version>
|
5 |
<stability>stable</stability>
|
6 |
+
<license uri="https://www.gnu.org/licenses/gpl-3.0.txt">GPL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
+
<summary>Sell Internationally in hours! Fraud free, lowest shipping rates and multi-lingual customer support.</summary>
|
10 |
+
<description>Install Global Checkout Plugin and sell internationally right away! 
|
11 |
+

|
12 |
+
We want you to be able to focus on growing your business while we manage payment fraud, international logistics, exports paper work, multi-language customer support and international returns. We can also ensure you maintain compliance with any export laws and regulations and licensing agreements that prohibit sales in specific markets while allowing the consumer to complete the purchase of approved items. 
|
13 |
+

|
14 |
+
Most competitive International shipping rates 
|
15 |
+

|
16 |
+
We provide to your customers the lowest shipping rates from our official shipping carriers DHL and FedEx. 
|
17 |
+

|
18 |
+
No shipping calculator needed. 
|
19 |
+

|
20 |
+
We can provide your customers with the Fully Landed Cost (International shipping+ Taxes and Duties) at checkout with our proprietary calculator. 
|
21 |
+

|
22 |
+
Fraud Free 
|
23 |
+

|
24 |
+
We screen your payments and you will receive guaranteed payment before you ship. That means you will have zero fraud. 
|
25 |
+

|
26 |
+
Easy Integration 
|
27 |
+

|
28 |
+
You can easily integrate with Global Checkout within hours through your existing e-commerce infrastructure. 
|
29 |
+

|
30 |
+
No transaction or installation fees 
|
31 |
+

|
32 |
+
We pride ourselves in being simple to integrate and transparent in pricing. It is absolutely FREE for Magento shop owners. You don't have to pay any setup or monthly fees. We will never charge any hidden fees or subscription costs or sales commission. 
|
33 |
+

|
34 |
+
Learn more about Global Checkout: http://www.globalcheckout.com/ 
|
35 |
+

|
36 |
+
An e-Commerce solution powered by comGateway</description>
|
37 |
+
<notes>Added ORM-D functionality</notes>
|
38 |
<authors><author><name>AnnaConcept</name><user>annaconcept</user><email>info@annaconcept.com</email></author><author><name>Sebastian Pruteanu</name><user>sebip</user><email>sebi.pruteanu@gmail.com</email></author></authors>
|
39 |
+
<date>2015-10-16</date>
|
40 |
+
<time>21:39:21</time>
|
41 |
+
<contents><target name="magecommunity"><dir name="AnnaConcept"><dir name="GlobalCheckout"><dir name="Block"><file name="Button.php" hash="64d62806215b8ad93c63543091406312"/><file name="Form.php" hash="67c67029aafa076490c6711957a5f128"/></dir><dir name="Helper"><file name="Data.php" hash="c9cc7096c92d1c1a50facaf9508594a1"/></dir><dir name="Model"><file name="Observer.php" hash="bafaaca3d7669b1f862f8671ec195047"/><file name="Standard.php" hash="ba51e271c2f57519fbfe173cf9d19c2a"/></dir><dir name="controllers"><file name="IndexController.php" hash="3e391bb13ab9360ecb06f047d4f7c4fa"/></dir><dir name="etc"><file name="config.xml" hash="5c766fbf115d87c1c2b5056e8e741814"/><file name="system.xml" hash="88b782077c22f7e9e51ff3da1f74d0fd"/></dir><dir name="sql"><dir name="globalcheckout_setup"><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="dc402d08162017dbee516df87584e821"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="annaconcept"><dir name="globalcheckout"><file name="form.phtml" hash="059ed5e455ac4912c623cb6028703b5e"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="AnnaConcept_GlobalCheckout.xml" hash="f8bb1c935b697b09b04e5a8c62200db7"/></dir></target><target name="magelocale"><dir name="en_US"><file name="AnnaConcept_GlobalCheckout.csv" hash="36f3f4c80171a61adb914e985e4d47fe"/><dir name="template"><dir name="email"><file name="global_checkout_email_notification.html" hash="791a9e2cdac07c45397ed93b912ea1f3"/></dir></dir></dir></target></contents>
|
42 |
<compatible/>
|
43 |
<dependencies><required><php><min>5.4.0</min><max>5.6.5</max></php></required></dependencies>
|
44 |
</package>
|