securetrading_ws.php (24492B)
1 <?php 2 class ControllerExtensionPaymentSecureTradingWs extends Controller { 3 private $error = array(); 4 5 public function index() { 6 $this->load->model('setting/setting'); 7 $this->load->model('localisation/geo_zone'); 8 $this->load->model('localisation/order_status'); 9 $this->load->model('localisation/currency'); 10 $this->load->language('extension/payment/securetrading_ws'); 11 12 if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { 13 $this->request->post['payment_securetrading_ws_site_reference'] = trim($this->request->post['payment_securetrading_ws_site_reference']); 14 $this->request->post['payment_securetrading_ws_username'] = trim($this->request->post['payment_securetrading_ws_username']); 15 16 $this->model_setting_setting->editSetting('payment_securetrading_ws', $this->request->post); 17 18 $this->session->data['success'] = $this->language->get('text_success'); 19 20 $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=payment', true)); 21 } 22 23 if (isset($this->request->post['payment_securetrading_ws_site_reference'])) { 24 $data['payment_securetrading_ws_site_reference'] = $this->request->post['payment_securetrading_ws_site_reference']; 25 } else { 26 $data['payment_securetrading_ws_site_reference'] = $this->config->get('payment_securetrading_ws_site_reference'); 27 } 28 29 if (isset($this->request->post['payment_securetrading_ws_username'])) { 30 $data['payment_securetrading_ws_username'] = $this->request->post['payment_securetrading_ws_username']; 31 } else { 32 $data['payment_securetrading_ws_username'] = $this->config->get('payment_securetrading_ws_username'); 33 } 34 35 if (isset($this->request->post['payment_securetrading_ws_password'])) { 36 $data['payment_securetrading_ws_password'] = $this->request->post['payment_securetrading_ws_password']; 37 } else { 38 $data['payment_securetrading_ws_password'] = $this->config->get('payment_securetrading_ws_password'); 39 } 40 41 if (isset($this->request->post['payment_securetrading_ws_csv_username'])) { 42 $data['payment_securetrading_ws_csv_username'] = $this->request->post['payment_securetrading_ws_csv_username']; 43 } else { 44 $data['payment_securetrading_ws_csv_username'] = $this->config->get('payment_securetrading_ws_csv_username'); 45 } 46 47 if (isset($this->request->post['payment_securetrading_ws_csv_password'])) { 48 $data['payment_securetrading_ws_csv_password'] = $this->request->post['payment_securetrading_ws_csv_password']; 49 } else { 50 $data['payment_securetrading_ws_csv_password'] = $this->config->get('payment_securetrading_ws_csv_password'); 51 } 52 53 $this->config->set('payment_securetrading_ws_3d_secure', 1); 54 55 if (isset($this->request->post['payment_securetrading_ws_3d_secure'])) { 56 $data['payment_securetrading_ws_3d_secure'] = $this->request->post['payment_securetrading_ws_3d_secure']; 57 } else { 58 $data['payment_securetrading_ws_3d_secure'] = $this->config->get('payment_securetrading_ws_3d_secure'); 59 } 60 61 if (isset($this->request->post['payment_securetrading_ws_cards_accepted'])) { 62 $data['payment_securetrading_ws_cards_accepted'] = $this->request->post['payment_securetrading_ws_cards_accepted']; 63 } else { 64 $data['payment_securetrading_ws_cards_accepted'] = $this->config->get('payment_securetrading_ws_cards_accepted'); 65 66 if ($data['payment_securetrading_ws_cards_accepted'] == null) { 67 $data['payment_securetrading_ws_cards_accepted'] = array(); 68 } 69 } 70 71 if (isset($this->request->post['payment_securetrading_ws_order_status_id'])) { 72 $data['payment_securetrading_ws_order_status_id'] = $this->request->post['payment_securetrading_ws_order_status_id']; 73 } elseif ($this->config->get('payment_securetrading_ws_order_status_id') != '') { 74 $data['payment_securetrading_ws_order_status_id'] = $this->config->get('payment_securetrading_ws_order_status_id'); 75 } else { 76 $data['payment_securetrading_ws_order_status_id'] = 1; 77 } 78 79 if (isset($this->request->post['payment_securetrading_ws_failed_order_status_id'])) { 80 $data['payment_securetrading_ws_failed_order_status_id'] = $this->request->post['payment_securetrading_ws_failed_order_status_id']; 81 } elseif ($this->config->get('payment_securetrading_ws_failed_order_status_id') != '') { 82 $data['payment_securetrading_ws_failed_order_status_id'] = $this->config->get('payment_securetrading_ws_failed_order_status_id'); 83 } else { 84 $data['payment_securetrading_ws_failed_order_status_id'] = 10; 85 } 86 87 if (isset($this->request->post['payment_securetrading_ws_declined_order_status_id'])) { 88 $data['payment_securetrading_ws_declined_order_status_id'] = $this->request->post['payment_securetrading_ws_declined_order_status_id']; 89 } elseif ($this->config->get('payment_securetrading_ws_declined_order_status_id') != '') { 90 $data['payment_securetrading_ws_declined_order_status_id'] = $this->config->get('payment_securetrading_ws_declined_order_status_id'); 91 } else { 92 $data['payment_securetrading_ws_declined_order_status_id'] = 8; 93 } 94 95 if (isset($this->request->post['payment_securetrading_ws_refunded_order_status_id'])) { 96 $data['payment_securetrading_ws_refunded_order_status_id'] = $this->request->post['payment_securetrading_ws_refunded_order_status_id']; 97 } elseif ($this->config->get('payment_securetrading_ws_refunded_order_status_id') != '') { 98 $data['payment_securetrading_ws_refunded_order_status_id'] = $this->config->get('payment_securetrading_ws_refunded_order_status_id'); 99 } else { 100 $data['payment_securetrading_ws_refunded_order_status_id'] = 11; 101 } 102 103 if (isset($this->request->post['payment_securetrading_ws_authorisation_reversed_order_status_id'])) { 104 $data['payment_securetrading_ws_authorisation_reversed_order_status_id'] = $this->request->post['payment_securetrading_ws_authorisation_reversed_order_status_id']; 105 } elseif ($this->config->get('payment_securetrading_ws_authorisation_reversed_order_status_id') != '') { 106 $data['payment_securetrading_ws_authorisation_reversed_order_status_id'] = $this->config->get('payment_securetrading_ws_authorisation_reversed_order_status_id'); 107 } else { 108 $data['payment_securetrading_ws_authorisation_reversed_order_status_id'] = 12; 109 } 110 111 if (isset($this->request->post['payment_securetrading_ws_settle_status'])) { 112 $data['payment_securetrading_ws_settle_status'] = $this->request->post['payment_securetrading_ws_settle_status']; 113 } else { 114 $data['payment_securetrading_ws_settle_status'] = $this->config->get('payment_securetrading_ws_settle_status'); 115 } 116 117 if (isset($this->request->post['payment_securetrading_ws_settle_due_date'])) { 118 $data['payment_securetrading_ws_settle_due_date'] = $this->request->post['payment_securetrading_ws_settle_due_date']; 119 } else { 120 $data['payment_securetrading_ws_settle_due_date'] = $this->config->get('payment_securetrading_ws_settle_due_date'); 121 } 122 123 if (isset($this->request->post['payment_securetrading_ws_geo_zone'])) { 124 $data['payment_securetrading_ws_geo_zone_id'] = $this->request->post['payment_securetrading_ws_geo_zone_id']; 125 } else { 126 $data['payment_securetrading_ws_geo_zone_id'] = $this->config->get('payment_securetrading_ws_geo_zone_id'); 127 } 128 129 if (isset($this->request->post['payment_securetrading_ws_status'])) { 130 $data['payment_securetrading_ws_status'] = $this->request->post['payment_securetrading_ws_status']; 131 } else { 132 $data['payment_securetrading_ws_status'] = $this->config->get('payment_securetrading_ws_status'); 133 } 134 135 if (isset($this->request->post['payment_securetrading_ws_sort_order'])) { 136 $data['payment_securetrading_ws_sort_order'] = $this->request->post['payment_securetrading_ws_sort_order']; 137 } else { 138 $data['payment_securetrading_ws_sort_order'] = $this->config->get('payment_securetrading_ws_sort_order'); 139 } 140 141 if (isset($this->request->post['payment_securetrading_ws_total'])) { 142 $data['payment_securetrading_ws_total'] = $this->request->post['payment_securetrading_ws_total']; 143 } else { 144 $data['payment_securetrading_ws_total'] = $this->config->get('payment_securetrading_ws_total'); 145 } 146 147 $this->document->setTitle($this->language->get('heading_title')); 148 149 if (isset($this->error['warning'])) { 150 $data['error_warning'] = $this->error['warning']; 151 } else { 152 $data['error_warning'] = ''; 153 } 154 155 if (isset($this->error['site_reference'])) { 156 $data['error_site_reference'] = $this->error['site_reference']; 157 } else { 158 $data['error_site_reference'] = ''; 159 } 160 161 if (isset($this->error['username'])) { 162 $data['error_username'] = $this->error['username']; 163 } else { 164 $data['error_username'] = ''; 165 } 166 167 if (isset($this->error['password'])) { 168 $data['error_password'] = $this->error['password']; 169 } else { 170 $data['error_password'] = ''; 171 } 172 173 if (isset($this->error['cards_accepted'])) { 174 $data['error_cards_accepted'] = $this->error['cards_accepted']; 175 } else { 176 $data['error_cards_accepted'] = ''; 177 } 178 179 $data['breadcrumbs'] = array(); 180 181 $data['breadcrumbs'][] = array( 182 'text' => $this->language->get('text_home'), 183 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) 184 ); 185 186 $data['breadcrumbs'][] = array( 187 'text' => $this->language->get('text_extension'), 188 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=payment', true) 189 ); 190 191 $data['breadcrumbs'][] = array( 192 'text' => $this->language->get('heading_title'), 193 'href' => $this->url->link('extension/payment/securetrading_ws', 'user_token=' . $this->session->data['user_token'], true) 194 ); 195 196 $data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones(); 197 $data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses(); 198 199 $data['cards'] = array( 200 'AMEX' => 'American Express', 201 'VISA' => 'Visa', 202 'DELTA' => 'Visa Debit', 203 'ELECTRON' => 'Visa Electron', 204 'PURCHASING' => 'Visa Purchasing', 205 'VPAY' => 'V Pay', 206 'MASTERCARD' => 'MasterCard', 207 'MASTERCARDDEBIT' => 'MasterCard Debit', 208 'MAESTRO' => 'Maestro', 209 'PAYPAL' => 'PayPal', 210 ); 211 212 $data['settlement_statuses'] = array( 213 '0' => $this->language->get('text_pending_settlement'), 214 '1' => $this->language->get('text_pending_settlement_manually_overriden'), 215 '2' => $this->language->get('text_pending_suspended'), 216 '100' => $this->language->get('text_pending_settled'), 217 ); 218 219 $data['action'] = $this->url->link('extension/payment/securetrading_ws', 'user_token=' . $this->session->data['user_token'], true); 220 221 $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=payment', true); 222 223 $data['myst_status'] = !empty($data['securetrading_ws_csv_username']) && !empty($data['securetrading_ws_csv_password']); 224 $data['hours'] = array(); 225 226 for ($i = 0; $i < 24; $i++) { 227 $data['hours'][] = str_pad($i, 2, '0', STR_PAD_LEFT); 228 } 229 230 $data['minutes'] = array(); 231 232 for ($i = 0; $i < 60; $i++) { 233 $data['minutes'][] = str_pad($i, 2, '0', STR_PAD_LEFT); 234 } 235 236 $data['currencies'] = $this->model_localisation_currency->getCurrencies(); 237 238 $data['user_token'] = $this->session->data['user_token']; 239 240 $data['header'] = $this->load->controller('common/header'); 241 $data['column_left'] = $this->load->controller('common/column_left'); 242 $data['footer'] = $this->load->controller('common/footer'); 243 244 $this->response->setOutput($this->load->view('extension/payment/securetrading_ws', $data)); 245 } 246 247 public function install() { 248 $this->load->model('extension/payment/securetrading_ws'); 249 $this->model_extension_payment_securetrading_ws->install(); 250 } 251 252 public function uninstall() { 253 $this->load->model('extension/payment/securetrading_ws'); 254 $this->model_extension_payment_securetrading_ws->uninstall(); 255 } 256 257 public function downloadTransactions() { 258 $this->load->model('extension/payment/securetrading_ws'); 259 $this->load->language('extension/payment/securetrading_ws'); 260 261 $csv_data = $this->request->post; 262 $csv_data['detail'] = true; 263 264 $response = $this->model_extension_payment_securetrading_ws->getCsv($csv_data); 265 266 header('Content-Type: application/octet-stream'); 267 header('Content-Disposition: attachment; filename="' . $this->language->get('text_transactions') . '.csv"'); 268 header('Expires: 0'); 269 header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 270 header('Pragma: public'); 271 header('Content-Length: ' . strlen($response)); 272 273 if (ob_get_level()) { 274 ob_end_clean(); 275 } 276 277 echo $response; 278 exit(); 279 } 280 281 public function showTransactions() { 282 $this->load->model('extension/payment/securetrading_ws'); 283 $this->load->language('extension/payment/securetrading_ws'); 284 285 $csv_data = $this->request->post; 286 $csv_data['detail'] = false; 287 288 $response = $this->model_extension_payment_securetrading_ws->getCsv($csv_data); 289 290 $data['transactions'] = array(); 291 292 $status_mapping = array( 293 '0' => $this->language->get('text_ok'), 294 '70000' => $this->language->get('text_denied'), 295 ); 296 297 $settle_status_mapping = array( 298 '0' => $this->language->get('text_pending_settlement'), 299 '1' => $this->language->get('text_manual_settlement'), 300 '2' => $this->language->get('text_suspended'), 301 '3' => $this->language->get('text_cancelled'), 302 '10' => $this->language->get('text_settling'), 303 '100' => $this->language->get('text_settled'), 304 ); 305 306 if ($response) { 307 $lines = array_filter(explode("\n", $response)); 308 309 $csv = array(); 310 $keys = str_getcsv($lines[0]); 311 312 for ($i = 1; $i < count($lines); $i++) { 313 $csv[] = array_combine($keys, str_getcsv($lines[$i])); 314 } 315 316 foreach ($csv as $row) { 317 $data['transactions'][] = array( 318 'order_id' => $row['orderreference'], 319 'order_href' => $this->url->link('sale/order/info', 'user_token=' . $this->session->data['user_token'] . '&order_id=' . $row['orderreference'], true), 320 'transaction_reference' => $row['transactionreference'], 321 'customer' => $row['billingfirstname'] . ' ' . $row['billinglastname'], 322 'total' => $row['mainamount'], 323 'currency' => $row['currencyiso3a'], 324 'settle_status' => $settle_status_mapping[$row['settlestatus']], 325 'status' => $status_mapping[$row['errorcode']], 326 'type' => $row['requesttypedescription'], 327 'payment_type' => $row['paymenttypedescription'], 328 ); 329 } 330 } 331 332 return $this->load->view('extension/payment/securetrading_ws_transactions', $data); 333 } 334 335 public function order() { 336 337 if ($this->config->get('payment_securetrading_ws_status')) { 338 $this->load->model('extension/payment/securetrading_ws'); 339 340 $securetrading_ws_order = $this->model_extension_payment_securetrading_ws->getOrder($this->request->get['order_id']); 341 342 if (!empty($securetrading_ws_order)) { 343 $this->load->language('extension/payment/securetrading_ws'); 344 345 $securetrading_ws_order['total_released'] = $this->model_extension_payment_securetrading_ws->getTotalReleased($securetrading_ws_order['securetrading_ws_order_id']); 346 347 $securetrading_ws_order['total_formatted'] = $this->currency->format($securetrading_ws_order['total'], $securetrading_ws_order['currency_code'], false, false); 348 $securetrading_ws_order['total_released_formatted'] = $this->currency->format($securetrading_ws_order['total_released'], $securetrading_ws_order['currency_code'], false, false); 349 350 $data['securetrading_ws_order'] = $securetrading_ws_order; 351 352 $data['auto_settle'] = $securetrading_ws_order['settle_type']; 353 354 $data['order_id'] = $this->request->get['order_id']; 355 356 $data['user_token'] = $this->request->get['user_token']; 357 358 return $this->load->view('extension/payment/securetrading_ws_order', $data); 359 } 360 } 361 } 362 363 public function void() { 364 $this->load->language('extension/payment/securetrading_ws'); 365 $json = array(); 366 367 if (isset($this->request->post['order_id']) && $this->request->post['order_id'] != '') { 368 $this->load->model('extension/payment/securetrading_ws'); 369 370 $securetrading_ws_order = $this->model_extension_payment_securetrading_ws->getOrder($this->request->post['order_id']); 371 372 $void_response = $this->model_extension_payment_securetrading_ws->void($this->request->post['order_id']); 373 374 $this->model_extension_payment_securetrading_ws->logger('Void result:\r\n' . print_r($void_response, 1)); 375 376 if ($void_response !== false) { 377 $response_xml = simplexml_load_string($void_response); 378 379 if ($response_xml->response['type'] == 'ERROR' || (string)$response_xml->response->error->code != '0') { 380 $json['msg'] = (string)$response_xml->response->error->message; 381 $json['error'] = true; 382 } else { 383 384 $this->model_extension_payment_securetrading_ws->addTransaction($securetrading_ws_order['securetrading_ws_order_id'], 'reversed', 0.00); 385 $this->model_extension_payment_securetrading_ws->updateVoidStatus($securetrading_ws_order['securetrading_ws_order_id'], 1); 386 387 $this->data = array( 388 'order_status_id' => $this->config->get('payment_securetrading_ws_authorisation_reversed_order_status_id'), 389 'notify' => false, 390 'comment' => '', 391 ); 392 393 $this->load->model('sale/order'); 394 395 $this->model_sale_order->addOrderHistory($this->request->post['order_id'], $this->data); 396 397 $json['msg'] = $this->language->get('text_authorisation_reversed'); 398 $json['data']['created'] = date("Y-m-d H:i:s"); 399 $json['error'] = false; 400 } 401 } else { 402 $json['msg'] = $this->language->get('error_connection'); 403 $json['error'] = true; 404 } 405 } else { 406 $json['error'] = true; 407 $json['msg'] = 'Missing data'; 408 } 409 410 $this->response->setOutput(json_encode($json)); 411 } 412 413 public function release() { 414 $this->load->language('extension/payment/securetrading_ws'); 415 $json = array(); 416 417 $amount = number_format($this->request->post['amount'], 2); 418 419 if (isset($this->request->post['order_id']) && $this->request->post['order_id'] != '' && isset($amount) && $amount > 0) { 420 $this->load->model('extension/payment/securetrading_ws'); 421 422 $securetrading_ws_order = $this->model_extension_payment_securetrading_ws->getOrder($this->request->post['order_id']); 423 424 $release_response = $this->model_extension_payment_securetrading_ws->release($this->request->post['order_id'], $amount); 425 426 $this->model_extension_payment_securetrading_ws->logger('Release result:\r\n' . print_r($release_response, 1)); 427 428 if ($release_response !== false) { 429 $response_xml = simplexml_load_string($release_response); 430 431 if ($response_xml->response['type'] == 'ERROR' || (string)$response_xml->response->error->code != '0') { 432 $json['error'] = true; 433 $json['msg'] = (string)$response_xml->response->error->message; 434 } else { 435 $this->model_extension_payment_securetrading_ws->addTransaction($securetrading_ws_order['securetrading_ws_order_id'], 'payment', $amount); 436 437 $total_released = $this->model_extension_payment_securetrading_ws->getTotalReleased($securetrading_ws_order['securetrading_ws_order_id']); 438 439 if ($total_released >= $securetrading_ws_order['total'] || $securetrading_ws_order['settle_type'] == 100) { 440 $this->model_extension_payment_securetrading_ws->updateReleaseStatus($securetrading_ws_order['securetrading_ws_order_id'], 1); 441 $release_status = 1; 442 $json['msg'] = $this->language->get('text_release_ok_order'); 443 444 $this->load->model('sale/order'); 445 446 $history = array(); 447 $history['order_status_id'] = $this->config->get('securetrading_ws_order_status_success_settled_id'); 448 $history['comment'] = ''; 449 $history['notify'] = ''; 450 451 $this->model_sale_order->addOrderHistory($this->request->post['order_id'], $history); 452 } else { 453 $release_status = 0; 454 $json['msg'] = $this->language->get('text_release_ok'); 455 } 456 457 $json['data'] = array(); 458 $json['data']['created'] = date("Y-m-d H:i:s"); 459 $json['data']['amount'] = $amount; 460 $json['data']['release_status'] = $release_status; 461 $json['data']['total'] = (double)$total_released; 462 $json['error'] = false; 463 } 464 } else { 465 $json['error'] = true; 466 $json['msg'] = $this->language->get('error_connection'); 467 } 468 } else { 469 $json['error'] = true; 470 $json['msg'] = $this->language->get('error_data_missing'); 471 } 472 473 $this->response->setOutput(json_encode($json)); 474 } 475 476 public function rebate() { 477 $this->load->language('extension/payment/securetrading_ws'); 478 $json = array(); 479 480 if (isset($this->request->post['order_id']) && !empty($this->request->post['order_id'])) { 481 $this->load->model('extension/payment/securetrading_ws'); 482 483 $securetrading_ws_order = $this->model_extension_payment_securetrading_ws->getOrder($this->request->post['order_id']); 484 485 $amount = number_format($this->request->post['amount'], 2); 486 487 $rebate_response = $this->model_extension_payment_securetrading_ws->rebate($this->request->post['order_id'], $amount); 488 489 $this->model_extension_payment_securetrading_ws->logger('Rebate result:\r\n' . print_r($rebate_response, 1)); 490 491 if ($rebate_response !== false) { 492 $response_xml = simplexml_load_string($rebate_response); 493 494 $error_code = (string)$response_xml->response->error->code; 495 496 if ($error_code == '0') { 497 498 $this->model_extension_payment_securetrading_ws->addTransaction($securetrading_ws_order['securetrading_ws_order_id'], 'rebate', $amount * -1); 499 500 $total_rebated = $this->model_extension_payment_securetrading_ws->getTotalRebated($securetrading_ws_order['securetrading_ws_order_id']); 501 $total_released = $this->model_extension_payment_securetrading_ws->getTotalReleased($securetrading_ws_order['securetrading_ws_order_id']); 502 503 if ($total_released <= 0 && $securetrading_ws_order['release_status'] == 1) { 504 $json['status'] = 1; 505 $json['message'] = $this->language->get('text_refund_issued'); 506 507 $this->model_extension_payment_securetrading_ws->updateRebateStatus($securetrading_ws_order['securetrading_ws_order_id'], 1); 508 $rebate_status = 1; 509 $json['msg'] = $this->language->get('text_rebate_ok_order'); 510 511 $this->load->model('sale/order'); 512 513 $history = array(); 514 $history['order_status_id'] = $this->config->get('payment_securetrading_ws_refunded_order_status_id'); 515 $history['comment'] = ''; 516 $history['notify'] = ''; 517 518 $this->model_sale_order->addOrderHistory($this->request->post['order_id'], $history); 519 } else { 520 $rebate_status = 0; 521 $json['msg'] = $this->language->get('text_rebate_ok'); 522 } 523 524 $json['data'] = array(); 525 $json['data']['created'] = date("Y-m-d H:i:s"); 526 $json['data']['amount'] = $amount * -1; 527 $json['data']['total_released'] = (double)$total_released; 528 $json['data']['total_rebated'] = (double)$total_rebated; 529 $json['data']['rebate_status'] = $rebate_status; 530 $json['error'] = false; 531 } else { 532 $json['error'] = true; 533 $json['msg'] = (string)$response_xml->response->error->message; 534 } 535 } else { 536 $json['status'] = 0; 537 $json['message'] = $this->language->get('error_connection'); 538 } 539 } else { 540 $json['error'] = true; 541 $json['msg'] = 'Missing data'; 542 } 543 544 $this->response->setOutput(json_encode($json)); 545 } 546 547 protected function validate() { 548 if (!$this->user->hasPermission('modify', 'extension/payment/securetrading_pp')) { 549 $this->error['warning'] = $this->language->get('error_permission'); 550 } 551 552 if (!$this->request->post['payment_securetrading_ws_site_reference']) { 553 $this->error['site_reference'] = $this->language->get('error_site_reference'); 554 } 555 556 if (!$this->request->post['payment_securetrading_ws_username']) { 557 $this->error['username'] = $this->language->get('error_username'); 558 } 559 560 if (!$this->request->post['payment_securetrading_ws_password']) { 561 $this->error['password'] = $this->language->get('error_password'); 562 } 563 564 if (empty($this->request->post['payment_securetrading_ws_cards_accepted'])) { 565 $this->error['cards_accepted'] = $this->language->get('error_cards_accepted'); 566 } 567 568 return !$this->error; 569 } 570 }