Version Notes
Initial release
Download this release
Release Info
Developer | Instamojo |
Extension | Instamojo_Imojo |
Version | 0.0.2 |
Comparing to | |
See all releases |
Code changes from version 0.0.1 to 0.0.2
- app/code/local/Instamojo/Imojo/Model/PaymentMethod.php +11 -5
- app/code/local/Instamojo/Imojo/controllers/PaymentController.php +59 -39
- app/design/frontend/base/default/template/imojo/deposit_failure.phtml +6 -0
- app/design/frontend/base/default/template/imojo/deposit_success.phtml +4 -0
- app/design/frontend/base/default/template/imojo/redirect.phtml +33 -0
- app/design/frontend/base/default/template/imojo/success.phtml +2 -0
- package.xml +4 -4
app/code/local/Instamojo/Imojo/Model/PaymentMethod.php
CHANGED
@@ -1,6 +1,9 @@
|
|
1 |
<?php
|
2 |
// This module is more than a normal payment gateway
|
3 |
// It needs dashboard and all
|
|
|
|
|
|
|
4 |
class Instamojo_Imojo_Model_PaymentMethod extends Mage_Payment_Model_Method_Abstract{
|
5 |
/**
|
6 |
* Availability options
|
@@ -34,15 +37,17 @@ class Instamojo_Imojo_Model_PaymentMethod extends Mage_Payment_Model_Method_Abst
|
|
34 |
// Construct the redirect URL
|
35 |
public function getOrderPlaceRedirectUrl()
|
36 |
{
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
40 |
}
|
41 |
|
42 |
// Check why capture is not working. I clearly specified it in the config.xml file. WTF!
|
43 |
// Need to look back into this issue more cleanly
|
44 |
public function authorize(Varien_Object $payment, $amount){
|
45 |
-
|
|
|
46 |
// Haha interestingly this is working. Lolapa
|
47 |
// $order = $payment->getOrder();
|
48 |
// Create and capture transaction. How do we use it? Lets see.\
|
@@ -59,7 +64,8 @@ class Instamojo_Imojo_Model_PaymentMethod extends Mage_Payment_Model_Method_Abst
|
|
59 |
*/
|
60 |
public function capture(Varien_Object $payment, $amount)
|
61 |
{
|
62 |
-
|
|
|
63 |
// parent::capture();
|
64 |
// $order = $payment->getOrder();
|
65 |
// Create and capture transaction. How do we use it? Lets see.\
|
1 |
<?php
|
2 |
// This module is more than a normal payment gateway
|
3 |
// It needs dashboard and all
|
4 |
+
|
5 |
+
$LOG_FILE_NAME = 'imojo.log';
|
6 |
+
|
7 |
class Instamojo_Imojo_Model_PaymentMethod extends Mage_Payment_Model_Method_Abstract{
|
8 |
/**
|
9 |
* Availability options
|
37 |
// Construct the redirect URL
|
38 |
public function getOrderPlaceRedirectUrl()
|
39 |
{
|
40 |
+
global $LOG_FILE_NAME;
|
41 |
+
$redirect_url = Mage::getUrl('imojo/payment/redirect');
|
42 |
+
Mage::Log('Step 2 Process: Getting the redirect URL: $redirect_url', Zend_Log::DEBUG, $LOG_FILE_NAME);
|
43 |
+
return $redirect_url;
|
44 |
}
|
45 |
|
46 |
// Check why capture is not working. I clearly specified it in the config.xml file. WTF!
|
47 |
// Need to look back into this issue more cleanly
|
48 |
public function authorize(Varien_Object $payment, $amount){
|
49 |
+
global $LOG_FILE_NAME;
|
50 |
+
Mage::Log('Step 0 Process: Authorize', Zend_Log::DEBUG, $LOG_FILE_NAME);
|
51 |
// Haha interestingly this is working. Lolapa
|
52 |
// $order = $payment->getOrder();
|
53 |
// Create and capture transaction. How do we use it? Lets see.\
|
64 |
*/
|
65 |
public function capture(Varien_Object $payment, $amount)
|
66 |
{
|
67 |
+
global $LOG_FILE_NAME;
|
68 |
+
Mage::Log('Step 1 Process: Create and capture the process', Zend_Log::DEBUG, $LOG_FILE_NAME);
|
69 |
// parent::capture();
|
70 |
// $order = $payment->getOrder();
|
71 |
// Create and capture transaction. How do we use it? Lets see.\
|
app/code/local/Instamojo/Imojo/controllers/PaymentController.php
CHANGED
@@ -1,12 +1,15 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
3 |
class Instamojo_Imojo_PaymentController extends Mage_Core_Controller_Front_Action
|
4 |
{
|
5 |
// Redirect to instamojo
|
6 |
public function redirectAction()
|
7 |
{
|
|
|
8 |
try {
|
9 |
-
Mage::Log('Step 5 Process: Loading the redirect.html page');
|
10 |
$this->loadLayout();
|
11 |
// Get latest order data
|
12 |
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
|
@@ -32,7 +35,8 @@ class Instamojo_Imojo_PaymentController extends Mage_Core_Controller_Front_Actio
|
|
32 |
$private_salt = Mage::getStoreConfig('payment/imojo/private_salt');
|
33 |
$custom_field = Mage::getStoreConfig('payment/imojo/custom_field');
|
34 |
|
35 |
-
Mage::
|
|
|
36 |
|
37 |
$data = Array();
|
38 |
$data['data_email'] = substr($email, 0, 75);
|
@@ -41,16 +45,17 @@ class Instamojo_Imojo_PaymentController extends Mage_Core_Controller_Front_Actio
|
|
41 |
$data['data_amount'] = $amount;
|
42 |
$data['data_' . $custom_field] = $rmTranid . "-". $orderId;
|
43 |
|
44 |
-
Mage::
|
45 |
-
|
46 |
|
|
|
47 |
|
48 |
ksort($data, SORT_STRING | SORT_FLAG_CASE);
|
49 |
$message = implode('|', $data);
|
50 |
$sign = hash_hmac("sha1", $message, $private_salt);
|
51 |
$data['data_sign'] = $sign;
|
52 |
-
|
53 |
-
Mage::
|
|
|
54 |
|
55 |
$link= $url . "?intent=buy&";
|
56 |
$link .= "data_readonly=data_email&data_readonly=data_amount&data_readonly=data_phone&data_readonly=data_name&data_readonly=data_$custom_field&data_hidden=data_$custom_field";
|
@@ -76,49 +81,62 @@ class Instamojo_Imojo_PaymentController extends Mage_Core_Controller_Front_Actio
|
|
76 |
$this->renderLayout();
|
77 |
} catch (Exception $e){
|
78 |
Mage::logException($e);
|
|
|
79 |
parent::_redirect('checkout/cart');
|
80 |
}
|
81 |
}
|
82 |
|
83 |
// Redirect from Instamojo
|
84 |
// The response action is triggered when your gateway sends back a response after processing the customer's payment
|
85 |
-
public function responseAction() {
|
|
|
|
|
|
|
|
|
86 |
|
87 |
$custom_field = Mage::getStoreConfig('payment/imojo/custom_field');
|
88 |
$status = $this->getRequest()->getParam('status');
|
89 |
$insta_id = $this->getRequest()->getParam('payment_id');
|
90 |
$this->loadLayout();
|
91 |
|
92 |
-
|
93 |
-
|
94 |
-
$
|
95 |
-
$
|
96 |
-
$orderId = $order_tran_id[1];
|
97 |
-
$amount = $data['payment']['amount'];
|
98 |
-
|
99 |
-
// Get order details
|
100 |
-
$order = Mage::getModel('sales/order');
|
101 |
-
$order->loadByIncrementId($orderId);
|
102 |
-
$this->_processInvoice($orderId);
|
103 |
-
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true)->save();
|
104 |
-
$order->sendNewOrderEmail();
|
105 |
-
$order->setEmailSent(true);
|
106 |
-
|
107 |
-
// Close the transaction
|
108 |
-
$payment = $order->getPayment();
|
109 |
-
$transaction = $payment->getTransaction($transactionId);
|
110 |
-
$data = $transaction->getAdditionalInformation();
|
111 |
-
$url = $data['raw_details_info']['Url'];
|
112 |
-
$transaction->setAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS,
|
113 |
-
array('InstmojoId'=> $insta_id,
|
114 |
-
'Context'=>'Token payment',
|
115 |
-
'Amount'=>$amount,
|
116 |
-
'Status'=>1,
|
117 |
-
'Url'=>$url))->save();
|
118 |
-
$transaction->setParentTxnId($insta_id)->save();
|
119 |
|
120 |
// What if Id or status doesnt exit?
|
121 |
-
if($
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
$block = $this->getLayout()->createBlock('Mage_Core_Block_Template',
|
123 |
'imojo',
|
124 |
array('template' => 'imojo/success.phtml'))->assign(array('instaId'=> $insta_id));
|
@@ -129,9 +147,6 @@ class Instamojo_Imojo_PaymentController extends Mage_Core_Controller_Front_Actio
|
|
129 |
array('template' => 'imojo/failure.phtml'))->assign(array('instaId'=> $insta_id));
|
130 |
}
|
131 |
$this->getLayout()->getBlock('content')->append($block);
|
132 |
-
//$this->_processInvoice($orderId);
|
133 |
-
$order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, false)->save();
|
134 |
-
$payment->setIsTransactionClosed(1);
|
135 |
$this->renderLayout();
|
136 |
|
137 |
// Trigger emails for success / failure - Sending desposit email
|
@@ -143,6 +158,8 @@ class Instamojo_Imojo_PaymentController extends Mage_Core_Controller_Front_Actio
|
|
143 |
|
144 |
private function _processInvoice($orderId){
|
145 |
|
|
|
|
|
146 |
$order = Mage::getModel("sales/order")->load($orderId);
|
147 |
|
148 |
try {
|
@@ -177,9 +194,10 @@ class Instamojo_Imojo_PaymentController extends Mage_Core_Controller_Front_Actio
|
|
177 |
|
178 |
// Get the order id from Instamojo based the transaction id
|
179 |
private function _getcurlInfo($iTransactionId){
|
|
|
180 |
try {
|
181 |
|
182 |
-
$cUrl = 'https://www.instamojo.com/api/1.1/payments/'
|
183 |
$api_key = Mage::getStoreConfig('payment/imojo/api_key');
|
184 |
$auth_token = Mage::getStoreConfig('payment/imojo/auth_token');
|
185 |
|
@@ -194,6 +212,8 @@ class Instamojo_Imojo_PaymentController extends Mage_Core_Controller_Front_Actio
|
|
194 |
$res = json_decode($response, true);
|
195 |
curl_close($ch);
|
196 |
} catch (Exception $e) {
|
|
|
|
|
197 |
throw $e;
|
198 |
}
|
199 |
return $res;
|
1 |
<?php
|
2 |
|
3 |
+
$LOG_FILE_NAME = 'imojo.log';
|
4 |
+
|
5 |
class Instamojo_Imojo_PaymentController extends Mage_Core_Controller_Front_Action
|
6 |
{
|
7 |
// Redirect to instamojo
|
8 |
public function redirectAction()
|
9 |
{
|
10 |
+
global $LOG_FILE_NAME;
|
11 |
try {
|
12 |
+
Mage::Log('Step 5 Process: Loading the redirect.html page', Zend_Log::DEBUG, $LOG_FILE_NAME);
|
13 |
$this->loadLayout();
|
14 |
// Get latest order data
|
15 |
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
|
35 |
$private_salt = Mage::getStoreConfig('payment/imojo/private_salt');
|
36 |
$custom_field = Mage::getStoreConfig('payment/imojo/custom_field');
|
37 |
|
38 |
+
// Mage::helper('imojo')->myLog("Data from Backend: $url | $api_key | $auth_token | $private_salt | $custom_field");
|
39 |
+
Mage::log("Data from Backend: $url | $api_key | $auth_token | $private_salt | $custom_field", Zend_Log::DEBUG, $LOG_FILE_NAME);
|
40 |
|
41 |
$data = Array();
|
42 |
$data['data_email'] = substr($email, 0, 75);
|
45 |
$data['data_amount'] = $amount;
|
46 |
$data['data_' . $custom_field] = $rmTranid . "-". $orderId;
|
47 |
|
48 |
+
// Mage::helper('imojo')->myLog("Transaction-order ID: " . ($rmTranid . "-". $orderId));
|
|
|
49 |
|
50 |
+
Mage::log("Transaction-order ID: " . ($rmTranid . "-". $orderId), Zend_Log::DEBUG, $LOG_FILE_NAME);
|
51 |
|
52 |
ksort($data, SORT_STRING | SORT_FLAG_CASE);
|
53 |
$message = implode('|', $data);
|
54 |
$sign = hash_hmac("sha1", $message, $private_salt);
|
55 |
$data['data_sign'] = $sign;
|
56 |
+
|
57 |
+
// Mage::helper('imojo')->myLog("Signature is: $sign");
|
58 |
+
Mage::log("Signature is: $sign", Zend_Log::DEBUG, $LOG_FILE_NAME);
|
59 |
|
60 |
$link= $url . "?intent=buy&";
|
61 |
$link .= "data_readonly=data_email&data_readonly=data_amount&data_readonly=data_phone&data_readonly=data_name&data_readonly=data_$custom_field&data_hidden=data_$custom_field";
|
81 |
$this->renderLayout();
|
82 |
} catch (Exception $e){
|
83 |
Mage::logException($e);
|
84 |
+
Mage::log($e, Zend_Log::ERR, $LOG_FILE_NAME);
|
85 |
parent::_redirect('checkout/cart');
|
86 |
}
|
87 |
}
|
88 |
|
89 |
// Redirect from Instamojo
|
90 |
// The response action is triggered when your gateway sends back a response after processing the customer's payment
|
91 |
+
public function responseAction() {
|
92 |
+
|
93 |
+
global $LOG_FILE_NAME;
|
94 |
+
|
95 |
+
Mage::log("Running response action", Zend_Log::DEBUG, $LOG_FILE_NAME);
|
96 |
|
97 |
$custom_field = Mage::getStoreConfig('payment/imojo/custom_field');
|
98 |
$status = $this->getRequest()->getParam('status');
|
99 |
$insta_id = $this->getRequest()->getParam('payment_id');
|
100 |
$this->loadLayout();
|
101 |
|
102 |
+
Mage::log("Status: $status| Payment ID: $insta_id", Zend_Log::DEBUG, $LOG_FILE_NAME);
|
103 |
+
// Do curl here to get order id and information from instamojo;
|
104 |
+
$data = $this->_getcurlInfo($insta_id);
|
105 |
+
$payment_status = $data['payment']['status'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
|
107 |
// What if Id or status doesnt exit?
|
108 |
+
if($payment_status === "Credit"){
|
109 |
+
Mage::log("Payment was successfull for $insta_id", Zend_Log::DEBUG, $LOG_FILE_NAME);
|
110 |
+
$tr_ord_id = $data['payment']['custom_fields'][$custom_field]['value'];
|
111 |
+
Mage::log("Value of Tran-order ID: $tr_ord_id", Zend_Log::DEBUG, $LOG_FILE_NAME);
|
112 |
+
$order_tran_id = explode('-', $tr_ord_id);
|
113 |
+
$transactionId = $order_tran_id[0];
|
114 |
+
$orderId = $order_tran_id[1];
|
115 |
+
$amount = $data['payment']['amount'];
|
116 |
+
|
117 |
+
// Get order details
|
118 |
+
$order = Mage::getModel('sales/order');
|
119 |
+
$order->loadByIncrementId($orderId);
|
120 |
+
$this->_processInvoice($orderId);
|
121 |
+
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true)->save();
|
122 |
+
$order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, false)->save();
|
123 |
+
$order->sendNewOrderEmail();
|
124 |
+
$order->setEmailSent(true);
|
125 |
+
|
126 |
+
// Close the transaction
|
127 |
+
$payment = $order->getPayment();
|
128 |
+
$transaction = $payment->getTransaction($transactionId);
|
129 |
+
$data = $transaction->getAdditionalInformation();
|
130 |
+
$url = $data['raw_details_info']['Url'];
|
131 |
+
$transaction->setAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS,
|
132 |
+
array('InstmojoId'=> $insta_id,
|
133 |
+
'Context'=>'Token payment',
|
134 |
+
'Amount'=>$amount,
|
135 |
+
'Status'=>1,
|
136 |
+
'Url'=>$url))->save();
|
137 |
+
$transaction->setParentTxnId($insta_id)->save();
|
138 |
+
$payment->setIsTransactionClosed(1);
|
139 |
+
// $this->_processInvoice($orderId);
|
140 |
$block = $this->getLayout()->createBlock('Mage_Core_Block_Template',
|
141 |
'imojo',
|
142 |
array('template' => 'imojo/success.phtml'))->assign(array('instaId'=> $insta_id));
|
147 |
array('template' => 'imojo/failure.phtml'))->assign(array('instaId'=> $insta_id));
|
148 |
}
|
149 |
$this->getLayout()->getBlock('content')->append($block);
|
|
|
|
|
|
|
150 |
$this->renderLayout();
|
151 |
|
152 |
// Trigger emails for success / failure - Sending desposit email
|
158 |
|
159 |
private function _processInvoice($orderId){
|
160 |
|
161 |
+
global $LOG_FILE_NAME;
|
162 |
+
|
163 |
$order = Mage::getModel("sales/order")->load($orderId);
|
164 |
|
165 |
try {
|
194 |
|
195 |
// Get the order id from Instamojo based the transaction id
|
196 |
private function _getcurlInfo($iTransactionId){
|
197 |
+
global $LOG_FILE_NAME;
|
198 |
try {
|
199 |
|
200 |
+
$cUrl = 'https://www.instamojo.com:5000/api/1.1/payments/' . $iTransactionId;
|
201 |
$api_key = Mage::getStoreConfig('payment/imojo/api_key');
|
202 |
$auth_token = Mage::getStoreConfig('payment/imojo/auth_token');
|
203 |
|
212 |
$res = json_decode($response, true);
|
213 |
curl_close($ch);
|
214 |
} catch (Exception $e) {
|
215 |
+
Mage::logException($e);
|
216 |
+
Mage::log($e, Zend_Log::ERR, $LOG_FILE_NAME);
|
217 |
throw $e;
|
218 |
}
|
219 |
return $res;
|
app/design/frontend/base/default/template/imojo/deposit_failure.phtml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="alert alert-danger" style="text-align:center"><h2>Your transaction has failed. </h2></div>
|
2 |
+
<?php if($instaId){ ?>
|
3 |
+
Your payment transaction id is <?php echo $instaId;?>.
|
4 |
+
<?php }?>
|
5 |
+
|
6 |
+
<h4>Please attempt again or contact us at +91 771 8888 645.</h4>
|
app/design/frontend/base/default/template/imojo/deposit_success.phtml
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<div class="alert alert-success" style="text-align:center"><h2>Your payment towards deposit amount is successful. </h2></div>
|
2 |
+
<?php if($instaId){ ?>
|
3 |
+
Your payment transaction id is <?php echo $instaId;?>.
|
4 |
+
<?php }?>
|
app/design/frontend/base/default/template/imojo/redirect.phtml
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$_order = new Mage_Sales_Model_Order();
|
3 |
+
|
4 |
+
// Get this guys last order
|
5 |
+
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
|
6 |
+
$_order->loadByIncrementId($orderId);
|
7 |
+
$custom_field = $$custom_field_name;
|
8 |
+
?>
|
9 |
+
<br>
|
10 |
+
<br>
|
11 |
+
<!-- We can peacefully add some nice redirection here with some intentional delay -->
|
12 |
+
<div style="text-align:center">
|
13 |
+
<h2>We are redirecting you to payment. Please wait ...</h2>
|
14 |
+
<br>
|
15 |
+
<img src="http://i.imgur.com/KUJoe.gif" />
|
16 |
+
</div>
|
17 |
+
<!-- Hidden form to submit -->
|
18 |
+
<form name="instamojo" method="get" action="<?php echo $url; ?>">
|
19 |
+
<input type="hidden" name="<?php echo $custom_field_name;?>" value="<?php echo $custom_field;?>">
|
20 |
+
<input type="hidden" name="data_amount" value="<?php echo $data_amount;?>">
|
21 |
+
<input type="hidden" name="data_email" value="<?php echo $data_email;?>">
|
22 |
+
<input type="hidden" name="data_name" value="<?php echo $data_name;?>">
|
23 |
+
<input type="hidden" name="data_phone" value="<?php echo $data_phone;?>">
|
24 |
+
<input type="hidden" name="intent" value="buy">
|
25 |
+
<input type="hidden" name="data_readonly" value="data_email">
|
26 |
+
<input type="hidden" name="data_readonly" value="data_name">
|
27 |
+
<input type="hidden" name="data_readonly" value="data_amount">
|
28 |
+
<input type="hidden" name="data_readonly" value="data_phone">
|
29 |
+
<input type="hidden" name="data_hidden" value="<?php echo $custom_field_name;?>">
|
30 |
+
</form>
|
31 |
+
<script type="text/javascript">
|
32 |
+
document.instamojo.submit();
|
33 |
+
</script>
|
app/design/frontend/base/default/template/imojo/success.phtml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
<div class="alert alert-success" style="text-align:center"><h2>Your transaction is successful. </h2></div>
|
2 |
+
Your payment transaction id is <?php echo $instaId;?>.
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Instamojo_Imojo</name>
|
4 |
-
<version>0.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/MIT">MIT</license>
|
7 |
<channel>community</channel>
|
@@ -13,9 +13,9 @@ We provide you an out-of-the-box e-commerce framework that takes care of mundane
|
|
13 |
</description>
|
14 |
<notes>Initial release</notes>
|
15 |
<authors><author><name>Instamojo</name><user>Instamojo</user><email>dev@instamojo.com</email></author></authors>
|
16 |
-
<date>2015-04-
|
17 |
-
<time>
|
18 |
-
<contents><target name="magelocal"><dir name="Instamojo"><dir name="Imojo"><dir name="Helper"><file name="Data.php" hash="e53c6598fa917d8791e046b20d76d221"/></dir><dir name="Model"><file name="PaymentMethod.php" hash="
|
19 |
<compatible/>
|
20 |
<dependencies><required><php><min>5.3.0</min><max>5.6.6</max></php></required></dependencies>
|
21 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Instamojo_Imojo</name>
|
4 |
+
<version>0.0.2</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/MIT">MIT</license>
|
7 |
<channel>community</channel>
|
13 |
</description>
|
14 |
<notes>Initial release</notes>
|
15 |
<authors><author><name>Instamojo</name><user>Instamojo</user><email>dev@instamojo.com</email></author></authors>
|
16 |
+
<date>2015-04-14</date>
|
17 |
+
<time>13:18:59</time>
|
18 |
+
<contents><target name="magelocal"><dir name="Instamojo"><dir name="Imojo"><dir name="Helper"><file name="Data.php" hash="e53c6598fa917d8791e046b20d76d221"/></dir><dir name="Model"><file name="PaymentMethod.php" hash="3eb0e176696408fd756ca40ba022b1f3"/></dir><dir name="controllers"><file name="PaymentController.php" hash="b79710294b2ea9487e47fe21db0a1d30"/></dir><dir name="etc"><file name="config.xml" hash="9eb5aecb2c09a94639622ba59cab94cc"/><file name="system.xml" hash="428898819cd38b15ab4a222964179e65"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="imojo"><file name="deposit_failure.phtml" hash="a01f8d2f503ccaf5d3f6a4682b9caf2b"/><file name="deposit_success.phtml" hash="6952afc4383fbf0eab18ee94e185f329"/><file name="redirect.phtml" hash="42463d0fa90f0085320b5069ed9ba7af"/><file name="success.phtml" hash="ad5d2318608673f5ba6ea85bd784198f"/></dir></dir></dir></dir></dir></target></contents>
|
19 |
<compatible/>
|
20 |
<dependencies><required><php><min>5.3.0</min><max>5.6.6</max></php></required></dependencies>
|
21 |
</package>
|