Skip to main content

payment_id dans payment_end

More
10 years 7 months ago - 10 years 7 months ago #230057 by erickb
-- HikaShop version -- : 261
-- Joomla version -- : 348

Bonjour

il n'y a pas le payment_id dans les hikashoppayment-> payment_end ce qui fait que si on utilise plusieurs fois un plugin de payment , comme banktransfert pour d'autres modes (mandat postal par exemple) on a les infos du banktransfert dans le payment end alors qu'on a besoin des infos du mandat
les payment_images n'y sont pas non plus
par contre oder_payment_id est correct dans la table #__hk_order

comment puis je recuperer ces champs (sans requete SQL) ?

merci
Last edit: 10 years 7 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #230060 by erickb
Replied by erickb on topic payment_id dans payment_end
si je hack le plugin c'est tout simple mébon
Code:
function onAfterOrderConfirm(&$order,&$methods,$method_id) { ..... $this->method_id = $method_id; }

ça serait mieux et si simple pour vous d'origine

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #230071 by Jerome
Replied by Jerome on topic payment_id dans payment_end
Bonjour,

Le trigger "onAfterOrderConfirm" n'est pas lié au controlleur et pas non plus à la vue.
Faire une assignation du "method_id" n'est donc pas la bonne solution.

Par contre, dans la vue "end" vous devez avoir accès à la commande ( $this->order ) qui va contenir déjà vos informations avec le " $this->order->order_payment_id ".

Cordialement,

Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago - 10 years 7 months ago #230149 by erickb
Replied by erickb on topic payment_id dans payment_end
non justement, ça ne marche pas

dans banktransfert_end.php -> var_dump($this->order); -> NULL

$this->order->order_payment_id n'existe pas , on a aucun acces à cette info , j'ai fais un var_dump($this) l'info n'y est pas

la manière que j'ai trouve est de le passer dans onAfterOrderConfirm puisque $method_id est deja dedans, et je ne vois pas pourquoi ce serait une mauvaise solution de recuperer une info qui est deja dedans

il faut impérativement cette info dans les payment_end sinon on ne peut pas utiliser plusieurs fois les plugins de payment car rien ne les sépare en fin de paiement
Last edit: 10 years 7 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #230182 by Jerome
Replied by Jerome on topic payment_id dans payment_end
Bonjour,

Au temps pour moi, j'ai regardé du côté de "after_end" et donc de la vue "checkout / after_end".
Du coup, je vais plus vous conseiller de modifier le helper d'HikaShop et de remplacer
Code:
function onAfterOrderConfirm(&$order, &$methods, $method_id) { return true; }
Par
Code:
function onAfterOrderConfirm(&$order, &$methods, $method_id) { $this->order = $order; return true; }
Afin de pouvoir fournir à tous les plugins de payement (utilisant une vue "end") d'accéder à la commande sans avoir besoin de la re-charger.
Et de notre côté nous allons ajouter également le patch dans HikaShop.

Cordialement,

Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #230259 by erickb
Replied by erickb on topic payment_id dans payment_end
dans /administrator/components/com_hikashop/helpers/helper.php ligne 3003
Code:
function onAfterOrderConfirm(&$order,&$methods,$method_id) { $this->order = $order; return true; }

Je ne recupere pas les valeurs dans banktransfer_end
var_dump($this->order); -> NULL
echo '$this->order->order_payment_id = ' . $this->order->order_payment_id ; -> vide

en tout cas merci pour l'ajout dans une prochaine version

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #230293 by erickb
Replied by erickb on topic payment_id dans payment_end
mais meme si on recupere $this->order tous les champs de la table payment seront absent , ils sont nécessaires dans les payment_end pour afficher les consignes de paiement spécifiques payment_name, payment_description, payment_images ect ...

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #230330 by nicolas
Replied by nicolas on topic payment_id dans payment_end
Bizarre. Cela fonctionne de mon coté.

Vérifiez bien que vous avez ajouté la fonction dans la class hikashopPaymentPlugin et non dans une autre class du fichier helper.php sinon cela ne fera rien.

Pour les infos de la méthode de paiement, vous pouver rajouter une ligne comme ceci:
Code:
$this->payment = @$methods[$method_id];
The following user(s) said Thank You: erickb

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago - 10 years 7 months ago #230463 by erickb
Replied by erickb on topic payment_id dans payment_end
je n'avais pas vu qu'il y avait 2 onAfterOrderConfirm
avec $this->payment = @$methods[$method_id]; au bon endroit ca marche , on a tout !
avec un seul plugin j'ai 5 modes de paiement :-)

