Paramétrages du Kit Monetico de CIC/ Crédit mutuel - Ecommerce

Petit nouveau ! | 2 Messages

26 sept. 2024, 12:55

Bonjour à Tous !

Je ne sais si il y a des personnes qui ont déjà paramétré le Kit Monetico du crédit mutuel mais voilà ou je bute.
Ce nouveau kit est assez bien fait : monetico-paiement .fr/fr/installer.html avec une belle doc également.

Jusqu'ici tous va bien, la question étant simple sur mon site E commerce j'établis une include pour envoyer les infos clients sur le fichier du Kit PaymentRequestDemo.php

Je pense que le problème provient qu'il n'est pas possible de passer des données via une include dans une Class PHP.
Je jette une bouteille à la mer pour trouver la solution. :D

Code : Tout sélectionner

include '../accueil/donnees_client.php'; // Si je fait un echo de client_nom ici cela s'affiche class BasicPaymentExample implements IPaymentRequestExample { /** * @var PaymentRequest */ private $paymentRequest; public function __construct() { // SI je fait un echo de client_nom ici plus rien ne s'affiche. $generatedReference2 = uniqid("ref"); $generatedReference="clt$taccount-$generatedReference2"; $billing = new OrderContextBilling("$facturation_adresse", "$facturation_ville", "$facturation_cp", "FR"); $billing->setPhone("+33-123456789"); // see technical documentation for correct formatting $billing->setCivility("$client_civilite"); $billing->setFirstName("$client_nom"); $billing->setLastName("$client_prenom"); $billing->setEmail("$client_email"); $client = new OrderContextClient(); $client->setCivility("$client_civilite"); $client->setFirstName("$facturation_nom"); $client->setLastName("$facturation_prenom"); $client->setEmail("$client_email"); $client->setPhone("+33-123456789"); // see technical documentation for correct formatting $client->setLastAccountModification(new \DateTime('2020-09-02')); $client->setAuthenticationTimestamp((new \DateTime('-5 minutes'))); $context = new OrderContext($billing); $context->setOrderContextClient($client); $paymentRequest = new PaymentRequest($generatedReference, $montant, Currency::EUR, Language::FR, $context); $paymentRequest->setTexteLibre("Commande $cookie"); $paymentRequest->setUrlRetourOk("monsite. com/retour_banque_merci.php?okbanque=y"); $paymentRequest->setUrlRetourErreur("monsite. com/retour_banque_merci.php"); $this->setPaymentRequest($paymentRequest); } }

Mammouth du PHP | 2703 Messages

26 sept. 2024, 15:35

dans donnees_client.php, vous créez une fonction getDataClient();
et au début de __construct(), vous appelez cette fonction.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

26 sept. 2024, 16:33

S'il est encore temps, mon seul conseil serait de fuir et changer de prestataire de service de paiement.

Monetico est une horreur à installer et maintenir, le PSP de test doit être réactivé manuellement tous les x jours, les fonctionnalités sont très limitées, le backoffice administrateur avec une UX obsolète, la doc largement insuffisante, le support avec des procédures d'un autre temps, et les connecteurs avec les CMS du marché une vaste blague...
Stripe est plus cher mais tellement plus simple à utiliser et pro.
Et il y en a d'autres Payplug, Adyen... bref fait ton étude de marché mais je déconseille Monetico.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 2 Messages

28 sept. 2024, 13:01

Oui Arthur, en effet je suis entièrement d'accord, mais le taux est nettement moins important aussi 0,41Pourcent par transaction Strip au mieux 1% je crois ? En tous cas un grand merci à Or 1 pour l'indice c’a m’a fait gagné un temps fou ! je ne suis pas un grand professionnel du php, j'ai adapté comme j'ai pu ce que tu m'à dit mon code ressemble à ca; je pense que je pourrais l'optimisé un peu mieux, mais je ne vois pas trop comment si tu à un idée je suis preneur =)

Voila ce que ca donne

Code : Tout sélectionner

function montant_cb(){ global $montant_cb; return $montant_cb; } function cookie(){ global $cookie; return $cookie; } function facturation_nom(){ global $livraison_nom; return $livraison_nom; } function facturation_prenom(){ global $livraison_prenom; return $livraison_prenom; } function client_email(){ global $client_email; return $client_email; } function facturation_adresse(){ global $livraison_adresse; return $livraison_adresse; } function facturation_ville(){ global $livraison_ville; return $livraison_ville; } function facturation_cp(){ global $livraison_cp_; return $livraison_cp_; } // et j'ai appeler la fonction dans __construct comme ceci $montant_cb = montant(); $cookie = cookie(); $facturation_nom = facturation_nom(); $facturation_prenom = facturation_prenom(); $client_email = client_email(); $facturation_adresse = facturation_adresse(); $facturation_ville = facturation_ville(); $facturation_cp = facturation_cp();