Version Notes
Initial and Stable Release
Download this release
Release Info
| Developer | Cueblocks |
| Extension | PayZippy_Payment_Gateway |
| Version | 0.1.0 |
| Comparing to | |
| See all releases | |
Version 0.1.0
- app/code/community/FlipKart/PayZippy/Block/Form.php +59 -0
- app/code/community/FlipKart/PayZippy/Block/Info.php +60 -0
- app/code/community/FlipKart/PayZippy/Block/Redirect.php +141 -0
- app/code/community/FlipKart/PayZippy/Helper/Data.php +24 -0
- app/code/community/FlipKart/PayZippy/Model/Mysql4/Setup.php +13 -0
- app/code/community/FlipKart/PayZippy/Model/Standard.php +76 -0
- app/code/community/FlipKart/PayZippy/Model/System/Config/Source/Payment/Bank/Names.php +425 -0
- app/code/community/FlipKart/PayZippy/Model/System/Config/Source/Payment/Methods.php +27 -0
- app/code/community/FlipKart/PayZippy/controllers/PaymentController.php +95 -0
- app/code/community/FlipKart/PayZippy/etc/config.xml +70 -0
- app/code/community/FlipKart/PayZippy/etc/system.xml +176 -0
- app/code/community/FlipKart/PayZippy/sql/payzippy_setup/mysql4-install-0.1.0.php +23 -0
- app/design/frontend/base/default/template/payzippy/form.phtml +78 -0
- app/design/frontend/base/default/template/payzippy/redirect.phtml +19 -0
- app/etc/modules/FlipKart_PayZippy.xml +12 -0
- package.xml +26 -0
app/code/community/FlipKart/PayZippy/Block/Form.php
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Description of ExtensionsStatusManager
|
| 5 |
+
* @package FlipKart_PayZippy
|
| 6 |
+
* @company CueBlocks - http://www.cueblocks.com/
|
| 7 |
+
* @author Ravinder <ravinder.singh@cueblocks.com>
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
class FlipKart_PayZippy_Block_Form extends Mage_Payment_Block_Form {
|
| 11 |
+
|
| 12 |
+
protected function _construct()
|
| 13 |
+
{
|
| 14 |
+
parent::_construct();
|
| 15 |
+
$this->setTemplate('payzippy/form.phtml')->setRedirectMessage(
|
| 16 |
+
Mage::helper('payzippy')->__('You will be redirected to the PayZippy website when you place an order.')
|
| 17 |
+
);
|
| 18 |
+
}
|
| 19 |
+
|
| 20 |
+
/*
|
| 21 |
+
*Return all allowed payment methods for payzippy like EMI,Debit Card etc
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
public function getAllowedMethods() {
|
| 25 |
+
$available_methods = array();
|
| 26 |
+
$methods = Mage::getStoreConfig('payment/payzippy/payment_methods');
|
| 27 |
+
$methods = explode(',',$methods);
|
| 28 |
+
$label_codes = Mage::getSingleton('payzippy/system_config_source_payment_methods')->toOptionArray();
|
| 29 |
+
$availables = array();
|
| 30 |
+
foreach($methods as $method) {
|
| 31 |
+
foreach($label_codes as $label) {
|
| 32 |
+
if($label['value'] == $method) {
|
| 33 |
+
$availables[] = $label;
|
| 34 |
+
}
|
| 35 |
+
}
|
| 36 |
+
}
|
| 37 |
+
return $availables;
|
| 38 |
+
}
|
| 39 |
+
|
| 40 |
+
/*
|
| 41 |
+
*Return allowed bank names for either payment method Net banking or EMI
|
| 42 |
+
*/
|
| 43 |
+
|
| 44 |
+
public function getBankNames($paymentMethod) {
|
| 45 |
+
$bankCodes = Mage::getStoreConfig('payment/payzippy/'.$paymentMethod);
|
| 46 |
+
$bankCodes = explode(',', $bankCodes);
|
| 47 |
+
$bankLabels = Mage::getSingleton('payzippy/system_config_source_payment_bank_names')->toOptionArray();
|
| 48 |
+
$availables = "";
|
| 49 |
+
foreach($bankCodes as $code) {
|
| 50 |
+
foreach($bankLabels as $label) {
|
| 51 |
+
if($label['value'] == $code) {
|
| 52 |
+
$availables.= '<option value="'.$label["value"].'">'.$label["label"].'</option>';
|
| 53 |
+
}
|
| 54 |
+
}
|
| 55 |
+
}
|
| 56 |
+
return $availables;
|
| 57 |
+
}
|
| 58 |
+
}
|
| 59 |
+
?>
|
app/code/community/FlipKart/PayZippy/Block/Info.php
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Description of ExtensionsStatusManager
|
| 5 |
+
* @package FlipKart_PayZippy
|
| 6 |
+
* @company CueBlocks - http://www.cueblocks.com/
|
| 7 |
+
* @author Ravinder <ravinder.singh@cueblocks.com>
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
class FlipKart_PayZippy_Block_Info extends Mage_Payment_Block_Info
|
| 11 |
+
{
|
| 12 |
+
|
| 13 |
+
/*
|
| 14 |
+
*Function transport selected option of payment method to progress bar on checkout
|
| 15 |
+
*/
|
| 16 |
+
|
| 17 |
+
protected function _prepareSpecificInformation($transport = null)
|
| 18 |
+
{
|
| 19 |
+
if (null !== $this->_paymentSpecificInformation) {
|
| 20 |
+
return $this->_paymentSpecificInformation;
|
| 21 |
+
}
|
| 22 |
+
$info = $this->getInfo();
|
| 23 |
+
$transport = new Varien_Object();
|
| 24 |
+
$transport = parent::_prepareSpecificInformation($transport);
|
| 25 |
+
$transport->addData(array(
|
| 26 |
+
Mage::helper('payment')->__('Payment Method') => $info->getPayzippyPaymentMethod(),
|
| 27 |
+
));
|
| 28 |
+
|
| 29 |
+
$bank_code = $info->getPayzippyBankName();
|
| 30 |
+
$bank_name = $this->getBankName($bank_code);
|
| 31 |
+
$emi_months = $info->getPayzippyEmiMonths();
|
| 32 |
+
if(! empty($bank_name)) {
|
| 33 |
+
$transport->addData(array(
|
| 34 |
+
Mage::helper('payment')->__('Bank Name') => $bank_name,
|
| 35 |
+
));
|
| 36 |
+
}
|
| 37 |
+
|
| 38 |
+
if(! empty($emi_months)) {
|
| 39 |
+
$transport->addData(array(
|
| 40 |
+
Mage::helper('payment')->__('Emi Months') => $emi_months,
|
| 41 |
+
));
|
| 42 |
+
}
|
| 43 |
+
|
| 44 |
+
return $transport;
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
/*
|
| 48 |
+
*Return Bank name from bank code
|
| 49 |
+
*/
|
| 50 |
+
|
| 51 |
+
public function getBankName($code) {
|
| 52 |
+
$bank_labels = Mage::getSingleton('payzippy/system_config_source_payment_bank_names')->toOptionArray();
|
| 53 |
+
foreach ($bank_labels as $label) {
|
| 54 |
+
if($label['value'] == $code) {
|
| 55 |
+
return $label['label'];
|
| 56 |
+
}
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
}
|
| 60 |
+
}
|
app/code/community/FlipKart/PayZippy/Block/Redirect.php
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Description of ExtensionsStatusManager
|
| 5 |
+
* @package FlipKart_PayZippy
|
| 6 |
+
* @company CueBlocks - http://www.cueblocks.com/
|
| 7 |
+
* @author Ravinder <ravinder.singh@cueblocks.com>
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
class FlipKart_PayZippy_Block_Redirect extends Mage_Checkout_Block_Onepage_Abstract
|
| 11 |
+
{
|
| 12 |
+
|
| 13 |
+
/*
|
| 14 |
+
*Prepare request parameters for API request
|
| 15 |
+
*/
|
| 16 |
+
|
| 17 |
+
public function getRequestparams() {
|
| 18 |
+
$_order = Mage::getSingleton('sales/order');
|
| 19 |
+
$merchant_transaction_id = Mage::getSingleton('checkout/session')->getLastRealOrderId();
|
| 20 |
+
$_order->loadByIncrementId($merchant_transaction_id);
|
| 21 |
+
$payment_data = $_order->getPayment()->getData();
|
| 22 |
+
$shipping_address = $_order->getShippingAddress();
|
| 23 |
+
$billing_address = $_order->getBillingAddress();
|
| 24 |
+
$customerid = $_order->getCustomerId();
|
| 25 |
+
$amount = $_order->getBaseGrandTotal();
|
| 26 |
+
$from_Currency = Mage::app()->getStore()->getCurrentCurrencyCode();
|
| 27 |
+
$orderItemDetails = $this->getItemDetails($_order,$from_Currency);
|
| 28 |
+
|
| 29 |
+
/* Required Variables*/
|
| 30 |
+
|
| 31 |
+
$params['currency'] = "INR";
|
| 32 |
+
$params['merchant_transaction_id'] = $merchant_transaction_id;
|
| 33 |
+
$params['buyer_email_address'] = $_order->getBillingAddress()->getEmail();
|
| 34 |
+
if($customerid != NULL && !isset($params['buyer_email_address'])) {
|
| 35 |
+
$params['buyer_email_address'] = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
|
| 36 |
+
}
|
| 37 |
+
$params['merchant_id'] = Mage::helper('payzippy')->getConfigData('merchant_id');
|
| 38 |
+
$params['transaction_type'] = "SALE";
|
| 39 |
+
$params['transaction_amount'] = $this->convertCurrency($from_Currency,$params['currency'],$amount);
|
| 40 |
+
$params['ui_mode'] = "REDIRECT";
|
| 41 |
+
$params['hash_method'] = "MD5";
|
| 42 |
+
$params['merchant_key_id'] = Mage::helper('payzippy')->getConfigData('merchant_key_id');
|
| 43 |
+
$params['callback_url'] = Mage::getBaseUrl().'payzippy/payment/response';
|
| 44 |
+
$params['payment_method'] = $payment_data['payzippy_payment_method'];
|
| 45 |
+
if(!empty ($payment_data['payzippy_bank_name'])):
|
| 46 |
+
$params['bank_name'] = $payment_data['payzippy_bank_name'];
|
| 47 |
+
endif;
|
| 48 |
+
if(!empty ($payment_data['payzippy_emi_months'])):
|
| 49 |
+
$params['emi_months'] = $payment_data['payzippy_emi_months'];
|
| 50 |
+
endif;
|
| 51 |
+
|
| 52 |
+
/*Optional Variables*/
|
| 53 |
+
|
| 54 |
+
$params['buyer_phone_no'] = $billing_address->getData('telephone');
|
| 55 |
+
$params['shipping_address'] = str_replace(array("\r", "\n"), '', $shipping_address->getData('street'));
|
| 56 |
+
$params['is_user_logged_in'] = 'false';
|
| 57 |
+
if($customerid != NULL) {
|
| 58 |
+
$params['buyer_unique_id'] = $customerid;
|
| 59 |
+
$params['is_user_logged_in'] = 'true';
|
| 60 |
+
$params['address_count'] = count(Mage::getSingleton('customer/session')->getCustomer()->getAddresses());
|
| 61 |
+
}
|
| 62 |
+
$params['shipping_city'] = $shipping_address->getData('city');
|
| 63 |
+
$params['shipping_state'] = $shipping_address->getData('region');
|
| 64 |
+
$params['shipping_zip'] = $shipping_address->getData('postcode');
|
| 65 |
+
$params['shipping_country'] = Mage::getSingleton('directory/country')->load($shipping_address->getData('country_id'))->getName();
|
| 66 |
+
$params['billing_address'] = str_replace(array("\r", "\n"), '', $billing_address->getData('street'));
|
| 67 |
+
$params['billing_city'] = $billing_address->getData('city');
|
| 68 |
+
$params['billing_state'] = $billing_address->getData('region');
|
| 69 |
+
$params['billing_zip'] = $billing_address->getData('postcode');
|
| 70 |
+
$params['billing_country'] = Mage::getSingleton('directory/country')->load($billing_address->getData('country_id'))->getName();
|
| 71 |
+
if($this->isMobile()) {
|
| 72 |
+
$params['source'] = 'mobile';
|
| 73 |
+
} else {
|
| 74 |
+
$params['source'] = 'web';
|
| 75 |
+
}
|
| 76 |
+
$params['billing_name'] = $billing_address->getData('firstname');
|
| 77 |
+
$params['sales_channel'] = '';
|
| 78 |
+
$params['item_total'] = $orderItemDetails['item_total'];
|
| 79 |
+
$params['item_vertical'] = $orderItemDetails['item_vertical'];
|
| 80 |
+
$params['udf1'] = Mage::helper('payzippy')->getConfigData('udf1');
|
| 81 |
+
$params['udf2'] = Mage::helper('payzippy')->getConfigData('udf2');
|
| 82 |
+
$params['udf3'] = Mage::helper('payzippy')->getConfigData('udf3');
|
| 83 |
+
$params['udf4'] = Mage::helper('payzippy')->getConfigData('udf4');
|
| 84 |
+
$params['udf5'] = Mage::helper('payzippy')->getConfigData('udf5');
|
| 85 |
+
|
| 86 |
+
return $params;
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
+
/*
|
| 90 |
+
*Return ordered items price and categories
|
| 91 |
+
*/
|
| 92 |
+
|
| 93 |
+
public function getItemDetails($order,$currency) {
|
| 94 |
+
$result = array();
|
| 95 |
+
$category_names = array();
|
| 96 |
+
foreach($order->getAllItems() as $item) {
|
| 97 |
+
$result['item_total'][] = $this->convertCurrency($currency,'INR',$item->getPrice());
|
| 98 |
+
$categories = Mage::getSingleton('catalog/product')->load($item->getProductId())->getCategoryCollection()->exportToArray();
|
| 99 |
+
foreach($categories as $category) {
|
| 100 |
+
$category_names[] = Mage::getSingleton('catalog/category')->load($category['entity_id'])->getName();
|
| 101 |
+
}
|
| 102 |
+
$category_list = implode(',',$category_names);
|
| 103 |
+
$result['item_vertical'] = $category_list;
|
| 104 |
+
}
|
| 105 |
+
$result['item_total'] = implode(',',$result['item_total']);
|
| 106 |
+
return $result;
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
/*
|
| 110 |
+
*Convert current currency to INR and finally rupees to paisa
|
| 111 |
+
*/
|
| 112 |
+
|
| 113 |
+
public function convertCurrency($from_Currency,$to_Currency,$amount) {
|
| 114 |
+
// $url = 'http://www.google.com/ig/calculator?hl=en&q=' . $amount . $from_Currency . '=?' . $to_Currency;
|
| 115 |
+
// $ch = curl_init();
|
| 116 |
+
// $timeout = 0;
|
| 117 |
+
// curl_setopt ($ch, CURLOPT_URL, $url);
|
| 118 |
+
// curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
|
| 119 |
+
// curl_setopt($ch, CURLOPT_USERAGENT , "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
|
| 120 |
+
// curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
|
| 121 |
+
// $response = curl_exec($ch);
|
| 122 |
+
// curl_close($ch);
|
| 123 |
+
// $result_string = explode('"', $response);
|
| 124 |
+
// $final_result = $result_string['3'];
|
| 125 |
+
// $float_result = preg_replace("/[^0-9\.]/", '', $final_result);
|
| 126 |
+
$float_result = $amount;
|
| 127 |
+
return round($float_result,2)*100;
|
| 128 |
+
}
|
| 129 |
+
|
| 130 |
+
/*
|
| 131 |
+
*Detect device
|
| 132 |
+
*/
|
| 133 |
+
public function isMobile()
|
| 134 |
+
{
|
| 135 |
+
if(preg_match('/(alcatel|amoi|android|avantgo|blackberry|benq|cell|cricket|docomo|elaine|htc|iemobile|iphone|ipad|ipaq|ipod|j2me|java|midp|mini|mmp|mobi|motorola|nec-|nokia|palm|panasonic|philips|phone|sagem|sharp|sie-|smartphone|sony|symbian|t-mobile|telus|up\.browser|up\.link|vodafone|wap|webos|wireless|xda|xoom|zte)/i', $_SERVER['HTTP_USER_AGENT']))
|
| 136 |
+
return true;
|
| 137 |
+
else
|
| 138 |
+
return false;
|
| 139 |
+
}
|
| 140 |
+
}
|
| 141 |
+
?>
|
app/code/community/FlipKart/PayZippy/Helper/Data.php
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class FlipKart_PayZippy_Helper_Data extends Mage_Core_Helper_Abstract
|
| 3 |
+
{
|
| 4 |
+
|
| 5 |
+
/*
|
| 6 |
+
*Return system configuration values
|
| 7 |
+
*/
|
| 8 |
+
|
| 9 |
+
public function getConfigData($value) {
|
| 10 |
+
return Mage::getStoreConfig('payment/payzippy/'.$value,Mage::app()->getStore());
|
| 11 |
+
}
|
| 12 |
+
|
| 13 |
+
/*
|
| 14 |
+
*Generate Hash
|
| 15 |
+
*/
|
| 16 |
+
|
| 17 |
+
public function gethash($params,$secret_key) {
|
| 18 |
+
ksort($params);
|
| 19 |
+
$str = implode("|", $params);
|
| 20 |
+
$str.= '|'.$secret_key;
|
| 21 |
+
$hash = md5($str);
|
| 22 |
+
return $hash;
|
| 23 |
+
}
|
| 24 |
+
}
|
app/code/community/FlipKart/PayZippy/Model/Mysql4/Setup.php
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Description of ExtensionsStatusManager
|
| 5 |
+
* @package FlipKart_PayZippy
|
| 6 |
+
* @company CueBlocks - http://www.cueblocks.com/
|
| 7 |
+
* @author Ravinder <ravinder.singh@cueblocks.com>
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
class FlipKart_PayZippy_Model_Mysql4_Setup extends Mage_Catalog_Model_Resource_Eav_Mysql4_Setup
|
| 11 |
+
{
|
| 12 |
+
}
|
| 13 |
+
?>
|
app/code/community/FlipKart/PayZippy/Model/Standard.php
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Description of ExtensionsStatusManager
|
| 5 |
+
* @package FlipKart_PayZippy
|
| 6 |
+
* @company CueBlocks - http://www.cueblocks.com/
|
| 7 |
+
* @author Ravinder <ravinder.singh@cueblocks.com>
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
class FlipKart_PayZippy_Model_Standard extends Mage_Payment_Model_Method_Abstract {
|
| 11 |
+
|
| 12 |
+
protected $_code = 'payzippy';
|
| 13 |
+
protected $_formBlockType = 'payzippy/form';
|
| 14 |
+
protected $_infoBlockType = 'payzippy/info';
|
| 15 |
+
protected $_isInitializeNeeded = true;
|
| 16 |
+
protected $_canUseInternal = true;
|
| 17 |
+
protected $_canUseForMultishipping = false;
|
| 18 |
+
|
| 19 |
+
public function getOrderPlaceRedirectUrl() {
|
| 20 |
+
return Mage::getUrl('payzippy/payment/redirect', array('_secure' => true));
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
+
/*
|
| 24 |
+
*Assign payment method data to info object
|
| 25 |
+
*/
|
| 26 |
+
|
| 27 |
+
public function assignData($data)
|
| 28 |
+
{
|
| 29 |
+
|
| 30 |
+
if (!($data instanceof Varien_Object)) {
|
| 31 |
+
$data = new Varien_Object($data);
|
| 32 |
+
}
|
| 33 |
+
$info = $this->getInfoInstance();
|
| 34 |
+
|
| 35 |
+
$payment_method = $data->getPayzippyPaymentMethod();
|
| 36 |
+
|
| 37 |
+
$info->setPayzippyPaymentMethod($payment_method);
|
| 38 |
+
|
| 39 |
+
if($payment_method == 'NET' || $payment_method == 'EMI') {
|
| 40 |
+
$info->setPayzippyBankName($data->getPayzippyBankName());
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
if($payment_method == 'EMI') {
|
| 44 |
+
$info->setPayzippyEmiMonths($data->getPayzippyEmiMonths());
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
return $this;
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
/*
|
| 51 |
+
*Validate payment method's form fields
|
| 52 |
+
*/
|
| 53 |
+
|
| 54 |
+
|
| 55 |
+
public function validate()
|
| 56 |
+
{
|
| 57 |
+
parent::validate();
|
| 58 |
+
|
| 59 |
+
$errorMsg = "";
|
| 60 |
+
|
| 61 |
+
$info = $this->getInfoInstance();
|
| 62 |
+
|
| 63 |
+
$payment_method = $info->getPayzippyPaymentMethod();
|
| 64 |
+
|
| 65 |
+
if(empty($payment_method)){
|
| 66 |
+
$errorCode = 'invalid_data';
|
| 67 |
+
$errorMsg = $this->_getHelper()->__('Payment Method is required field');
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
if($errorMsg){
|
| 71 |
+
Mage::throwException($errorMsg);
|
| 72 |
+
}
|
| 73 |
+
return $this;
|
| 74 |
+
}
|
| 75 |
+
}
|
| 76 |
+
?>
|
app/code/community/FlipKart/PayZippy/Model/System/Config/Source/Payment/Bank/Names.php
ADDED
|
@@ -0,0 +1,425 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Description of ExtensionsStatusManager
|
| 5 |
+
* @package FlipKart_PayZippy
|
| 6 |
+
* @company CueBlocks - http://www.cueblocks.com/
|
| 7 |
+
* @author Ravinder <ravinder.singh@cueblocks.com>
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
class FlipKart_PayZippy_Model_System_Config_Source_Payment_Bank_Names
|
| 11 |
+
{
|
| 12 |
+
|
| 13 |
+
/*
|
| 14 |
+
*Return all possible bank names and thier codes
|
| 15 |
+
*/
|
| 16 |
+
|
| 17 |
+
public function toOptionArray()
|
| 18 |
+
{
|
| 19 |
+
$names = array();
|
| 20 |
+
$names[] =Array
|
| 21 |
+
(
|
| 22 |
+
'value' => 'ALB',
|
| 23 |
+
'label' => 'Allahabad Bank'
|
| 24 |
+
|
| 25 |
+
);
|
| 26 |
+
$names[] =Array
|
| 27 |
+
(
|
| 28 |
+
'value' => 'AMEX',
|
| 29 |
+
'label' => 'American Express'
|
| 30 |
+
|
| 31 |
+
);
|
| 32 |
+
$names[] =Array
|
| 33 |
+
(
|
| 34 |
+
'value' => 'AND',
|
| 35 |
+
'label' => 'Andhra Bank'
|
| 36 |
+
|
| 37 |
+
);
|
| 38 |
+
$names[] =Array
|
| 39 |
+
(
|
| 40 |
+
'value' => 'AXIS',
|
| 41 |
+
'label' => 'Axis Bank'
|
| 42 |
+
|
| 43 |
+
);
|
| 44 |
+
$names[] =Array
|
| 45 |
+
(
|
| 46 |
+
'value' => 'BARC',
|
| 47 |
+
'label' => 'Barclays Bank'
|
| 48 |
+
|
| 49 |
+
);
|
| 50 |
+
$names[] =Array
|
| 51 |
+
(
|
| 52 |
+
'value' => 'BOB',
|
| 53 |
+
'label' => 'Bank of Baroda'
|
| 54 |
+
|
| 55 |
+
);
|
| 56 |
+
$names[] =Array
|
| 57 |
+
(
|
| 58 |
+
'value' => 'BOBAH',
|
| 59 |
+
'label' => 'Bank of Bahrain and Kuwait'
|
| 60 |
+
|
| 61 |
+
);
|
| 62 |
+
$names[] =Array
|
| 63 |
+
(
|
| 64 |
+
'value' => 'BOI',
|
| 65 |
+
'label' => 'Bank of India'
|
| 66 |
+
|
| 67 |
+
);
|
| 68 |
+
$names[] =Array
|
| 69 |
+
(
|
| 70 |
+
'value' => 'BOM',
|
| 71 |
+
'label' => 'Bank of Maharashtra'
|
| 72 |
+
|
| 73 |
+
);
|
| 74 |
+
$names[] =Array
|
| 75 |
+
(
|
| 76 |
+
'value' => 'BOP',
|
| 77 |
+
'label' => 'Bank of Punjab'
|
| 78 |
+
|
| 79 |
+
);
|
| 80 |
+
$names[] =Array
|
| 81 |
+
(
|
| 82 |
+
'value' => 'BOR',
|
| 83 |
+
'label' => 'Bank of Rajasthan'
|
| 84 |
+
|
| 85 |
+
);
|
| 86 |
+
$names[] =Array
|
| 87 |
+
(
|
| 88 |
+
'value' => 'CBI',
|
| 89 |
+
'label' => 'Central Bank'
|
| 90 |
+
|
| 91 |
+
);
|
| 92 |
+
$names[] =Array
|
| 93 |
+
(
|
| 94 |
+
'value' => 'CBPL',
|
| 95 |
+
'label' => 'Centurion Bank of Punjab'
|
| 96 |
+
|
| 97 |
+
);
|
| 98 |
+
$names[] =Array
|
| 99 |
+
(
|
| 100 |
+
'value' => 'CITIBANK',
|
| 101 |
+
'label' => 'Citibank'
|
| 102 |
+
|
| 103 |
+
);
|
| 104 |
+
$names[] =Array
|
| 105 |
+
(
|
| 106 |
+
'value' => 'CITIUB',
|
| 107 |
+
'label' => 'City Union Bank'
|
| 108 |
+
|
| 109 |
+
);
|
| 110 |
+
$names[] =Array
|
| 111 |
+
(
|
| 112 |
+
'value' => 'CNB',
|
| 113 |
+
'label' => 'Canara Bank'
|
| 114 |
+
|
| 115 |
+
);
|
| 116 |
+
$names[] =Array
|
| 117 |
+
(
|
| 118 |
+
'value' => 'COP',
|
| 119 |
+
'label' => 'Corporation Bank'
|
| 120 |
+
|
| 121 |
+
);
|
| 122 |
+
$names[] =Array
|
| 123 |
+
(
|
| 124 |
+
'value' => 'COSCB',
|
| 125 |
+
'label' => 'Cosmos Co-op Bank'
|
| 126 |
+
|
| 127 |
+
);
|
| 128 |
+
$names[] =Array
|
| 129 |
+
(
|
| 130 |
+
'value' => 'CSBL',
|
| 131 |
+
'label' => 'Catholic Syrian Bank'
|
| 132 |
+
|
| 133 |
+
);
|
| 134 |
+
$names[] =Array
|
| 135 |
+
(
|
| 136 |
+
'value' => 'CUBL',
|
| 137 |
+
'label' => 'City Union Bank'
|
| 138 |
+
|
| 139 |
+
);
|
| 140 |
+
$names[] =Array
|
| 141 |
+
(
|
| 142 |
+
'value' => 'DBL',
|
| 143 |
+
'label' => 'Dhanalakshmi Bank'
|
| 144 |
+
|
| 145 |
+
);
|
| 146 |
+
$names[] =Array
|
| 147 |
+
(
|
| 148 |
+
'value' => 'DBS',
|
| 149 |
+
'label' => 'DBS Bank'
|
| 150 |
+
|
| 151 |
+
);
|
| 152 |
+
$names[] =Array
|
| 153 |
+
(
|
| 154 |
+
'value' => 'DCB',
|
| 155 |
+
'label' => 'Development Credit Bank'
|
| 156 |
+
|
| 157 |
+
);
|
| 158 |
+
$names[] =Array
|
| 159 |
+
(
|
| 160 |
+
'value' => 'DCBL',
|
| 161 |
+
'label' => 'Development Credit Bank'
|
| 162 |
+
|
| 163 |
+
);
|
| 164 |
+
$names[] =Array
|
| 165 |
+
(
|
| 166 |
+
'value' => 'DEUNB',
|
| 167 |
+
'label' => 'Deutsche Bank'
|
| 168 |
+
|
| 169 |
+
);
|
| 170 |
+
$names[] =Array
|
| 171 |
+
(
|
| 172 |
+
'value' => 'DHNB',
|
| 173 |
+
'label' => 'Dhanalakshmi Bank'
|
| 174 |
+
|
| 175 |
+
);
|
| 176 |
+
$names[] =Array
|
| 177 |
+
(
|
| 178 |
+
'value' => 'DNB',
|
| 179 |
+
'label' => 'Dena Bank'
|
| 180 |
+
|
| 181 |
+
);
|
| 182 |
+
$names[] =Array
|
| 183 |
+
(
|
| 184 |
+
'value' => 'DONEC',
|
| 185 |
+
'label' => 'Done Card'
|
| 186 |
+
|
| 187 |
+
);
|
| 188 |
+
$names[] =Array
|
| 189 |
+
(
|
| 190 |
+
'value' => 'FED',
|
| 191 |
+
'label' => 'Federal Bank'
|
| 192 |
+
|
| 193 |
+
);
|
| 194 |
+
$names[] =Array
|
| 195 |
+
(
|
| 196 |
+
'value' => 'GE',
|
| 197 |
+
'label' => 'GE Money'
|
| 198 |
+
|
| 199 |
+
);
|
| 200 |
+
$names[] =Array
|
| 201 |
+
(
|
| 202 |
+
'value' => 'HDFC',
|
| 203 |
+
'label' => 'HDFC Bank'
|
| 204 |
+
|
| 205 |
+
);
|
| 206 |
+
$names[] =Array
|
| 207 |
+
(
|
| 208 |
+
'value' => 'HIB',
|
| 209 |
+
'label' => 'Himalayan Bank'
|
| 210 |
+
|
| 211 |
+
);
|
| 212 |
+
$names[] =Array
|
| 213 |
+
(
|
| 214 |
+
'value' => 'HSBC',
|
| 215 |
+
'label' => 'HSBC'
|
| 216 |
+
|
| 217 |
+
);
|
| 218 |
+
$names[] =Array
|
| 219 |
+
(
|
| 220 |
+
'value' => 'ICICI',
|
| 221 |
+
'label' => 'ICICI Bank'
|
| 222 |
+
|
| 223 |
+
);
|
| 224 |
+
$names[] =Array
|
| 225 |
+
(
|
| 226 |
+
'value' => 'IDBI',
|
| 227 |
+
'label' => 'IDBI Bank'
|
| 228 |
+
|
| 229 |
+
);
|
| 230 |
+
$names[] =Array
|
| 231 |
+
(
|
| 232 |
+
'value' => 'IIB',
|
| 233 |
+
'label' => 'IndusInd Bank'
|
| 234 |
+
|
| 235 |
+
);
|
| 236 |
+
$names[] =Array
|
| 237 |
+
(
|
| 238 |
+
'value' => 'INB',
|
| 239 |
+
'label' => 'Indian Bank'
|
| 240 |
+
|
| 241 |
+
);
|
| 242 |
+
$names[] =Array
|
| 243 |
+
(
|
| 244 |
+
'value' => 'ING',
|
| 245 |
+
'label' => 'ING Vysya Bank'
|
| 246 |
+
|
| 247 |
+
);
|
| 248 |
+
$names[] =Array
|
| 249 |
+
(
|
| 250 |
+
'value' => 'IOB',
|
| 251 |
+
'label' => 'Indian Overseas Bank'
|
| 252 |
+
|
| 253 |
+
);
|
| 254 |
+
$names[] =Array
|
| 255 |
+
(
|
| 256 |
+
'value' => 'JKB',
|
| 257 |
+
'label' => 'J&K Bank'
|
| 258 |
+
|
| 259 |
+
);
|
| 260 |
+
$names[] =Array
|
| 261 |
+
(
|
| 262 |
+
'value' => 'JPMC',
|
| 263 |
+
'label' => 'JPMorgan Chase Bank'
|
| 264 |
+
|
| 265 |
+
);
|
| 266 |
+
$names[] =Array
|
| 267 |
+
(
|
| 268 |
+
'value' => 'KMB',
|
| 269 |
+
'label' => 'Kotak Bank'
|
| 270 |
+
|
| 271 |
+
);
|
| 272 |
+
$names[] =Array
|
| 273 |
+
(
|
| 274 |
+
'value' => 'KTKB',
|
| 275 |
+
'label' => 'Karnataka Bank'
|
| 276 |
+
|
| 277 |
+
);
|
| 278 |
+
$names[] =Array
|
| 279 |
+
(
|
| 280 |
+
'value' => 'KVB',
|
| 281 |
+
'label' => 'Karur Vysya Bank'
|
| 282 |
+
|
| 283 |
+
);
|
| 284 |
+
$names[] =Array
|
| 285 |
+
(
|
| 286 |
+
'value' => 'LVB',
|
| 287 |
+
'label' => 'Lakshmi Vilas Bank'
|
| 288 |
+
|
| 289 |
+
);
|
| 290 |
+
$names[] =Array
|
| 291 |
+
(
|
| 292 |
+
'value' => 'NBL',
|
| 293 |
+
'label' => 'Nabil Bank'
|
| 294 |
+
|
| 295 |
+
);
|
| 296 |
+
$names[] =Array
|
| 297 |
+
(
|
| 298 |
+
'value' => 'OBC',
|
| 299 |
+
'label' => 'Oriental Bank of Commerce'
|
| 300 |
+
|
| 301 |
+
);
|
| 302 |
+
$names[] =Array
|
| 303 |
+
(
|
| 304 |
+
'value' => 'PMCB',
|
| 305 |
+
'label' => 'Punjab & Maharashtra Co-op Bank'
|
| 306 |
+
|
| 307 |
+
);
|
| 308 |
+
$names[] =Array
|
| 309 |
+
(
|
| 310 |
+
'value' => 'PNB',
|
| 311 |
+
'label' => 'Punjab National Bank'
|
| 312 |
+
|
| 313 |
+
);
|
| 314 |
+
$names[] =Array
|
| 315 |
+
(
|
| 316 |
+
'value' => 'RBL',
|
| 317 |
+
'label' => 'Ratnakar Bank'
|
| 318 |
+
|
| 319 |
+
);
|
| 320 |
+
$names[] =Array
|
| 321 |
+
(
|
| 322 |
+
'value' => 'RBS',
|
| 323 |
+
'label' => 'RBS'
|
| 324 |
+
|
| 325 |
+
);
|
| 326 |
+
$names[] =Array
|
| 327 |
+
(
|
| 328 |
+
'value' => 'SACOB',
|
| 329 |
+
'label' => 'Saraswat Co-op Bank'
|
| 330 |
+
|
| 331 |
+
);
|
| 332 |
+
$names[] =Array
|
| 333 |
+
(
|
| 334 |
+
'value' => 'SBH',
|
| 335 |
+
'label' => 'State Bank of Hyderabad'
|
| 336 |
+
|
| 337 |
+
);
|
| 338 |
+
$names[] =Array
|
| 339 |
+
(
|
| 340 |
+
'value' => 'SBI',
|
| 341 |
+
'label' => 'State Bank of India'
|
| 342 |
+
|
| 343 |
+
);
|
| 344 |
+
$names[] =Array
|
| 345 |
+
(
|
| 346 |
+
'value' => 'SBM',
|
| 347 |
+
'label' => 'State Bank of Mysore'
|
| 348 |
+
|
| 349 |
+
);
|
| 350 |
+
$names[] =Array
|
| 351 |
+
(
|
| 352 |
+
'value' => 'SBT',
|
| 353 |
+
'label' => 'State Bank of Travancore'
|
| 354 |
+
|
| 355 |
+
);
|
| 356 |
+
$names[] =Array
|
| 357 |
+
(
|
| 358 |
+
'value' => 'SIB',
|
| 359 |
+
'label' => 'The South Indian Bank'
|
| 360 |
+
|
| 361 |
+
);
|
| 362 |
+
$names[] =Array
|
| 363 |
+
(
|
| 364 |
+
'value' => 'STDC',
|
| 365 |
+
'label' => 'Standard Chartered Bank'
|
| 366 |
+
|
| 367 |
+
);
|
| 368 |
+
$names[] =Array
|
| 369 |
+
(
|
| 370 |
+
'value' => 'SVCB',
|
| 371 |
+
'label' => 'Shamrao Vithal Co-op Bank'
|
| 372 |
+
|
| 373 |
+
);
|
| 374 |
+
$names[] =Array
|
| 375 |
+
(
|
| 376 |
+
'value' => 'SYNBK',
|
| 377 |
+
'label' => 'Syndicate Bank'
|
| 378 |
+
|
| 379 |
+
);
|
| 380 |
+
$names[] =Array
|
| 381 |
+
(
|
| 382 |
+
'value' => 'TJSB',
|
| 383 |
+
'label' => 'Thane Janata Sahakari Bank'
|
| 384 |
+
|
| 385 |
+
);
|
| 386 |
+
$names[] =Array
|
| 387 |
+
(
|
| 388 |
+
'value' => 'TNMB',
|
| 389 |
+
'label' => 'Tamil Nadu Merchantile Bank'
|
| 390 |
+
|
| 391 |
+
);
|
| 392 |
+
$names[] =Array
|
| 393 |
+
(
|
| 394 |
+
'value' => 'UCO',
|
| 395 |
+
'label' => 'UCO Bank'
|
| 396 |
+
|
| 397 |
+
);
|
| 398 |
+
$names[] =Array
|
| 399 |
+
(
|
| 400 |
+
'value' => 'UNI',
|
| 401 |
+
'label' => 'Union Bank of India'
|
| 402 |
+
|
| 403 |
+
);
|
| 404 |
+
$names[] =Array
|
| 405 |
+
(
|
| 406 |
+
'value' => 'UNITD',
|
| 407 |
+
'label' => 'United Bank of India',
|
| 408 |
+
|
| 409 |
+
);
|
| 410 |
+
$names[] =Array
|
| 411 |
+
(
|
| 412 |
+
'value' => 'VJYA',
|
| 413 |
+
'label' => 'Vijaya Bank'
|
| 414 |
+
|
| 415 |
+
);
|
| 416 |
+
$names[] =Array
|
| 417 |
+
(
|
| 418 |
+
'value' => 'YES',
|
| 419 |
+
'label' => 'Yes Bank'
|
| 420 |
+
|
| 421 |
+
);
|
| 422 |
+
|
| 423 |
+
return $names;
|
| 424 |
+
}
|
| 425 |
+
}
|
app/code/community/FlipKart/PayZippy/Model/System/Config/Source/Payment/Methods.php
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Description of ExtensionsStatusManager
|
| 5 |
+
* @package FlipKart_PayZippy
|
| 6 |
+
* @company CueBlocks - http://www.cueblocks.com/
|
| 7 |
+
* @author Ravinder <ravinder.singh@cueblocks.com>
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
class FlipKart_PayZippy_Model_System_Config_Source_Payment_Methods
|
| 11 |
+
{
|
| 12 |
+
|
| 13 |
+
/*
|
| 14 |
+
*Return available payment methods for payzippy
|
| 15 |
+
*/
|
| 16 |
+
|
| 17 |
+
public function toOptionArray()
|
| 18 |
+
{
|
| 19 |
+
$methods = array();
|
| 20 |
+
$methods[] = array('value' => 'CREDIT' ,'label' => 'Credit Card');
|
| 21 |
+
$methods[] = array('value' => 'DEBIT' ,'label' => 'Debit Card');
|
| 22 |
+
$methods[] = array('value' => 'EMI' ,'label' => 'Credit Card EMI');
|
| 23 |
+
$methods[] = array('value' => 'NET' ,'label' => 'Net Banking');
|
| 24 |
+
|
| 25 |
+
return $methods;
|
| 26 |
+
}
|
| 27 |
+
}
|
app/code/community/FlipKart/PayZippy/controllers/PaymentController.php
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Description of ExtensionsStatusManager
|
| 5 |
+
* @package FlipKart_PayZippy
|
| 6 |
+
* @company CueBlocks - http://www.cueblocks.com/
|
| 7 |
+
* @author Ravinder <ravinder.singh@cueblocks.com>
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
class FlipKart_PayZippy_PaymentController extends Mage_Core_Controller_Front_Action
|
| 11 |
+
{
|
| 12 |
+
|
| 13 |
+
/*
|
| 14 |
+
*Triggered when place order button is clicked
|
| 15 |
+
*/
|
| 16 |
+
|
| 17 |
+
public function redirectAction()
|
| 18 |
+
{
|
| 19 |
+
$this->getResponse()->setBody($this->getLayout()->createBlock('payzippy/redirect', 'payzippy', array(
|
| 20 |
+
'template' => 'payzippy/redirect.phtml'
|
| 21 |
+
))->toHtml());
|
| 22 |
+
;
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
+
/*
|
| 26 |
+
*Handle response from API
|
| 27 |
+
*/
|
| 28 |
+
|
| 29 |
+
public function responseAction()
|
| 30 |
+
{
|
| 31 |
+
$response = $this->getRequest()->getParams();
|
| 32 |
+
|
| 33 |
+
if(Mage::helper('payzippy')->getConfigData('debug')) {
|
| 34 |
+
Mage::log("Response:- ".print_r($response, true), Zend_Log::DEBUG, 'payzippy.log', true);
|
| 35 |
+
}
|
| 36 |
+
if (isset($response)) {
|
| 37 |
+
$validated = $response['transaction_response_code'];
|
| 38 |
+
$hash_recievd = $response['hash'];
|
| 39 |
+
$payzippy_transid = $response['payzippy_transaction_id'];
|
| 40 |
+
$payment_method = $response['payment_method'];
|
| 41 |
+
$trans_status = $response['transaction_status'];
|
| 42 |
+
$orderId = $response['merchant_transaction_id'];
|
| 43 |
+
$message = $response['transaction_response_message'];
|
| 44 |
+
$is_international = $response['is_international'];
|
| 45 |
+
$fraud_action = $response['fraud_action'];
|
| 46 |
+
$allow = array('SUCCESS','INITIATED','PENDING');
|
| 47 |
+
$comment = 'PayZippy Transaction Id : '.$payzippy_transid.'<br/>'.'Payment Method : '.$payment_method.'<br/>'.'Transaction Status : '.$trans_status.'<br/>'.'Transaction Response Code : '.$validated.'<br/>'.'Transaction Response Message : '.$message.'<br/>'.'Is_International : '.$is_international.'<br/>'.'Fraud Action : '.$fraud_action;
|
| 48 |
+
unset($response['hash']);
|
| 49 |
+
$hash_generated = Mage::helper('payzippy')->getHash($response,Mage::helper('payzippy')->getConfigData('secret_key'));
|
| 50 |
+
|
| 51 |
+
if (in_array($validated, $allow) && $hash_recievd == $hash_generated) {
|
| 52 |
+
// Payment was successful, so update the order's state, send order email and move to the success page
|
| 53 |
+
$order = Mage::getSingleton('sales/order');
|
| 54 |
+
$order->loadByIncrementId($orderId);
|
| 55 |
+
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, $comment);
|
| 56 |
+
|
| 57 |
+
$order->sendNewOrderEmail();
|
| 58 |
+
$order->setEmailSent(true);
|
| 59 |
+
|
| 60 |
+
$order->save();
|
| 61 |
+
|
| 62 |
+
Mage::getSingleton('checkout/session')->unsQuoteId();
|
| 63 |
+
|
| 64 |
+
Mage_Core_Controller_Varien_Action::_redirect('checkout/onepage/success', array(
|
| 65 |
+
'_secure' => true
|
| 66 |
+
));
|
| 67 |
+
} else {
|
| 68 |
+
// There is a problem in the response we got
|
| 69 |
+
Mage::getSingleton('core/session')->addError($message);
|
| 70 |
+
$this->cancelAction($comment);
|
| 71 |
+
Mage_Core_Controller_Varien_Action::_redirect('checkout/onepage/failure', array(
|
| 72 |
+
'_secure' => true
|
| 73 |
+
));
|
| 74 |
+
}
|
| 75 |
+
} else {
|
| 76 |
+
Mage_Core_Controller_Varien_Action::_redirect('');
|
| 77 |
+
}
|
| 78 |
+
}
|
| 79 |
+
|
| 80 |
+
|
| 81 |
+
/*
|
| 82 |
+
*Triggered to cancel the order
|
| 83 |
+
*/
|
| 84 |
+
|
| 85 |
+
public function cancelAction($reason)
|
| 86 |
+
{
|
| 87 |
+
if (Mage::getSingleton('checkout/session')->getLastRealOrderId()) {
|
| 88 |
+
$order = Mage::getSingleton('sales/order')->loadByIncrementId(Mage::getSingleton('checkout/session')->getLastRealOrderId());
|
| 89 |
+
if ($order->getId()) {
|
| 90 |
+
// Flag the order as 'cancelled' and save it
|
| 91 |
+
$order->cancel()->setState(Mage_Sales_Model_Order::STATE_CANCELED, true, $reason)->save();
|
| 92 |
+
}
|
| 93 |
+
}
|
| 94 |
+
}
|
| 95 |
+
}
|
app/code/community/FlipKart/PayZippy/etc/config.xml
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<modules>
|
| 4 |
+
<FlipKart_PayZippy>
|
| 5 |
+
<version>0.1.0</version>
|
| 6 |
+
</FlipKart_PayZippy>
|
| 7 |
+
</modules>
|
| 8 |
+
<global>
|
| 9 |
+
<models>
|
| 10 |
+
<payzippy>
|
| 11 |
+
<class>FlipKart_PayZippy_Model</class>
|
| 12 |
+
</payzippy>
|
| 13 |
+
</models>
|
| 14 |
+
<helpers>
|
| 15 |
+
<payzippy>
|
| 16 |
+
<class>FlipKart_PayZippy_Helper</class>
|
| 17 |
+
</payzippy>
|
| 18 |
+
</helpers>
|
| 19 |
+
<blocks>
|
| 20 |
+
<payzippy>
|
| 21 |
+
<class>FlipKart_PayZippy_Block</class>
|
| 22 |
+
</payzippy>
|
| 23 |
+
</blocks>
|
| 24 |
+
<fieldsets>
|
| 25 |
+
<sales_convert_quote_payment>
|
| 26 |
+
<payzippy_payment_method>
|
| 27 |
+
<to_order_payment>*</to_order_payment>
|
| 28 |
+
</payzippy_payment_method>
|
| 29 |
+
<payzippy_bank_name>
|
| 30 |
+
<to_order_payment>*</to_order_payment>
|
| 31 |
+
</payzippy_bank_name>
|
| 32 |
+
<payzippy_emi_months>
|
| 33 |
+
<to_order_payment>*</to_order_payment>
|
| 34 |
+
</payzippy_emi_months>
|
| 35 |
+
</sales_convert_quote_payment>
|
| 36 |
+
</fieldsets>
|
| 37 |
+
<resources>
|
| 38 |
+
<payzippy_setup>
|
| 39 |
+
<setup>
|
| 40 |
+
<module>FlipKart_PayZippy</module>
|
| 41 |
+
<class>FlipKart_PayZippy_Model_Mysql4_Setup</class>
|
| 42 |
+
</setup>
|
| 43 |
+
</payzippy_setup>
|
| 44 |
+
</resources>
|
| 45 |
+
</global>
|
| 46 |
+
<default>
|
| 47 |
+
<payment>
|
| 48 |
+
<payzippy>
|
| 49 |
+
<model>payzippy/standard</model>
|
| 50 |
+
<active>0</active>
|
| 51 |
+
<order_status>pending</order_status>
|
| 52 |
+
<title>Payzippy</title>
|
| 53 |
+
<payment_action>sale</payment_action>
|
| 54 |
+
<allowspecific>0</allowspecific>
|
| 55 |
+
<sort_order>1</sort_order>
|
| 56 |
+
</payzippy>
|
| 57 |
+
</payment>
|
| 58 |
+
</default>
|
| 59 |
+
<frontend>
|
| 60 |
+
<routers>
|
| 61 |
+
<payzippy>
|
| 62 |
+
<use>standard</use>
|
| 63 |
+
<args>
|
| 64 |
+
<module>FlipKart_PayZippy</module>
|
| 65 |
+
<frontName>payzippy</frontName>
|
| 66 |
+
</args>
|
| 67 |
+
</payzippy>
|
| 68 |
+
</routers>
|
| 69 |
+
</frontend>
|
| 70 |
+
</config>
|
app/code/community/FlipKart/PayZippy/etc/system.xml
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<sections>
|
| 4 |
+
<payment>
|
| 5 |
+
<groups>
|
| 6 |
+
<payzippy translate="label comment" module="payzippy">
|
| 7 |
+
<label>Payzippy</label>
|
| 8 |
+
<frontend_type>text</frontend_type>
|
| 9 |
+
<sort_order>100</sort_order>
|
| 10 |
+
<show_in_default>1</show_in_default>
|
| 11 |
+
<show_in_website>1</show_in_website>
|
| 12 |
+
<show_in_store>1</show_in_store>
|
| 13 |
+
<fields>
|
| 14 |
+
<active translate="label">
|
| 15 |
+
<label>Enabled</label>
|
| 16 |
+
<frontend_type>select</frontend_type>
|
| 17 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 18 |
+
<sort_order>10</sort_order>
|
| 19 |
+
<show_in_default>1</show_in_default>
|
| 20 |
+
<show_in_website>1</show_in_website>
|
| 21 |
+
<show_in_store>0</show_in_store>
|
| 22 |
+
</active>
|
| 23 |
+
<title translate="label">
|
| 24 |
+
<label>Title</label>
|
| 25 |
+
<frontend_type>text</frontend_type>
|
| 26 |
+
<sort_order>20</sort_order>
|
| 27 |
+
<show_in_default>1</show_in_default>
|
| 28 |
+
<show_in_website>1</show_in_website>
|
| 29 |
+
<show_in_store>1</show_in_store>
|
| 30 |
+
</title>
|
| 31 |
+
<merchant_id translate="label">
|
| 32 |
+
<label>Merchant Id</label>
|
| 33 |
+
<frontend_type>text</frontend_type>
|
| 34 |
+
<sort_order>21</sort_order>
|
| 35 |
+
<show_in_default>1</show_in_default>
|
| 36 |
+
<show_in_website>1</show_in_website>
|
| 37 |
+
<show_in_store>1</show_in_store>
|
| 38 |
+
</merchant_id>
|
| 39 |
+
<merchant_key_id translate="label">
|
| 40 |
+
<label>Merchant Key Id</label>
|
| 41 |
+
<frontend_type>text</frontend_type>
|
| 42 |
+
<sort_order>22</sort_order>
|
| 43 |
+
<show_in_default>1</show_in_default>
|
| 44 |
+
<show_in_website>1</show_in_website>
|
| 45 |
+
<show_in_store>1</show_in_store>
|
| 46 |
+
</merchant_key_id>
|
| 47 |
+
<secret_key translate="label">
|
| 48 |
+
<label>Secret Key</label>
|
| 49 |
+
<frontend_type>text</frontend_type>
|
| 50 |
+
<sort_order>23</sort_order>
|
| 51 |
+
<show_in_default>1</show_in_default>
|
| 52 |
+
<show_in_website>1</show_in_website>
|
| 53 |
+
<show_in_store>1</show_in_store>
|
| 54 |
+
</secret_key>
|
| 55 |
+
<udf1 translate="label">
|
| 56 |
+
<label>User defined field 1</label>
|
| 57 |
+
<frontend_type>text</frontend_type>
|
| 58 |
+
<sort_order>24</sort_order>
|
| 59 |
+
<show_in_default>1</show_in_default>
|
| 60 |
+
<show_in_website>1</show_in_website>
|
| 61 |
+
<show_in_store>1</show_in_store>
|
| 62 |
+
</udf1>
|
| 63 |
+
<udf2 translate="label">
|
| 64 |
+
<label>User defined field 2</label>
|
| 65 |
+
<frontend_type>text</frontend_type>
|
| 66 |
+
<sort_order>25</sort_order>
|
| 67 |
+
<show_in_default>1</show_in_default>
|
| 68 |
+
<show_in_website>1</show_in_website>
|
| 69 |
+
<show_in_store>1</show_in_store>
|
| 70 |
+
</udf2>
|
| 71 |
+
<udf3 translate="label">
|
| 72 |
+
<label>User defined field 3</label>
|
| 73 |
+
<frontend_type>text</frontend_type>
|
| 74 |
+
<sort_order>26</sort_order>
|
| 75 |
+
<show_in_default>1</show_in_default>
|
| 76 |
+
<show_in_website>1</show_in_website>
|
| 77 |
+
<show_in_store>1</show_in_store>
|
| 78 |
+
</udf3>
|
| 79 |
+
<udf4 translate="label">
|
| 80 |
+
<label>User defined field 4</label>
|
| 81 |
+
<frontend_type>text</frontend_type>
|
| 82 |
+
<sort_order>27</sort_order>
|
| 83 |
+
<show_in_default>1</show_in_default>
|
| 84 |
+
<show_in_website>1</show_in_website>
|
| 85 |
+
<show_in_store>1</show_in_store>
|
| 86 |
+
</udf4>
|
| 87 |
+
<udf5 translate="label">
|
| 88 |
+
<label>User defined field 5</label>
|
| 89 |
+
<frontend_type>text</frontend_type>
|
| 90 |
+
<sort_order>28</sort_order>
|
| 91 |
+
<show_in_default>1</show_in_default>
|
| 92 |
+
<show_in_website>1</show_in_website>
|
| 93 |
+
<show_in_store>1</show_in_store>
|
| 94 |
+
</udf5>
|
| 95 |
+
<payment_methods translate="label">
|
| 96 |
+
<label>Allowed payment methods</label>
|
| 97 |
+
<frontend_type>multiselect</frontend_type>
|
| 98 |
+
<source_model>payzippy/system_config_source_payment_methods</source_model>
|
| 99 |
+
<sort_order>29</sort_order>
|
| 100 |
+
<show_in_default>1</show_in_default>
|
| 101 |
+
<show_in_website>1</show_in_website>
|
| 102 |
+
<show_in_store>1</show_in_store>
|
| 103 |
+
</payment_methods>
|
| 104 |
+
<emi_bank_names translate="label">
|
| 105 |
+
<label>Allowed banks for EMI</label>
|
| 106 |
+
<frontend_type>multiselect</frontend_type>
|
| 107 |
+
<source_model>payzippy/system_config_source_payment_bank_names</source_model>
|
| 108 |
+
<sort_order>30</sort_order>
|
| 109 |
+
<show_in_default>1</show_in_default>
|
| 110 |
+
<show_in_website>1</show_in_website>
|
| 111 |
+
<show_in_store>1</show_in_store>
|
| 112 |
+
<comment>Will applicable only if credit card EMI is enabled</comment>
|
| 113 |
+
</emi_bank_names>
|
| 114 |
+
<net_bank_names translate="label">
|
| 115 |
+
<label>Allowed banks for Net banking</label>
|
| 116 |
+
<frontend_type>multiselect</frontend_type>
|
| 117 |
+
<source_model>payzippy/system_config_source_payment_bank_names</source_model>
|
| 118 |
+
<sort_order>31</sort_order>
|
| 119 |
+
<show_in_default>1</show_in_default>
|
| 120 |
+
<show_in_website>1</show_in_website>
|
| 121 |
+
<show_in_store>1</show_in_store>
|
| 122 |
+
<comment>Will applicable only if NET banking is enabled</comment>
|
| 123 |
+
</net_bank_names>
|
| 124 |
+
<order_status translate="label">
|
| 125 |
+
<label>New Order Status</label>
|
| 126 |
+
<frontend_type>select</frontend_type>
|
| 127 |
+
<source_model>adminhtml/system_config_source_order_status</source_model>
|
| 128 |
+
<sort_order>50</sort_order>
|
| 129 |
+
<show_in_default>1</show_in_default>
|
| 130 |
+
<show_in_website>1</show_in_website>
|
| 131 |
+
<show_in_store>0</show_in_store>
|
| 132 |
+
</order_status>
|
| 133 |
+
<allowspecific translate="label">
|
| 134 |
+
<label>Payment Applicable From</label>
|
| 135 |
+
<frontend_type>select</frontend_type>
|
| 136 |
+
<sort_order>61</sort_order>
|
| 137 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
| 138 |
+
<show_in_default>1</show_in_default>
|
| 139 |
+
<show_in_website>1</show_in_website>
|
| 140 |
+
<show_in_store>0</show_in_store>
|
| 141 |
+
</allowspecific>
|
| 142 |
+
<specificcountry translate="label">
|
| 143 |
+
<label>Countries Payment Applicable From</label>
|
| 144 |
+
<frontend_type>multiselect</frontend_type>
|
| 145 |
+
<sort_order>70</sort_order>
|
| 146 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
| 147 |
+
<show_in_default>1</show_in_default>
|
| 148 |
+
<show_in_website>1</show_in_website>
|
| 149 |
+
<show_in_store>0</show_in_store>
|
| 150 |
+
<depends>
|
| 151 |
+
<allowspecific>1</allowspecific>
|
| 152 |
+
</depends>
|
| 153 |
+
</specificcountry>
|
| 154 |
+
<debug translate="label">
|
| 155 |
+
<label>Debug Mode</label>
|
| 156 |
+
<frontend_type>select</frontend_type>
|
| 157 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 158 |
+
<sort_order>71</sort_order>
|
| 159 |
+
<show_in_default>1</show_in_default>
|
| 160 |
+
<show_in_website>1</show_in_website>
|
| 161 |
+
<show_in_store>0</show_in_store>
|
| 162 |
+
</debug>
|
| 163 |
+
<sort_order translate="label">
|
| 164 |
+
<label>Sort Order</label>
|
| 165 |
+
<frontend_type>text</frontend_type>
|
| 166 |
+
<sort_order>100</sort_order>
|
| 167 |
+
<show_in_default>1</show_in_default>
|
| 168 |
+
<show_in_website>1</show_in_website>
|
| 169 |
+
<show_in_store>0</show_in_store>
|
| 170 |
+
</sort_order>
|
| 171 |
+
</fields>
|
| 172 |
+
</payzippy>
|
| 173 |
+
</groups>
|
| 174 |
+
</payment>
|
| 175 |
+
</sections>
|
| 176 |
+
</config>
|
app/code/community/FlipKart/PayZippy/sql/payzippy_setup/mysql4-install-0.1.0.php
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Description of ExtensionsStatusManager
|
| 5 |
+
* @package FlipKart_PayZippy
|
| 6 |
+
* @company CueBlocks - http://www.cueblocks.com/
|
| 7 |
+
* @author Ravinder <ravinder.singh@cueblocks.com>
|
| 8 |
+
*/
|
| 9 |
+
|
| 10 |
+
$installer = $this;
|
| 11 |
+
$installer->startSetup();
|
| 12 |
+
$installer->run("
|
| 13 |
+
|
| 14 |
+
ALTER TABLE `{$installer->getTable('sales/quote_payment')}` ADD `payzippy_payment_method` VARCHAR( 255 ) NOT NULL ;
|
| 15 |
+
ALTER TABLE `{$installer->getTable('sales/quote_payment')}` ADD `payzippy_bank_name` VARCHAR( 255 ) ;
|
| 16 |
+
ALTER TABLE `{$installer->getTable('sales/quote_payment')}` ADD `payzippy_emi_months` VARCHAR( 255 ) ;
|
| 17 |
+
|
| 18 |
+
ALTER TABLE `{$installer->getTable('sales/order_payment')}` ADD `payzippy_payment_method` VARCHAR( 255 ) NOT NULL ;
|
| 19 |
+
ALTER TABLE `{$installer->getTable('sales/order_payment')}` ADD `payzippy_bank_name` VARCHAR( 255 );
|
| 20 |
+
ALTER TABLE `{$installer->getTable('sales/order_payment')}` ADD `payzippy_emi_months` VARCHAR( 255 );
|
| 21 |
+
|
| 22 |
+
");
|
| 23 |
+
$installer->endSetup();
|
app/design/frontend/base/default/template/payzippy/form.phtml
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
$_code=$this->getMethodCode();
|
| 3 |
+
$methods= $this->getAllowedMethods();
|
| 4 |
+
$emiBanks= $this->getBankNames('emi_bank_names');
|
| 5 |
+
$netBanks= $this->getBankNames('net_bank_names');
|
| 6 |
+
?>
|
| 7 |
+
<ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
|
| 8 |
+
<li class="message">
|
| 9 |
+
<?php echo $this->getRedirectMessage();?>
|
| 10 |
+
</li>
|
| 11 |
+
<li>
|
| 12 |
+
<label for="<?php echo $_code ?>_payment_method" class="required"><em>*</em><?php echo $this->__('Payment Method') ?></label>
|
| 13 |
+
<div class="input-box">
|
| 14 |
+
<select title="<?php echo $this->__('Payment Method') ?>" class="input-select required-entry" id="<?php echo $_code ?>_payment_method" name="payment[payzippy_payment_method]" value="<?php echo $this->htmlEscape($this->getInfoData('payzippy_payment_method')) ?>" onchange="hideMethod()">
|
| 15 |
+
<option value=""><?php echo $this->__('--Please Select--')?></option>
|
| 16 |
+
<?php foreach($methods as $method):?>
|
| 17 |
+
<option value="<?php echo $method['value']?>"><?php echo $method['label']?></option>
|
| 18 |
+
<?php endforeach;?>
|
| 19 |
+
</select>
|
| 20 |
+
</div>
|
| 21 |
+
</li>
|
| 22 |
+
<li id="zippy_bank_name" style="display:none;">
|
| 23 |
+
<label for="<?php echo $_code ?>_bank_name" class="required"><em>*</em><?php echo $this->__('Bank Name') ?></label>
|
| 24 |
+
<div class="input-box">
|
| 25 |
+
<select title="<?php echo $this->__('Bank Name') ?>" class="input-select required-entry" id="<?php echo $_code ?>_bank_name" name="payment[payzippy_bank_name]" value="<?php echo $this->htmlEscape($this->getInfoData('payzippy_bank_name')) ?>">
|
| 26 |
+
<?php echo $emiBanks;?>
|
| 27 |
+
</select>
|
| 28 |
+
</div>
|
| 29 |
+
</li>
|
| 30 |
+
<li id="zippy_emi_months" style="display:none;">
|
| 31 |
+
<label for="<?php echo $_code ?>_emi_months" class="required"><em>*</em><?php echo $this->__('EMI Months') ?></label>
|
| 32 |
+
<div class="input-box">
|
| 33 |
+
<select title="<?php echo $this->__('EMI Months') ?>" class="input-select required-entry" id="<?php echo $_code ?>_payment_method" name="payment[payzippy_emi_months]" value="<?php echo $this->htmlEscape($this->getInfoData('payzippy_emi_months')) ?>">
|
| 34 |
+
<option value="3">3</option>
|
| 35 |
+
<option value="6">6</option>
|
| 36 |
+
<option value="9">9</option>
|
| 37 |
+
<option value="12">12</option>
|
| 38 |
+
</select>
|
| 39 |
+
</div>
|
| 40 |
+
</li>
|
| 41 |
+
</ul>
|
| 42 |
+
<script>
|
| 43 |
+
function hideMethod()
|
| 44 |
+
{
|
| 45 |
+
var emibankNames = '<?php echo $emiBanks?>';
|
| 46 |
+
var netbankNames = '<?php echo $netBanks?>';
|
| 47 |
+
var emiMonths = document.getElementById("zippy_emi_months");
|
| 48 |
+
var bankName = document.getElementById("zippy_bank_name");
|
| 49 |
+
var bankNameSelect = document.getElementById("<?php echo $_code ?>_bank_name");
|
| 50 |
+
var paymentMethod = document.getElementById("payzippy_payment_method");
|
| 51 |
+
if(paymentMethod.options[paymentMethod.selectedIndex].value == "EMI")
|
| 52 |
+
{
|
| 53 |
+
emiMonths.style.display="block";
|
| 54 |
+
bankNameSelect.innerHTML = '';
|
| 55 |
+
bankNameSelect.innerHTML = emibankNames;
|
| 56 |
+
bankName.style.display="block";
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
if(paymentMethod.options[paymentMethod.selectedIndex].value == "NET")
|
| 60 |
+
{
|
| 61 |
+
emiMonths.style.display="none";
|
| 62 |
+
bankNameSelect.innerHTML = '';
|
| 63 |
+
bankNameSelect.innerHTML = netbankNames;
|
| 64 |
+
bankName.style.display="block";
|
| 65 |
+
|
| 66 |
+
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
if(paymentMethod.options[paymentMethod.selectedIndex].value != "NET" && paymentMethod.options[paymentMethod.selectedIndex].value != "EMI")
|
| 70 |
+
{
|
| 71 |
+
emiMonths.style.display="none";
|
| 72 |
+
bankName.style.display="none";
|
| 73 |
+
|
| 74 |
+
}
|
| 75 |
+
|
| 76 |
+
|
| 77 |
+
}
|
| 78 |
+
</script>
|
app/design/frontend/base/default/template/payzippy/redirect.phtml
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
$secret_key = Mage::helper('payzippy')->getConfigData('secret_key');
|
| 3 |
+
$params = $this->getRequestParams();
|
| 4 |
+
$hash = Mage::helper('payzippy')->getHash($params,$secret_key);
|
| 5 |
+
$params['hash'] = $hash;
|
| 6 |
+
$session = Mage::getSingleton("core/session", array("name"=>"frontend"));
|
| 7 |
+
$session->setData($params['merchant_transaction_id'], $hash);
|
| 8 |
+
if(Mage::helper('payzippy')->getConfigData('debug')) {
|
| 9 |
+
Mage::log("Request:- ".print_r($params, true), Zend_Log::DEBUG, 'payzippy.log', true);
|
| 10 |
+
}
|
| 11 |
+
?>
|
| 12 |
+
<form name="payzippyform" method="post" action="https://www.payzippy.com/payment/api/charging/v1">
|
| 13 |
+
<?php foreach($params as $param_name => $param_value):?>
|
| 14 |
+
<input type="hidden" name="<?php echo $param_name?>" value="<?php echo $param_value; ?>" />
|
| 15 |
+
<?php endforeach;?>
|
| 16 |
+
</form>
|
| 17 |
+
<script type="text/javascript">
|
| 18 |
+
document.payzippyform.submit();
|
| 19 |
+
</script>
|
app/etc/modules/FlipKart_PayZippy.xml
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<modules>
|
| 4 |
+
<FlipKart_PayZippy>
|
| 5 |
+
<active>true</active>
|
| 6 |
+
<codePool>community</codePool>
|
| 7 |
+
</FlipKart_PayZippy>
|
| 8 |
+
<depends>
|
| 9 |
+
<Mage_Payment />
|
| 10 |
+
</depends>
|
| 11 |
+
</modules>
|
| 12 |
+
</config>
|
package.xml
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<package>
|
| 3 |
+
<name>PayZippy_Payment_Gateway</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>Enable Credit/Debit Card, Net Banking, EMI and Wallet payments on your online store with PayZippy.</summary>
|
| 10 |
+
<description>PayZippy is an India based payment gateway provider which enables you to accept Credit/Debit Card, Net Banking, EMI and Wallet payments on your online store with the simplest and fastest integration.
|
| 11 |
+

|
| 12 |
+
PayZippy's advantages:
|
| 13 |
+
Higher Conversions - Benefit from our smart transaction routing and intuitive payment experience, that drives higher success rates and lower cart abandonments for your online store. 
|
| 14 |
+
User Experience Redefined - Let your customers enter their card details without leaving your website. Offer the fastest checkout experience by enabling your customers to use their cards saved in their PayZippy wallet.
|
| 15 |
+
Great Merchant Support - We bring Flipkart's customer obsessed service and learnings from solving payment issues. We are available 9 AM to 9 PM, all days of the week.
|
| 16 |
+
100% Secure - PayZippy has undergone stringent security audits (including PCI DSS) by industry experts. PayZippy's real time risk engine analyses every transaction across 50+ risk parameters and notifies you about suspected fraudulent transactions by email/sms.
|
| 17 |
+
Simple Transparent Pricing - No setup fee, no annual maintenance fee, no hidden charges. Pay less as you grow.
|
| 18 |
+
If you have any queries or require more information about our service offering, feel free to reach out to us at contactus@payzippy.com.</description>
|
| 19 |
+
<notes>Initial and Stable Release</notes>
|
| 20 |
+
<authors><author><name>Cueblocks</name><user>Ravinder</user><email>ravinder.singh@cueblocks.com</email></author></authors>
|
| 21 |
+
<date>2013-08-30</date>
|
| 22 |
+
<time>11:46:16</time>
|
| 23 |
+
<contents><target name="magecommunity"><dir name="FlipKart"><dir name="PayZippy"><dir name="Block"><file name="Form.php" hash="639321ea25419f962538ac89381d2b51"/><file name="Info.php" hash="d7b2736958e1843501b6b2751329378b"/><file name="Redirect.php" hash="71dbcd1edf529cba68db40fd3dc204fa"/></dir><dir name="Helper"><file name="Data.php" hash="1b17cddfc16a49371c7fa804f3326660"/></dir><dir name="Model"><dir name="Mysql4"><file name="Setup.php" hash="8adc2ac49e33c5f85daeb4c107387e14"/></dir><file name="Standard.php" hash="cd14e0d14457ac5f95a55a99e605a56c"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Payment"><dir name="Bank"><file name="Names.php" hash="6740c20c072b0ce964203e84789cb9e7"/></dir><file name="Methods.php" hash="a32152f6f96fa082eecb3c186b085963"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="PaymentController.php" hash="c289d0e8302b3286b52cf626253b461f"/></dir><dir name="etc"><file name="config.xml" hash="bc09910bc88a8db0d576ab3a31771254"/><file name="system.xml" hash="cea2262317135a8d712f9ea37c47faa0"/></dir><dir name="sql"><dir name="payzippy_setup"><file name="mysql4-install-0.1.0.php" hash="c69266c1d23fe4d66405835ea60c932e"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="payzippy"><file name="form.phtml" hash="05dd9f7b97f98f58e3cbf4fd9d589cc4"/><file name="redirect.phtml" hash="0e2722a6012d1e6859d9275d4b09683d"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="FlipKart_PayZippy.xml" hash="6a9b3027607fb0c3212e9a829d61fa15"/></dir></target></contents>
|
| 24 |
+
<compatible/>
|
| 25 |
+
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 26 |
+
</package>
|
