Checkout_Payment - Version 0.0.1

Version Notes

Checkout.com Payment Gateway first release 0.0.1

Download this release

Release Info

Developer EvoPin
Extension Checkout_Payment
Version 0.0.1
Comparing to
See all releases


Version 0.0.1

app/code/community/Evopin/Checkoutcom/Block/Form/Paymentform.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Evopin_Checkoutcom_Block_Form_Paymentform extends Mage_Payment_Block_Form_Cc
4
+ {
5
+ function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->setTemplate('evopin/checkoutcom/form/paymentform.phtml');
9
+ }
10
+ }
11
+ ?>
app/code/community/Evopin/Checkoutcom/Helper/Data.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ class Evopin_Checkoutcom_Helper_Data extends Mage_Payment_Helper_Data
3
+ {
4
+
5
+ }
app/code/community/Evopin/Checkoutcom/Model/Payment.php ADDED
@@ -0,0 +1,278 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Evopin_Checkoutcom_Model_Payment extends Mage_Payment_Model_Method_Cc
4
+ {
5
+ protected $_code = 'checkoutcom';
6
+
7
+ const PAYMENTMODULE_API_URL_UAT = 'https://api.checkout.com/process/gateway.aspx';
8
+ const PAYMENTMODULE_API_URL_LIVE = 'https://api.checkout.com/process/gateway.aspx';
9
+ const PAYMENTMODULE_TRANS_TYPE_SALE = '1';
10
+
11
+
12
+ /**
13
+ * Availability options
14
+ */
15
+ protected $_isGateway = true;
16
+ protected $_canAuthorize = false;
17
+ protected $_canCapture = true;
18
+ protected $_canCapturePartial = false;
19
+ protected $_canRefund = false;
20
+ protected $_canVoid = false;
21
+ protected $_canUseInternal = true;
22
+ protected $_canUseCheckout = true;
23
+ protected $_canUseForMultishipping = true;
24
+ protected $_canSaveCc = false;
25
+ protected $_isInitializeNeeded = false;
26
+
27
+ protected $_allowCurrencyCode = array('AUD', 'CAD', 'CHF', 'DKK', 'EUR', 'GBP', 'HKD', 'JPY', 'NOK', 'NZD', 'SEK', 'USD', 'ZAR');
28
+
29
+ protected $_formBlockType = 'checkoutcom/form_paymentform';
30
+
31
+ private $errorDetails;
32
+
33
+ /**
34
+ * Check method for processing with base currency
35
+ *
36
+ * @param string $currencyCode
37
+ * @return boolean
38
+ */
39
+ // public function canUseForCurrency($currencyCode)
40
+ // {
41
+ // if (!in_array($currencyCode, $this->_allowCurrencyCode)) {
42
+ // return false;
43
+ // }
44
+ // return true;
45
+ // }
46
+
47
+ private function getApiUrl()
48
+ {
49
+ if (!$this->getConfigData('gateway_url')) {
50
+ return self::PAYMENTMODULE_API_URL;
51
+ }
52
+ return $this->getConfigData('gateway_url');
53
+ }
54
+ private function getHeaders()
55
+ {
56
+ return array("MIME-Version: 1.0", "Content-type: application/x-www-form-urlencoded", "Contenttransfer-encoding: text");
57
+ }
58
+ private function getNVPArray(Varien_Object $payment, $method,$action)
59
+ {
60
+ $order = $payment->getOrder();
61
+ $billing = $payment->getOrder()->getBillingAddress();
62
+ $shipping = $order->getShippingAddress();
63
+
64
+
65
+
66
+ $post_XML= '<request>' .
67
+ '<merchantid>' . Mage::helper('core')->decrypt($this->getConfigData('user_name')) . '</merchantid>' .
68
+ '<password>' . Mage::helper('core')->decrypt($this->getConfigData('password')) . '</password>' .
69
+ '<action>'. $action . '</action>' .
70
+ '<trackid>' . $order->getIncrementId() . '</trackid>' .
71
+ '<bill_currencycode>' . $order->getBaseCurrencyCode() . '</bill_currencycode>' .
72
+ '<bill_cardholder>' . $payment->getCcOwner() . '</bill_cardholder>' .
73
+ '<bill_cc_type>' . CC . '</bill_cc_type>' .
74
+ '<bill_cc_brand></bill_cc_brand>' .
75
+ '<bill_cc>' . $payment->getCcNumber() . '</bill_cc>' .
76
+ '<bill_expmonth>' . $payment->getCcExpMonth() . '</bill_expmonth>' .
77
+ '<bill_expyear>' . $payment->getCcExpYear() . '</bill_expyear>' .
78
+ '<bill_cvv2>' . $payment->getCcCid() . '</bill_cvv2>' .
79
+ '<bill_address>' . $billing->getStreet(1) . '</bill_address>' .
80
+ '<bill_address2></bill_address2>' .
81
+ '<bill_postal>' . $billing->getPostcode() . '</bill_postal>' .
82
+ '<bill_city>' . $billing->getCity() . '</bill_city>' .
83
+ '<bill_state>' . $billing->getRegion() . '</bill_state>' .
84
+ '<bill_email>' . $order->getCustomerEmail() . '</bill_email>' .
85
+ '<bill_country>' . $billing->getCountry() . '</bill_country>' .
86
+ '<bill_amount>' . $payment->getAmount() . '</bill_amount>' .
87
+ '<bill_phone>' . $billing->getTelephone() . '</bill_phone>' .
88
+ '<bill_fax>' . '' . '</bill_fax>' .
89
+ '<bill_customerip>' . $billing->getCustomerId() . '</bill_customerip>' .
90
+ '<bill_merchantip>' . $order->getRemoteIp() . '</bill_merchantip>';
91
+ if (!empty($shipping))
92
+ {
93
+ $post_XML = $post_XML .'<ship_address>' . $shipping->getStreet(1) . '</ship_address>' .
94
+ '<ship_email>' . '' . '</ship_email>' .
95
+ '<ship_postal>' . $shipping->getPostcode() . '</ship_postal>' .
96
+ '<ship_address2></ship_address2>' .
97
+ '<ship_type>' . '' . '</ship_type>' .
98
+ '<ship_city>' . $shipping->getCity() . '</ship_city>' .
99
+ '<ship_state>' . $shipping->getRegion() . '</ship_state>' .
100
+ '<ship_phone>' . '' . '</ship_phone>' .
101
+ '<ship_country>' . $shipping->getCountry() . '</ship_country>' .
102
+ '<ship_fax>' . '' . '</ship_fax>' ;
103
+ }
104
+ $post_XML = $post_XML . '<udf1></udf1>' .
105
+ '<udf2></udf2>' .
106
+ '<udf3></udf3>' .
107
+ '<udf4></udf4>' .
108
+ '<udf5></udf5>' .
109
+ '</request>';
110
+
111
+
112
+ return $post_XML;
113
+
114
+ }
115
+ private function getNVPRequest(Varien_Object $payment, $method)
116
+ {
117
+ $nvpArray = $this->getNVPArray($payment, $method);
118
+ $nvp = '';
119
+ foreach ($nvpArray as $k => $v) {
120
+ $nvp .= $k . '=' . urlencode($v) . '&';
121
+ }
122
+ $nvp = rtrim($nvp, '&');
123
+ return $nvp;
124
+ }
125
+
126
+ private function processPayment($npvStr) {
127
+
128
+
129
+
130
+ if($this->getConfigData('test') == '1')
131
+ {
132
+ $gateway_url=self::PAYMENTMODULE_API_URL_UAT;
133
+ }else
134
+ {
135
+ $gateway_url=self::PAYMENTMODULE_API_URL_LIVE;
136
+ }
137
+
138
+
139
+
140
+ $http = new Varien_Http_Adapter_Curl();
141
+ $config = array('timeout' => 60);
142
+ $http->setConfig($config);
143
+
144
+
145
+ $http->write(Zend_Http_Client::POST, $gateway_url, '1.1', array(), $npvStr);
146
+ $response = $http->read();
147
+
148
+
149
+
150
+
151
+ if ($http->getErrno()) {
152
+ $http->close();
153
+ $this->errorDetails = array(
154
+ 'type' => 'CURL',
155
+ 'code' => $http->getErrno(),
156
+ 'message' => $http->getError()
157
+ );
158
+ return false;
159
+ }
160
+ $http->close();
161
+
162
+ $response = preg_split('/^\r?$/m', $response, 2);
163
+ $response = trim($response[1]);
164
+
165
+ return($response);
166
+ }
167
+
168
+ /**
169
+ * this method is called if we are just authorising
170
+ * a transaction
171
+ */
172
+ public function authorize (Varien_Object $payment, $amount)
173
+ {
174
+ $error = false;
175
+ $payment->setAmount($amount);
176
+
177
+ $nvpStr = $this->getNVPArray($payment, $method,'4');
178
+
179
+
180
+ $response = $this->processPayment($nvpStr);
181
+
182
+
183
+
184
+ if (!$response) {
185
+ $error = Mage::helper('checkoutcom')->__('Gateway request error: %s', $this->errorDetails['message']);
186
+ }
187
+ else {
188
+ $result = @simplexml_load_string($response);
189
+ $gwerror = $result->{'error_text'};
190
+
191
+ if(!$gwerror){
192
+ if (!$result) {
193
+ $error = Mage::helper('checkoutcom')->__('Cannot process your payment. Please try again.');
194
+ }
195
+ elseif ($result->{'responsecode'} != '0') {
196
+ $error = Mage::helper('checkoutcom')->__("Cannot process your payment, error: %s (%s). Please try again.", $result->{'result'},$result->{'responsecode'}, $response);
197
+ }
198
+ }else
199
+ {
200
+ $error = Mage::helper('checkoutcom')->__("Cannot process your payment, error: %s. Please try again.", $gwerror, $response);
201
+ }
202
+ }
203
+ if ($error !== false) {
204
+ Mage::throwException($error);
205
+ }
206
+ else {
207
+ $payment->setStatus(self::STATUS_APPROVED);
208
+ $payment->setLastTransId($result->{'tranid'});
209
+ }
210
+
211
+ return $this;
212
+ }
213
+
214
+ /**
215
+ * this method is called if we are authorising AND
216
+ * capturing a transaction
217
+ */
218
+ public function capture (Varien_Object $payment, $amount)
219
+ {
220
+
221
+ $error = false;
222
+ $payment->setAmount($amount);
223
+
224
+ $nvpStr = $this->getNVPArray($payment, $method,'1');
225
+
226
+
227
+ $response = $this->processPayment($nvpStr);
228
+
229
+
230
+
231
+ if (!$response) {
232
+ $error = Mage::helper('checkoutcom')->__('Gateway request error: %s', $this->errorDetails['message']);
233
+ }
234
+ else {
235
+ $result = @simplexml_load_string($response);
236
+ $gwerror = $result->{'error_text'};
237
+
238
+ if(!$gwerror){
239
+ if (!$result) {
240
+ $error = Mage::helper('checkoutcom')->__('Cannot process your payment. Please try again.');
241
+ }
242
+ elseif ($result->{'responsecode'} != '0') {
243
+ $error = Mage::helper('checkoutcom')->__("Cannot process your payment, error: %s (%s). Please try again.", $result->{'result'},$result->{'responsecode'}, $response);
244
+ }
245
+ }else
246
+ {
247
+ $error = Mage::helper('checkoutcom')->__("Cannot process your payment, error: %s. Please try again.", $gwerror, $response);
248
+ }
249
+ }
250
+ if ($error !== false) {
251
+ Mage::throwException($error);
252
+ }
253
+ else {
254
+ $payment->setStatus(self::STATUS_APPROVED);
255
+ $payment->setLastTransId($result->{'tranid'});
256
+ }
257
+
258
+ return $this;
259
+ }
260
+
261
+ /**
262
+ * called if refunding
263
+ */
264
+ public function refund (Varien_Object $payment, $amount)
265
+ {
266
+ Mage::throwException("Refund not Supported.");
267
+ return $this;
268
+ }
269
+
270
+ /**
271
+ * called if voiding a payment
272
+ */
273
+ public function void (Varien_Object $payment)
274
+ {
275
+ Mage::throwException("Voi not Supported.");
276
+ return $this;
277
+ }
278
+ }
app/code/community/Evopin/Checkoutcom/Model/Source/Cctype.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Evopin_Checkoutcom_Model_Source_Cctype extends Mage_Payment_Model_Source_Cctype
3
+ {
4
+ public function getAllowedTypes()
5
+ {
6
+ return array('VI', 'MC');
7
+ }
8
+ }
app/code/community/Evopin/Checkoutcom/Model/Source/PaymentAction.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Evopin_Checkoutcom_Model_Source_PaymentAction
4
+ {
5
+ public function toOptionArray()
6
+ {
7
+ return array(
8
+ array(
9
+ 'value' => Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE,
10
+ 'label' => Mage::helper('checkoutcom')->__('Authorize Only')
11
+ ),
12
+ array(
13
+ 'value' => Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE_CAPTURE,
14
+ 'label' => Mage::helper('checkoutcom')->__('Authorize and Capture')
15
+ ),
16
+ );
17
+ }
18
+ }
app/code/community/Evopin/Checkoutcom/etc/config.xml ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <modules>
4
+ <Evopin_Checkoutcom>
5
+ <version>0.0.1</version>
6
+ </Evopin_Checkoutcom>
7
+ </modules>
8
+ <global>
9
+ <models>
10
+ <checkoutcom>
11
+ <class>Evopin_Checkoutcom_Model</class>
12
+ <resourceModel>checkoutcom_mysql4</resourceModel>
13
+ </checkoutcom>
14
+ <checkoutcom_mysql4>
15
+ <class>Evopin_Checkoutcom_Model_Mysql4</class>
16
+ <entities>
17
+ <checkoutcom_debug><table></table></checkoutcom_debug>
18
+ </entities>
19
+ </checkoutcom_mysql4>
20
+ </models>
21
+ <resources>
22
+ <checkoutcom_setup>
23
+ <setup>
24
+ <module>Evopin_Checkoutcom</module>
25
+ </setup>
26
+ <connection>
27
+ <use>core_setup</use>
28
+ </connection>
29
+ </checkoutcom_setup>
30
+ <checkoutcom_write>
31
+ <connection>
32
+ <use>core_write</use>
33
+ </connection>
34
+ </checkoutcom_write>
35
+ <checkoutcom_read>
36
+ <connection>
37
+ <use>core_read</use>
38
+ </connection>
39
+ </checkoutcom_read>
40
+ </resources>
41
+ <helpers>
42
+ <checkoutcom>
43
+ <class>Evopin_Checkoutcom_Helper</class>
44
+ </checkoutcom>
45
+ </helpers>
46
+ <blocks>
47
+ <checkoutcom>
48
+ <class>Evopin_Checkoutcom_Block</class>
49
+ </checkoutcom>
50
+ </blocks>
51
+ </global>
52
+ <default>
53
+ <payment>
54
+ <checkoutcom>
55
+ <active>0</active>
56
+ <model>checkoutcom/payment</model>
57
+ <order_status>pending</order_status>
58
+ <title>Checkout.com payment gateway</title>
59
+ <user_name>demo</user_name>
60
+ <password>demo</password>
61
+ <cctypes>VI,MC</cctypes>
62
+ <payment_action>authorize</payment_action>
63
+ <order_status>1</order_status>
64
+ <gateway_url>http://test.checkoutcom.com/SmartPayments/transact.asmx/ProcessCreditCard</gateway_url>
65
+ </checkoutcom>
66
+ </payment>
67
+ </default>
68
+ </config>
app/code/community/Evopin/Checkoutcom/etc/system.xml ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <sections>
4
+ <payment>
5
+ <groups>
6
+ <checkoutcom translate="label" module="checkoutcom">
7
+ <label>Checkout.com payment gateway</label>
8
+ <sort_order>11</sort_order>
9
+ <show_in_default>1</show_in_default>
10
+ <show_in_website>1</show_in_website>
11
+ <show_in_store>1</show_in_store>
12
+ <fields>
13
+ <active translate="label">
14
+ <label>Enabled</label>
15
+ <frontend_type>select</frontend_type>
16
+ <source_model>adminhtml/system_config_source_yesno</source_model>
17
+ <sort_order>1</sort_order>
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
+ </active>
22
+ <title translate="label">
23
+ <label>Title</label>
24
+ <frontend_type>text</frontend_type>
25
+ <sort_order>2</sort_order>
26
+ <show_in_default>1</show_in_default>
27
+ <show_in_website>1</show_in_website>
28
+ <show_in_store>0</show_in_store>
29
+ </title>
30
+ <user_name translate="label">
31
+ <label>Merchant Code</label>
32
+ <frontend_type>obscure</frontend_type>
33
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
34
+ <sort_order>3</sort_order>
35
+ <show_in_default>1</show_in_default>
36
+ <show_in_website>1</show_in_website>
37
+ <show_in_store>0</show_in_store>
38
+ </user_name>
39
+ <password translate="label">
40
+ <label>Merchant Password</label>
41
+ <frontend_type>obscure</frontend_type>
42
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
43
+ <sort_order>4</sort_order>
44
+ <show_in_default>1</show_in_default>
45
+ <show_in_website>1</show_in_website>
46
+ <show_in_store>0</show_in_store>
47
+ </password>
48
+ <test translate="label">
49
+ <label>Test Mode</label>
50
+ <frontend_type>select</frontend_type>
51
+ <source_model>adminhtml/system_config_source_yesno</source_model>
52
+ <sort_order>5</sort_order>
53
+ <show_in_default>1</show_in_default>
54
+ <show_in_website>1</show_in_website>
55
+ <show_in_store>0</show_in_store>
56
+ </test>
57
+ <cctypes translate="label">
58
+ <label>Credit Card Types</label>
59
+ <frontend_type>multiselect</frontend_type>
60
+ <source_model>checkoutcom/source_cctype</source_model>
61
+ <sort_order>15</sort_order>
62
+ <show_in_default>1</show_in_default>
63
+ <show_in_website>1</show_in_website>
64
+ <show_in_store>0</show_in_store>
65
+ </cctypes>
66
+ <payment_action translate="label">
67
+ <label>Trans Type</label>
68
+ <frontend_type>select</frontend_type>
69
+ <source_model>checkoutcom/source_paymentAction</source_model>
70
+ <sort_order>5</sort_order>
71
+ <show_in_default>1</show_in_default>
72
+ <show_in_website>1</show_in_website>
73
+ <show_in_store>0</show_in_store>
74
+ </payment_action>
75
+ <order_status translate="label">
76
+ <label>New Order Status</label>
77
+ <frontend_type>select</frontend_type>
78
+ <source_model>adminhtml/system_config_source_order_status_processing</source_model>
79
+ <sort_order>5</sort_order>
80
+ <show_in_default>1</show_in_default>
81
+ <show_in_website>1</show_in_website>
82
+ <show_in_store>0</show_in_store>
83
+ </order_status>
84
+ </fields>
85
+ </checkoutcom>
86
+ </groups>
87
+ </payment>
88
+ </sections>
89
+ </config>
app/design/frontend/base/default/template/evopin/checkoutcom/form/paymentform.phtml ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode() ?>
3
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none">
4
+ <li>
5
+ <div class="input-box">
6
+ <label for="<?php echo $_code ?>_cc_owner"><?php echo $this->__('Name on Card') ?> <span class="required">*</span></label><br/>
7
+ <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="required-entry input-text" id="<?php echo $_code ?>_cc_owner" name="payment[cc_owner]" value="<?php echo $this->htmlEscape($this->getInfoData('cc_owner')) ?>"/>
8
+ </div>
9
+ </li>
10
+ <li>
11
+ <div class="input-box">
12
+ <label for="<?php echo $_code ?>_cc_type"><?php echo $this->__('Credit Card Type') ?> <span class="required">*</span></label><br />
13
+ <select id="<?php echo $_code ?>_cc_type" name="payment[cc_type]" class="required-entry validate-cc-type-select">
14
+ <option value=""><?php echo $this->__('--Please Select--')?></option>
15
+ <?php $_ccType = $this->getInfoData('cc_type') ?>
16
+ <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
17
+ <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
18
+ <?php endforeach ?>
19
+ </select>
20
+ </div>
21
+ </li>
22
+ <li>
23
+ <div class="input-box">
24
+ <label for="<?php echo $_code ?>_cc_number"><?php echo $this->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
25
+ <input type="text" id="<?php echo $_code ?>_cc_number" name="payment[cc_number]" title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
26
+ </div>
27
+ </li>
28
+ <li>
29
+ <div class="input-box">
30
+ <label for="<?php echo $_code ?>_expiration"><?php echo $this->__('Expiration Date') ?> <span class="required">*</span></label><br />
31
+ <div class="v-fix">
32
+ <select id="<?php echo $_code ?>_expiration" style="width:140px;" name="payment[cc_exp_month]" class="required-entry">
33
+ <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
34
+ <?php foreach ($this->getCcMonths() as $k=>$v): ?>
35
+ <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
36
+ <?php endforeach ?>
37
+ </select>
38
+ </div>
39
+ <div class="v-fix" style="padding-left:5px;">
40
+ <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
41
+ <select id="<?php echo $_code ?>_expiration_yr" style="width:103px;" name="payment[cc_exp_year]" class="required-entry">
42
+ <?php foreach ($this->getCcYears() as $k=>$v): ?>
43
+ <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
44
+ <?php endforeach ?>
45
+ </select>
46
+ </div>
47
+ </div>
48
+ </li>
49
+ <?php if($this->hasVerification()): ?>
50
+ <li>
51
+ <div class="input-box">
52
+ <label for="<?php echo $_code ?>_cc_cid"><?php echo $this->__('Card Verification Number') ?> <span class="required">*</span></label><br />
53
+ <div class="v-fix"><input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="required-entry input-text validate-cc-cvn" id="<?php echo $_code ?>_cc_cid" name="payment[cc_cid]" style="width:3em;" value="" /></div>
54
+ &nbsp;
55
+ <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
56
+ </div>
57
+ </li>
58
+ <?php endif; ?>
59
+ </ul>
60
+ </fieldset>
package.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Checkout_Payment</name>
4
+ <version>0.0.1</version>
5
+ <stability>stable</stability>
6
+ <license>OSL</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>This extension will allow your customers to use Checkout.com payment gateway.</summary>
10
+ <description>This payment module allow you to integrate your store with Checkout.com, your customers will be able to use checkout.com to complete their orders.</description>
11
+ <notes>Checkout.com Payment Gateway first release 0.0.1 </notes>
12
+ <authors><author><name>EvoPin</name><user>EvoPin</user><email>evopin@gmail.com</email></author></authors>
13
+ <date>2014-01-19</date>
14
+ <time>10:20:40</time>
15
+ <contents><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="evopin"><dir name="checkoutcom"><dir name="form"><file name="paymentform.phtml" hash="16d0f09bf93ebcd9d1c9e468cad8e412"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Evopin"><dir name="Checkoutcom"><dir name="Block"><dir name="Form"><file name="Paymentform.php" hash="4e644a739bce461568e0ae494d8056ec"/></dir></dir><dir name="etc"><file name="config.xml" hash="749ea8a6c605622da48e91733f5afef7"/><file name="system.xml" hash="dba92630937a3c5cdcddb8627a295818"/></dir><dir name="Helper"><file name="Data.php" hash="2640d7a044fc5a05588da422df827ce9"/></dir><dir name="Model"><file name="Payment.php" hash="d85260e92750f643573a6ecc4667ab80"/><dir name="Source"><file name="Cctype.php" hash="41b4e749a1b05a68d190160cb5edabdc"/><file name="PaymentAction.php" hash="fc9543a98585a5848cb0193916e2ba05"/></dir></dir></dir></dir></target></contents>
16
+ <compatible/>
17
+ <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
18
+ </package>