Jump to content
  • 0

Wymuszenie SSL na konkretnej podstronie


Pat9

Question

Witam,

 

Panowie, kombinacje alpejskie.

 

Czy jest ktoś w stanie określić :

 

1. Podczas zakupów, wchodzimy do koszyka chronionego SSL, wybieramy kartę kredytową, przechodzi na stronę podsumowania ( tu nie ma SSL ) klikamy " KUP " > przejście na stronę płatności przelewy24 no i bum, nie ma certyfikatu u nich.

 

Włączam więc certyfikat na cały sklep, ponownie wykonuję w/w i certyfikat u nich jest, ( niestety nie chcę SSL na całym sklepie).

 

Niby wszystko jest ok, niby nie ma niczego bez https, na Fire fox działa jak powinno, tylko na Chrome coś wyłapuje.

 

Jest ktoś w stanie pomóc ?, bo karty kredytowe bez SSL raczej odstraszają niż zachęcają do płatności.

 

Czy można ewentualnie dodać jakąś komendę w httacces, która włączy SSL na tej danej podstronie ?

 

Czytałem sporo no, ale żadna przedstawiona komenda nie działala.

 

Proszę bardzo, bardzo o pomoc, gdyż muszą być karty.

 

- Ewentualnie, czy może jest możliwość dodania danej podstrony gdzieś w plikach odpowiedzialnych za funkcję z back office preferencje >ogólne > Włącz SSL i pod to podpiąc daną podstronę ?

 

Dodatkowo, nawet włączenie SSL na całym sklepie niesie za sobą problem. Wchodząc mobilnie z Androida wyświetla komunikat, że strona zagrożona, nieszyfrowana + czerwona przekreślona kłódka HTTPS, z kolei z iOS jest ok. No i weź tu bądź mądry :)

 

 

 

Pozdrawiam

Edited by Pat9 (see edit history)
Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Plik paymentConfirmation.tpl w przelewy24:

<div class="box" style="overflow: auto;">
    <h2><a href="http://przelewy24.pl" target="_blank"><img src="{$modules_dir}przelewy24/img/logo.png" alt="{l s='Payment confirmation' mod='przelewy24'}"/></a> {l s="Pay with Przelewy24" mod="przelewy24"}</h2>
    <hr/>

Wywal ten szajs:

<a href="http://przelewy24.pl" target="_blank">
Edited by Yabber (see edit history)
Link to comment
Share on other sites

  • 0

Niestety, brak takiego linku .

 

W razie czego kod;

 

PHP :

 

<?php
/**
 * Created by michalz on 13.03.14
 * Modified by AdamM on 28.10.2014
 */
if (!defined('_PS_VERSION_'))
    die("Nieznana wersja Prestashop/Unknown Prestashop version.");
require_once(dirname(_PS_MODULE_DIR_).'/modules/przelewy24/class_przelewy24.php');
class Przelewy24 extends PaymentModule {
    /**
     *
     */
    public function __construct() {
        //ini_set("error_reporting", 0);
        $this->name = 'przelewy24';
        $this->tab = 'payments_gateways';
        $this->version = '3.2.1';
        $this->currencies = true;
        $this->author = 'Dialcom24';
        $this->module_key = "5904b0e92c361acd8b5e76bb45b60b2b";
        $this->need_instance = 0;
        $this->ps_versions_compliancy = array('min' => '1.5', 'max' => '1.6');
        $this->currencies = true;
        $this->currencies_mode = 'checkbox';
        parent::__construct();
        $this->displayName = $this->l('Przelewy24');
        if (_PS_VERSION_<1.5) {
            $this->description = 'Wtyczka Przelewy24 w wersji 3 przeznaczona jest wyłącznie dla PrestaShop 1.5 i nowszych. Dla starszych wersji Prestashop użyj wtyczki w wersji 2.x.x (dostępna na naszej stronie internetowej).';
            parent::uninstall();
        } else {
            $this->description = $this->l('Przelewy24.pl Payment Service');
        }
        $this->confirmUninstall = $this->l('Are you sure you want to uninstall?');
 
        if (Configuration::get('P24_ORDER_STATE_1')===null) {
            Configuration::updateValue('P24_ORDER_STATE_1', 1);
        }
        if (Configuration::get('P24_ORDER_STATE_2')===null) {
            Configuration::updateValue('P24_ORDER_STATE_2', 2);
        }
 
        if (Configuration::get('P24_INSTALLMENT_SHOW')===null) {
            Configuration::updateValue('P24_INSTALLMENT_SHOW', 0);
        }
 
        if (Configuration::get("P24_GOOGLE_ANALYTICS_ENABLED")===null) {
            Configuration::updateValue("P24_GOOGLE_ANALYTICS_ENABLED", 0);
        }
 
        if (Configuration::get("P24_GOOGLE_ANALYTICS_CODE")===null) {
            Configuration::updateValue("P24_GOOGLE_ANALYTICS_CODE", "");
        }
 
        if (Configuration::get("P24_ORDER_TITLE_ID")===null) {
            Configuration::updateValue("P24_ORDER_TITLE_ID", 0);
        }
 
        if (Configuration::get("P24_SHOW_SUMMARY")===null) {
            Configuration::updateValue("P24_SHOW_SUMMARY", 0);
        }
    }
 
