Jump to content

{ Resolu } module chèque n'apparaît pas en front office


Recommended Posts

je fais suite à ce topic.. 

J'ai activé le module après avoir paramètrer le module pour un groupe de client spécifique ( merci à Eolia pour son aide )

Je refais donc un topic un peu différent... après avoir mis en place les paramètrages du module.. celui ci n'est toujours pas visible en front office au moment du paiement .

J'ai bien :

- activé le module chèque !
-  la devise du module est bien enregistré en euro
- le module est bien affilié au pays France
- le module est bien affilié au groupe client créé et nommé: "chèque autorisé"

J'ai ensuite supprimé les cookies..

et bien j'ai fait un test en front office et le module chèque n'apparaît toujours pas !
- il pourtant bien greffé à "displayPaymentReturn"
- et le compte client que j'utilise pour faire mes tests est bien associé au groupe client "chèque autorisé".
- l'adresse de livraison pour la commande test est bien en France

.. alors là .. Je ne vois pas du tout ce qui cloche ?!
pouvez vous m'éclairer ?

Merci et beau dimanche à tous 

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

4 minutes ago, Eolia said:

il doit aussi et surtout être accroché au hookPayment (ou hookDisplayPayment) et hookPaymentEU (ou hookDisplayPaymentEU)

Bonjour Eolia.

Merci pour votre réponse rapide ! Super sympa !

le module est gréffé sur Payment option et display paiment return ...

Je ne trouve pas d'autres hook "payment" ?? 

 

Capture d’écran 2023-09-17 à 11.23.49.png

Link to comment
Share on other sites

En 1.6, le code recherche tous les groupes auquel appartient le client en cours:

    public static function getPaymentModules()
    {
        $context = Context::getContext();
        if(isset($context->cart)) {
            $billing = new Address((int)$context->cart->id_address_invoice);
        }

        $use_groups = Group::isFeatureActive();

        $frontend = true;
        $groups = array();
        if(isset($context->employee)) {
            $frontend = false;
        }
        elseif(isset($context->customer) && $use_groups) {
            $groups = $context->customer->getGroups();
            if(!count($groups)) {
                $groups = array(Configuration::get('PS_UNIDENTIFIED_GROUP'));
            }
        }

        $hook_payment = 'Payment';
        if(Db::getInstance()->getValue('
            SELECT `id_hook`
            FROM `'._DB_PREFIX_.'hook`
            WHERE `name` = \'displayPayment\'
        ')) {
            $hook_payment = 'displayPayment';
        }

        $list = Shop::getContextListShopID();

        return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
            SELECT DISTINCT m.`id_module`, h.`id_hook`, m.`name`, hm.`position`
            FROM `'._DB_PREFIX_.'module` m
            '.($frontend ? '
                LEFT JOIN `'._DB_PREFIX_.'module_country` mc
                ON(m.`id_module` = mc.`id_module`
                AND mc.id_shop = '.(int)$context->shop->id.')' : '').'
            '.($frontend && $use_groups ? '
                INNER JOIN `'._DB_PREFIX_.'module_group` mg
                    ON(m.`id_module` = mg.`id_module`
                    AND mg.id_shop = '.(int)$context->shop->id.')' : '').'
            '.($frontend && isset($context->customer) && $use_groups ? '
                INNER JOIN `'._DB_PREFIX_.'customer_group` cg
                    ON(cg.`id_group` = mg.`id_group`
                    AND cg.`id_customer` = '.(int)$context->customer->id.')' : '').'
            LEFT JOIN `'._DB_PREFIX_.'hook_module` hm
                ON(hm.`id_module` = m.`id_module`)
            LEFT JOIN `'._DB_PREFIX_.'hook` h
                ON(hm.`id_hook` = h.`id_hook`)
            WHERE h.`name` = \''.pSQL($hook_payment).'\'
            '.(isset($billing) && $frontend ? '
                AND mc.id_country = '.(int)$billing->id_country : '').'
            AND (
                SELECT COUNT(*)
                FROM '._DB_PREFIX_.'module_shop ms
                WHERE ms.id_module = m.id_module
                AND ms.id_shop IN('.implode(', ', $list).')
            ) = '.count($list).'
            AND hm.id_shop IN('.implode(', ', $list).')
            '.((count($groups) && $frontend && $use_groups) ? '
                AND (mg.`id_group` IN ('.implode(', ', $groups).'))' : '').'
            GROUP BY hm.id_hook, hm.id_module
            ORDER BY hm.`position`, m.`name` DESC
        ');
    }

 

Link to comment
Share on other sites

2 hours ago, Mediacom87 said:

Bonjour,

avez-vous bien renseigné les champs de configuration du module avec vos informations de paiement ?

Bonjour et merci pour votre réponse. "Hélas" oui les informations sont bien remplis .. nom du bénéficiaire et adresse.

Link to comment
Share on other sites

Houra !  Problème résolu !! 
C'est tout bête .. Dans Paiement / Préférence

J'avais bien rempli Restrictions des devises, Restrictions des pays et  Restrictions des groupes
... mais je n'avais pas vu plus bas .. il me manquait Restrictions par transporteurs !!!
Merci à tous pour votre aide ! Problème résolu !  Bon dimanche !

Link to comment
Share on other sites

  • reality1 changed the title to { Resolu } module chèque n'apparaît pas en front office

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...