Version Notes
Added allowed countries configuration, added new error codes and extended information about them.
Download this release
Release Info
Developer | Eric Benayoun |
Extension | payitsimplepayment |
Version | 1.1.0 |
Comparing to | |
See all releases |
Code changes from version 1.0.5 to 1.1.0
app/code/community/PayItSimple/Payment/Model/Api.php
CHANGED
@@ -105,7 +105,8 @@ class PayItSimple_Payment_Model_Api extends Mage_Core_Model_Abstract
|
|
105 |
if (!isset($result['Result'])) {
|
106 |
throw new ErrorException('Unknown result from gateway.', self::ERROR_UNKNOWN_GW_RESULT_CODE);
|
107 |
} elseif ($result['Result'] != 0) {
|
108 |
-
throw new ErrorException($this->getGatewayError((int)$result['Result']) . $result['ResponseStatus'], (int)$result['Result']);
|
|
|
109 |
}
|
110 |
} catch (Zend_Http_Client_Exception $e) {
|
111 |
$this->setError(self::ERROR_HTTP_REQUEST, $e->getMessage());
|
@@ -189,26 +190,39 @@ class PayItSimple_Payment_Model_Api extends Mage_Core_Model_Abstract
|
|
189 |
$errors = array(
|
190 |
0 => 'The operation completed successfully',
|
191 |
4 => 'The operation was denied',
|
192 |
-
501 => 'Invalid
|
193 |
-
502 => 'Invalid
|
194 |
-
503 => 'Invalid
|
195 |
-
504 => '
|
196 |
-
505 => 'Invalid
|
197 |
-
506 => 'Invalid
|
198 |
-
508 => 'Invalid
|
199 |
-
509 => 'Invalid
|
200 |
-
510 => 'Invalid
|
201 |
-
511 => '
|
202 |
-
520 => 'Invalid CVV
|
203 |
-
521 => 'Invalid
|
204 |
-
522 => 'Invalid
|
205 |
-
523 => 'Invalid
|
206 |
-
524 => 'Invalid
|
207 |
-
525 => 'Invalid
|
208 |
-
526 => 'Invalid ZIP
|
209 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
);
|
211 |
return (is_null($code)) ? $errors : $errors[$code];
|
212 |
}
|
213 |
-
|
214 |
}
|
105 |
if (!isset($result['Result'])) {
|
106 |
throw new ErrorException('Unknown result from gateway.', self::ERROR_UNKNOWN_GW_RESULT_CODE);
|
107 |
} elseif ($result['Result'] != 0) {
|
108 |
+
//throw new ErrorException($this->getGatewayError((int)$result['Result']) . $result['ResponseStatus'], (int)$result['Result']);
|
109 |
+
throw new ErrorException($result['ResponseStatus']['Message']."\n(".$result['ErrorAdditionalInfo'].")", (int)$result['Result']);
|
110 |
}
|
111 |
} catch (Zend_Http_Client_Exception $e) {
|
112 |
$this->setError(self::ERROR_HTTP_REQUEST, $e->getMessage());
|
190 |
$errors = array(
|
191 |
0 => 'The operation completed successfully',
|
192 |
4 => 'The operation was denied',
|
193 |
+
501 => 'Invalid Credentials',
|
194 |
+
502 => 'Invalid Installment Plan Number',
|
195 |
+
503 => 'Invalid Installment Plan Status',
|
196 |
+
504 => 'Card type not supported',
|
197 |
+
505 => 'Invalid Number of Installments',
|
198 |
+
506 => 'Invalid Amount Format',
|
199 |
+
508 => 'Invalid Country Code',
|
200 |
+
509 => 'Invalid Response URL',
|
201 |
+
510 => 'Invalid Card holder Name',
|
202 |
+
511 => 'Invalid Amount',
|
203 |
+
520 => 'Invalid CVV',
|
204 |
+
521 => 'Invalid Card Number',
|
205 |
+
522 => 'Invalid Expiration Date ',
|
206 |
+
523 => 'Invalid Consumer Full Name ',
|
207 |
+
524 => 'Invalid Email Format',
|
208 |
+
525 => 'Invalid Address ',
|
209 |
+
526 => 'Invalid ZIP Code ',
|
210 |
+
527 => 'Card bin not supported ',
|
211 |
+
528 => 'Card issue country not supported',
|
212 |
+
599 => 'General Error Occurred',
|
213 |
+
600 => 'Gateway failed to process request',
|
214 |
+
601 => 'Invalid ZIP Code ',
|
215 |
+
602 => 'Invalid Address ',
|
216 |
+
603 => 'Invalid CVV',
|
217 |
+
604 => 'Invalid Expiration Date ',
|
218 |
+
606 => 'Invalid Address or Zip',
|
219 |
+
607 => 'Invalid card number',
|
220 |
+
608 => 'Problem with card',
|
221 |
+
609 => 'Insufficient funds',
|
222 |
+
610 => 'Credit card was declined',
|
223 |
+
630 => 'Failed to connect to gateway',
|
224 |
+
640 => 'Problem with merchant details on gateway',
|
225 |
);
|
226 |
return (is_null($code)) ? $errors : $errors[$code];
|
227 |
}
|
|
|
228 |
}
|
app/code/community/PayItSimple/Payment/Model/PisMethod.php
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
<?php
|
2 |
class PayItSimple_Payment_Model_PisMethod extends Mage_Payment_Model_Method_Cc
|
3 |
{
|
4 |
-
|
5 |
protected $_canSaveCc = true;
|
6 |
-
|
7 |
-
|
8 |
protected $_canAuthorize = true;
|
9 |
protected $_canCapture = true;
|
10 |
protected $_canCapturePartial = false;
|
@@ -164,7 +164,7 @@ class PayItSimple_Payment_Model_PisMethod extends Mage_Payment_Model_Method_Cc
|
|
164 |
'Email' => $order->getCustomerEmail(),
|
165 |
'AvsAddress' => $address,
|
166 |
'AvsZip' => $billingaddress->getData('postcode'),
|
167 |
-
'CountryId' =>
|
168 |
'AmountBeforeFees' => $amount,
|
169 |
'CardHolder' => $billingaddress->getData('firstname')
|
170 |
. ' ' . $billingaddress->getData('lastname'),
|
@@ -228,5 +228,35 @@ class PayItSimple_Payment_Model_PisMethod extends Mage_Payment_Model_Method_Cc
|
|
228 |
return $this->getConfigData('api_url');
|
229 |
}
|
230 |
|
231 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
}
|
1 |
<?php
|
2 |
class PayItSimple_Payment_Model_PisMethod extends Mage_Payment_Model_Method_Cc
|
3 |
{
|
4 |
+
protected $_code = 'pis_cc';
|
5 |
protected $_canSaveCc = true;
|
6 |
+
protected $_formBlockType = 'pis_payment/form_pis';
|
7 |
+
protected $_infoBlockType = 'pis_payment/info_pis';
|
8 |
protected $_canAuthorize = true;
|
9 |
protected $_canCapture = true;
|
10 |
protected $_canCapturePartial = false;
|
164 |
'Email' => $order->getCustomerEmail(),
|
165 |
'AvsAddress' => $address,
|
166 |
'AvsZip' => $billingaddress->getData('postcode'),
|
167 |
+
'CountryId' => $this->getCountryCodePIS($billingaddress->getCountryId()),
|
168 |
'AmountBeforeFees' => $amount,
|
169 |
'CardHolder' => $billingaddress->getData('firstname')
|
170 |
. ' ' . $billingaddress->getData('lastname'),
|
228 |
return $this->getConfigData('api_url');
|
229 |
}
|
230 |
|
231 |
+
public function getCountryCodePIS($countryCode)
|
232 |
+
{
|
233 |
+
$countryIds = array(
|
234 |
+
'AF' => 4,'AX' => 248,'AL' => 8,'DZ' => 12,'AS' => 16,'AD' => 20,'AO' => 24,'AI' => 660,'AQ' => 10,'AG' => 28,'AR' => 32,
|
235 |
+
'AM' => 51,'AW' => 533,'AU' => 36,'AT' => 40,'AZ' => 31,'BS' => 44,'BH' => 48,'BD' => 50,'BB' => 52,'BY' => 112,'BE' => 56,
|
236 |
+
'BZ' => 84,'BJ' => 204,'BM' => 60,'BT' => 64,'BO' => 68,'BA' => 70,'BW' => 72,'BV' => 74,'BR' => 76,'IO' => 86,'VG' => 92,
|
237 |
+
'BN' => 96,'BG' => 100,'BF' => 854,'BI' => 108,'KH' => 116,'CM' => 120,'CA' => 124,'CV' => 132,'KY' => 136,'CF' => 140,
|
238 |
+
'TD' => 148,'CL' => 152,'CN' => 156,'CX' => 162,'CC' => 166,'CO' => 170,'KM' => 174,'CG' => 180,'CD' => 178,'CK' => 184,
|
239 |
+
'CR' => 188,'CI' => 384,'HR' => 191,'CU' => 192,'CY' => 196,'CZ' => 203,'DK' => 208,'DJ' => 262,'DM' => 212,'DO' => 214,
|
240 |
+
'EC' => 218,'EG' => 818,'SV' => 222,'GQ' => 226,'ER' => 232,'EE' => 233,'ET' => 231,'FK' => 238,'FO' => 234,'FJ' => 242,
|
241 |
+
'FI' => 246,'FR' => 250,'GF' => 254,'PF' => 258,'TF' => 260,'GA' => 266,'GM' => 270,'GE' => 268,'DE' => 276,'GH' => 288,
|
242 |
+
'GI' => 292,'GR' => 300,'GL' => 304,'GD' => 308,'GP' => 312,'GU' => 316,'GT' => 320,'GG' => 831,'GN' => 324,'GW' => 624,
|
243 |
+
'GY' => 328,'HT' => 332,'HM' => 334,'HN' => 340,'HK' => 344,'HU' => 348,'IS' => 352,'IN' => 356,'ID' => 360,'IR' => 364,
|
244 |
+
'IQ' => 368,'IE' => 372,'IM' => 833,'IL' => 376,'IT' => 380,'JM' => 388,'JP' => 392,'JE' => 832,'JO' => 400,'KZ' => 398,
|
245 |
+
'KE' => 404,'KI' => 296,'KW' => 414,'KG' => 417,'LA' => 418,'LV' => 428,'LB' => 422,'LS' => 426,'LR' => 430,'LY' => 434,
|
246 |
+
'LI' => 438,'LT' => 440,'LU' => 442,'MO' => 446,'MK' => 807,'MG' => 450,'MW' => 454,'MY' => 458,'MV' => 462,'ML' => 466,
|
247 |
+
'MT' => 470,'MH' => 584,'MQ' => 474,'MR' => 478,'MU' => 480,'YT' => 175,'MX' => 484,'FM' => 583,'MD' => 498,'MC' => 492,
|
248 |
+
'MN' => 496,'ME' => 499,'MS' => 500,'MA' => 504,'MZ' => 508,'MM' => 104,'NA' => 516,'NR' => 520,'NP' => 524,'NL' => 528,
|
249 |
+
'AN' => 530,'NC' => 540,'NZ' => 554,'NI' => 558,'NE' => 562,'NG' => 566,'NU' => 570,'NF' => 574,'MP' => 580,'KP' => 408,
|
250 |
+
'NO' => 578,'OM' => 512,'PK' => 586,'PW' => 585,'PS' => 275,'PA' => 591,'PG' => 598,'PY' => 600,'PE' => 604,'PH' => 608,
|
251 |
+
'PN' => 612,'PL' => 616,'PT' => 620,'PR' => 630,'QA' => 634,'RE' => 638,'RO' => 642,'RU' => 643,'RW' => 646,'BL' => '',
|
252 |
+
'SH' => 654,'KN' => 659,'LC' => 662,'MF' => '','PM' => 666,'WS' => 882,'SM' => 674,'ST' => 678,'SA' => 682,'SN' => 686,
|
253 |
+
'RS' => 688,'SC' => 690,'SL' => 694,'SG' => 702,'SK' => 703,'SI' => 705,'SB' => 90,'SO' => 706,'ZA' => 710,'GS' => 239,
|
254 |
+
'KR' => 410,'ES' => 724,'LK' => 144,'VC' => 670,'SD' => 736,'SR' => 740,'SJ' => 744,'SZ' => 748,'SE' => 754,'CH' => 756,
|
255 |
+
'SY' => 760,'TW' => 158,'TJ' => 762,'TZ' => 834,'TH' => 764,'TL' => 626,'TG' => 768,'TK' => 772,'TO' => 776,'TT' => 780,
|
256 |
+
'TN' => 788,'TR' => 792,'TM' => 795,'TC' => 796,'TV' => 798,'UG' => 800,'UA' => 804,'AE' => 784,'GB' => 826,'US' => 840,
|
257 |
+
'UY' => 858,'UM' => 581,'VI' => 850,'UZ' => 860,'VU' => 548,'VA' => 336,'VE' => 862,'VN' => 704,'WF' => 876,'EH' => 732,
|
258 |
+
'YE' => 887,'ZM' => 894,'ZW' => 716,
|
259 |
+
);
|
260 |
+
return ($countryIds[$countryCode]) ? $countryIds[$countryCode] : 0;
|
261 |
+
}
|
262 |
}
|
app/code/community/PayItSimple/Payment/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<PayItSimple_Payment>
|
5 |
-
<version>1.0
|
6 |
</PayItSimple_Payment>
|
7 |
</modules>
|
8 |
<frontend>
|
@@ -111,7 +111,7 @@
|
|
111 |
<sandbox_flag>0</sandbox_flag>
|
112 |
<debug>0</debug>
|
113 |
<cctypes>MC,VI</cctypes>
|
114 |
-
<allowspecific>
|
115 |
<specificcountry>US</specificcountry>
|
116 |
<centinel>0</centinel>
|
117 |
<useccv>1</useccv>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<PayItSimple_Payment>
|
5 |
+
<version>1.1.0</version>
|
6 |
</PayItSimple_Payment>
|
7 |
</modules>
|
8 |
<frontend>
|
111 |
<sandbox_flag>0</sandbox_flag>
|
112 |
<debug>0</debug>
|
113 |
<cctypes>MC,VI</cctypes>
|
114 |
+
<allowspecific>0</allowspecific>
|
115 |
<specificcountry>US</specificcountry>
|
116 |
<centinel>0</centinel>
|
117 |
<useccv>1</useccv>
|
app/code/community/PayItSimple/Payment/etc/system.xml
CHANGED
@@ -20,6 +20,25 @@
|
|
20 |
<show_in_website>1</show_in_website>
|
21 |
<show_in_store>1</show_in_store>
|
22 |
</active>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
<title translate="label">
|
24 |
<label>Title</label>
|
25 |
<frontend_type>text</frontend_type>
|
20 |
<show_in_website>1</show_in_website>
|
21 |
<show_in_store>1</show_in_store>
|
22 |
</active>
|
23 |
+
<allowspecific translate="label">
|
24 |
+
<label>Payment from Applicable Countries</label>
|
25 |
+
<frontend_type>allowspecific</frontend_type>
|
26 |
+
<sort_order>5</sort_order>
|
27 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</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 |
+
</allowspecific>
|
32 |
+
<specificcountry translate="label">
|
33 |
+
<label>Payment from Specific Countries</label>
|
34 |
+
<frontend_type>multiselect</frontend_type>
|
35 |
+
<sort_order>6</sort_order>
|
36 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
37 |
+
<show_in_default>1</show_in_default>
|
38 |
+
<show_in_website>1</show_in_website>
|
39 |
+
<show_in_store>0</show_in_store>
|
40 |
+
<can_be_empty>1</can_be_empty>
|
41 |
+
</specificcountry>
|
42 |
<title translate="label">
|
43 |
<label>Title</label>
|
44 |
<frontend_type>text</frontend_type>
|
package.xml
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
-
<package><name>payitsimplepayment</name><version>1.0
|
3 |
It was carefully designed to meet all Magento best development practices and is compatible with all other extensions. This extension is free of charge.<br /><br />
|
4 |
|
5 |
<h3>Signup for FREE</h3>
|
6 |
-
<a href="http://payitsimple.com/register/">Signup with PayItSimple for FREE and start offering your customers interest-free installment payments on their existing credit cards.</a> <br /><br /></description><notes>
|
1 |
<?xml version="1.0"?>
|
2 |
+
<package><name>payitsimplepayment</name><version>1.1.0</version><stability>stable</stability><license>OSL</license><channel>community</channel><extends></extends><summary>Offer your customers interest-free credit card installment payments. Official extension.</summary><description>This extension allows ecommerce merchants to add an additional payment method to your checkout process. A PayItSimple button is added to your website for fast and easy checkout.<br />
|
3 |
It was carefully designed to meet all Magento best development practices and is compatible with all other extensions. This extension is free of charge.<br /><br />
|
4 |
|
5 |
<h3>Signup for FREE</h3>
|
6 |
+
<a href="http://payitsimple.com/register/">Signup with PayItSimple for FREE and start offering your customers interest-free installment payments on their existing credit cards.</a> <br /><br /></description><notes>Added allowed countries configuration, added new error codes and extended information about them.</notes><authors><author><name>Eric Benayoun</name><user>ericbena</user><email>ericb@payitsimple.com</email></author></authors><date>2015-07-29</date><time>6:40:09</time><compatible></compatible><dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies><contents><target name="mage"><dir name="app"><dir name="design"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="payitsimple"><dir name="system"><dir name="config"><file name="button.phtml" hash="b59617f95422a9db03aa410055066df3"/><file name="notification.phtml" hash="27ef3ed68855ba5cd8736df38229e5bf"/></dir></dir></dir></dir><dir name="layout"><file name="payitsimple_notification.xml" hash="4ace8359849725965c7ad2e13bf64f07"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="payitsimple"><file name="help.phtml" hash="78a8c27a89e6a64c2b4a8222ccbc0349"/><file name="terms.phtml" hash="6dd4a1a66a29edbb6deaede13c3f159e"/><dir name="form"><file name="method_faq.phtml" hash="6d64f3be6f4a8bd8c3e84a0977b46705"/><file name="pis.phtml" hash="e6d8fda242efbb2874a28b720696af4e"/></dir></dir></dir><dir name="layout"><file name="pis_payment.xml" hash="9f0521aea108f9e3f9b9c777c6aefee3"/></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="PayItSimple_Payment.xml" hash="608e164d747a215efa2cf4d062693236"/></dir></dir><dir name="code"><dir name="community"><dir name="PayItSimple"><dir name="Payment"><dir name="sql"><dir name="pis_payment_setup"><file name="mysql4-install-1.0.0.php" hash="8a7677c4ec0aa7906fabbba92efe1eed"/></dir></dir><dir name="Block"><dir name="Info"><file name="Pis.php" hash="42cb4edb5ff208a1a3ee7612579a6165"/></dir><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Notification.php" hash="27ac86d84fe3927c28abc6da018736cd"/><dir name="Form"><file name="Button.php" hash="1d46f9171f8b9017aff4bda66c23f160"/></dir></dir></dir></dir><dir name="Form"><file name="Pis.php" hash="1b7804b11f2119ddd64a464ddd882a41"/></dir></dir><dir name="Helper"><file name="Data.php" hash="1fba2ce41eb4f554e365d82424323ccd"/></dir><dir name="etc"><file name="config.xml" hash="1f09389b3a71e3e8e9c270abcdac7e5e"/><file name="system.xml" hash="b9a2f781c10464acfb3cbc48f86aaa5d"/></dir><dir name="controllers"><file name="PaymentController.php" hash="598f81b5afec4b73d2d14bf4a309e848"/><dir name="Adminhtml"><file name="PayitsimpleController.php" hash="4e7a1a3d4dfca38656aa32da9ef70df8"/></dir></dir><dir name="Model"><file name="Api.php" hash="51bd012b7d576fb782727662ac532ec8"/><file name="PisMethod.php" hash="9f2265397225368969926d73d7d6617a"/><dir name="Source"><file name="Action.php" hash="1390fb3dce78cf8eff1118df2ee5b997"/><file name="Cctype.php" hash="7f77a0c6729d0896c8ec250bb7f4fd49"/><file name="Installments.php" hash="65b727e639308cba4241662a2040d6f3"/></dir></dir></dir></dir></dir></dir></dir></target></contents></package>
|