Paypal accès direct aux paiements par cartes

  • Posts: 13
  • Thank you received: 0
8 years 3 months ago #247823

-- HikaShop version -- : 2.6.3
-- Joomla version -- : 3.6.2

Bonjour,

Je cherche une solution pour que mes clients puissent arriver directement sur la page de payement par carte sur le site de Paypal.

J'aurais voulu copié le module de paiement, pour en avoir un qui dirige le client sur la page de payement standard et l'autre directement sur la partie réservée aux cartes de credits.

Existe il une solution Hikashop?

J'ai contacté Paypal, ils m'ont transmis un code a insérer mais je ne sais pas où le placer:

<input type="hidden" name="solution_type" value="Sole">
<input type="hidden" name="landing_page" value="Billing">

D'avance merci de votre aide, désolé si le sujet à deja été abordé mais je n'ai pas trouvé de solution via la recherche.

Cordialement

S

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

  • Posts: 26159
  • Thank you received: 4028
  • MODERATOR
8 years 3 months ago #247843

Bonjour,

Le plus simple serait de dupliquer le plugin paypal afin d'y apporter des modifications ; ainsi vous ne perdrez pas votre travail à la prochaine mise à jour.

Dans la fonction "onAfterOrderConfirm" du plugin vous trouverez une variable "$vars" qui est un tableau. Dans ce tableau se trouvent les différents éléments qui seront ajoutés dans le formulaire.
L'idée est de rajouter vos entrées afin de compléter le formulaire HTML et ainsi activer la fonctionnalité paypal souhaitée.

En remplacant :

	'rm' => (int)@$this->payment_params->rm,
	'bn' => 'HikariSoftware_Cart_WPS'
);
Par
	'rm' => (int)@$this->payment_params->rm,
	'bn' => 'HikariSoftware_Cart_WPS',
	'solution_type' => 'Sole',
	'landing_page' => 'Billing'
);

Si jamais cela fonctionne correctement, n'hésitez pas à nous en faire part afin que nous voyons pour ajouter une nouvelle option dans le plugin Paypal (option qui permettrait d'activer ou d'avoir accès à ces éléments).

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.
The following user(s) said Thank You: oaz

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

  • Posts: 13
  • Thank you received: 0
8 years 3 months ago #247903

Bonjour Jerome,

La méthode que vous m'avez proposée marche à merveille, merci.

J'ai une question: quelle est la marche a suivre pour dupliquer le plugin paypal?

D'avance merci.

Cordialement

S.

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

  • Posts: 26159
  • Thank you received: 4028
  • MODERATOR
8 years 3 months ago #247912

Bonjour,

Dupliquer le plugin revient à copier les fichiers à lui donner un autre nom.
Cela va donc impacter le répertoire, le nom des fichiers et également certaines variable (ou données) dans le plugin lui-même.

Au niveau de la structure des plugins de paiement, nous avons fait en sorte qu'il y ai le minimum d'éléments à modifier.
github.com/HikaShop/sample-payment-plugin
docs.joomla.org/Plugin

Maintenant, si ces options marchent bien de votre côté, il pourrait être plus simple que le plugin officiel soit améliorer afin d'y intégrer le support ; cela vous éviterais d'avoir deux plugins Paypal.

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.

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
8 years 2 weeks ago #254751

Bonjour,

J'ai tenté de dupliquer le plugin afin de bénéficier de cette ouverture par défaut du paiement par CB et de le tester en Sandbox.
La classe a été modifiée en plgHikashoppaymentPaypalCB, le code ajouté à $vars, les fichiers renommés de "paypal" en "paypalcb", ainsi que le plugin. Après quelques tâtonnements, il semble que tout fonctionne puisque j'arrive bien à la page de paiement avec la possibilité de payer, par défaut, par carte bancaire.
Je change le choix pour l'utilisation de mon compte client Sandbox, la transaction est bien validée, la notification côté Sandbox est correcte et le compte ne demande pas de vérification avant validation du paiement. Malgré ça, Hikashop ne reçoit pas d'information sur le paiement (en mode standard PayPal Sandbox, je n'ai pas eu d'incident).
Quelle erreur ai-je pu faire ?
Par ailleurs, bien que le débogage dans les plugins de paiement ait été activé, j'ai ce message quand je veux voir les logs : "Le fichier de logs est vide /homepages/21/*********/htdocs/sitestests/hikatest/media/com_hikashop/upload/safe/logs/report_860337174.log". Un oubli de ma part quelque part peut-être ?

Merci par avance de votre aide !
Robert

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

  • Posts: 26159
  • Thank you received: 4028
  • MODERATOR
8 years 2 weeks ago #254753

Bonjour,

Avez vous bien changer les variables

	var $name = 'paypal';
	var $doc_form = 'paypal';
