- Posts: 2696
- Thank you received: 74
payment_id dans payment_end
-- 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
Please Log in or Create an account to join the conversation.
ça serait mieux et si simple pour vous d'origine
Please Log in or Create an account to join the conversation.
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.
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
Please Log in or Create an account to join the conversation.
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
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.
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.
Please Log in or Create an account to join the conversation.
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:
Please Log in or Create an account to join the conversation.
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
Please Log in or Create an account to join the conversation.
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;
Please Log in or Create an account to join the conversation.
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.
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.
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.
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 ...
Please Log in or Create an account to join the conversation.
$this->payment = @$methods[$method_id];
allez vous le rajouter dans un prochain patch ?
Please Log in or Create an account to join the conversation.
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.
Please Log in or Create an account to join the conversation.
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.
merci
avec ce changement de code est il possible de récupérer ces infos aussi dans les emails de notification de commande ?
Please Log in or Create an account to join the conversation.
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.
Please Log in or Create an account to join the conversation.