public static function processExportPayments() { if (Configuration::get('SYSPAY_MODE') == 0) { $mode = Syspay_Merchant_Client::BASE_URL_SANDBOX; $mid = Configuration::get('SYSPAY_TEST_MID'); $pass = Configuration::get('SYSPAY_TEST_SHA1_PRIVATE'); } else { $mode = Syspay_Merchant_Client::BASE_URL_PROD; $mid = Configuration::get('SYSPAY_LIVE_MID'); $pass = Configuration::get('SYSPAY_LIVE_SHA1_PRIVATE'); } $client = new Syspay_Merchant_Client($mid, $pass, $mode); if (Tools::getValue('from')) { if (strpos(Tools::getValue('from'), '/')) { $tab = explode('/', Tools::getValue('from')); $ts_from = $tab[1] . '-' . $tab[0] . '-' . $tab[2]; } else { $tab = explode('-', Tools::getValue('from')); $ts_from = $tab[10] . '-' . $tab[1] . '-' . $tab[2]; } } if (Tools::getValue('to')) { if (strpos(Tools::getValue('to'), '/')) { $tab = explode('/', Tools::getValue('to')); $ts_to = $tab[1] . '-' . $tab[0] . '-' . $tab[2]; } else { $tab = explode('-', Tools::getValue('to')); $ts_to = $tab[10] . '-' . $tab[1] . '-' . $tab[2]; } } $payment_list_request = new Syspay_Merchant_PaymentListRequest(); if (isset($ts_from)) { $payment_list_request->addFilter('start_date', strtotime($ts_from)); } if (isset($ts_to)) { $payment_list_request->addFilter('end_date', strtotime($ts_to)); } if ($client) { try { $payments = $client->request($payment_list_request); } catch (Syspay_Merchant_RequestException $s) { return false; } catch (Syspay_Merchant_UnexpectedResponseException $s) { return false; } $fd = fopen(dirname(__FILE__) . '/export_payments.csv', 'w'); if ($payments) { $plist = array(); foreach ($payments as $p) { $tmp = array(); $tmp['id'] = $p->getId(); $tmp['reference'] = $p->getReference(); $tmp['amount'] = number_format($p->getAmount() / 100, 2); $tmp['status'] = $p->getStatus(); $tmp['currency'] = $p->getCurrency(); $plist[] = $tmp; } if (isset($plist)) { $str = "ID;REFERENCE;AMOUNT;CURRENCY;STATUS\r\n"; foreach ($plist as $p) { $str .= $p['id'] . ';' . $p['reference'] . ';' . $p['amount'] . ';' . $p['currency'] . ';' . $p['status'] . "\r\n"; } } } else { $str = 'No payments for the selected period.'; } fwrite($fd, $str); fclose($fd); $website = SyspayTools::getWebsite(true, false); if (version_compare(_PS_VERSION_, '1.5', '>=')) { Tools::redirect($website . _MODULE_DIR_ . 'syspay/tools/export_payments.csv'); } else { Tools::redirectLink($website . _MODULE_DIR_ . 'syspay/tools/export_payments.csv'); } } }
public function checkPaymentsRefunds($technical_checks) { if ($technical_checks['total'] == 'ko') { $this->context->smarty->assign('no_refunds', 1); $this->context->smarty->assign('no_payments', 1); return; } if (Configuration::get('SYSPAY_MODE') == 0) { $mode = Syspay_Merchant_Client::BASE_URL_SANDBOX; $mid = Configuration::get('SYSPAY_TEST_MID'); $pass = Configuration::get('SYSPAY_TEST_SHA1_PRIVATE'); } else { $mode = Syspay_Merchant_Client::BASE_URL_PROD; $mid = Configuration::get('SYSPAY_LIVE_MID'); $pass = Configuration::get('SYSPAY_LIVE_SHA1_PRIVATE'); } $client = new Syspay_Merchant_Client($mid, $pass, $mode); $refund_list_request = new Syspay_Merchant_RefundListRequest(); if (Tools::getValue('from')) { if (strpos(Tools::getValue('from'), '/')) { $tab = explode('/', Tools::getValue('from')); $ts_from = $tab[1] . '-' . $tab[0] . '-' . $tab[2]; } else { $tab = explode('-', Tools::getValue('from')); $ts_from = $tab[10] . '-' . $tab[1] . '-' . $tab[2]; } } if (Tools::getValue('to')) { if (strpos(Tools::getValue('to'), '/')) { $tab = explode('/', Tools::getValue('to')); $ts_to = $tab[1] . '-' . $tab[0] . '-' . $tab[2]; } else { $tab = explode('-', Tools::getValue('to')); $ts_to = $tab[10] . '-' . $tab[1] . '-' . $tab[2]; } } $payment_list_request = new Syspay_Merchant_PaymentListRequest(); if (isset($ts_from)) { $payment_list_request->addFilter('start_date', strtotime($ts_from)); } if (isset($ts_to)) { $payment_list_request->addFilter('end_date', strtotime($ts_to)); } if ($client) { try { $refunds = $client->request($refund_list_request); } catch (Syspay_Merchant_RequestException $s) { $this->context->smarty->assign('no_refunds', 1); } catch (Syspay_Merchant_UnexpectedResponseException $s) { $this->context->smarty->assign('no_refunds', 1); } try { $payments = $client->request($payment_list_request); } catch (Syspay_Merchant_RequestException $s) { $this->context->smarty->assign('no_payments', 1); } catch (Syspay_Merchant_UnexpectedResponseException $s) { $this->context->smarty->assign('no_payments', 1); } if (isset($refunds) && !$refunds || !$client) { $this->context->smarty->assign('no_refunds', 1); } if (isset($payments) && !$payments || !$client) { $this->context->smarty->assign('no_payments', 1); } } }