La variable name est utilisée dans la création de l'URL de notification.
$notify_url = HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=checkout&task=notify&notif_payment='.$this->name.'&tmpl=component&lang='.$this->locale . $this->url_itemid;
donc si le nom n'est pas bon, la notification n'ira pas sur le bon plugin ; et donc, il n'y aura pas de confirmation de commande.

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.

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
8 years 2 weeks ago #254834

Bonjour,

Les variables ont bien été changées :

var $name = 'paypalcb';
var $doc_form = 'paypalcb';

Et dans le xml :

<filename plugin="paypalcb">paypalcb.php</filename>

Cordialement,

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

  • Posts: 82906
  • Thank you received: 13378
  • MODERATOR
8 years 2 weeks ago #254838

Bonjour,

Alors difficile de dire ce que cela pourrait être d'autre sans voir tout le code.
Est-ce que cela fonctionne correctement avec le plugin PayPal standard ?
Si vous regardez l'historique des notifications IPN dans votre compte marchand PayPal, PayPal devrait vous indiquez pourquoi les notifications de paiement n'ont pas pu être délivrées.

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

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
8 years 2 weeks ago #254902

Merci Nicolas,
Je n'ai pas eu de soucis en modifiant simplement le plugin PayPal standard. Je viens de le vérifier à l'instant, au retour de Sandbox, avec les modifications concernant l'ouverture de la liste des CB sur la page PayPal, la commande est bien confirmée.
Avec la version modifiée jointe (j'ai simplement zippé les quatre fichiers utilisés lors de mon dernier test), le paiement est bien enregistré, et sur le compte Sandbox, je ne trouve que la notification de paiement (le mail censé avoir été envoyé après paiement, aucune validation manuelle n'étant paramétrée ur les comptes de test), pas d'info signalant une erreur lors de l'envoi de la notification.
Il y a donc manifestement une faute dans mes modifications pour que la transaction soit correcte sur Sandbox mais pas reconnue comme telle dans la boutique.
Je vous remercie par avance de votre aide.
Robert

Attachments:

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

  • Posts: 82906
  • Thank you received: 13378
  • MODERATOR
8 years 2 weeks ago #254911

Bonjour,

Le seul point que j'ai relevé, c'est que le nom de la classe n'est pas correct.
Ce devrait être plgHikashoppaymentPaypalcb et non plgHikashoppaymentPaypalCB vu que vous avez modifié "paypal" en "paypalcb" partout ailleurs et non "paypalCB".

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

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
8 years 2 weeks ago #254998

Merci Nicolas,

J'ai corrigé cette erreur et refait deux tests à l'instant. Côté PayPal, c'est toujours parfait, mais hélas, toujours pas de confirmation du paiement au niveau d'Hikashop, et toujours pas de trace dans le fichier de logs, malgré le débogage activé dans le plugin paypalcb.

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

  • Posts: 82906
  • Thank you received: 13378
  • MODERATOR
8 years 2 weeks ago #255001

Bonjour,

Regardez alors le log d'accès apache et cherchez l'URL de notification des paiements.
Vous devriez y trouver l'URL de notification ainsi que des informations relatives au fait que la notification n'a pas été transférée à HikaShop.
Si vous ne trouvez pas cette URL dans le log d'accès apache, c'est soit que l'option "enable validation mode" a été activée dans la méthode de paiement (et donc cela désactive la notification de paiement), soit que PayPal n'envoi pas la notification de paiement pour une autre raison (donc à voir avec PayPal).
Si vous trouvez l'URL merci de fournir les informations du log.

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

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
8 years 2 weeks ago #255056

Merci Nicolas !

Je viens de regarder les logs et je trouve ceci (l'ai remplacé l'adresse du site test) :

109.213.236.151 - - [11/Nov/2016:09:34:27 +0100] "GET /media/plg_jchoptimize/assets/gz/1/0/25bd5b3ada21582cc84c02bfcb9c2975.js HTTP/1.1" 200 83649 boutique.test.tld "http://boutique.test.tld/index.php/checkout/task-step/step-1" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0" "-"
173.0.82.126 - - [11/Nov/2016:09:35:11 +0100] "POST /index.php?option=com_hikashop&ctrl=checkout&task=notify&notif_payment=paypalcb&tmpl=component&lang=fr&Itemid=123 HTTP/1.1" 200 - boutique.test.tld "-" "PayPal IPN ( https://www.paypal.com/ipn )" "-"
109.213.236.151 - - [11/Nov/2016:09:35:13 +0100] "POST /index.php?option=com%5fhikashop&ctrl=checkout&task=after%5fend&order_id=10000028&Itemid=123 HTTP/1.1" 200 2702 boutique.test.tld "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0" "-"
109.213.236.151 - - [11/Nov/2016:09:35:13 +0100] "GET /media/plg_jchoptimize/assets/gz/1/0/7f3b80b655a9eb70fe4459a7af6cb007.js HTTP/1.1" 200 54221 boutique.test.tld "http://boutique.test.tld/index.php?option=com%5fhikashop&ctrl=checkout&task=after%5fend&order_id=10000028&Itemid=123" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0" "-"