    private function validateCredentials($merchant, $pos, $salt, $test) {
        $P24C=new Przelewy24Class($merchant, $pos, $salt, $test);
        $ret=$P24C->testConnection();
        if ($ret['error']==0) {
            return true;
        }
        return false;
    }
    
    public function getCurrencyCode($currency_id) {
        $c=$this->getActualCurrencyById($currency_id);
        return $c['iso_code'];
    }
    
    public function getP24Amount($currency_id, $amount) {
        $c=$this->getActualCurrencyById($currency_id);
        if (isset($c['decimals'])&&$c['decimals']=='0') {
            if (Configuration::get('PS_PRICE_ROUND_MODE')!=null) {
                switch (Configuration::get('PS_PRICE_ROUND_MODE')) {
                    case 0:
                        $amount = ceil($amount);
                        break;
                    case 1:
                        $amount = floor($amount);
                        break;
                    case 2:
                        $amount = round($amount);
                        break;
                }
            }
        }
 
        return number_format($amount, 2, '.', '')*100;
    }
    
    private function getActualCurrencyById($id) {
        static $currency=null;
        if  ($currency===null) {
            $currencies = $this->getCurrency($id);
            foreach ($currencies as $c) {
                if ($c['id_currency']==$id) {
                    $currency = $c;
                    break;
                }
            }
        }
        return $currency;
    }
    
    /**
     * @return string
     */
    public function getContent() {
        if (Tools::isSubmit('submit')) {
            Configuration::updateValue('P24_MERCHANT_ID', Tools::getValue('merchantID'));
            Configuration::updateValue('P24_SHOP_ID', Tools::getValue('posID'));
            Configuration::updateValue('P24_SALT', Tools::getValue('salt'));
            Configuration::updateValue('P24_TEST_MODE', Tools::getValue('test_mode'));
            Configuration::updateValue('P24_TEST_MODE_TRANSACTION', Tools::getValue('test_transaction_select'));
            Configuration::updateValue('P24_COMMISSION', 0);
            // zachowanie wstecznej zgodności z wtyczkami 1.4, 1.5
            Configuration::updateValue('P24_ORDER_STATE_1', Tools::getValue('order_state_1'));
            Configuration::updateValue('P24_ORDER_STATE_2', Tools::getValue('order_state_2'));
            Configuration::updateValue('P24_INSTALLMENT_SHOW', Tools::getValue('installment_show'));
            Configuration::updateValue("P24_GOOGLE_ANALYTICS_ENABLED", (Tools::getValue("google_analytics_enabled")!=""?1:0));
            Configuration::updateValue("P24_GOOGLE_ANALYTICS_CODE", Tools::getValue("google_analytics_code"));
            Configuration::updateValue('P24_ORDER_TITLE_ID', Tools::getValue('order_title_id'));
            Configuration::updateValue("P24_SHOW_SUMMARY", (Tools::getValue("show_summary")!=""?1:0));
            $this->_displayForm(true);
        } else if (!property_exists(Przelewy24, "_html")||!$this->_html) {
            $this->_displayForm(false);
        }
 
        return $this->_html;
    }
 