donc c'est exactement cette ligne que vous aller rajouter dans un prochain patch ?
la dernière est 2.6.1 [1602171525]

merci
Last edit: 10 years 7 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago - 10 years 7 months ago #230519 by erickb
Replied by erickb on topic payment_id dans payment_end
Je viens de retester , ça marche parfaitement pour check et banktransfert (et donc les plugins dupliqués)
mais ni pour westernunion ni pour paypal
$payment = $this->payment;
var_dump($payment); - > NULL

western union c'est reglé je l'ai foutu à la poubelle et j'ai duplique banktransfert que j'ai appelé westernunion idem pour check comme ça j'ai un plugin (et un seul code) au lieu de 5

mais paypal ne recupere pas $this->payment;
Last edit: 10 years 7 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #230524 by nicolas
Replied by nicolas on topic payment_id dans payment_end
Bonjour,

Pour PayPal Standard, je ne vois pas pourquoi cela ferait ça.
Pour western union, c'est normal il n'utilise pas l'API de paiement comme il le devrait.
Changez le code:
$this->loadOrderData($order);
$this->loadPaymentParams($order);
en:
parent::onAfterOrderConfirm($order,$methods,$method_id);
dans le fichier principal du plugin western union et cela fonctionnera.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #230608 by erickb
Replied by erickb on topic payment_id dans payment_end
Pour westernunion j'utilise banktransfert donc le problème est réglé avec un seul plugin `
pour Paypal je recupere bien toutes les infos

$payment = $this->payment;
$payment->payment_description ect ...

mais je ne recuperes pas $this->order_number et $this->amount comme c'etait toujours le cas

il semble que $this->price_value_with_tax ait la somme mais je ne trouve nulle part dans var_dump($this); order_number

ce n'est pas indispensable bien sur puisque Paypal redirige


merci

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #230612 by nicolas
Replied by nicolas on topic payment_id dans payment_end
$this->order_number et $this->amount ne sont pas initialisés dans PayPal puisque pas nécessaires.
Il faut regarder dans $this->order->order_number et $this->order->order_full_price à la place.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago - 10 years 7 months ago #230957 by erickb
Replied by erickb on topic payment_id dans payment_end
Bonjour
order_payment_method est toujours sur banktransfert dans la table #__hikashop_order
par contre les emails vendeurs et clients sont bons

... ok vu c'est dans order_payment_id ...
Last edit: 10 years 7 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago - 10 years 7 months ago #230960 by erickb
Replied by erickb on topic payment_id dans payment_end
Dans la version du 22 fevrier cette function n'est toujours pas présente, ce qui fait que je dois a chaque fois controler et rajouter cette ligne
$this->payment = @$methods[$method_id];
allez vous le rajouter dans un prochain patch ?
Code:
function onAfterOrderConfirm(&$order, &$methods, $method_id) { $method = $methods[$method_id]; $this->payment_params =& $method->payment_params; $this->payment_name = $method->payment_name; $this->payment = @$methods[$method_id]; // ajoutee $this->loadOrderData($order); }
Last edit: 10 years 7 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #230986 by Jerome
Replied by Jerome on topic payment_id dans payment_end
non...

Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago - 10 years 7 months ago #231081 by erickb
Replied by erickb on topic payment_id dans payment_end
Je ne comprend vraiment pas pourquoi vous ne voulez pas rajouter ça dans une prochaine version , ça rend vos plugin de payment in-duplicables
Last edit: 10 years 7 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #231084 by nicolas
Replied by nicolas on topic payment_id dans payment_end
Bonjour,

Nous allons la rajouter dans la prochaine version d'HikaShop comme nous vous l'avions dit.
Mais pas dans les builds de la version actuelle. Les builds que ne faisons sont pour ajouter des bug fix, pas de nouvelles fonctions.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago - 10 years 7 months ago #231175 by erickb
Replied by erickb on topic payment_id dans payment_end
en ce cas c'est parfait
merci

avec ce changement de code est il possible de récupérer ces infos aussi dans les emails de notification de commande ?
Last edit: 10 years 7 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
10 years 7 months ago #231251 by nicolas
Replied by nicolas on topic payment_id dans payment_end
Non, c'est deux choses différentes.
Mais vous avez déjà toute la commande dans $data->cart et du coup il est ensuite très facile de charger les informations de la méthode de paiement avec une requête MySQL si nécessaire dans le préload de l'email.
The following user(s) said Thank You: erickb

Please Log in or Create an account to join the conversation.

Time to create page: 0.303 seconds
Powered by Kunena Forum