Le compte utilisé ne demande pas de validation des transactions, et ça fonctionne bien avec le plugin PayPal standard.
Merci encore de votre aide,
Robert

Last edit: 8 years 2 weeks ago by Jerome. Reason: [code] is nice

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

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
8 years 2 weeks ago #255078

Je viens de refaire des tests et, de crainte que JCH Optimize fausse le traitement de la réponse de PayPal, je l'ai désactivé et j'ai vidé le cache, mais autant avec le plugin standard modifié j'ai bien passage en "confirmée" de la facture, autant avec le plugin paypalcb elle reste juste "créée".

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

  • Posts: 82906
  • Thank you received: 13378
  • MODERATOR
8 years 2 weeks ago #255165

Bonjour,

La ligne qui nous intéresse est celle-ci:

173.0.82.126 - - [11/Nov/2016:09:35:11 +0100] "POST /index.php?option=com_hikashop&ctrl=checkout&task=notify&notif_payment=paypalcb&tmpl=component&lang=fr&Itemid=123 HTTP/1.1" 200 - boutique.test.tld "-" "PayPal IPN ( https://www.paypal.com/ipn )" "-"
L'URL de notification est correct, et le numéro 200 indique que la page est appelée avec succès.
Donc HikaShop reçoit bien la notification.
Donc, si l'option "debug" de votre plugin PayPal CB est activée, vous devriez avoir les données de la notification IPN dans le log de paiement de HikaShop, accessible dans la configuration HikaShop.

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

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
8 years 2 weeks ago #255170

Bonjour et merci Nicolas,

Les deux modes de paiement PayPal et PayPal CB ont bien le débogage activé, mais malgré ça, le fichier de logs est vide :

Le fichier de logs est vide /homepages/21/*******/htdocs/sitestests/hikatest/media/com_hikashop/upload/safe/logs/report_860337174.log

Il est surtout totalement absent, tout comme le dossier "safe/logs".
C'est une histoire vraiment bizarre !

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

  • Posts: 82906
  • Thank you received: 13378
  • MODERATOR
8 years 1 week ago #255173

Le log va se remplir uniquement lorsqu'une notification de paiement est reçue.
Si ce n'est pas le cas, c'est que le site n'a pas le droit d'écrire dans le dossier.
si safe/logs n'existe pas, alors il faut vérifier les droits du dossier media/com_hikashop/upload/

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

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
8 years 1 week ago #255238

Hélas, les dossiers media/com_hikashop, media/com_hikashop/upload et media/com_hikashop/upload/safe sont tous en droits 755 sur un serveur mutualisé 1&1 et le débogage est activé depuis plusieurs jours sur ce site pour les deux versions du plugin
Idem sur un serveur Premium PHPNET où j'ai fait d'autres tests, il n'y a pas de dossier media/com_hikashop/upload/safe/logs, même quand la commande est confirmée, le fichier de logs reste vide.

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

  • Posts: 82906
  • Thank you received: 13378
  • MODERATOR
8 years 1 week ago #255267

Bonjour,

Il semblerait que vous supposiez que les droits 755 permettent à Joomla/HikaShop d'écrire dans les dossier. Cependant, c'est uniquement le cas si l'utilisateur propriétaire des fichiers est le même que l'utilisateur utilisé par Apache pour exécuter le PHP des pages de votre site. Et souvent, ce n'est pas le cas.
Il est même possible que le groupe des deux utilisateurs soit différent.
Pour être sûr que le problème ne vient pas de là, essayez de passer les droits de ces dossiers en 777 et refaites un test de commande/paiement.

Last edit: 8 years 1 week ago by nicolas.

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

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
8 years 1 week ago #255270

Bonjour,

Je n'ai pourtant aucun problème sur les deux serveurs sur lesquels j'ai testé, qui sont des serveurs mutualisés.
Je peux installer n'importe quelle extension sans le moindre souci, et tous les dossiers sont "modifiable" dans les permissions des dossiers des infos système des sites.
Je viens de passer (sur un serveur mutuaalisé 1&1) les dossiers media, media/com_hikashop, media/com_hikashop/upload et media/com_hikashop/upload/safe en droits 777, et le dossier "safe" est toujours vide après un test utilisant le plugin standard PayPal en mode débogage.

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

Time to create page: 0.093 seconds
Powered by Kunena Forum