    /**
     * @param bool $b_updated
     */
    private function _displayForm($b_updated = false) {
        global $cookie;
        require_once('../classes/order/OrderState.php');
        $this->_html = <<<HTML
<h2><a target="_blank" href="https://przelewy24.pl"><img src="../modules/przelewy24/img/logo.png" title="Przelewy24" alt="Przelewy24" /></a> {$this->l("Configuration")}</h2>
<p style="font-size: 16px;">{$this->l("Here you can change integration settings of Przelewy24 Payment Module")}</p>
<script type="text/javascript">
            $(function() {
                $("#test_mode").change(
                    function() {
                        var o_Test_Transaction=$("#test-transaction");
 
                        if($(this).val()==1) {
                            o_Test_Transaction.css("visibility","visible");
                        } else {
                            o_Test_Transaction.css("visibility","hidden");
                        }
                    }
                );
            });
       </script>
HTML;
        $merchantId = Configuration::get('P24_MERCHANT_ID');
        $posId = Configuration::get('P24_SHOP_ID');
        $salt = Configuration::get('P24_SALT');
        $test = Configuration::get('P24_TEST_MODE');
        
        $valid=$this->validateCredentials($merchantId, $posId, $salt, $test);
        $status_src=$valid?'../img/admin/icon-valid.png':'../img/admin/icon-cancel.png';
        
        if ($b_updated) {
            if ($valid) {
            $this->_html .= <<<HTML
<div class="conf confirm">
<img alt="Potwierdź" src="../img/admin/ok.gif"/>{$this->l("Updated")}
</div>
HTML;
            } else {
                $this->_html .= <<<HTML
<div class="conf confirm">
<img alt="Potwierdź" src="../img/admin/forbbiden.gif"/>{$this->l("Wrong CRC Key for this Merchant/Shop ID and module mode!")}
</div>
HTML;
            }
        }
 
        
        
        $this->_html .= <<<HTML
<fieldset>
<legend><img src="../img/admin/error.png" />{$this->l("Important Information")}</legend>
<p>{$this->l("You have to be registered to use module Przelewy24. If you have just done it, you can configure module in Payment Settings. However if you still have not registered, go to")} <a target="_blank" href="https://www.przelewy...rejestracja.htm">{$this->l("this link")}</a>.</p>
        </fieldset>
        <form action="{$_SERVER["REQUEST_URI"]}" method="post">
            <fieldset>
                <legend><img src="../img/admin/payment.gif" />{$this->l('Payment Settings')}</legend>
 
<table>
<tr>
<td><label><img src="../img/admin/tab-customers.gif" />{$this->l("Merchant ID")}<br /><small style="color:red">{$this->l("mandatory")}</small></label></td>
<td><input id="merchantID" type="text" name="merchantID" value="{$merchantId}" /><img id="merchantIDStatusIcon" src="{$status_src}" style="width: 23px; height: 23px" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td style="font-size:10px;padding: 0px 0px 5px 0px;"><img src="../img/admin/information.png" style="width:14px;height:14px;" />{$this->l("Where is ID")}</td>
</tr>
HTML;
        $this->_html .= <<<HTML
<tr>
<td><label><img src="../img/admin/tab-customers.gif" />{$this->l("Shop ID")}<br /><small style="color:red">{$this->l("mandatory")}</small></label></td>
<td><input id="posID" type="text" name="posID" value="{$posId}" /><img id="posIDStatusIcon" src="{$status_src}" style="width: 23px; height: 23px" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td style="font-size:10px;padding: 0px 0px 5px 0px;"><img src="../img/admin/information.png" style="width:14px;height:14px;" />{$this->l("Where is ID")}</td>
</tr>
HTML;
        $this->_html .= <<<HTML
<tr>
<td><label><img src="../img/admin/tab-customers.gif" />{$this->l("CRC Key")}<br /><small style="color:red">{$this->l("mandatory")}</small></label></td>
<td><input id="salt" type="text" name="salt" value="{$salt}" /><img id="saltStatusIcon" src="{$status_src}" style="width: 23px; height: 23px" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td style="font-size:10px;padding: 0px 0px 10px 0px;"><img src="../img/admin/information.png" style="width:14px;height:14px;" />{$this->l("Where is CRC")}</td>
</tr>
HTML;
        $order_title_id_0_selected = ((Configuration::get('P24_ORDER_TITLE_ID')==0)?' selected="selected"':'');
        $order_title_id_1_selected = ((Configuration::get('P24_ORDER_TITLE_ID')==1)?' selected="selected"':'');
        $this->_html .= <<<HTML
<tr>
<td><label for="order_title_id">{$this->l('Order id in title')}</label></td>
<td>
<select id="order_title_id" name="order_title_id">
<option value="0"{$order_title_id_0_selected}>{$this->l("Order id in database (e.g. 1, 2, 3)")}</option>
<option value="1"{$order_title_id_1_selected}>{$this->l("Masked order id (e.g. QYTUVLHOW)")}</option>
</select>
</td>
</tr>
HTML;
        $show_summary_checked = ((Configuration::get('P24_SHOW_SUMMARY')==1)?' checked="checked"':'');
        $this->_html .= <<< HTML
           <tr>
               <td><label for="show_summary"><h5 style="display: inline">{$this->l("Show summary on confirmation page")}</h5></label></td>
               <td><input type="checkbox" name="show_summary" id="show_summary"{$show_summary_checked} /></td>
           </tr>
<tr>
<td><label>{$this->l('Status before completing payment')}</label></td>
<td>
<select name="order_state_1">
HTML;
 
        foreach (OrderStateCore::getOrderStates($cookie->id_lang) as $orderState) {
            $selected = (Configuration::get('P24_ORDER_STATE_1')==$orderState['id_order_state'])?' selected="selected"':'';
            $this->_html .= <<<HTML
<option value="{$orderState['id_order_state']}"{$selected}>{$orderState['name']}</option>';
HTML;
        }
        $this->_html .= <<<HTML
</select>
</td>
</tr>
<tr>
<td><label>{$this->l('Status after completing payment')}</label></td>
<td>
<select name="order_state_2">
HTML;
        foreach (OrderStateCore::getOrderStates($cookie->id_lang) as $orderState) {
            $selected = (Configuration::get('P24_ORDER_STATE_2')==$orderState['id_order_state'])?' selected="selected"':'';
            $this->_html .= <<<HTML
<option value="{$orderState['id_order_state']}"{$selected}>{$orderState['name']}</option>';
HTML;
        }
        $this->_html .= <<<HTML
</select>
</td>
</tr>
HTML;
        $test_mode_1_selected = (($test==1)?' selected="selected"':'');
        $test_mode_2_selected = (($test==0)?' selected="selected"':'');
        $this->_html .= <<<HTML
<tr>
<td rowspan="2"><label>{$this->l('Module mode')}</label></td>
<td>
<h5 style="display:inline">{$this->l('Mode:')}</h5>
                            <select name="test_mode" id="test_mode" style="margin-left:16px">
                                    <option value="1"{$test_mode_1_selected}>{$this->l('test')}</option>
                                    <option value="0"{$test_mode_2_selected}>{$this->l('normal')}</option>
                            </select>
                        </td>
</tr>
HTML;
        $test_transaction_1_select = ((Configuration::get('P24_TEST_MODE_TRANSACTION')==1)?' selected="selected"':'');
        $test_transaction_0_select = ((Configuration::get('P24_TEST_MODE_TRANSACTION')==0)?' selected="selected"':'');
        $test_transaction_visible = ((Configuration::get('P24_TEST_MODE')==1)?'visible':'hidden');
        $this->_html .= <<<HTML
<tr>
<td id="test-transaction" style="visibility:{$test_transaction_visible}">
<h5 style="display:inline">{$this->l('Test transaction type:')}</h5>
                            <select name="test_transaction_select" id="test_transaction_select" style="margin-left:9px">
                                    <option value="1"{$test_transaction_1_select}>{$this->l('correct')}</option>
                                    <option value="0"{$test_transaction_0_select}>{$this->l('faulty')}</option>
                            </select>
                        </td>
</tr>
</table>
        </fieldset>
HTML;
        $installment_2_show = ((Configuration::get('P24_INSTALLMENT_SHOW')==2)?' selected="selected"':'');
        $installment_1_show = ((Configuration::get('P24_INSTALLMENT_SHOW')==1)?' selected="selected"':'');
        $installment_0_show = ((Configuration::get('P24_INSTALLMENT_SHOW')==0)?' selected="selected"':'');
        $this->_html .= <<<HTML
        <fieldset>
            <legend><img src="../img/admin/invoice.gif" />{$this->l('Installment Settings')}</legend>
            <table>
                <tr>
                    <td><label for="installment_show"><h5 style="display:inline">{$this->l('Show')}</h5></label></td>
                    <td>
                        <select name="installment_show" id="installment_show">
                            <option value="2"{$installment_2_show}>{$this->l('button (payment page) and information (product page)')}</option>
                            <option value="1"{$installment_1_show}>{$this->l('button (payment page) only')}</option>
                            <option value="0"{$installment_0_show}>{$this->l('hide all')}</option>
                        </select>
                    </td>
                </tr>
            </table>
        </fieldset>
HTML;
        $google_analytics_enabled_checked = ((Configuration::get('P24_GOOGLE_ANALYTICS_ENABLED')==1)?' checked="checked"':'');
        $google_analytics_code = Configuration::get('P24_GOOGLE_ANALYTICS_CODE');
 
        $this->_html .= <<<HTML
        <fieldset>
        <legend><img src="../modules/przelewy24/img/admin/ga.png" />{$this->l("Google Analytics Settings")}</legend>
        <table>
        <tr>
        <td><label for="google_analytics_enabled"><h5 style="display: inline">{$this->l("Enable")}</h5></label></td>
        <td><input type="checkbox" name="google_analytics_enabled" id="google_analytics_enabled"{$google_analytics_enabled_checked} /></td>
        </tr>
        <tr>
        <td><label for="google_analytics_code"><h5 style="display: inline">{$this->l("Google Analytics Following Code")}</h5></label></td>
        <td><textarea name="google_analytics_code" id="google_analytics_code" style="resize: vertical; height: 150px;" cols="100" rows="10">{$google_analytics_code}</textarea></td>
        </tr>
        </table>
        </fieldset>
        <input type="submit" name="submit" value="{$this->l('Save settings')}" class="button" />
    </form>
HTML;
    }
 
