Version Notes
Module updated to include:-
1) Logo and Information Link
2) Simplify Configuration
3) Sort Order configuration option
Download this release
Release Info
Developer | PiPPayments |
Extension | PiPPayments |
Version | 0.1.0.3 |
Comparing to | |
See all releases |
Version 0.1.0.3
- app/code/community/PiP/PiPPayments/Helper/Data.php +3 -0
- app/code/community/PiP/PiPPayments/Model/Standard.php +20 -0
- app/code/community/PiP/PiPPayments/controllers/PaymentController.php +170 -0
- app/code/community/PiP/PiPPayments/etc/config.xml +66 -0
- app/code/community/PiP/PiPPayments/etc/system.xml +118 -0
- app/design/frontend/base/default/template/checkout/onepage/payment/methods.phtml +79 -0
- app/etc/modules/PiP_Payments.xml +13 -0
- media/pip.png +0 -0
- package.xml +26 -0
app/code/community/PiP/PiPPayments/Helper/Data.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class PiP_PiPPayments_Helper_Data extends Mage_Core_Helper_Abstract {}
|
app/code/community/PiP/PiPPayments/Model/Standard.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* PiP Payments Module Model
|
5 |
+
*
|
6 |
+
* Just redirects the user to the payment modules controller
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
|
10 |
+
class PiP_PiPPayments_Model_Standard extends Mage_Payment_Model_Method_Abstract {
|
11 |
+
protected $_code = 'pippayments';
|
12 |
+
|
13 |
+
// Redirect URL when place order is clicked
|
14 |
+
public function getOrderPlaceRedirectUrl() {
|
15 |
+
|
16 |
+
return Mage::getURL('pippayments/payment/redirect');
|
17 |
+
|
18 |
+
}
|
19 |
+
|
20 |
+
}
|
app/code/community/PiP/PiPPayments/controllers/PaymentController.php
ADDED
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* PiP Payment Module - Payment Controller
|
5 |
+
*
|
6 |
+
* Generates and redirects the customer to the PIP Bill Page
|
7 |
+
* Also handles callback from PiP
|
8 |
+
*
|
9 |
+
*/
|
10 |
+
|
11 |
+
class PiP_PiPPayments_PaymentController extends Mage_Core_Controller_Front_Action {
|
12 |
+
|
13 |
+
// PiP URLs
|
14 |
+
// Production
|
15 |
+
protected $_url = 'https://pip-it.net/os/mgr/create';
|
16 |
+
// Testing
|
17 |
+
protected $_test = 'https://uat.pip-it.net/os/mgr/create';
|
18 |
+
|
19 |
+
|
20 |
+
// Handle PiP Callbacks
|
21 |
+
public function callbackAction() {
|
22 |
+
|
23 |
+
$request = $this->getRequest();
|
24 |
+
if (!$request->isPost() or !is_numeric($request->getPost('BARCODE'))) {
|
25 |
+
// Error header
|
26 |
+
$this->getResponse()->setHttpResponseCode(400); // Bad request
|
27 |
+
}else{
|
28 |
+
// Get out Post Data and Settings
|
29 |
+
$barcode = $request->getPost('BARCODE');
|
30 |
+
$order_id = $request->getPost('VENDOR_ORDER_ID');
|
31 |
+
$sign = $request->getPost('SIGN');
|
32 |
+
// PiP Merchant Secret
|
33 |
+
$secret = Mage::getStoreConfig('payment/pippayments/secret');
|
34 |
+
// Send notification after successfull callback?
|
35 |
+
$notify = Mage::getStoreConfig('payment/pippayments/notify');
|
36 |
+
|
37 |
+
$request_type = '';
|
38 |
+
$x_date = '';
|
39 |
+
|
40 |
+
// Determine request type - CREATE, PAID, EXPIRE
|
41 |
+
if (is_numeric($request->getPost('CREATE_DATE'))){
|
42 |
+
$request_type = 'create';
|
43 |
+
$x_date = $request->getPost('CREATE_DATE');
|
44 |
+
} else if (is_numeric($request->getPost('PAID_DATE'))) {
|
45 |
+
$request_type = 'paid';
|
46 |
+
$x_date = $request->getPost('PAID_DATE');
|
47 |
+
} else if (is_numeric($request->getPost('EXPIRE_DATE'))) {
|
48 |
+
$request_type = 'expire';
|
49 |
+
$x_date = $request->getPost('EXPIRE_DATE');
|
50 |
+
}
|
51 |
+
|
52 |
+
|
53 |
+
// Get our order
|
54 |
+
$order = new Mage_Sales_Model_Order();
|
55 |
+
$order->loadByIncrementId($order_id);
|
56 |
+
|
57 |
+
|
58 |
+
if ($request_type == '') {
|
59 |
+
Mage::log('PIP Callback - Invalid Callback');
|
60 |
+
$this->getResponse()->setHttpResponseCode(400); // Bad request
|
61 |
+
}else {
|
62 |
+
|
63 |
+
// Authenticate
|
64 |
+
$auth = sha1($barcode.$order_id.$x_date.$secret);
|
65 |
+
|
66 |
+
// Order comment for notification
|
67 |
+
$order_comment = NULL;
|
68 |
+
|
69 |
+
// Ensure Authenticated request
|
70 |
+
if ($auth == $sign) {
|
71 |
+
// Auth OK
|
72 |
+
switch ($request_type) {
|
73 |
+
case 'create':
|
74 |
+
// Mark Order as Pending Payment - PIP Create
|
75 |
+
$order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, 'PIP Status: PENDING, PIP Barcode: '.$barcode, $notify)->save();
|
76 |
+
$order_comment = 'Status: Pending, Barcode: '.$barcode;
|
77 |
+
break;
|
78 |
+
case 'paid':
|
79 |
+
// Mark Order as Paid - PIP Paid
|
80 |
+
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, 'PIP Status: PAID, PIP Barcode: '.$barcode, $notify )->save();
|
81 |
+
$order_comment = 'Status: Paid, Barcode: '.$barcode;
|
82 |
+
break;
|
83 |
+
case 'expire':
|
84 |
+
// Mark Order as Cencelled - PIP Expire
|
85 |
+
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, true, 'PIP Status: EXPIRED, PIP Barcode: '.$barcode, $notify)->save();
|
86 |
+
$order_comment = 'Status: Expired, Barcode: '.$barcode;
|
87 |
+
break;
|
88 |
+
}
|
89 |
+
|
90 |
+
// Send notification?
|
91 |
+
if ($notify == TRUE) {
|
92 |
+
$order->sendOrderUpdateEmail($notify, $order_comment); // $notify is boolean
|
93 |
+
}
|
94 |
+
|
95 |
+
$this->getResponse()->setHttpResponseCode(200);
|
96 |
+
}else {
|
97 |
+
// Auth failure
|
98 |
+
Mage::log('PIP Callback - Auth Failure');
|
99 |
+
$this->getResponse()->setHttpResponseCode(403); // Forbidden request
|
100 |
+
}
|
101 |
+
}
|
102 |
+
}
|
103 |
+
|
104 |
+
}
|
105 |
+
|
106 |
+
// Redirect Action - Has to be a double redirect as the order doesn't exist in the cart checkout
|
107 |
+
public function redirectAction() {
|
108 |
+
// Get Order from session details
|
109 |
+
$order = new Mage_Sales_Model_Order();
|
110 |
+
$order_id = Mage::getSingleton('checkout/session')->getLastRealOrderId();
|
111 |
+
$order->loadByIncrementId($order_id);
|
112 |
+
|
113 |
+
|
114 |
+
// Extract what we need from the order
|
115 |
+
$order_value = round($order->getGrandTotal(), 2);
|
116 |
+
$order_value = number_format($order_value, 2, '.', '');
|
117 |
+
$currency = $order->getOrderCurrencyCode();
|
118 |
+
|
119 |
+
// Get Order Email and Phone
|
120 |
+
$email = $order->getCustomerEmail();
|
121 |
+
$tel = $order->getBillingAddress()->getTelephone();
|
122 |
+
|
123 |
+
// Get Vendor Name and Secret from settings
|
124 |
+
$vendor_name = Mage::getStoreConfig('payment/pippayments/vendor_name');
|
125 |
+
$secret = Mage::getStoreConfig('payment/pippayments/secret');
|
126 |
+
|
127 |
+
// Standard Checkout URLs
|
128 |
+
$reply_url = Mage::getURL('checkout/onepage/success');
|
129 |
+
$cancel_url = Mage::getURL('checkout/onepage/failure');
|
130 |
+
|
131 |
+
|
132 |
+
// Generate signature
|
133 |
+
$sign = sha1($vendor_name.$order_value.$email.$order_id.$secret);
|
134 |
+
|
135 |
+
// Base URL
|
136 |
+
$url = $this->_url;
|
137 |
+
|
138 |
+
// Test Mode?
|
139 |
+
/*if (Mage::getStoreConfig('payment/pippayments/test')) {
|
140 |
+
$url = $this->_test;
|
141 |
+
}*/
|
142 |
+
|
143 |
+
// GET Params
|
144 |
+
$params = array(
|
145 |
+
'VENDOR_NAME' => $vendor_name,
|
146 |
+
'VALUE' => $order_value,
|
147 |
+
'CUST_EMAIL' => $email,
|
148 |
+
'VENDOR_ORDER_ID' => $order_id,
|
149 |
+
'SIGN' => $sign,
|
150 |
+
'REPLY_URL' => $reply_url,
|
151 |
+
'CANCEL_URL' => $cancel_url,
|
152 |
+
'CURRENCY' => $currency,
|
153 |
+
'MOBILE' => $tel,
|
154 |
+
);
|
155 |
+
|
156 |
+
// Build URL string
|
157 |
+
$string = '';
|
158 |
+
foreach($params as $key=>$value) { $string .= $key.'='.$value.'&'; }
|
159 |
+
$string = rtrim($string, '&');
|
160 |
+
|
161 |
+
$url .='?'.$string;
|
162 |
+
|
163 |
+
// Redirect to url
|
164 |
+
$this->getResponse()->setRedirect($url);
|
165 |
+
|
166 |
+
// DEBUG - Output URL as link
|
167 |
+
//echo '<a href="'.$url.'">'.$url.'</a>';
|
168 |
+
|
169 |
+
}
|
170 |
+
}
|
app/code/community/PiP/PiPPayments/etc/config.xml
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<PiP_PiPPayments>
|
5 |
+
<version>0.1.0.3</version>
|
6 |
+
</PiP_PiPPayments>
|
7 |
+
</modules>
|
8 |
+
|
9 |
+
<global>
|
10 |
+
<fieldsets>
|
11 |
+
<sales_convert_quote_payment>
|
12 |
+
<pip_status>
|
13 |
+
<to_order_payment>*</to_order_payment>
|
14 |
+
</pip_status>
|
15 |
+
<pip_barcode>
|
16 |
+
<to_order_payment>*</to_order_payment>
|
17 |
+
</pip_barcode>
|
18 |
+
</sales_convert_quote_payment>
|
19 |
+
</fieldsets>
|
20 |
+
|
21 |
+
<helpers>
|
22 |
+
<pippayments>
|
23 |
+
<class>PiP_PiPPayments_Helper</class>
|
24 |
+
</pippayments>
|
25 |
+
</helpers>
|
26 |
+
|
27 |
+
<blocks>
|
28 |
+
<pippayments>
|
29 |
+
<class>PiP_PiPPayments_Block</class>
|
30 |
+
</pippayments>
|
31 |
+
</blocks>
|
32 |
+
|
33 |
+
<models>
|
34 |
+
<pippayments>
|
35 |
+
<class>PiP_PiPPayments_Model</class>
|
36 |
+
</pippayments>
|
37 |
+
</models>
|
38 |
+
|
39 |
+
|
40 |
+
</global>
|
41 |
+
|
42 |
+
<default>
|
43 |
+
<payment>
|
44 |
+
<pippayments>
|
45 |
+
<active>1</active>
|
46 |
+
<model>pippayments/standard</model>
|
47 |
+
<order_status>pending</order_status>
|
48 |
+
<title>PiP Payments</title>
|
49 |
+
<allowspecific>0</allowspecific>
|
50 |
+
<payment_action>sale</payment_action>
|
51 |
+
</pippayments>
|
52 |
+
</payment>
|
53 |
+
</default>
|
54 |
+
|
55 |
+
<frontend>
|
56 |
+
<routers>
|
57 |
+
<pippayments>
|
58 |
+
<use>standard</use>
|
59 |
+
<args>
|
60 |
+
<module>PiP_PiPPayments</module>
|
61 |
+
<frontName>pippayments</frontName>
|
62 |
+
</args>
|
63 |
+
</pippayments>
|
64 |
+
</routers>
|
65 |
+
</frontend>
|
66 |
+
</config>
|
app/code/community/PiP/PiPPayments/etc/system.xml
ADDED
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<sections>
|
4 |
+
<payment>
|
5 |
+
<groups>
|
6 |
+
<pippayments translate="label" module="pippayments">
|
7 |
+
|
8 |
+
<label>PiP Payments Module</label>
|
9 |
+
<sort_order>1000</sort_order>
|
10 |
+
<show_in_default>1</show_in_default>
|
11 |
+
<show_in_website>1</show_in_website>
|
12 |
+
<show_in_store>0</show_in_store>
|
13 |
+
<comment><![CDATA[Enter your PiP Payments details below and be sure to set the <b>callback</b> to <em>http://www.example.com/pippayments/callback</em> in your PiP Merchant Settings.]]></comment>
|
14 |
+
<fields>
|
15 |
+
<title translate="label">
|
16 |
+
<label>Title</label>
|
17 |
+
<frontend_type>text</frontend_type>
|
18 |
+
<show_in_default>1</show_in_default>
|
19 |
+
<show_in_website>1</show_in_website>
|
20 |
+
<show_in_store>0</show_in_store>
|
21 |
+
<sort_order>1</sort_order>
|
22 |
+
</title>
|
23 |
+
|
24 |
+
<active translate="label">
|
25 |
+
<label>Enabled</label>
|
26 |
+
<frontend_type>select</frontend_type>
|
27 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
28 |
+
<show_in_default>1</show_in_default>
|
29 |
+
<show_in_website>1</show_in_website>
|
30 |
+
<show_in_store>0</show_in_store>
|
31 |
+
<sort_order>2</sort_order>
|
32 |
+
</active>
|
33 |
+
|
34 |
+
<vendor_name>
|
35 |
+
<label>Merchant ID</label>
|
36 |
+
<frontend_type>text</frontend_type>
|
37 |
+
<sort_order>3</sort_order>
|
38 |
+
<show_in_default>1</show_in_default>
|
39 |
+
<show_in_website>1</show_in_website>
|
40 |
+
<show_in_store>0</show_in_store>
|
41 |
+
</vendor_name>
|
42 |
+
|
43 |
+
<secret>
|
44 |
+
<label>Secret</label>
|
45 |
+
<frontend_type>text</frontend_type>
|
46 |
+
<sort_order>4</sort_order>
|
47 |
+
<show_in_default>1</show_in_default>
|
48 |
+
<show_in_website>1</show_in_website>
|
49 |
+
<show_in_store>0</show_in_store>
|
50 |
+
</secret>
|
51 |
+
|
52 |
+
<notify translate="label">
|
53 |
+
<label>Send Notifications</label>
|
54 |
+
<frontend_type>select</frontend_type>
|
55 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
56 |
+
<show_in_default>1</show_in_default>
|
57 |
+
<show_in_website>1</show_in_website>
|
58 |
+
<show_in_store>0</show_in_store>
|
59 |
+
<sort_order>5</sort_order>
|
60 |
+
</notify>
|
61 |
+
|
62 |
+
<!-- <test translate="label">
|
63 |
+
<label>Enable Test Mode</label>
|
64 |
+
<frontend_type>select</frontend_type>
|
65 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
66 |
+
<show_in_default>1</show_in_default>
|
67 |
+
<show_in_website>1</show_in_website>
|
68 |
+
<show_in_store>0</show_in_store>
|
69 |
+
<sort_order>6</sort_order>
|
70 |
+
</test> -->
|
71 |
+
|
72 |
+
<order_status translate="label">
|
73 |
+
<label>New order status</label>
|
74 |
+
<frontend_type>select</frontend_type>
|
75 |
+
<source_model>adminhtml/system_config_source_order_status</source_model>
|
76 |
+
<show_in_default>1</show_in_default>
|
77 |
+
<show_in_website>1</show_in_website>
|
78 |
+
<show_in_store>0</show_in_store>
|
79 |
+
<sort_order>7</sort_order>
|
80 |
+
</order_status>
|
81 |
+
|
82 |
+
<allowspecific translate="label">
|
83 |
+
<label>Payment from applicable countries</label>
|
84 |
+
<frontend_type>allowspecific</frontend_type>
|
85 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
86 |
+
<show_in_default>1</show_in_default>
|
87 |
+
<show_in_website>1</show_in_website>
|
88 |
+
<show_in_store>1</show_in_store>
|
89 |
+
<sort_order>8</sort_order>
|
90 |
+
</allowspecific>
|
91 |
+
|
92 |
+
<specificcountry translate="label">
|
93 |
+
<label>Payment from Specific countries</label>
|
94 |
+
<frontend_type>multiselect</frontend_type>
|
95 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
96 |
+
<show_in_default>1</show_in_default>
|
97 |
+
<show_in_website>1</show_in_website>
|
98 |
+
<show_in_store>1</show_in_store>
|
99 |
+
<sort_order>9</sort_order>
|
100 |
+
</specificcountry>
|
101 |
+
|
102 |
+
<sort_order translate="label">
|
103 |
+
<label>Sort Order</label>
|
104 |
+
<frontend_type>text</frontend_type>
|
105 |
+
<sort_order>9</sort_order>
|
106 |
+
<show_in_default>1</show_in_default>
|
107 |
+
<show_in_website>1</show_in_website>
|
108 |
+
<show_in_store>1</show_in_store>
|
109 |
+
<frontend_class>validate-number</frontend_class>
|
110 |
+
</sort_order>
|
111 |
+
|
112 |
+
|
113 |
+
</fields>
|
114 |
+
</pippayments>
|
115 |
+
</groups>
|
116 |
+
</payment>
|
117 |
+
</sections>
|
118 |
+
</config>
|
app/design/frontend/base/default/template/checkout/onepage/payment/methods.phtml
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2006-2015 X.commerce, Inc. (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* One page checkout payment methods
|
30 |
+
*
|
31 |
+
* @var $this Mage_Checkout_Block_Onepage_Payment_Methods
|
32 |
+
*/
|
33 |
+
?>
|
34 |
+
|
35 |
+
<?php
|
36 |
+
$methods = $this->getMethods();
|
37 |
+
$oneMethod = count($methods) <= 1;
|
38 |
+
?>
|
39 |
+
<?php if (empty($methods)): ?>
|
40 |
+
<dt>
|
41 |
+
<?php echo $this->__('No Payment Methods') ?>
|
42 |
+
</dt>
|
43 |
+
<?php else:
|
44 |
+
foreach ($methods as $_method):
|
45 |
+
$_code = $_method->getCode();
|
46 |
+
?>
|
47 |
+
<dt id="dt_method_<?php echo $_code ?>">
|
48 |
+
<?php if(!$oneMethod): ?>
|
49 |
+
<input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" title="<?php echo $this->escapeHtml($_method->getTitle()) ?>" onclick="payment.switchMethod('<?php echo $_code ?>')"<?php if($this->getSelectedMethodCode()==$_code): ?> checked="checked"<?php endif; ?> class="radio" />
|
50 |
+
<?php else: ?>
|
51 |
+
<span class="no-display"><input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" checked="checked" class="radio" /></span>
|
52 |
+
<?php $oneMethod = $_code; ?>
|
53 |
+
<?php endif; ?>
|
54 |
+
<label for="p_method_<?php echo $_code ?>"><?php echo $this->escapeHtml($this->getMethodTitle($_method)) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?>
|
55 |
+
<?php if ($_code =='pippayments'): ?>
|
56 |
+
<img src="/media/pip.png" alt='PIP' style="height: 28px; vertical-align: text-bottom; padding-right: 5px;"/>
|
57 |
+
<a href="http://www.pippayments.com/customers" target="_blank"><small>What's this?</small></a>
|
58 |
+
<?php endif; ?>
|
59 |
+
|
60 |
+
</label>
|
61 |
+
</dt>
|
62 |
+
<?php if ($html = $this->getPaymentMethodFormHtml($_method)): ?>
|
63 |
+
<dd id="dd_method_<?php echo $_code ?>">
|
64 |
+
<?php echo $html; ?>
|
65 |
+
</dd>
|
66 |
+
<?php endif; ?>
|
67 |
+
<?php endforeach;
|
68 |
+
endif;
|
69 |
+
?>
|
70 |
+
<?php echo $this->getChildChildHtml('additional'); ?>
|
71 |
+
<script type="text/javascript">
|
72 |
+
//<![CDATA[
|
73 |
+
<?php echo $this->getChildChildHtml('scripts'); ?>
|
74 |
+
payment.init();
|
75 |
+
<?php if (is_string($oneMethod)): ?>
|
76 |
+
payment.switchMethod('<?php echo $oneMethod ?>');
|
77 |
+
<?php endif; ?>
|
78 |
+
//]]>
|
79 |
+
</script>
|
app/etc/modules/PiP_Payments.xml
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<PiP_PiPPayments>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
|
8 |
+
<depends>
|
9 |
+
<Mage_Payment />
|
10 |
+
</depends>
|
11 |
+
</PiP_PiPPayments>
|
12 |
+
</modules>
|
13 |
+
</config>
|
media/pip.png
ADDED
Binary file
|
package.xml
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>PiPPayments</name>
|
4 |
+
<version>0.1.0.3</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license>GPL</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Now you can accept cash payments for sales on your website. No cards or accounts required. Customers simply order online and pay offline.</summary>
|
10 |
+
<description>Now you can accept cash payments for sales on your website. Customers don’t need cards or accounts to shop with you, they simply order online and pay offline through our network of secure payment locations e.g. Post Offices.
|
11 |
+
PiP opens up the world of eCommerce to the millions of unbanked and underbanked people who would love to shop online but can’t. PiP also offers a safe, secure and straightforward way for people who have security or privacy concerns - and don’t want to risk their card details online - to shop with you.
|
12 |
+
Integrating PiP with your website is a simple process. Within half an hour your website could be open to millions more customers and you could be selling to a market that is currently - and unnecessarily - underserved and excluded.
|
13 |
+
PiP is available to customers in the UK with payments being made through 11,500 UK Post Offices, and will be available in Ireland in the coming months and further afield in 2016.
|
14 |
+
</description>
|
15 |
+
<notes>Module updated to include:-
|
16 |
+

|
17 |
+
1) Logo and Information Link
|
18 |
+
2) Simplify Configuration
|
19 |
+
3) Sort Order configuration option</notes>
|
20 |
+
<authors><author><name>PiPPayments</name><user>JulescalPiP</user><email>julian.callaghan@pippayments.com</email></author></authors>
|
21 |
+
<date>2016-02-22</date>
|
22 |
+
<time>09:54:07</time>
|
23 |
+
<contents><target name="magecommunity"><dir name="PiP"><dir name="PiPPayments"><dir name="Helper"><file name="Data.php" hash="20977906ff9391d969d3e9434872039c"/></dir><dir name="Model"><file name="Standard.php" hash="7f4fd9c7f1a92172db4b9c54f071d2fc"/></dir><dir name="controllers"><file name="PaymentController.php" hash="a730425053f50269b5dbe3a474359304"/></dir><dir name="etc"><file name="config.xml" hash="143c1ec746046076ee53825c9887df67"/><file name="system.xml" hash="5ef9a8576da63b04082c9f8363ab3519"/></dir></dir></dir></target><target name="magemedia"><dir name="."><file name="pip.png" hash="cd6726b2175401622d34a3c7ce427fd1"/></dir></target><target name="mageetc"><dir name="modules"><file name="PiP_Payments.xml" hash="f9dc70aac5c9ecda6f076256826bbc8e"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="checkout"><dir name="onepage"><dir name="payment"><file name="methods.phtml" hash="32751cf70bdf624b050311082ae6ca68"/></dir></dir></dir></dir></dir></dir></dir></target></contents>
|
24 |
+
<compatible/>
|
25 |
+
<dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.9.0</min><max>1.9.999</max></package></required></dependencies>
|
26 |
+
</package>
|