Beispiel #1
0
 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');
         }
     }
 }
Beispiel #2
0
 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);
         }
     }
 }