    /**
     * @return bool
     */
    public function install() {
        if (_PS_VERSION_>=1.5) {
            parent::install();
 
            $rq = Db::getInstance()->getRow('SELECT `id_order_state` FROM `'._DB_PREFIX_.'order_state_lang` WHERE id_lang = \''.pSQL('1').'\' AND  name = \''.pSQL('Oczekiwanie na płatność Przelewy24').'\'');
            if ($rq&&isset($rq['id_order_state'])&&intval($rq['id_order_state'])>0) {
                define('P24_ORDER_STATE_1', $rq['id_order_state']);
                Configuration::updateValue('P24_ORDER_STATE_1', $rq['id_order_state']);
            } else {
                Db::getInstance()->Execute('INSERT INTO `'._DB_PREFIX_.'order_state` (`unremovable`, `color`) VALUES(1, \'lightblue\')');
                $stateid = Db::getInstance()->Insert_ID();
                $result = Db::getInstance()->ExecuteS('SELECT `id_lang` FROM `'._DB_PREFIX_.'lang`');
                foreach ($result as $row) {
                    Db::getInstance()->Execute('INSERT INTO `'._DB_PREFIX_.'order_state_lang` (`id_order_state`, `id_lang`, `name`) VALUES('.intval($stateid).', '.intval($row['id_lang']).', \'Oczekiwanie na płatność Przelewy24\')');
                }
 
 
                define('P24_ORDER_STATE_1', $stateid);
                Configuration::updateValue('P24_ORDER_STATE_1', $stateid);
            }
 
            $rq = Db::getInstance()->getRow('SELECT `id_order_state` FROM `'._DB_PREFIX_.'order_state_lang` WHERE id_lang = \''.pSQL('1').'\' AND  name = \''.pSQL('Płatność Przelewy24 przyjęta').'\'');
            if ($rq&&isset($rq['id_order_state'])&&intval($rq['id_order_state'])>0) {
                define('P24_ORDER_STATE_2', $rq['id_order_state']);
                Configuration::updateValue('P24_ORDER_STATE_2', $rq['id_order_state']);
            } else {
                Db::getInstance()->Execute('INSERT INTO `'._DB_PREFIX_.'order_state` (`unremovable`, `color`, `paid`, `invoice`) VALUES(1, \'Limegreen\', 1, 1)');
                $stateid = Db::getInstance()->Insert_ID();
                foreach ($result as $row) {
                    Db::getInstance()->Execute('INSERT INTO `'._DB_PREFIX_.'order_state_lang` (`id_order_state`, `id_lang`, `name`) VALUES('.intval($stateid).', '.intval($row['id_lang']).', \'Płatność Przelewy24 przyjęta\')');
                }
                define('P24_ORDER_STATE_2', $stateid);
                Configuration::updateValue('P24_ORDER_STATE_2', $stateid);
            }
 
 
            if (!$this->registerHook('payment')||!$this->registerHook('displayOrderDetail')||!$this->registerHook('displayRightColumnProduct')||!$this->createAmountTable())
                return false;
            return true;
        } else {
            parent::uninstall();
            return false;
        }
    }
 
