Jump to content

[Résolu] Appeler un script php / fonction ajax lors d'un paiement


Recommended Posts

Bonjour,

 

Après quelques recherches infructueuses, je viens poster ici dans l'espoir de trouver un peu d'aide.

 

Le gros pavé ci-dessous décrit un peu plus le contexte de mes questions, mais pour pour ceux qui n'ont pas le temps de tout lire, j'ai résumé mes questions en bas en gras :)

 

J'ai un client qui souhaite créer une boutique de vente en ligne, mais il souhaite également ajouter plusieurs fonctionnalités, comme la possibilité à un visiteur d'ajouter un bien (validation puis ajout par l'admin cependant), ou d'acheter. Avec la possibilité de voir pour une personne ses statistiques, biens vendus et bien achetés.

 

Comme cette aspect de double compte n'est pas présent dans Prestashop, je pensais faire deux site, un avec plutôt le contenu vitrine et les fonctionnalités, et l'autre la partie boutique uniquement.

 

Dans ce cas là, je devrais gérer deux bases de données différentes (celle de Prestashop et celle du site "vitrine"), mais malgré tout ces deux bases doivent êtres liées. 

 

Je pensais faire ainsi : sur la partie vitrine, le client se connecte, je garde son identifiant en session, via un lien il arrive sur la partie boutique, dans Prestashop j'active le paiement express afin de ne pas avoir à se connecter pour payer et dans, prestashop, j'aimerais appeler au moment du paiement un script php (ou une fonction)  qui irait remplir ma base du site vitrine, en y mettant l'id du client que j'ai en session, et l'id du ou des produits achetés. Si ce n'est pas possible, je pensais ne pas faire deux bases différentes et ajouter les tables que j'aurais créé pour le site vitrine directement dans la base de Prestashop, et j'appellerais une fonction qui remplirait les différentes tables. 

 

Cependant, je ne sais pas du tout où je pourrais placer l'appel à mon script ou ma fonction pour qu'il soit appelé lors d'un paiement ou d'une commande. J'ai essayé de regarder dans les dossiers et fichiers et je pensait que ça irait dans le controller/controllerOrder mais je n'ai aucune certitude.

 

Autre question que j'aurais même si elle concerne moins prestashop mais plus de la réflexion, je cherche comment faire pour lier un produit à un client. Si par exemple un client souhaite ajouter un produit, après être passé par le formulaire, c'est l'admin qui devra ajouter ou non le produit via prestashop si il le valide. Je pensais ajouter une liste déroulante dans les attributs du produits qui irait piocher la liste des utilisateurs du site dans une table que j'aurais créé. Mais lors d'un achat, comment faire pour je puisse incrémenter le compteur de vente de la personne ayant mis ce produit en ligne ? Je pensais pouvoir récupérer le formulaire soumis lors de l'ajout d'un produit et trouver la liste déroulante que j'aurais ajoutée, qui contiendrais l'id du vendeur, puis avec un script / fonction aller incrémenter le compteur de vente de l'utilisateur possédant l'id envoyé. J'ai vu qu'il existait des modules pour ajouter des "custom fields" à un produit, je devrais pouvoir utiliser cela, mais là encore je ne sais pas dans quel fichier est déclenché l’événement d'ajout d'un produit, et si je pourrais y récupérer le formulaire avec le contenu de mon champ spécial.

 

TLDR :

Je cherche à appeler un script php ou une fonction lors de l'achat d'un produit, mais je ne sais pas dans quel fichier est déclenché l’événement, et je souhaiterais faire la même chose lors de l'ajout d'un produit, et pouvoir récupérer un champs spécial que j'aurais ajouté aux différents attributs d'un produit.

 

Merci d'avance à ceux qui pourront m'aider, désolé pour le pavé, je ne suis pas très doué pour écrire de façon claire et concise ...

 

Bonne journée / soirée,

 

Nicolas.

Edited by klmiop (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

Tu dois réaliser un module qui va déclencher ce que tu souhaites. Ce déclenchement sera provoqué par l'execution d'un hook Prestashop.

 

La doc officielle pour la création de module : http://doc.prestashop.com/pages/viewpage.action?pageId=15171738 (c'est valable pour prestashop 1.6 aussi).

Si ne veux pas t'embeter dans la première phase de création de ton module, j'ai réalisé un outil pour créer des modules : http://prestashop.seb7.fr/prestashop-module-builder/

 

Bon courage :)

  • Like 1

Share this post


Link to post
Share on other sites

Bonjour,

 

Tu dois réaliser un module qui va déclencher ce que tu souhaites. Ce déclenchement sera provoqué par l'execution d'un hook Prestashop.

 

La doc officielle pour la création de module : http://doc.prestashop.com/pages/viewpage.action?pageId=15171738 (c'est valable pour prestashop 1.6 aussi).

Si ne veux pas t'embeter dans la première phase de création de ton module, j'ai réalisé un outil pour créer des modules : http://prestashop.seb7.fr/prestashop-module-builder/

 

Bon courage :)

 

Salut Seb,

 

Merci beacoup ! C'est exactement ce que je cherchais !

 

J'ai utilisé les hooks actionProductAdd et actionValidateOrder en créant un nouveau module, et je peux faire les actions que je veux lorsqu'un produit est acheté ou ajouté, j'ai fais des tests rapides et ça fonctionne parfaitement !

 

Marqué en résolu :)

Share this post


Link to post
Share on other sites

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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More