Cignex_Paymenttechchase - Version 1.1.3

Version Notes

This module requires the PHP SOAP extension to be installed.

Download this release

Release Info

Developer Magento Core Team
Extension Cignex_Paymenttechchase
Version 1.1.3
Comparing to
See all releases


Code changes from version 1.1.2 to 1.1.3

Files changed (27) hide show
  1. app/code/local/Cignex/Paymenttechchase/Model/PaymentMethod.php +34 -4
  2. app/code/local/Cignex/Paymenttechchase/Model/PaymentMethod_old.php +373 -0
  3. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Block/Paymenttechchase.php +39 -0
  4. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Helper/Data.php +41 -0
  5. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Mysql4/Paymenttechchase.php +34 -0
  6. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Mysql4/Paymenttechchase/Collection.php +34 -0
  7. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Mysql4/Profilemgmt.php +112 -0
  8. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/NewOrder.php +31 -0
  9. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/NewOrderRequestElement.php +46 -0
  10. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/PaymentMethod.php +373 -0
  11. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/PaymentMethod_old.php +373 -0
  12. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Paymenttechchase.php +34 -0
  13. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileAdd.php +31 -0
  14. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileAddElement.php +45 -0
  15. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileChange.php +31 -0
  16. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileChangeElement.php +45 -0
  17. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileDelete.php +31 -0
  18. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileDeleteElement.php +37 -0
  19. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileFetch.php +31 -0
  20. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileFetchElement.php +36 -0
  21. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Profilemgmt.php +267 -0
  22. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Status.php +38 -0
  23. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/controllers/IndexController.php +33 -0
  24. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/etc/config.xml +102 -0
  25. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/etc/system.xml +121 -0
  26. app/code/local/Cignex/Paymenttechchase/Paymenttechchase/sql/paymenttechchase_setup/mysql4-install-0.1.0.php +44 -0
  27. package.xml +5 -5
app/code/local/Cignex/Paymenttechchase/Model/PaymentMethod.php CHANGED
@@ -210,20 +210,23 @@
210
  if(!$this->getConfigData('profile'))
211
  {
212
  $request->ccExp = $exp;
213
- $request->ccCardVerifyNum = $payment->getCcCid();
 
214
  $request->ccAccountNum = $payment->getCcNumber();
215
- $request->ccCardVerifyPresenceInd=1;
 
216
  $request->avsName = $payment->getCcOwner();
217
  }else{
218
  $CustRefNo = $this->_profileRequest($payment);
219
  $request->customerRefNum = $CustRefNo;
 
220
  $request->useCustomerRefNum = $CustRefNo;
221
  }
222
- $request->comments = "Test Web Service Refund Transaction";
223
  $request->orderID = $payment->getOrder()->getIncrementId();
224
  $request->industryType = "EC";
225
  $request->addProfileFromOrder = '';
226
- $request->profileOrderOverideInd = 'NO';
227
 