    /**
     * @return bool
     */
    private function createAmountTable() {
        Db::getInstance()->Execute('CREATE TABLE IF NOT EXISTS`'._DB_PREFIX_.'przelewy24_amount` (
`i_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`s_sid` char(32) NOT NULL,
`i_id_order` INT UNSIGNED NOT NULL ,
`i_amount` INT UNSIGNED NOT NULL
) ENGINE=MYISAM;');
 
        return true;
    }
 
    public function hookPayment() {
        global $smarty, $cart;
        $amount = $cart->getOrderTotal(true, Cart::BOTH);
        $protocol = Przelewy24::getHttpProtocol();
 
        $smarty->assign('p24_url', $protocol.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__);
        $smarty->assign('p24_url_payment', $this->context->link->getModuleLink('przelewy24', 'paymentConfirmation'));
        $smarty->assign('p24_url_installment', $this->context->link->getModuleLink('przelewy24', 'paymentConfirmation', array('payment_method'=>'129')));
        if ($amount>=300) {
            $smarty->assign('p24_installment_show', Configuration::get('P24_INSTALLMENT_SHOW'));
        } else {
            $smarty->assign('p24_installment_show', 0);
        }
 
        return $this->display(__FILE__, 'payment.tpl');
    }
 
    public function hookDisplayRightColumnProduct() {
        global $smarty, $cookie;
        if (Configuration::get('P24_INSTALLMENT_SHOW')==2) {
            $productID = Tools::getValue('id_product');
 
            if (isset($productID)&&$productID!='') {
                $product = new Product((int)$productID, true, $cookie->id_lang);
                $amount = $product->getPrice(true, null, 2, null, false, true, 1);
                $context = Context::getContext();
                $id_currency = (int)Validate::isLoadedObject($context->currency) ? $context->currency->id : Configuration::get('PS_CURRENCY_DEFAULT');
                $currencies = $this->getCurrency(intval($id_currency));
                $currency = 'PLN';
                foreach ($currencies as $c) {
                    if ($c['id_currency']==$id_currency) {
                        $currency = $c['iso_code'];
                    }
                }
                if ($amount>=300 && $currency=='PLN') {
                    $amountGrosh = $amount*100;
 
                    $isCurl = function_exists('curl_init')&&function_exists('curl_setopt')&&function_exists('curl_exec')&&function_exists('curl_close');
 
                    if ($isCurl) {
                        $userAgent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
                        $url = "https://secure.przel...ty.php?ammount=".$amountGrosh;
 
                        $curlConnection = curl_init();
                        curl_setopt($curlConnection, CURLOPT_URL, $url);
                        curl_setopt($curlConnection, CURLOPT_SSL_VERIFYHOST, 2);
                        curl_setopt($curlConnection, CURLOPT_USERAGENT, $userAgent);
                        curl_setopt($curlConnection, CURLOPT_RETURNTRANSFER, 1);
                        curl_setopt($curlConnection, CURLOPT_SSL_VERIFYPEER, false);
                        $result = curl_exec($curlConnection);
                    }
 
                    $result_tab = explode('<br>', $result);
 
                    $smarty->assign(array(
                        'part_count'=>$result_tab[0],
                        'part_cost'=>$result_tab[1],
                        'product_ammount'=>$amount,
                    ));
 
                    return $this->display(__FILE__, 'installmentRightColumnProduct.tpl');
                }
            }
        }
    }
 
    public function hookDisplayOrderDetail() {
        global $smarty;
 
        $orderID = $_GET['id_order'];
        $result = Db::getInstance()->getRow('SELECT module, current_state FROM `'._DB_PREFIX_.'orders` WHERE `id_order`="'.$orderID.'"');
 
        if (count($result)&&$result['module']=='przelewy24'&&$result['current_state']!=Configuration::get('P24_ORDER_STATE_2')) {
            $smarty->assign('p24_retryPaymentUrl', $this->context->link->getModuleLink('przelewy24', 'paymentConfirmation', array('order_id'=>$orderID)));
            return $this->display(__FILE__, 'renewPaymentOrderDetail.tpl');
        }
    }
 
    public static function getHttpProtocol() {
        if (isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS']!='off') {
 
        } else {
 
        }
    }
}
 
 
 
TPL from confirmation page :
 
<!-- Created by michalz on 13.03.14 -->
<!-- Modified by AdamM on 28.10.2014 -->
 
{capture name=path}{l s='Pay with Przelewy24' mod='przelewy24'}{/capture}
 
{assign var='current_step' value='payment'}
{include file="$tpl_dir./order-steps.tpl"}
 
<div class="box" style="overflow: auto;">
                                                            alt="{l s='Payment confirmation' mod='przelewy24'}"/></a> {l s="Pay with Przelewy24" mod="przelewy24"}
    </h2>
    <hr/>
    {if $p24_show_summary}
        <h4>{l s="Transaktionsdaten:" mod="przelewy24"}</h4>
        <table>
            <tr>
                <th>{l s="Kunde" mod="przelewy24"}</th>
                <td>{$p24_client}</td>
            </tr>
            <tr>
                <th>{l s="E-mail" mod="przelewy24"}</th>
                <td>{$p24_email}</td>
            </tr>
            <tr>
                <th>{l s="Gesamt" mod="przelewy24"}</th>
                <td>{$p24_classic_amount}</td>
            </tr>
  </table>
        <hr/>
    {/if}
    <p>{l s='Artikel im Warenkorb' mod="przelewy24"}: <span class="pods">{$cart_qties}</span></p>
         {foreach from=$products item=name}
         <p>- <span class="pods">{$name.name}</span>, {l s='Menge'}: <span class="pods">{$name.cart_quantity}</span>, {l s='Preis' mod="przelewy24"}: <span class="pods">{l s='Produkte Gesamtpreis exkl. MwSt:'} {$name.total} {$currency->sign} {l s='+'} {l s=' MwSt: '}{($name.total_wt - $name.total)|round:2} {$currency->sign}{l s=', Gesamtpreis inkl. MwSt: '} {$name.total_wt} {$currency->sign}</span>.</p>
         {/foreach} 
         <p>{l s='Lieferart inkl MwSt.:' mod="przelewy24"}: <span class="pods">{$shippingCost} {$currency->sign}</span></p>
    {if isset($productsNumber) && $productsNumber <= 0}
        <p style="font-size: 16px; line-height: 20px;">{l s='Your shopping cart is empty.' mod='przelewy24'}</p>
    {else}
        <p style="font-size: 16px; line-height: 20px;">
            {l s='Drücken Sie auf "Kaufen" Ihre Bestellung zu bestätigen und zu przelewy24 umgeleitet werden, wo Sie die Zahlung abzuschließen.' mod='przelewy24'}
        <form action="{$p24_url}" method="post" id="przelewy24Form" name="przelewy24Form" accept-charset="utf-8">
            <input type="hidden" name="p24_merchant_id" value="{$p24_merchant_id}" />
            <input type="hidden" name="p24_session_id" value="{$p24_session_id}" />
            <input type="hidden" name="p24_pos_id" value="{$p24_pos_id}" />
            <input type="hidden" name="p24_amount" value="{$p24_amount}" />
            <input type="hidden" name="p24_currency" value="{$p24_currency}" />
 
            <input type="hidden" name="p24_description" value="{$p24_description}" id="orderDescription" />
            <input type="hidden" name="p24_email" value="{$p24_email}" />
            <input type="hidden" name="p24_client" value="{$p24_client}" />
            <input type="hidden" name="p24_address" value="{$p24_address}" />
            <input type="hidden" name="p24_zip" value="{$p24_zip}" />
            <input type="hidden" name="p24_city" value="{$p24_city}" />
            <input type="hidden" name="p24_country" value="{$p24_country}" />
            <input type="hidden" name="p24_language" value="{$p24_language}" />
            
            {if $p24_method != ''}
                <input type="hidden" name="p24_method" value="{$p24_method}"/>
            {/if}
            
            <input type="hidden" name="p24_url_status" value="{$p24_url_status}" />
            <input type="hidden" name="p24_url_return" value="{$p24_url_return}" />
            <input type="hidden" name="p24_url_cancel" value="{$p24_url_cancel}" />
            <input type="hidden" name="p24_api_version" value="{$p24_api_version}" />
            <input type="hidden" name="p24_sign" value="{$p24_sign}" />
 
            <p style="color: red;" id="ajaxOutput"></p>
        </form>
    {/if}
</div>
 
<p class="cart_navigation" style="display: block !important">
    {if isset($productsNumber) && $productsNumber <= 0}
        <a href="{$base_dir_ssl}index.php" class="button_large">
            <i class="icon-chevron-left"></i>{l s='Return to shop' mod='przelewy24'}
        </a>
    {else}
        <a href="{$base_dir_ssl}index.php?controller=order?step=3"
           class="{if $ps_version >= 1.6 }button-exclusive btn btn-default{else}button_large{/if}">
            <i class="icon-chevron-left"></i>{l s='Other payment methods' mod='przelewy24'}
        </a>
        <a class="exclusive_large" href="javascript:document.getElementById('przelewy24Form').submit();">
            <span id="proceedPaymentLink">
                {l s='Confirm' mod='przelewy24'}
            </span>
        </a>
    {/if}
</p>
Link to comment
Share on other sites

  • 0

Ah, wybacz.

Kopiowałem z anglojęzycznego forum, gdyż tam też próbuję coś ustalić.

 

Chodzi o stronę przed wyjściem do nich.

Najgorsze jest to, że na FF działa bez problemu, a Chrome coś wyłapuje.

 

Bo kiedy idziesz z podsumowania na stronę płatności, to u nich jest żółta kłódka podczas wpisywania danych karty kredytowej, no i o to się rozchodzi, mało kto zarezykuje, aby zapłacić bez SSL.

Link to comment
Share on other sites

  • 0

Podmieniłem wszystko co się dało, z wyświetlanych na stronie i dalej lipa.

 

Nie wiem, czy coś w module nie jest pomieszane.

 

Dla przykładu, w ich starym module jest plik payment, który ma :

 

<?php
 
/* SSL Management */
$useSSL = true;
 
include(dirname(__FILE__).'/../../config/config.inc.php');
if(_PS_VERSION_ >= 1.4){
require_once(dirname(__FILE__).'/../../init.php');
$fc=new FrontController();
$fc->setmedia();
$fc->displayHeader();
} else {
include(dirname(__FILE__).'/../../header.php');
}
include(dirname(__FILE__).'/przelewy24.php');
 
$o_przelewy24 = new Przelewy24();
echo $o_przelewy24->execPayment($cart);
 
if(_PS_VERSION_ >= 1.4){
$fc->displayFooter();
} else {
include_once(dirname(__FILE__).'/../../footer.php');
}
?>
 
Z kolei w nowym module, nie widziałem czegoś takiego w żadnym pliku, dodawałem to, niemniej jednak kończyło się albo uwaleniem modułu, albo modułu + koszyka - białe strony.
Link to comment
Share on other sites

  • 0

pogubilem sie - wprowadzasz lekki chaos :)

powiedz mi czy chodzi ci o to ze:

https brak na order-confirmation

czy https brak na stronie przelewy24

czy ze "klodka jest na zolto" w chrome

 

jezeli chodzi o twoj sklep vparfumerie.de to tam nie ma zadnego modulu przelewu24

 

daj na czyms podzialac to zobaczymy

 

btw usuwanie czegos z funkcji (jak ta gethttpprotocol) lub podmieniane czegos bez ladu i skladu jak ten sslmenagement to jak sprawdzanie czy cos nie wybuchnie :)

Edited by hatak (see edit history)
Link to comment
Share on other sites

  • 0

pogubilem sie - wprowadzasz lekki chaos  :)


powiedz mi czy chodzi ci o to ze:


https brak na order-confirmation


czy https brak na stronie przelewy24


czy ze "klodka jest na zolto" w chrome


 


- Https ogólnie nie ma na stronie order-confirmation, przez co po przejściu na stronę przelewy24 pojawia się żółtka kłódka - tylko w chrome, FF ok, IE nie sprawdzałem. Moduł jest w razie czego włączony :)


Link to comment
Share on other sites

  • 0

z tego co udalo mi sie zobaczyc (a jezyk niemiecki jest dla mnie po chinsku) to problemem jest modul koszyka opc 

najpewniej w jego javascriptach sa sciezki ustawione standardowe jak: ../module_dir/module_name/payement

a przelewy24 wykorzystuje potwierdzenie w sciezce: ../module_dir/module_name/paymentConfirmation

 

bardzo dawno temu (2012-2011) widzialem problem i rozwiazanie na jakims forum  bo problemem byl onepagecheckout z jakas platnoscia niestandardowa

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...