228
  if ($payment->getLastTransId() && $this->getAmount()>0) {
229
  $transId = $payment->getLastTransId();
@@ -272,6 +275,33 @@
272
  {
273
  $this->unsError();
274
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
275
  }
276
  else
277
  {
210
  if(!$this->getConfigData('profile'))
211
  {
212
  $request->ccExp = $exp;
213
+ if($payment->getCcCid() != '')
214
+ $request->ccCardVerifyNum = $payment->getCcCid();
215
  $request->ccAccountNum = $payment->getCcNumber();
216
+ if(($payment->getCcType() == 'VI' || $payment->getCcType() == 'DI') && $payment->getCcCid() != '')
217
+ $request->ccCardVerifyPresenceInd = 1;
218
  $request->avsName = $payment->getCcOwner();
219
  }else{
220
  $CustRefNo = $this->_profileRequest($payment);
221
  $request->customerRefNum = $CustRefNo;
222
+ $request->profileOrderOverideInd = 'NO';
223
  $request->useCustomerRefNum = $CustRefNo;
224
  }
225
+ $request->comments = "Test Web Service Authorize and Capture Transaction";
226
  $request->orderID = $payment->getOrder()->getIncrementId();
227
  $request->industryType = "EC";
228
  $request->addProfileFromOrder = '';
229
+
230
 
231
  if ($payment->getLastTransId() && $this->getAmount()>0) {
232
  $transId = $payment->getLastTransId();
275
  {
276
  $this->unsError();
277
  }
278
+ else
279
+ {
280
+ if($response->procStatus != RESPONSE_PROC_STATUS_APPROVED)
281
+ {
282
+ $message = 'System Error : '.$response->statusMsg;
283
+ $message = str_replace(' ','',$message);
284
+ Mage::throwException($response->procStatusMessage);
285
+ }
286
+ else if($response->cvvRespCode!='M')
287
+ {
288
+ $message ='Cardholder Verification : '.$response->respMsg;
289
+ $message = str_replace(' ','',$message);
290
+ Mage::throwException($response->procStatusMessage);
291
+ }
292
+ else if($response->avsRespCode !='Z' || $response->avsRespCode !='9' || $response->avsRespCode !='H')
293
+ {
294
+ $message ='Address Verfication : '.$response->respMsg;
295
+ $message = str_replace(' ','',$message);
296
+ Mage::throwException($response->procStatusMessage);
297
+ }
298
+ else if($response->approvalStatus == 0 || $response->approvalStatus == 2)
299
+ {
300
+ $message = 'Card is in Decline State';
301
+ Mage::throwException($response->procStatusMessage);
302
+ }
303
+ return false;
304
+ }
305
  }
306
  else
307
  {
app/code/local/Cignex/Paymenttechchase/Model/PaymentMethod_old.php ADDED
@@ -0,0 +1,373 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ error_reporting(0);
3
+
4
+ /**
5
+ * Magento
6
+ *
7
+ * NOTICE OF LICENSE
8
+ *
9
+ * This source file is subject to the Open Software License (OSL 3.0)
10
+ * that is bundled with this package in the file LICENSE.txt.
11
+ * It is also available through the world-wide-web at this URL:
12
+ * http://opensource.org/licenses/osl-3.0.php
13
+ * If you did not receive a copy of the license and are unable to
14
+ * obtain it through the world-wide-web, please send an email
15
+ * to license@magentocommerce.com so we can send you a copy immediately.
16
+ *
17
+ * DISCLAIMER
18
+ *
19
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
20
+ * versions in the future. If you wish to customize Magento for your
21
+ * needs please refer to http://www.magentocommerce.com for more information.
22
+ *
23
+ * @category Cignex
24
+ * @package Cignex_Paymentchase
25
+ * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+
30
+ class Cignex_Paymenttechchase_Model_PaymentMethod extends Mage_Payment_Model_Method_Cc
31
+ {
32
+ const REQUEST_TYPE_AUTH_CAPTURE = 'AC';
33
+ const REQUEST_TYPE_AUTH_ONLY = 'A';
34
+ const REQUEST_TYPE_CAPTURE_ONLY = 'C';
35
+ const REQUEST_TYPE_CREDIT = 'R';
36
+
37
+ const RESPONSE_CODE_APPROVED = 1;
38
+ const RESPONSE_CODE_DECLINED = 2;
39
+ const RESPONSE_CODE_ERROR = 3;
40
+ const RESPONSE_CODE_HELD = 4;
41
+
42
+ const RESPONSE_PROC_STATUS_APPROVED = 0;
43
+
44
+ protected $_code = 'paymenttechchase';
45
+
46
+ /**
47
+ * Availability options
48
+ */
49
+
50
+ protected $_isGateway = true;
51
+ protected $_canAuthorize = false;
52
+ protected $_canCapture = true;
53
+ protected $_canCapturePartial = true;
54
+ protected $_canRefund = true;
55
+ protected $_canVoid = false;
56
+ protected $_canUseInternal = true;
57
+ protected $_canUseCheckout = true;
58
+ protected $_canUseForMultishipping = true;
59
+ protected $_canSaveCc = false;
60
+
61
+ /**
62
+ * Get debug flag
63
+ *
64
+ * @return string
65
+ */
66
+ public function getDebug()
67
+ {
68
+ return Mage::getStoreConfig('paymenttechchase/chasepaymentech_result');
69
+ }
70
+ /**
71
+ * Get api url of Orbital CHASE Paymentech
72
+ *
73
+ * @return string
74
+ */
75
+ public function getApiGatewayUrl()
76
+ {
77
+ $value = Mage::getStoreConfig('payment/paymenttechchase/cgi_url');
78
+ return $value;
79
+ }
80
+
81
+ /**
82
+ * Send authorize request to gateway
83
+ *
84
+ * @param Varien_Object $payment
85
+ * @param decimal $amount
86
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
87
+ * @throws Mage_Core_Exception
88
+ */
89
+ public function authorize(Varien_Object $payment, $amount)
90
+ {
91
+ if ($amount <= 0) {
92
+ Mage::throwException(Mage::helper('paymenttechchase')->__('Invalid amount.'));
93
+ }
94
+ $payment->setChaseTransType(self::REQUEST_TYPE_AUTH_ONLY);
95
+ $payment->setAmount($amount);
96
+
97
+ $request = $this->_buildRequest($payment);
98
+ $response = $this->_postRequest($request);
99
+ if ($response) {
100
+ $payment->setStatus(self::STATUS_APPROVED)
101
+ ->setLastTransId($this->getTransactionId());
102
+ }else {
103
+ $e = $this->getError();
104
+ if (isset($e['message'])) {
105
+ $message = Mage::helper('paymenttechchase')->__('There has been an error processing your payment.') . $e['message'];
106
+ }
107
+ }
108
+ return $this;
109
+ }
110
+
111
+ /**
112
+ * Send capture request to gateway
113
+ *
114
+ * @param Varien_Object $payment
115
+ * @param decimal $amount
116
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
117
+ * @throws Mage_Core_Exception
118
+ */
119
+ public function capture(Varien_Object $payment, $amount)
120
+ {
121
+ $payment->setChaseTransType(self::REQUEST_TYPE_AUTH_CAPTURE);
122
+ $payment->setAmount($amount);
123
+ $this->setAmount($amount)
124
+ ->setPayment($payment);
125
+ $request = $this->_buildRequest($payment);
126
+ $response = $this->_postRequest($request);
127
+ if ($response) {
128
+ $payment->setStatus(self::STATUS_APPROVED)
129
+ ->setLastTransId($this->getTransactionId());
130
+ }
131
+ else {
132
+ $e = $this->getError();
133
+ if (isset($e['message'])) {
134
+ $message = Mage::helper('paymenttechchase')->__('There has been an error processing your payment.') . $e['message'];
135
+ }
136
+ }
137
+ return $this;
138
+ }
139
+
140
+ /**
141
+ * Send refund request to gateway
142
+ *
143
+ * @param Varien_Object $payment
144
+ * @param decimal $amount
145
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
146
+ * @throws Mage_Core_Exception
147
+ */
148
+ public function refund(Varien_Object $payment, $amount)
149
+ {
150
+ if ($payment->getLastTransId() && $amount > 0) {
151
+ $payment->setChaseTransType(self::REQUEST_TYPE_CREDIT);
152
+ $request = $this->_buildRequest($payment);
153
+ $request->txRefNum = $payment->getLastTransId();
154
+ $response = $this->_postRequest($request);
155
+ if ($response) {
156
+ $payment->setStatus(self::STATUS_APPROVED)
157
+ ->setLastTransId($this->getTransactionId());
158
+ }
159
+ else {
160
+ $e = $this->getError();
161
+ if (isset($e['message'])) {
162
+ $message = Mage::helper('paymenttechchase')->__('There has been an error processing your payment.') . $e['message'];
163
+ }
164
+ }
165
+ return $this;
166
+ }
167
+ }
168
+
169
+ /**
170
+ * Cancel the transaction
171
+ * @param Varien_Object $payment
172
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
173
+ */
174
+
175
+ public function cancel(Varien_Object $payment)
176
+ {
177
+ $payment->setStatus(self::STATUS_DECLINED);
178
+ return $this;
179
+ }
180
+
181
+ /**
182
+ * Prepare request to gateway
183
+ *
184
+ * @param Varien_Object $payment
185
+ * @return NewOrderRequestElement $request
186
+ */
187
+ protected function _buildRequest(Varien_Object $payment)
188
+ {
189
+ $order = $payment->getOrder();
190
+ $this->setStore($order->getStoreId());
191
+
192
+ $request = new Cignex_Paymenttechchase_Model_NewOrderRequestElement;
193
+
194
+ if ($order && $order->getIncrementId()) {
195
+ $request->orderID = $order->getIncrementId();
196
+ $billing = $payment->getOrder()->getBillingAddress();
197
+ $request->avsZip = $billing->getPostcode();
198
+ }
199
+ if(strlen($payment->getCcExpMonth())==1)
200
+ $exp=$payment->getCcExpYear()."0".$payment->getCcExpMonth();
201
+ else
202
+ $exp=$payment->getCcExpYear().$payment->getCcExpMonth();
203
+ $request->orbitalConnectionUsername = $this->getConfigData('user_id');
204
+ $request->orbitalConnectionPassword = $this->getConfigData('password');
205
+ $request->bin = $this->getConfigData('bin_no');
206
+ $request->merchantID = $this->getConfigData('merchant_id');
207
+ $request->terminalID = $this->getConfigData('terminal_id');
208
+ $request->transType = $payment->getChaseTransType();
209
+
210
+ if(!$this->getConfigData('profile'))
211
+ {
212
+ $request->ccExp = $exp;
213
+ if($payment->getCcCid() != '')
214
+ $request->ccCardVerifyNum = $payment->getCcCid();
215
+ $request->ccAccountNum = $payment->getCcNumber();
216
+ if(($payment->getCcType() == 'VI' || $payment->getCcType() == 'DI') && $payment->getCcCid() != '')
217
+ $request->ccCardVerifyPresenceInd = 1;
218
+ $request->avsName = $payment->getCcOwner();
219
+ }else{
220
+ $CustRefNo = $this->_profileRequest($payment);
221
+ $request->customerRefNum = $CustRefNo;
222
+ $request->profileOrderOverideInd = 'NO';
223
+ $request->useCustomerRefNum = $CustRefNo;
224
+ }
225
+ $request->comments = "Test Web Service Authorize and Capture Transaction";
226
+ $request->orderID = $payment->getOrder()->getIncrementId();
227
+ $request->industryType = "EC";
228
+ $request->addProfileFromOrder = '';
229
+
230
+
231
+ if ($payment->getLastTransId() && $this->getAmount()>0) {
232
+ $transId = $payment->getLastTransId();
233
+ }
234
+ if($this->getAmount()){
235
+ $request->amount = str_replace('.','',$this->getAmount());
236
+ }
237
+ switch ($payment->getChaseTransType()) {
238
+ case self::REQUEST_TYPE_CREDIT:
239
+ $request->txRefNum = $transId;
240
+ break;
241
+ }
242
+ return $request;
243
+ }
244
+
245
+ /**
246
+ * Post request to gateway
247
+ *
248
+ * @param NewOrderRequestElement $return
249
+ * @return boolean
250
+ */
251
+
252
+ protected function _postRequest(Cignex_Paymenttechchase_Model_NewOrderRequestElement $request)
253
+ {
254
+ $url = $this->getApiGatewayUrl().'/wsdl/PaymentechGateway.wsdl';
255
+ $no = new Cignex_Paymenttechchase_Model_NewOrder;
256
+ $no->newOrderRequest = $request;
257
+ try{
258
+ $client = new SoapClient( $url );
259
+ }
260
+ catch (Exception $e){
261
+ Mage::log("\n".__FILE__." (".__LINE__.")\n".__METHOD__."\n Exception invoking SoapClient : ".$e->getMessage()." \n" );
262
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
263
+ }
264
+ try{
265
+
266
+ $ret = $client->newOrder($no);
267
+ $response = $ret->return;
268
+ }
269
+ catch (Exception $e){
270
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
271
+ }
272
+ if ($response->procStatus == self::RESPONSE_PROC_STATUS_APPROVED)
273
+ {
274
+ if($response->approvalStatus == self::RESPONSE_CODE_APPROVED)
275
+ {
276
+ $this->unsError();
277
+ }
278
+ }
279
+ else
280
+ {
281
+ if($response->procStatus != RESPONSE_PROC_STATUS_APPROVED)
282
+ {
283
+ $message = 'System Error : '.$response->statusMsg;
284
+ $message = str_replace(' ','',$message);
285
+ Mage::throwException($response->procStatusMessage);
286
+ }
287
+ else if($response->cvvRespCode!='M')
288
+ {
289
+ $message ='Cardholder Verification : '.$response->respMsg;
290
+ $message = str_replace(' ','',$message);
291
+ Mage::throwException($response->procStatusMessage);
292
+ }
293
+ else if($response->avsRespCode !='Z' || $response->avsRespCode !='9' || $response->avsRespCode !='H')
294
+ {
295
+ $message ='Address Verfication : '.$response->respMsg;
296
+ $message = str_replace(' ','',$message);
297
+ Mage::throwException($response->procStatusMessage);
298
+ }
299
+ else if($response->approvalStatus == 0 || $response->approvalStatus == 2)
300
+ {
301
+ $message = 'Card is in Decline State';
302
+ Mage::throwException($response->procStatusMessage);
303
+ }
304
+ return false;
305
+ }
306
+ $this->setTransactionId($response->txRefNum);
307
+ return true;
308
+ }
309
+ /**
310
+ * Prepare request to gateway
311
+ *
312
+ * @param Varien_Object $payment
313
+ * @return variable $custRefNum
314
+ */
315
+ protected function _profileRequest(Varien_Object $payment)
316
+ {
317
+ $profilename = Mage::helper('paymenttechchase')->getProfileName();
318
+ $session = Mage::getSingleton('customer/session');
319
+ $custref = $session->getId();
320
+ $CustRefNo = Mage::getResourceModel('paymenttechchase/profilemgmt')->getCustomerRefNumber($custref,$profilename);
321
+ if(empty($CustRefNo))
322
+ {
323
+ $billingIds = $session->getCustomer()->getPrimaryAddressIds();
324
+ $billingAddressId = '';
325
+ if(!empty($billingIds))
326
+ {
327
+ $billingAddressId = $billingIds[0];
328
+ }
329
+ $profileArray = array();
330
+ $profileArray['profilename'] = $profilename;
331
+ $profileArray['firstname'] = $payment->getCcOwner();
332
+ $profileArray['ccsave_expiration_yr'] = $payment->getCcExpYear();
333
+ $profileArray['ccsave_expiration'] = $payment->getCcExpMonth();
334
+ $billing = $payment->getOrder()->getBillingAddress();
335
+ $profileArray['address1'] = $billing->getStreet1();
336
+ $profileArray['address2'] = $billing->getStreet2();
337
+ $profileArray['city'] = $billing->getCity();
338
+ $regionID = $billing->getRegionId();
339
+ $regionModel = Mage::getModel('directory/region')->load($regionID,'');
340
+ $profileArray['state'] = $regionModel->getData('code');
341
+ $profileArray['zip']= $billing->getPostcode();
342
+ $profileArray['telephone'] = str_replace("-", "", $billing->getTelephone());
343
+ $profileArray['country'] = $billing->getCountry();
344
+ $profileArray['chase_cc_number'] = $payment->getCcNumber();
345
+ Mage::getModel('paymenttechchase/profilemgmt')->addProfile($profileArray);
346
+ $CustRefNo = Mage::getResourceModel('paymenttechchase/profilemgmt')->getCustomerRefNumber($custref,$profilename);
347
+ }
348
+ return $CustRefNo;
349
+ }
350
+ /**
351
+ * Parse Error Message
352
+ *
353
+ * @param array $message
354
+ * @return string $allerrMessage
355
+ */
356
+
357
+ public function parseErrMessage($message)
358
+ {
359
+ $errMessage = @explode(' ',trim($message));
360
+ $allerrMessage = '';
361
+ if(count($errMessage)>0)
362
+ {
363
+ for($i=1;$i<count($errMessage);$i++)
364
+ {
365
+ $allerrMessage .= $errMessage[$i]." ";
366
+ }
367
+ Mage::log($allerrMessage);
368
+ }
369
+
370
+ return $allerrMessage;
371
+ }
372
+ }
373
+
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Block/Paymenttechchase.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymentchase
23
+ * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+ class Cignex_Paymenttechchase_Block_Paymenttechchase extends Mage_Core_Block_Template
27
+ {
28
+ public function _prepareLayout()
29
+ {
30
+ return parent::_prepareLayout();
31
+ }
32
+ public function getPaymenttechchase()
33
+ {
34
+ if (!$this->hasData('paymenttechchase')) {
35
+ $this->setData('paymenttechchase', Mage::registry('paymenttechchase'));
36
+ }
37
+ return $this->getData('paymenttechchase');
38
+ }
39
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Helper/Data.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Community Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+ class Cignex_Paymenttechchase_Helper_Data extends Mage_Core_Helper_Abstract
27
+ {
28
+ // Set Profilename to use for profile from here
29
+ public $_profilename = null;
30
+
31
+ /**
32
+ * Send Get Profilename
33
+ *
34
+ * @return string
35
+ */
36
+
37
+ public function getProfileName()
38
+ {
39
+ return $this->_profilename;
40
+ }
41
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Mysql4/Paymenttechchase.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymentchase
23
+ * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ class Cignex_Paymenttechchase_Model_Mysql4_Paymenttechchase extends Mage_Core_Model_Mysql4_Abstract
28
+ {
29
+ public function _construct()
30
+ {
31
+ // Note that the paymenttechchase_id refers to the key field in your database table.
32
+ $this->_init('paymenttechchase/paymenttechchase', 'paymenttechchase_id');
33
+ }
34
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Mysql4/Paymenttechchase/Collection.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymentchase
23
+ * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ class Cignex_Paymenttechchase_Model_Mysql4_Paymenttechchase_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
28
+ {
29
+ public function _construct()
30
+ {
31
+ parent::_construct();
32
+ $this->_init('paymenttechchase/paymenttechchase');
33
+ }
34
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Mysql4/Profilemgmt.php ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymentchase
23
+ * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ class Cignex_Paymenttechchase_Model_Mysql4_Profilemgmt extends Mage_Core_Model_Mysql4_Abstract
28
+ {
29
+ protected $_chaseprofile="chase_profile";
30
+ public function _construct()
31
+ {
32
+ $this->_init('paymenttechchase/profilemgmt', 'accountmgmt_id');
33
+ }
34
+
35
+ /**
36
+ * Add profile details into database
37
+ * @ Param $custref => Customer ID in database
38
+ * @ Param $ref_number => Referance number of profile in paymentchase
39
+ * @ Param $profileName => Profile name
40
+ */
41
+ public function addProfileName($custref,$ref_number,$profileName)
42
+ {
43
+ $write = Mage::getSingleton('core/resource')->getConnection('core_write');
44
+ $write = $this->_getWriteAdapter();
45
+ $values = array(
46
+ 'customer_id' => $custref,
47
+ 'ref_number' => $ref_number,
48
+ 'profilename' => $profileName,
49
+ );
50
+ $profile = $write->insert($this->_chaseprofile,$values);
51
+ }
52
+
53
+ /**
54
+ * Get Profile name from database
55
+ * @Param $ref_number => Referance number of profile in paymentchase
56
+ * @return string
57
+ */
58
+ public function getProfile($ref_number)
59
+ {
60
+ $read = $this->_getReadAdapter();
61
+ $select = $read->select()
62
+ ->from(array('c'=>$this->_chaseprofile),'profilename')
63
+ ->where('ref_number=?',$ref_number);
64
+ Mage::log('select query'.$select);
65
+ $result = $read->fetchAll($select);
66
+ return $result;
67
+ }
68
+
69
+ /**
70
+ * Get Profile details from database
71
+ * @Param $ref_number => Referance number of profile in paymentchase
72
+ */
73
+ public function getProfileDetails($ref_number)
74
+ {
75
+ $read = $this->_getReadAdapter();
76
+ $select = $read->select()
77
+ ->from($this->_chaseprofile)
78
+ ->where('ref_number=?',$ref_number);
79
+ Mage::log('select query'.$select);
80
+ $result = $read->fetchAll($select);
81
+ return $result;
82
+ }
83
+
84
+ /**
85
+ * Delete Profile from database
86
+ * @Param $ref_number => Referance number of profile in paymentchase
87
+ */
88
+ public function deleteProfileName($ref_number)
89
+ {
90
+ $condition = $this->_getWriteAdapter()->quoteInto("ref_number=?", $ref_number);
91
+ $this->_getWriteAdapter()->delete($this->_chaseprofile, $condition);
92
+ return;
93
+ }
94
+
95
+ /**
96
+ * Get Profile referance number from database
97
+ * @Param $ProfileName => Profile name
98
+ * @Param $custId => Customer ID
99
+ * @return integer
100
+ */
101
+ public function getCustomerRefNumber($custId,$ProfileName)
102
+ {
103
+ $CustomerRefNumber = '';
104
+ $read = $this->_getReadAdapter();
105
+ $select = $read->select()
106
+ ->from(array('c'=>$this->_chaseprofile),'ref_number')
107
+ ->where('customer_id=?',$custId)
108
+ ->where('profilename=?',$ProfileName);
109
+ $CustomerRefNumber = $read->fetchOne($select);
110
+ return $CustomerRefNumber;
111
+ }
112
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/NewOrder.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+
27
+
28
+ class Cignex_Paymenttechchase_Model_NewOrder
29
+ {
30
+ public $newOrderRequest;
31
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/NewOrderRequestElement.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+ class Cignex_Paymenttechchase_Model_NewOrderRequestElement
27
+ {
28
+ public $orbitalConnectionUsername;
29
+ public $orbitalConnectionPassword;
30
+ public $transType ;
31
+ public $bin ;
32
+ public $merchantID ;
33
+ public $terminalID ;
34
+ public $amount ;
35
+ public $ccCardVerifyNum ;
36
+ public $ccAccountNum ;
37
+ public $comments ;
38
+ public $orderID ;
39
+ public $industryType ;
40
+ public $avsZip ;
41
+ public $avsName ;
42
+ public $txRefNum ;
43
+ public $addProfileFromOrder;
44
+ public $customerRefNum;
45
+ public $profileOrderOverideInd;
46
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/PaymentMethod.php ADDED
@@ -0,0 +1,373 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ error_reporting(0);
3
+
4
+ /**
5
+ * Magento
6
+ *
7
+ * NOTICE OF LICENSE
8
+ *
9
+ * This source file is subject to the Open Software License (OSL 3.0)
10
+ * that is bundled with this package in the file LICENSE.txt.
11
+ * It is also available through the world-wide-web at this URL:
12
+ * http://opensource.org/licenses/osl-3.0.php
13
+ * If you did not receive a copy of the license and are unable to
14
+ * obtain it through the world-wide-web, please send an email
15
+ * to license@magentocommerce.com so we can send you a copy immediately.
16
+ *
17
+ * DISCLAIMER
18
+ *
19
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
20
+ * versions in the future. If you wish to customize Magento for your
21
+ * needs please refer to http://www.magentocommerce.com for more information.
22
+ *
23
+ * @category Cignex
24
+ * @package Cignex_Paymentchase
25
+ * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+
30
+ class Cignex_Paymenttechchase_Model_PaymentMethod extends Mage_Payment_Model_Method_Cc
31
+ {
32
+ const REQUEST_TYPE_AUTH_CAPTURE = 'AC';
33
+ const REQUEST_TYPE_AUTH_ONLY = 'A';
34
+ const REQUEST_TYPE_CAPTURE_ONLY = 'C';
35
+ const REQUEST_TYPE_CREDIT = 'R';
36
+
37
+ const RESPONSE_CODE_APPROVED = 1;
38
+ const RESPONSE_CODE_DECLINED = 2;
39
+ const RESPONSE_CODE_ERROR = 3;
40
+ const RESPONSE_CODE_HELD = 4;
41
+
42
+ const RESPONSE_PROC_STATUS_APPROVED = 0;
43
+
44
+ protected $_code = 'paymenttechchase';
45
+
46
+ /**
47
+ * Availability options
48
+ */
49
+
50
+ protected $_isGateway = true;
51
+ protected $_canAuthorize = false;
52
+ protected $_canCapture = true;
53
+ protected $_canCapturePartial = true;
54
+ protected $_canRefund = true;
55
+ protected $_canVoid = false;
56
+ protected $_canUseInternal = true;
57
+ protected $_canUseCheckout = true;
58
+ protected $_canUseForMultishipping = true;
59
+ protected $_canSaveCc = false;
60
+
61
+ /**
62
+ * Get debug flag
63
+ *
64
+ * @return string
65
+ */
66
+ public function getDebug()
67
+ {
68
+ return Mage::getStoreConfig('paymenttechchase/chasepaymentech_result');
69
+ }
70
+ /**
71
+ * Get api url of Orbital CHASE Paymentech
72
+ *
73
+ * @return string
74
+ */
75
+ public function getApiGatewayUrl()
76
+ {
77
+ $value = Mage::getStoreConfig('payment/paymenttechchase/cgi_url');
78
+ return $value;
79
+ }
80
+
81
+ /**
82
+ * Send authorize request to gateway
83
+ *
84
+ * @param Varien_Object $payment
85
+ * @param decimal $amount
86
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
87
+ * @throws Mage_Core_Exception
88
+ */
89
+ public function authorize(Varien_Object $payment, $amount)
90
+ {
91
+ if ($amount <= 0) {
92
+ Mage::throwException(Mage::helper('paymenttechchase')->__('Invalid amount.'));
93
+ }
94
+ $payment->setChaseTransType(self::REQUEST_TYPE_AUTH_ONLY);
95
+ $payment->setAmount($amount);
96
+
97
+ $request = $this->_buildRequest($payment);
98
+ $response = $this->_postRequest($request);
99
+ if ($response) {
100
+ $payment->setStatus(self::STATUS_APPROVED)
101
+ ->setLastTransId($this->getTransactionId());
102
+ }else {
103
+ $e = $this->getError();
104
+ if (isset($e['message'])) {
105
+ $message = Mage::helper('paymenttechchase')->__('There has been an error processing your payment.') . $e['message'];
106
+ }
107
+ }
108
+ return $this;
109
+ }
110
+
111
+ /**
112
+ * Send capture request to gateway
113
+ *
114
+ * @param Varien_Object $payment
115
+ * @param decimal $amount
116
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
117
+ * @throws Mage_Core_Exception
118
+ */
119
+ public function capture(Varien_Object $payment, $amount)
120
+ {
121
+ $payment->setChaseTransType(self::REQUEST_TYPE_AUTH_CAPTURE);
122
+ $payment->setAmount($amount);
123
+ $this->setAmount($amount)
124
+ ->setPayment($payment);
125
+ $request = $this->_buildRequest($payment);
126
+ $response = $this->_postRequest($request);
127
+ if ($response) {
128
+ $payment->setStatus(self::STATUS_APPROVED)
129
+ ->setLastTransId($this->getTransactionId());
130
+ }
131
+ else {
132
+ $e = $this->getError();
133
+ if (isset($e['message'])) {
134
+ $message = Mage::helper('paymenttechchase')->__('There has been an error processing your payment.') . $e['message'];
135
+ }
136
+ }
137
+ return $this;
138
+ }
139
+
140
+ /**
141
+ * Send refund request to gateway
142
+ *
143
+ * @param Varien_Object $payment
144
+ * @param decimal $amount
145
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
146
+ * @throws Mage_Core_Exception
147
+ */
148
+ public function refund(Varien_Object $payment, $amount)
149
+ {
150
+ if ($payment->getLastTransId() && $amount > 0) {
151
+ $payment->setChaseTransType(self::REQUEST_TYPE_CREDIT);
152
+ $request = $this->_buildRequest($payment);
153
+ $request->txRefNum = $payment->getLastTransId();
154
+ $response = $this->_postRequest($request);
155
+ if ($response) {
156
+ $payment->setStatus(self::STATUS_APPROVED)
157
+ ->setLastTransId($this->getTransactionId());
158
+ }
159
+ else {
160
+ $e = $this->getError();
161
+ if (isset($e['message'])) {
162
+ $message = Mage::helper('paymenttechchase')->__('There has been an error processing your payment.') . $e['message'];
163
+ }
164
+ }
165
+ return $this;
166
+ }
167
+ }
168
+
169
+ /**
170
+ * Cancel the transaction
171
+ * @param Varien_Object $payment
172
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
173
+ */
174
+
175
+ public function cancel(Varien_Object $payment)
176
+ {
177
+ $payment->setStatus(self::STATUS_DECLINED);
178
+ return $this;
179
+ }
180
+
181
+ /**
182
+ * Prepare request to gateway
183
+ *
184
+ * @param Varien_Object $payment
185
+ * @return NewOrderRequestElement $request
186
+ */
187
+ protected function _buildRequest(Varien_Object $payment)
188
+ {
189
+ $order = $payment->getOrder();
190
+ $this->setStore($order->getStoreId());
191
+
192
+ $request = new Cignex_Paymenttechchase_Model_NewOrderRequestElement;
193
+
194
+ if ($order && $order->getIncrementId()) {
195
+ $request->orderID = $order->getIncrementId();
196
+ $billing = $payment->getOrder()->getBillingAddress();
197
+ $request->avsZip = $billing->getPostcode();
198
+ }
199
+ if(strlen($payment->getCcExpMonth())==1)
200
+ $exp=$payment->getCcExpYear()."0".$payment->getCcExpMonth();
201
+ else
202
+ $exp=$payment->getCcExpYear().$payment->getCcExpMonth();
203
+ $request->orbitalConnectionUsername = $this->getConfigData('user_id');
204
+ $request->orbitalConnectionPassword = $this->getConfigData('password');
205
+ $request->bin = $this->getConfigData('bin_no');
206
+ $request->merchantID = $this->getConfigData('merchant_id');
207
+ $request->terminalID = $this->getConfigData('terminal_id');
208
+ $request->transType = $payment->getChaseTransType();
209
+
210
+ if(!$this->getConfigData('profile'))
211
+ {
212
+ $request->ccExp = $exp;
213
+ if($payment->getCcCid() != '')
214
+ $request->ccCardVerifyNum = $payment->getCcCid();
215
+ $request->ccAccountNum = $payment->getCcNumber();
216
+ if(($payment->getCcType() == 'VI' || $payment->getCcType() == 'DI') && $payment->getCcCid() != '')
217
+ $request->ccCardVerifyPresenceInd = 1;
218
+ $request->avsName = $payment->getCcOwner();
219
+ }else{
220
+ $CustRefNo = $this->_profileRequest($payment);
221
+ $request->customerRefNum = $CustRefNo;
222
+ $request->profileOrderOverideInd = 'NO';
223
+ $request->useCustomerRefNum = $CustRefNo;
224
+ }
225
+ $request->comments = "Test Web Service Authorize and Capture Transaction";
226
+ $request->orderID = $payment->getOrder()->getIncrementId();
227
+ $request->industryType = "EC";
228
+ $request->addProfileFromOrder = '';
229
+
230
+
231
+ if ($payment->getLastTransId() && $this->getAmount()>0) {
232
+ $transId = $payment->getLastTransId();
233
+ }
234
+ if($this->getAmount()){
235
+ $request->amount = str_replace('.','',$this->getAmount());
236
+ }
237
+ switch ($payment->getChaseTransType()) {
238
+ case self::REQUEST_TYPE_CREDIT:
239
+ $request->txRefNum = $transId;
240
+ break;
241
+ }
242
+ return $request;
243
+ }
244
+
245
+ /**
246
+ * Post request to gateway
247
+ *
248
+ * @param NewOrderRequestElement $return
249
+ * @return boolean
250
+ */
251
+
252
+ protected function _postRequest(Cignex_Paymenttechchase_Model_NewOrderRequestElement $request)
253
+ {
254
+ $url = $this->getApiGatewayUrl().'/wsdl/PaymentechGateway.wsdl';
255
+ $no = new Cignex_Paymenttechchase_Model_NewOrder;
256
+ $no->newOrderRequest = $request;
257
+ try{
258
+ $client = new SoapClient( $url );
259
+ }
260
+ catch (Exception $e){
261
+ Mage::log("\n".__FILE__." (".__LINE__.")\n".__METHOD__."\n Exception invoking SoapClient : ".$e->getMessage()." \n" );
262
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
263
+ }
264
+ try{
265
+
266
+ $ret = $client->newOrder($no);
267
+ $response = $ret->return;
268
+ }
269
+ catch (Exception $e){
270
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
271
+ }
272
+ if ($response->procStatus == self::RESPONSE_PROC_STATUS_APPROVED)
273
+ {
274
+ if($response->approvalStatus == self::RESPONSE_CODE_APPROVED)
275
+ {
276
+ $this->unsError();
277
+ }
278
+ }
279
+ else
280
+ {
281
+ if($response->procStatus != RESPONSE_PROC_STATUS_APPROVED)
282
+ {
283
+ $message = 'System Error : '.$response->statusMsg;
284
+ $message = str_replace(' ','',$message);
285
+ Mage::throwException($response->procStatusMessage);
286
+ }
287
+ else if($response->cvvRespCode!='M')
288
+ {
289
+ $message ='Cardholder Verification : '.$response->respMsg;
290
+ $message = str_replace(' ','',$message);
291
+ Mage::throwException($response->procStatusMessage);
292
+ }
293
+ else if($response->avsRespCode !='Z' || $response->avsRespCode !='9' || $response->avsRespCode !='H')
294
+ {
295
+ $message ='Address Verfication : '.$response->respMsg;
296
+ $message = str_replace(' ','',$message);
297
+ Mage::throwException($response->procStatusMessage);
298
+ }
299
+ else if($response->approvalStatus == 0 || $response->approvalStatus == 2)
300
+ {
301
+ $message = 'Card is in Decline State';
302
+ Mage::throwException($response->procStatusMessage);
303
+ }
304
+ return false;
305
+ }
306
+ $this->setTransactionId($response->txRefNum);
307
+ return true;
308
+ }
309
+ /**
310
+ * Prepare request to gateway
311
+ *
312
+ * @param Varien_Object $payment
313
+ * @return variable $custRefNum
314
+ */
315
+ protected function _profileRequest(Varien_Object $payment)
316
+ {
317
+ $profilename = Mage::helper('paymenttechchase')->getProfileName();
318
+ $session = Mage::getSingleton('customer/session');
319
+ $custref = $session->getId();
320
+ $CustRefNo = Mage::getResourceModel('paymenttechchase/profilemgmt')->getCustomerRefNumber($custref,$profilename);
321
+ if(empty($CustRefNo))
322
+ {
323
+ $billingIds = $session->getCustomer()->getPrimaryAddressIds();
324
+ $billingAddressId = '';
325
+ if(!empty($billingIds))
326
+ {
327
+ $billingAddressId = $billingIds[0];
328
+ }
329
+ $profileArray = array();
330
+ $profileArray['profilename'] = $profilename;
331
+ $profileArray['firstname'] = $payment->getCcOwner();
332
+ $profileArray['ccsave_expiration_yr'] = $payment->getCcExpYear();
333
+ $profileArray['ccsave_expiration'] = $payment->getCcExpMonth();
334
+ $billing = $payment->getOrder()->getBillingAddress();
335
+ $profileArray['address1'] = $billing->getStreet1();
336
+ $profileArray['address2'] = $billing->getStreet2();
337
+ $profileArray['city'] = $billing->getCity();
338
+ $regionID = $billing->getRegionId();
339
+ $regionModel = Mage::getModel('directory/region')->load($regionID,'');
340
+ $profileArray['state'] = $regionModel->getData('code');
341
+ $profileArray['zip']= $billing->getPostcode();
342
+ $profileArray['telephone'] = str_replace("-", "", $billing->getTelephone());
343
+ $profileArray['country'] = $billing->getCountry();
344
+ $profileArray['chase_cc_number'] = $payment->getCcNumber();
345
+ Mage::getModel('paymenttechchase/profilemgmt')->addProfile($profileArray);
346
+ $CustRefNo = Mage::getResourceModel('paymenttechchase/profilemgmt')->getCustomerRefNumber($custref,$profilename);
347
+ }
348
+ return $CustRefNo;
349
+ }
350
+ /**
351
+ * Parse Error Message
352
+ *
353
+ * @param array $message
354
+ * @return string $allerrMessage
355
+ */
356
+
357
+ public function parseErrMessage($message)
358
+ {
359
+ $errMessage = @explode(' ',trim($message));
360
+ $allerrMessage = '';
361
+ if(count($errMessage)>0)
362
+ {
363
+ for($i=1;$i<count($errMessage);$i++)
364
+ {
365
+ $allerrMessage .= $errMessage[$i]." ";
366
+ }
367
+ Mage::log($allerrMessage);
368
+ }
369
+
370
+ return $allerrMessage;
371
+ }
372
+ }
373
+
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/PaymentMethod_old.php ADDED
@@ -0,0 +1,373 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ error_reporting(0);
3
+
4
+ /**
5
+ * Magento
6
+ *
7
+ * NOTICE OF LICENSE
8
+ *
9
+ * This source file is subject to the Open Software License (OSL 3.0)
10
+ * that is bundled with this package in the file LICENSE.txt.
11
+ * It is also available through the world-wide-web at this URL:
12
+ * http://opensource.org/licenses/osl-3.0.php
13
+ * If you did not receive a copy of the license and are unable to
14
+ * obtain it through the world-wide-web, please send an email
15
+ * to license@magentocommerce.com so we can send you a copy immediately.
16
+ *
17
+ * DISCLAIMER
18
+ *
19
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
20
+ * versions in the future. If you wish to customize Magento for your
21
+ * needs please refer to http://www.magentocommerce.com for more information.
22
+ *
23
+ * @category Cignex
24
+ * @package Cignex_Paymentchase
25
+ * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+
30
+ class Cignex_Paymenttechchase_Model_PaymentMethod extends Mage_Payment_Model_Method_Cc
31
+ {
32
+ const REQUEST_TYPE_AUTH_CAPTURE = 'AC';
33
+ const REQUEST_TYPE_AUTH_ONLY = 'A';
34
+ const REQUEST_TYPE_CAPTURE_ONLY = 'C';
35
+ const REQUEST_TYPE_CREDIT = 'R';
36
+
37
+ const RESPONSE_CODE_APPROVED = 1;
38
+ const RESPONSE_CODE_DECLINED = 2;
39
+ const RESPONSE_CODE_ERROR = 3;
40
+ const RESPONSE_CODE_HELD = 4;
41
+
42
+ const RESPONSE_PROC_STATUS_APPROVED = 0;
43
+
44
+ protected $_code = 'paymenttechchase';
45
+
46
+ /**
47
+ * Availability options
48
+ */
49
+
50
+ protected $_isGateway = true;
51
+ protected $_canAuthorize = false;
52
+ protected $_canCapture = true;
53
+ protected $_canCapturePartial = true;
54
+ protected $_canRefund = true;
55
+ protected $_canVoid = false;
56
+ protected $_canUseInternal = true;
57
+ protected $_canUseCheckout = true;
58
+ protected $_canUseForMultishipping = true;
59
+ protected $_canSaveCc = false;
60
+
61
+ /**
62
+ * Get debug flag
63
+ *
64
+ * @return string
65
+ */
66
+ public function getDebug()
67
+ {
68
+ return Mage::getStoreConfig('paymenttechchase/chasepaymentech_result');
69
+ }
70
+ /**
71
+ * Get api url of Orbital CHASE Paymentech
72
+ *
73
+ * @return string
74
+ */
75
+ public function getApiGatewayUrl()
76
+ {
77
+ $value = Mage::getStoreConfig('payment/paymenttechchase/cgi_url');
78
+ return $value;
79
+ }
80
+
81
+ /**
82
+ * Send authorize request to gateway
83
+ *
84
+ * @param Varien_Object $payment
85
+ * @param decimal $amount
86
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
87
+ * @throws Mage_Core_Exception
88
+ */
89
+ public function authorize(Varien_Object $payment, $amount)
90
+ {
91
+ if ($amount <= 0) {
92
+ Mage::throwException(Mage::helper('paymenttechchase')->__('Invalid amount.'));
93
+ }
94
+ $payment->setChaseTransType(self::REQUEST_TYPE_AUTH_ONLY);
95
+ $payment->setAmount($amount);
96
+
97
+ $request = $this->_buildRequest($payment);
98
+ $response = $this->_postRequest($request);
99
+ if ($response) {
100
+ $payment->setStatus(self::STATUS_APPROVED)
101
+ ->setLastTransId($this->getTransactionId());
102
+ }else {
103
+ $e = $this->getError();
104
+ if (isset($e['message'])) {
105
+ $message = Mage::helper('paymenttechchase')->__('There has been an error processing your payment.') . $e['message'];
106
+ }
107
+ }
108
+ return $this;
109
+ }
110
+
111
+ /**
112
+ * Send capture request to gateway
113
+ *
114
+ * @param Varien_Object $payment
115
+ * @param decimal $amount
116
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
117
+ * @throws Mage_Core_Exception
118
+ */
119
+ public function capture(Varien_Object $payment, $amount)
120
+ {
121
+ $payment->setChaseTransType(self::REQUEST_TYPE_AUTH_CAPTURE);
122
+ $payment->setAmount($amount);
123
+ $this->setAmount($amount)
124
+ ->setPayment($payment);
125
+ $request = $this->_buildRequest($payment);
126
+ $response = $this->_postRequest($request);
127
+ if ($response) {
128
+ $payment->setStatus(self::STATUS_APPROVED)
129
+ ->setLastTransId($this->getTransactionId());
130
+ }
131
+ else {
132
+ $e = $this->getError();
133
+ if (isset($e['message'])) {
134
+ $message = Mage::helper('paymenttechchase')->__('There has been an error processing your payment.') . $e['message'];
135
+ }
136
+ }
137
+ return $this;
138
+ }
139
+
140
+ /**
141
+ * Send refund request to gateway
142
+ *
143
+ * @param Varien_Object $payment
144
+ * @param decimal $amount
145
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
146
+ * @throws Mage_Core_Exception
147
+ */
148
+ public function refund(Varien_Object $payment, $amount)
149
+ {
150
+ if ($payment->getLastTransId() && $amount > 0) {
151
+ $payment->setChaseTransType(self::REQUEST_TYPE_CREDIT);
152
+ $request = $this->_buildRequest($payment);
153
+ $request->txRefNum = $payment->getLastTransId();
154
+ $response = $this->_postRequest($request);
155
+ if ($response) {
156
+ $payment->setStatus(self::STATUS_APPROVED)
157
+ ->setLastTransId($this->getTransactionId());
158
+ }
159
+ else {
160
+ $e = $this->getError();
161
+ if (isset($e['message'])) {
162
+ $message = Mage::helper('paymenttechchase')->__('There has been an error processing your payment.') . $e['message'];
163
+ }
164
+ }
165
+ return $this;
166
+ }
167
+ }
168
+
169
+ /**
170
+ * Cancel the transaction
171
+ * @param Varien_Object $payment
172
+ * @return Cignex_Paymenttechchase_Model_PaymentMethod
173
+ */
174
+
175
+ public function cancel(Varien_Object $payment)
176
+ {
177
+ $payment->setStatus(self::STATUS_DECLINED);
178
+ return $this;
179
+ }
180
+
181
+ /**
182
+ * Prepare request to gateway
183
+ *
184
+ * @param Varien_Object $payment
185
+ * @return NewOrderRequestElement $request
186
+ */
187
+ protected function _buildRequest(Varien_Object $payment)
188
+ {
189
+ $order = $payment->getOrder();
190
+ $this->setStore($order->getStoreId());
191
+
192
+ $request = new Cignex_Paymenttechchase_Model_NewOrderRequestElement;
193
+
194
+ if ($order && $order->getIncrementId()) {
195
+ $request->orderID = $order->getIncrementId();
196
+ $billing = $payment->getOrder()->getBillingAddress();
197
+ $request->avsZip = $billing->getPostcode();
198
+ }
199
+ if(strlen($payment->getCcExpMonth())==1)
200
+ $exp=$payment->getCcExpYear()."0".$payment->getCcExpMonth();
201
+ else
202
+ $exp=$payment->getCcExpYear().$payment->getCcExpMonth();
203
+ $request->orbitalConnectionUsername = $this->getConfigData('user_id');
204
+ $request->orbitalConnectionPassword = $this->getConfigData('password');
205
+ $request->bin = $this->getConfigData('bin_no');
206
+ $request->merchantID = $this->getConfigData('merchant_id');
207
+ $request->terminalID = $this->getConfigData('terminal_id');
208
+ $request->transType = $payment->getChaseTransType();
209
+
210
+ if(!$this->getConfigData('profile'))
211
+ {
212
+ $request->ccExp = $exp;
213
+ if($payment->getCcCid() != '')
214
+ $request->ccCardVerifyNum = $payment->getCcCid();
215
+ $request->ccAccountNum = $payment->getCcNumber();
216
+ if(($payment->getCcType() == 'VI' || $payment->getCcType() == 'DI') && $payment->getCcCid() != '')
217
+ $request->ccCardVerifyPresenceInd = 1;
218
+ $request->avsName = $payment->getCcOwner();
219
+ }else{
220
+ $CustRefNo = $this->_profileRequest($payment);
221
+ $request->customerRefNum = $CustRefNo;
222
+ $request->profileOrderOverideInd = 'NO';
223
+ $request->useCustomerRefNum = $CustRefNo;
224
+ }
225
+ $request->comments = "Test Web Service Authorize and Capture Transaction";
226
+ $request->orderID = $payment->getOrder()->getIncrementId();
227
+ $request->industryType = "EC";
228
+ $request->addProfileFromOrder = '';
229
+
230
+
231
+ if ($payment->getLastTransId() && $this->getAmount()>0) {
232
+ $transId = $payment->getLastTransId();
233
+ }
234
+ if($this->getAmount()){
235
+ $request->amount = str_replace('.','',$this->getAmount());
236
+ }
237
+ switch ($payment->getChaseTransType()) {
238
+ case self::REQUEST_TYPE_CREDIT:
239
+ $request->txRefNum = $transId;
240
+ break;
241
+ }
242
+ return $request;
243
+ }
244
+
245
+ /**
246
+ * Post request to gateway
247
+ *
248
+ * @param NewOrderRequestElement $return
249
+ * @return boolean
250
+ */
251
+
252
+ protected function _postRequest(Cignex_Paymenttechchase_Model_NewOrderRequestElement $request)
253
+ {
254
+ $url = $this->getApiGatewayUrl().'/wsdl/PaymentechGateway.wsdl';
255
+ $no = new Cignex_Paymenttechchase_Model_NewOrder;
256
+ $no->newOrderRequest = $request;
257
+ try{
258
+ $client = new SoapClient( $url );
259
+ }
260
+ catch (Exception $e){
261
+ Mage::log("\n".__FILE__." (".__LINE__.")\n".__METHOD__."\n Exception invoking SoapClient : ".$e->getMessage()." \n" );
262
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
263
+ }
264
+ try{
265
+
266
+ $ret = $client->newOrder($no);
267
+ $response = $ret->return;
268
+ }
269
+ catch (Exception $e){
270
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
271
+ }
272
+ if ($response->procStatus == self::RESPONSE_PROC_STATUS_APPROVED)
273
+ {
274
+ if($response->approvalStatus == self::RESPONSE_CODE_APPROVED)
275
+ {
276
+ $this->unsError();
277
+ }
278
+ }
279
+ else
280
+ {
281
+ if($response->procStatus != RESPONSE_PROC_STATUS_APPROVED)
282
+ {
283
+ $message = 'System Error : '.$response->statusMsg;
284
+ $message = str_replace(' ','',$message);
285
+ Mage::throwException($response->procStatusMessage);
286
+ }
287
+ else if($response->cvvRespCode!='M')
288
+ {
289
+ $message ='Cardholder Verification : '.$response->respMsg;
290
+ $message = str_replace(' ','',$message);
291
+ Mage::throwException($response->procStatusMessage);
292
+ }
293
+ else if($response->avsRespCode !='Z' || $response->avsRespCode !='9' || $response->avsRespCode !='H')
294
+ {
295
+ $message ='Address Verfication : '.$response->respMsg;
296
+ $message = str_replace(' ','',$message);
297
+ Mage::throwException($response->procStatusMessage);
298
+ }
299
+ else if($response->approvalStatus == 0 || $response->approvalStatus == 2)
300
+ {
301
+ $message = 'Card is in Decline State';
302
+ Mage::throwException($response->procStatusMessage);
303
+ }
304
+ return false;
305
+ }
306
+ $this->setTransactionId($response->txRefNum);
307
+ return true;
308
+ }
309
+ /**
310
+ * Prepare request to gateway
311
+ *
312
+ * @param Varien_Object $payment
313
+ * @return variable $custRefNum
314
+ */
315
+ protected function _profileRequest(Varien_Object $payment)
316
+ {
317
+ $profilename = Mage::helper('paymenttechchase')->getProfileName();
318
+ $session = Mage::getSingleton('customer/session');
319
+ $custref = $session->getId();
320
+ $CustRefNo = Mage::getResourceModel('paymenttechchase/profilemgmt')->getCustomerRefNumber($custref,$profilename);
321
+ if(empty($CustRefNo))
322
+ {
323
+ $billingIds = $session->getCustomer()->getPrimaryAddressIds();
324
+ $billingAddressId = '';
325
+ if(!empty($billingIds))
326
+ {
327
+ $billingAddressId = $billingIds[0];
328
+ }
329
+ $profileArray = array();
330
+ $profileArray['profilename'] = $profilename;
331
+ $profileArray['firstname'] = $payment->getCcOwner();
332
+ $profileArray['ccsave_expiration_yr'] = $payment->getCcExpYear();
333
+ $profileArray['ccsave_expiration'] = $payment->getCcExpMonth();
334
+ $billing = $payment->getOrder()->getBillingAddress();
335
+ $profileArray['address1'] = $billing->getStreet1();
336
+ $profileArray['address2'] = $billing->getStreet2();
337
+ $profileArray['city'] = $billing->getCity();
338
+ $regionID = $billing->getRegionId();
339
+ $regionModel = Mage::getModel('directory/region')->load($regionID,'');
340
+ $profileArray['state'] = $regionModel->getData('code');
341
+ $profileArray['zip']= $billing->getPostcode();
342
+ $profileArray['telephone'] = str_replace("-", "", $billing->getTelephone());
343
+ $profileArray['country'] = $billing->getCountry();
344
+ $profileArray['chase_cc_number'] = $payment->getCcNumber();
345
+ Mage::getModel('paymenttechchase/profilemgmt')->addProfile($profileArray);
346
+ $CustRefNo = Mage::getResourceModel('paymenttechchase/profilemgmt')->getCustomerRefNumber($custref,$profilename);
347
+ }
348
+ return $CustRefNo;
349
+ }
350
+ /**
351
+ * Parse Error Message
352
+ *
353
+ * @param array $message
354
+ * @return string $allerrMessage
355
+ */
356
+
357
+ public function parseErrMessage($message)
358
+ {
359
+ $errMessage = @explode(' ',trim($message));
360
+ $allerrMessage = '';
361
+ if(count($errMessage)>0)
362
+ {
363
+ for($i=1;$i<count($errMessage);$i++)
364
+ {
365
+ $allerrMessage .= $errMessage[$i]." ";
366
+ }
367
+ Mage::log($allerrMessage);
368
+ }
369
+
370
+ return $allerrMessage;
371
+ }
372
+ }
373
+
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Paymenttechchase.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymentchase
23
+ * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ class Cignex_Paymenttechchase_Model_Paymenttechchase extends Mage_Core_Model_Abstract
28
+ {
29
+ public function _construct()
30
+ {
31
+ parent::_construct();
32
+ $this->_init('paymenttechchase/paymenttechchase');
33
+ }
34
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileAdd.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+
27
+
28
+ class Cignex_Paymenttechchase_Model_ProfileAdd
29
+ {
30
+ public $profileAddRequest;
31
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileAddElement.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+
27
+
28
+ class Cignex_Paymenttechchase_Model_ProfileAddElement
29
+ {
30
+ public $orbitalConnectionUsername;
31
+ public $orbitalConnectionPassword;
32
+ public $version;
33
+ public $bin;
34
+ public $merchantID;
35
+ public $customerName;
36
+ public $customerRefNum;
37
+ public $customerAddress1;
38
+ public $customerAddress2;
39
+ public $customerCity;
40
+ public $customerState;
41
+ public $customerZIP;
42
+ public $customerEmail;
43
+ public $customerPhone;
44
+ public $ccExp;
45
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileChange.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+
27
+
28
+ class Cignex_Paymenttechchase_Model_ProfileChange
29
+ {
30
+ public $profileChangeRequest;
31
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileChangeElement.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+
27
+
28
+ class Cignex_Paymenttechchase_Model_ProfileChangeElement
29
+ {
30
+ public $orbitalConnectionUsername;
31
+ public $orbitalConnectionPassword;
32
+ public $version;
33
+ public $bin;
34
+ public $merchantID;
35
+ public $customerName;
36
+ public $customerRefNum;
37
+ public $customerAddress1;
38
+ public $customerAddress2;
39
+ public $customerCity;
40
+ public $customerState;
41
+ public $customerZIP;
42
+ public $customerEmail;
43
+ public $customerPhone;
44
+ public $ccExp;
45
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileDelete.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+
27
+
28
+ class Cignex_Paymenttechchase_Model_ProfileDelete
29
+ {
30
+ public $profileDeleteRequest;
31
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileDeleteElement.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+
27
+
28
+ class Cignex_Paymenttechchase_Model_ProfileDeleteElement
29
+ {
30
+ public $orbitalConnectionUsername;
31
+ public $orbitalConnectionPassword;
32
+ public $version;
33
+ public $bin;
34
+ public $merchantID;
35
+ public $customerName;
36
+ public $customerRefNum;
37
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileFetch.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+
27
+
28
+ class Cignex_Paymenttechchase_Model_ProfileFetch
29
+ {
30
+ public $profileFetchRequest;
31
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/ProfileFetchElement.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+
27
+
28
+ class Cignex_Paymenttechchase_Model_ProfileFetchElement
29
+ {
30
+ public $orbitalConnectionUsername;
31
+ public $orbitalConnectionPassword;
32
+ public $bin;
33
+ public $merchantID;
34
+ public $customerName;
35
+ public $customerRefNum;
36
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Profilemgmt.php ADDED
@@ -0,0 +1,267 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Community Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymentchase
23
+ * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ class Cignex_Paymenttechchase_Model_Profilemgmt extends Mage_Core_Model_Abstract
28
+ {
29
+ public function _construct()
30
+ {
31
+ parent::_construct();
32
+ $this->_init('paymenttechchase/profilemgmt');
33
+ }
34
+
35
+ /**
36
+ * Get api url of Orbital CHASE Paymentech
37
+ *
38
+ * @return string
39
+ */
40
+ public function getApiGatewayUrl()
41
+ {
42
+ $value = Mage::getStoreConfig('payment/paymenttechchase/cgi_url')."/wsdl/PaymentechGateway.wsdl";
43
+ return $value;
44
+ }
45
+
46
+ /**
47
+ * Fetch profile details from Paymentchase
48
+ * @Param $custRefNumber => Referance number of profile in paymentchase
49
+ */
50
+ public function fetchProfile($custRefNumber)
51
+ {
52
+ $pr = new Cignex_Paymenttechchase_Model_ProfileFetch(); // Profile Fetch Object
53
+ $preq = new Cignex_Paymenttechchase_Model_ProfileFetchElement(); // Profile request element
54
+ $preq->orbitalConnectionUsername = Mage::getStoreConfig('payment/paymenttechchase/user_id');
55
+ $preq->orbitalConnectionPassword = Mage::getStoreConfig('payment/paymenttechchase/password');
56
+ $preq->version="1.9";
57
+ $preq->bin = Mage::getStoreConfig('payment/paymenttechchase/bin_no');
58
+ $preq->merchantID = Mage::getStoreConfig('payment/paymenttechchase/merchant_id');
59
+
60
+ $CustData = Mage::getSingleton('customer/session')->getCustomer();
61
+ $CustId = $CustData->getId();
62
+ $preq->customerName = $CustData->getName();
63
+ $preq->customerRefNum = $custRefNumber;
64
+
65
+ $pr->profileFetchRequest = $preq;
66
+
67
+ try{
68
+ $soap = new SoapClient($this->getApiGatewayUrl());
69
+ }
70
+ catch (Exception $e){
71
+ Mage::log("\n".__FILE__." (".__LINE__.")\n".__METHOD__."\n Exception invoking SoapClient : ".$e->getMessage()." \n" );
72
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
73
+ }
74
+ try{
75
+ $ret = $soap->ProfileFetch($pr);
76
+ $response = $ret->return;
77
+ return $response;
78
+ }
79
+ catch (Exception $e){
80
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
81
+ }
82
+ }
83
+
84
+ /**
85
+ * Add profile details from Paymentchase
86
+ * @Param $request => Array of profile details
87
+ */
88
+ public function addProfile($request)
89
+ {
90
+ $pra = new Cignex_Paymenttechchase_Model_ProfileAdd();
91
+ $pareq = new Cignex_Paymenttechchase_Model_ProfileAddElement();
92
+
93
+ $pareq->orbitalConnectionUsername = Mage::getStoreConfig('payment/paymenttechchase/user_id');
94
+ $pareq->orbitalConnectionPassword = Mage::getStoreConfig('payment/paymenttechchase/password');
95
+ $pareq->version="1.9";
96
+ $pareq->bin = Mage::getStoreConfig('payment/paymenttechchase/bin_no');
97
+ $pareq->merchantID = Mage::getStoreConfig('payment/paymenttechchase/merchant_id');
98
+
99
+ $CustData = Mage::getSingleton('customer/session')->getCustomer();
100
+
101
+ $pareq->customerName = $request['firstname'];
102
+ $pareq->customerProfileOrderOverideInd= 'NO';
103
+ $pareq->customerProfileFromOrderInd= 'S';
104
+ $pareq->profileOrderOverideInd = 'Yes';
105
+ $RefNumber = $this->GenerateRefNumber();
106
+ $pareq->customerRefNum = $RefNumber;
107
+ $pareq->customerAccountType = 'CC';
108
+ $pareq->ccAccountNum = $request['chase_cc_number'];
109
+
110
+ if(strlen($request['ccsave_expiration'])==1)
111
+ $Expdate=$request['ccsave_expiration_yr']."0".$request['ccsave_expiration'];
112
+ else
113
+ $Expdate=$request['ccsave_expiration_yr'].$request['ccsave_expiration'];
114
+
115
+ $pareq->ccExp = $Expdate;
116
+ $pareq->customerAddress1 = $request['address1'];
117
+ $pareq->customerAddress2 = $request['address2'];
118
+ $pareq->customerCity = $request['city'];
119
+ $pareq->customerState = $request['state'];
120
+ $pareq->customerZIP = $request['zip'];
121
+ $pareq->customerPhone = str_replace("-", "", $request['telephone']);
122
+ $pareq->customerCountryCode = $request['country'];
123
+ $custref = $CustData->getId();
124
+ $pra->profileAddRequest = $pareq;
125
+
126
+ try
127
+ {
128
+ $soap = new SoapClient($this->getApiGatewayUrl());
129
+ }
130
+ catch (exception $e){
131
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
132
+ }
133
+ try
134
+ {
135
+ $ret = $soap->ProfileAdd($pra);
136
+ }
137
+ catch (exception $e){
138
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
139
+ }
140
+ try
141
+ {
142
+ $PrcId = $RefNumber;
143
+ Mage::getResourceModel('paymenttechchase/profilemgmt')->addProfileName($custref,$PrcId,$request['profilename']);
144
+ $response = $ret->return;
145
+ }
146
+ catch(exception $e)
147
+ {
148
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
149
+ }
150
+ }
151
+
152
+ /**
153
+ * Delete profile from Paymentchase
154
+ * @Param $custRefNum => Referance number of profile in paymentchase
155
+ */
156
+ public function deleteProfile($custRefNum)
157
+ {
158
+ $prd = new Cignex_Paymenttechchase_Model_ProfileDelete();
159
+ $pdreq = new Cignex_Paymenttechchase_Model_ProfileDeleteElement();
160
+ $pdreq->orbitalConnectionUsername = Mage::getStoreConfig('payment/paymenttechchase/user_id');
161
+ $pdreq->orbitalConnectionPassword = Mage::getStoreConfig('payment/paymenttechchase/password');
162
+ $pdreq->version="1.9";
163
+ $pdreq->bin = Mage::getStoreConfig('payment/paymenttechchase/bin_no');
164
+ $pdreq->merchantID = Mage::getStoreConfig('payment/paymenttechchase/merchant_id');
165
+ $CustData = Mage::getSingleton('customer/session')->getCustomer();
166
+ $CustArray =$CustData->getData();
167
+ $pdreq->customerRefNum = $custRefNum;
168
+ $prd->profileDeleteRequest = $pdreq;
169
+ $soap = new SoapClient($this->getApiGatewayUrl());
170
+ $ret = $soap->ProfileDelete($prd);
171
+ try{
172
+ Mage::getResourceModel('paymenttechchase/profilemgmt')->deleteProfileName($custRefNum);
173
+ $response = $ret->return;
174
+ }
175
+ catch(exception $e)
176
+ {
177
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
178
+ }
179
+ return;
180
+ }
181
+
182
+ /**
183
+ * Edit profile details from Paymentchase - Should not pass profilename as it should not be editable
184
+ * @Param $request => Array of profile details including Referance number
185
+ */
186
+ public function editProfile($request)
187
+ {
188
+ $pre = new Cignex_Paymenttechchase_Model_ProfileChange();
189
+ $pereq = new Cignex_Paymenttechchase_Model_ProfileChangeElement();
190
+ $pereq->orbitalConnectionUsername = Mage::getStoreConfig('payment/paymenttechchase/user_id');
191
+ $pereq->orbitalConnectionPassword = Mage::getStoreConfig('payment/paymenttechchase/password');
192
+ $pereq->version="1.9";
193
+ $pereq->bin = Mage::getStoreConfig('payment/paymenttechchase/bin_no');
194
+ $pereq->merchantID = Mage::getStoreConfig('payment/paymenttechchase/merchant_id');
195
+ $pereq->customerName = $request['firstname'];
196
+ $pereq->customerProfileOrderOverideInd= 'NO';
197
+ $pereq->customerProfileFromOrderInd= 'S';
198
+ $pereq->profileOrderOverideInd = 'Yes';
199
+ $pereq->customerRefNum = $request['ref_number'];
200
+ $pereq->customerAccountType = 'CC';
201
+ $pereq->ccAccountNum = $request['chase_cc_number'];
202
+ if(strlen($request['ccsave_expiration'])==1)
203
+ $Expdate=$request['ccsave_expiration_yr']."0".$request['ccsave_expiration'];
204
+ else
205
+ $Expdate=$request['ccsave_expiration_yr'].$request['ccsave_expiration'];
206
+ $pereq->ccExp = $Expdate;
207
+ $pereq->customerAddress1 = $request['address1'];
208
+ $pereq->customerAddress2 = $request['address2'];
209
+ $pereq->customerCity = $request['city'];
210
+ $pereq->customerState = $request['state'];
211
+ $pereq->customerZIP = $request['zip'];
212
+ $pereq->customerPhone = str_replace("-", "", $request['telephone']);
213
+ $pereq->customerCountryCode = $request['country'];
214
+ $pre->profileChangeRequest = $pereq;
215
+ try
216
+ {
217
+ $soap = new SoapClient($this->getApiGatewayUrl());
218
+ }
219
+ catch (exception $e){
220
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
221
+ }
222
+ try
223
+ {
224
+ $ret = $soap->ProfileChange($pre);
225
+
226
+ }
227
+ catch (exception $e){
228
+ Mage::throwException($this->parseErrMessage($e->getMessage()));
229
+ }
230
+ return;
231
+ }
232
+
233
+ /**
234
+ * Parse Error Message
235
+ *
236
+ * @param array $message
237
+ * @return string $allerrMessage
238
+ */
239
+ public function parseErrMessage($message)
240
+ {
241
+ $errMessage = @explode(' ',trim($message));
242
+ $allerrMessage = '';
243
+ if(count($errMessage)>0)
244
+ {
245
+ for($i=1;$i<count($errMessage);$i++)
246
+ {
247
+ $allerrMessage .= $errMessage[$i]." ";
248
+ }
249
+ Mage::log($allerrMessage);
250
+ }
251
+
252
+ return $allerrMessage;
253
+ }
254
+
255
+ /**
256
+ * Generate unique referance number for profile
257
+ * @return integer
258
+ */
259
+ public function GenerateRefNumber()
260
+ {
261
+ $stamp = strtotime("now");
262
+ $ref_numer = $stamp-$_SERVER['REMOTE_ADDR'];
263
+ $ref_numer = str_replace(".", "", $ref_numer);
264
+ return $ref_numer;
265
+ }
266
+ }
267
+
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/Model/Status.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymentchase
23
+ * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+ class Cignex_Paymenttechchase_Model_Status extends Varien_Object
27
+ {
28
+ const STATUS_ENABLED = 1;
29
+ const STATUS_DISABLED = 2;
30
+
31
+ static public function getOptionArray()
32
+ {
33
+ return array(
34
+ self::STATUS_ENABLED => Mage::helper('paymenttechchase')->__('Enabled'),
35
+ self::STATUS_DISABLED => Mage::helper('paymenttechchase')->__('Disabled')
36
+ );
37
+ }
38
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/controllers/IndexController.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+ class Cignex_Paymenttechchase_IndexController extends Mage_Core_Controller_Front_Action
27
+ {
28
+ public function indexAction()
29
+ {
30
+ $this->loadLayout();
31
+ $this->renderLayout();
32
+ }
33
+ }
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/etc/config.xml ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Cignex_Paymenttechchase>
5
+ <version>0.1.1</version>
6
+ </Cignex_Paymenttechchase>
7
+ </modules>
8
+ <frontend>
9
+ <translate>
10
+ <modules>
11
+ <Cignex_Paymenttechchase>
12
+ <files>
13
+ <default>Cignex_Paymenttechchase.csv</default>
14
+ </files>
15
+ </Cignex_Paymenttechchase>
16
+ </modules>
17
+ </translate>
18
+ <routers>
19
+ <paymenttechchase>
20
+ <use>standard</use>
21
+ <args>
22
+ <module>Cignex_paymenttechchase</module>
23
+ <frontName>paymenttechchase</frontName>
24
+ </args>
25
+ </paymenttechchase>
26
+ </routers>
27
+ </frontend>
28
+ <default>
29
+ <payment>
30
+ <paymenttechchase>
31
+ <active>0</active>
32
+ <model>paymenttechchase/paymentMethod</model>
33
+ <order_status>1</order_status>
34
+ <login backend_model="adminhtml/system_config_backend_encrypted" />
35
+ <title>Credit Card (Chase Paymenttech)</title>
36
+ <cctypes>AX,VI,MC,DI</cctypes>
37
+ <cgi_url>https://orbital1.paymenttech.net</cgi_url>
38
+ <debug>0</debug>
39
+ <payment_action>authorize_capture</payment_action>
40
+ <trans_key backend_model="adminhtml/system_config_backend_encrypted" />
41
+ <allowspecific>0</allowspecific>
42
+ </paymenttechchase>
43
+ </payment>
44
+ </default>
45
+ <adminhtml>
46
+ <translate>
47
+ <modules>
48
+ <Cignex_Paymenttechchase>
49
+ <files>
50
+ <default>Cignex_Paymenttechchase.csv</default>
51
+ </files>
52
+ </Cignex_Paymenttechchase>
53
+ </modules>
54
+ </translate>
55
+ </adminhtml>
56
+ <global>
57
+ <models>
58
+ <paymenttechchase>
59
+ <class>Cignex_Paymenttechchase_Model</class>
60
+ <resourceModel>paymenttechchase_mysql4</resourceModel>
61
+ </paymenttechchase>
62
+ <paymenttechchase_mysql4>
63
+ <class>Cignex_Paymenttechchase_Model_Mysql4</class>
64
+ <entities>
65
+ <Cignex_debug>
66
+ <table>chase_paymenttech_debug</table>
67
+ </Cignex_debug>
68
+ </entities>
69
+ </paymenttechchase_mysql4>
70
+ </models>
71
+ <resources>
72
+ <paymenttechchase_setup>
73
+ <setup>
74
+ <module>Cignex_Paymenttechchase</module>
75
+ </setup>
76
+ <connection>
77
+ <use>core_setup</use>
78
+ </connection>
79
+ </paymenttechchase_setup>
80
+ <paymenttechchase_write>
81
+ <connection>
82
+ <use>core_write</use>
83
+ </connection>
84
+ </paymenttechchase_write>
85
+ <paymenttechchase_read>
86
+ <connection>
87
+ <use>core_read</use>
88
+ </connection>
89
+ </paymenttechchase_read>
90
+ </resources>
91
+ <blocks>
92
+ <paymenttechchase>
93
+ <class>Cignex_Paymenttechchase_Block</class>
94
+ </paymenttechchase>
95
+ </blocks>
96
+ <helpers>
97
+ <paymenttechchase>
98
+ <class>Cignex_Paymenttechchase_Helper</class>
99
+ </paymenttechchase>
100
+ </helpers>
101
+ </global>
102
+ </config>
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/etc/system.xml ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <sections>
4
+ <!-- payment tab -->
5
+ <payment>
6
+ <groups>
7
+ <!-- newmodule fieldset -->
8
+ <paymenttechchase translate="label" module="paymenttechchase">
9
+ <!-- will have title 'New Module' -->
10
+ <label>Chase Paymenttech</label>
11
+ <!-- position between other payment methods -->
12
+ <sort_order>670</sort_order>
13
+ <!-- do not show this configuration options in store scope -->
14
+ <show_in_default>1</show_in_default>
15
+ <show_in_website>1</show_in_website>
16
+ <show_in_store>1</show_in_store>
17
+ <fields>
18
+ <!-- is this payment method active for the website? -->
19
+ <active translate="label">
20
+ <!-- label for the field -->
21
+ <label>Enabled</label>
22
+ <!-- input type for configuration value -->
23
+ <frontend_type>select</frontend_type>
24
+ <!-- model to take the option values from -->
25
+ <source_model>adminhtml/system_config_source_yesno</source_model>
26
+ <!-- field position -->
27
+ <sort_order>1</sort_order>
28
+ <!-- do not show this field in store scope -->
29
+ <show_in_default>1</show_in_default>
30
+ <show_in_website>1</show_in_website>
31
+ <show_in_store>1</show_in_store>
32
+ </active>
33
+ <title translate="label">
34
+ <label>Title</label>
35
+ <frontend_type>text</frontend_type>
36
+ <sort_order>2</sort_order>
37
+ <show_in_default>1</show_in_default>
38
+ <show_in_website>1</show_in_website>
39
+ <show_in_store>1</show_in_store>
40
+ </title>
41
+ <order_status translate="label">
42
+ <label>New order status</label>
43
+ <frontend_type>select</frontend_type>
44
+ <source_model>adminhtml/system_config_source_order_status_processing</source_model>
45
+ <sort_order>3</sort_order>
46
+ <show_in_default>1</show_in_default>
47
+ <show_in_website>1</show_in_website>
48
+ <show_in_store>1</show_in_store>
49
+ </order_status>
50
+ <cgi_url translate="label">
51
+ <label>Gateway URL</label>
52
+ <frontend_type>text</frontend_type>
53
+ <sort_order>4</sort_order>
54
+ <show_in_default>1</show_in_default>
55
+ <show_in_website>1</show_in_website>
56
+ <show_in_store>1</show_in_store>
57
+ </cgi_url>
58
+ <user_id translate="label">
59
+ <label>User ID</label>
60
+ <frontend_type>text</frontend_type>
61
+ <sort_order>5</sort_order>
62
+ <show_in_default>1</show_in_default>
63
+ <show_in_website>1</show_in_website>
64
+ <show_in_store>1</show_in_store>
65
+ </user_id>
66
+ <password translate="label">
67
+ <label>Password</label>
68
+ <frontend_type>password</frontend_type>
69
+ <sort_order>6</sort_order>
70
+ <show_in_default>1</show_in_default>
71
+ <show_in_website>1</show_in_website>
72
+ <show_in_store>1</show_in_store>
73
+ </password>
74
+ <merchant_id translate="label">
75
+ <label>Merchant ID</label>
76
+ <frontend_type>text</frontend_type>
77
+ <sort_order>7</sort_order>
78
+ <show_in_default>1</show_in_default>
79
+ <show_in_website>1</show_in_website>
80
+ <show_in_store>1</show_in_store>
81
+ </merchant_id>
82
+ <terminal_id translate="label">
83
+ <label>Terminal ID</label>
84
+ <frontend_type>text</frontend_type>
85
+ <sort_order>8</sort_order>
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
+ </terminal_id>
90
+ <bin_no translate="label">
91
+ <label>BIN ID</label>
92
+ <frontend_type>text</frontend_type>
93
+ <sort_order>9</sort_order>
94
+ <show_in_default>1</show_in_default>
95
+ <show_in_website>1</show_in_website>
96
+ <show_in_store>1</show_in_store>
97
+ </bin_no>
98
+ <debug translate="label">
99
+ <label>Debug</label>
100
+ <frontend_type>select</frontend_type>
101
+ <source_model>adminhtml/system_config_source_yesno</source_model>
102
+ <sort_order>10</sort_order>
103
+ <show_in_default>1</show_in_default>
104
+ <show_in_website>1</show_in_website>
105
+ <show_in_store>1</show_in_store>
106
+ </debug>
107
+ <profile translate="label">
108
+ <label>Use Profile</label>
109
+ <frontend_type>select</frontend_type>
110
+ <source_model>adminhtml/system_config_source_yesno</source_model>
111
+ <sort_order>11</sort_order>
112
+ <show_in_default>1</show_in_default>
113
+ <show_in_website>1</show_in_website>
114
+ <show_in_store>1</show_in_store>
115
+ </profile>
116
+ </fields>
117
+ </paymenttechchase>
118
+ </groups>
119
+ </payment>
120
+ </sections>
121
+ </config>
app/code/local/Cignex/Paymenttechchase/Paymenttechchase/sql/paymenttechchase_setup/mysql4-install-0.1.0.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Commnity Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Community Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/community-edition
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@magentocommerce.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.magentocommerce.com for more information.
20
+ *
21
+ * @category Cignex
22
+ * @package Cignex_Paymenttechchase
23
+ * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://www.magentocommerce.com/license/community-edition
25
+ */
26
+
27
+ $installer = $this;
28
+
29
+ $installer->startSetup();
30
+
31
+ $installer->run("
32
+
33
+ -- DROP TABLE IF EXISTS {$this->getTable('chase_profile')};
34
+ CREATE TABLE IF NOT EXISTS chase_profile (
35
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
36
+ `customer_id` int(11) unsigned NOT NULL,
37
+ `profilename` varchar(255) NOT NULL,
38
+ `ref_number` varchar(50) NOT NULL,
39
+ PRIMARY KEY (`id`),
40
+ UNIQUE KEY `profilename` (`profilename`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
41
+ ");
42
+
43
+
44
+ $installer->endSetup();
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Cignex_Paymenttechchase</name>
4
- <version>1.1.2</version>
5
  <stability>stable</stability>
6
- <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>PaymentTech Chase payment gateway for secure online payment processing.</summary>
10
  <description>The extension provides PaymentTech Chase payment integration, which enables secure online transaction processing in a true one-stop-shop environment. Extension requires PHP SOAP extension to be installed and supports Credit Cards like Visa, MasterCard and Discover.</description>
11
  <notes>This module requires the PHP SOAP extension to be installed.</notes>
12
  <authors><author><name>Cignex</name><user>auto-converted</user><email>bhavika.dalwadi@cignex.com</email></author><author><name>Khyati</name><user>auto-converted</user><email>khyati.yagnik@cignex.com</email></author></authors>
13
- <date>2010-08-12</date>
14
- <time>05:59:44</time>
15
- <contents><target name="magelocal"><dir name="Cignex"><dir name="Paymenttechchase"><dir name="Block"><file name="Paymenttechchase.php" hash="2efe752bc2ebf0f8461793ebeec86cb2"/></dir><dir name="controllers"><file name="IndexController.php" hash="e84984501013ee960b27b3acfcc06461"/></dir><dir name="etc"><file name="config.xml" hash="fb5dfccf7fdb4c52d271fb03a2b216eb"/><file name="system.xml" hash="58b911402f4f327db5619bd3d1726959"/></dir><dir name="Helper"><file name="Data.php" hash="9d47ef52898174ab6437728b1809c9a3"/></dir><dir name="Model"><file name="NewOrder.php" hash="08707e4fcd734e0d4d56894e55d35333"/><file name="NewOrderRequestElement.php" hash="fc730a02ef0cf33fc8488ce110e4ded0"/><file name="PaymentMethod.php" hash="57f3f564d15a538f9aa99beca612f809"/><file name="Paymenttechchase.php" hash="decf8d3d082129668ad65eaea5962629"/><file name="ProfileAdd.php" hash="9809466e5c5b56df1213b0fbeb2f4aa1"/><file name="ProfileAddElement.php" hash="b962df31104a5b5b30c7f83dca81d47d"/><file name="ProfileChange.php" hash="9a9d3eb05b6d4c8aa21f94d528365a01"/><file name="ProfileChangeElement.php" hash="a4c466d4c8cd87e8cc3aef540aaeb0d9"/><file name="ProfileDelete.php" hash="57c9f2998e3580d93c2224e2c6fb2f9d"/><file name="ProfileDeleteElement.php" hash="ba0782e39047878a0f34f45c2d6a444e"/><file name="ProfileFetch.php" hash="dbe878b6b6324a72ee2c94962e9ea6d0"/><file name="ProfileFetchElement.php" hash="9d9e748a00381240c6edd295d5ae775c"/><file name="Profilemgmt.php" hash="e15cbe99c9a9a54c1ea59e57e1303dc1"/><file name="Status.php" hash="23c093c271cb54ffc250b25d2eceec29"/><dir name="Mysql4"><file name="Paymenttechchase.php" hash="60515343f5164b2dabceffe5fec8edf4"/><file name="Profilemgmt.php" hash="799d157e572abe06fcfbcc7645b7a4b6"/><dir name="Paymenttechchase"><file name="Collection.php" hash="b6e47d8cef53288a9f6dea1e51b565e5"/></dir></dir></dir><dir name="sql"><dir name="paymenttechchase_setup"><file name="mysql4-install-0.1.0.php" hash="640c0257c6b0dd26d7b787af96c9042c"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Cignex_Paymenttechchase.xml" hash="e54908264e5aaa708f755e3d0fd4e13f"/></dir></target></contents>
16
  <compatible/>
17
  <dependencies/>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Cignex_Paymenttechchase</name>
4
+ <version>1.1.3</version>
5
  <stability>stable</stability>
6
+ <license>OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>PaymentTech Chase payment gateway for secure online payment processing.</summary>
10
  <description>The extension provides PaymentTech Chase payment integration, which enables secure online transaction processing in a true one-stop-shop environment. Extension requires PHP SOAP extension to be installed and supports Credit Cards like Visa, MasterCard and Discover.</description>
11
  <notes>This module requires the PHP SOAP extension to be installed.</notes>
12
  <authors><author><name>Cignex</name><user>auto-converted</user><email>bhavika.dalwadi@cignex.com</email></author><author><name>Khyati</name><user>auto-converted</user><email>khyati.yagnik@cignex.com</email></author></authors>
13
+ <date>2010-11-23</date>
14
+ <time>09:12:50</time>
15
+ <contents><target name="magelocal"><dir name="Cignex"><dir name="Paymenttechchase"><dir name="Block"><file name="Paymenttechchase.php" hash="2efe752bc2ebf0f8461793ebeec86cb2"/></dir><dir name="controllers"><file name="IndexController.php" hash="e84984501013ee960b27b3acfcc06461"/></dir><dir name="etc"><file name="config.xml" hash="fb5dfccf7fdb4c52d271fb03a2b216eb"/><file name="system.xml" hash="58b911402f4f327db5619bd3d1726959"/></dir><dir name="Helper"><file name="Data.php" hash="9d47ef52898174ab6437728b1809c9a3"/></dir><dir name="Model"><file name="NewOrder.php" hash="08707e4fcd734e0d4d56894e55d35333"/><file name="NewOrderRequestElement.php" hash="fc730a02ef0cf33fc8488ce110e4ded0"/><file name="PaymentMethod.php" hash="28b1250c8ccb5ac28b023a4e0972177e"/><file name="PaymentMethod_old.php" hash="a9cde22dd86c5052cc68fec90d167709"/><file name="Paymenttechchase.php" hash="decf8d3d082129668ad65eaea5962629"/><file name="ProfileAdd.php" hash="9809466e5c5b56df1213b0fbeb2f4aa1"/><file name="ProfileAddElement.php" hash="b962df31104a5b5b30c7f83dca81d47d"/><file name="ProfileChange.php" hash="9a9d3eb05b6d4c8aa21f94d528365a01"/><file name="ProfileChangeElement.php" hash="a4c466d4c8cd87e8cc3aef540aaeb0d9"/><file name="ProfileDelete.php" hash="57c9f2998e3580d93c2224e2c6fb2f9d"/><file name="ProfileDeleteElement.php" hash="ba0782e39047878a0f34f45c2d6a444e"/><file name="ProfileFetch.php" hash="dbe878b6b6324a72ee2c94962e9ea6d0"/><file name="ProfileFetchElement.php" hash="9d9e748a00381240c6edd295d5ae775c"/><file name="Profilemgmt.php" hash="e15cbe99c9a9a54c1ea59e57e1303dc1"/><file name="Status.php" hash="23c093c271cb54ffc250b25d2eceec29"/><dir name="Mysql4"><file name="Paymenttechchase.php" hash="60515343f5164b2dabceffe5fec8edf4"/><file name="Profilemgmt.php" hash="799d157e572abe06fcfbcc7645b7a4b6"/><dir name="Paymenttechchase"><file name="Collection.php" hash="b6e47d8cef53288a9f6dea1e51b565e5"/></dir></dir></dir><dir name="Paymenttechchase"><dir name="Block"><file name="Paymenttechchase.php" hash="2efe752bc2ebf0f8461793ebeec86cb2"/></dir><dir name="controllers"><file name="IndexController.php" hash="e84984501013ee960b27b3acfcc06461"/></dir><dir name="etc"><file name="config.xml" hash="fb5dfccf7fdb4c52d271fb03a2b216eb"/><file name="system.xml" hash="58b911402f4f327db5619bd3d1726959"/></dir><dir name="Helper"><file name="Data.php" hash="9d47ef52898174ab6437728b1809c9a3"/></dir><dir name="Model"><file name="NewOrder.php" hash="9270a540d9f7a4640e313f8c44a82429"/><file name="NewOrderRequestElement.php" hash="e7631bc0c15cf6b8e1e2277ee4d0892e"/><file name="PaymentMethod.php" hash="a9cde22dd86c5052cc68fec90d167709"/><file name="PaymentMethod_old.php" hash="a9cde22dd86c5052cc68fec90d167709"/><file name="Paymenttechchase.php" hash="decf8d3d082129668ad65eaea5962629"/><file name="ProfileAdd.php" hash="9ad4d854c65ee80805e0404cadfab9d4"/><file name="ProfileAddElement.php" hash="d8773e43a8a08fa5fa63aa7c0f968e30"/><file name="ProfileChange.php" hash="eb835bea95e476cfd9290e4f9d0b4f9a"/><file name="ProfileChangeElement.php" hash="b54826b0c8a20520533b43661c9ccf83"/><file name="ProfileDelete.php" hash="bd60a5493d12d3619d9858b91e1642e9"/><file name="ProfileDeleteElement.php" hash="e6d620f92562220727a0b1054716abe3"/><file name="ProfileFetch.php" hash="2c10ba69af0da4a78bd4a42dea0e18d6"/><file name="ProfileFetchElement.php" hash="ed195fd4931a5c1b8554e2b88f622b64"/><file name="Profilemgmt.php" hash="e15cbe99c9a9a54c1ea59e57e1303dc1"/><file name="Status.php" hash="f6f125764d28da5bae9b0e14c093e842"/><dir name="Mysql4"><file name="Paymenttechchase.php" hash="60515343f5164b2dabceffe5fec8edf4"/><file name="Profilemgmt.php" hash="799d157e572abe06fcfbcc7645b7a4b6"/><dir name="Paymenttechchase"><file name="Collection.php" hash="b6e47d8cef53288a9f6dea1e51b565e5"/></dir></dir></dir><dir name="sql"><dir name="paymenttechchase_setup"><file name="mysql4-install-0.1.0.php" hash="640c0257c6b0dd26d7b787af96c9042c"/></dir></dir></dir><dir name="sql"><dir name="paymenttechchase_setup"><file name="mysql4-install-0.1.0.php" hash="640c0257c6b0dd26d7b787af96c9042c"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Cignex_Paymenttechchase.xml" hash="e54908264e5aaa708f755e3d0fd4e13f"/></dir></target></contents>
16
  <compatible/>
17
  <dependencies/>
18
  </package>