J'utilise WooCommerce et Wordpress. J'ai un générateur de clé de licence personnalisé et j'aimerais qu'il génère une clé de licence lorsque quelqu'un achète avec succès mon plugin via WooCommerce.
Cela semble assez simple:
Voici le problème: je ne sais vraiment pas quel crochet fonctionnerait bien pour cela. Woocommerce a leur collection complète de crochets répertoriés sur leur site, mais pratiquement aucune documentation sur ce qui est bon pour quoi.
Sur la base des noms des crochets, je pense que woocommerce_payment_complete
serait une bonne action à utiliser. Malheureusement, il ne semble pas du tout être renvoyé; certains endroits que j'ai lus disent qu'il n'a jamais été tiré.
J'ai également lu quelque chose sur Paypal IPN, mais je ne comprends pas comment je pourrais me connecter à la notification à partir de cela (cela se connecte-t-il à un hook Woocommerce?)
En bref, j'aimerais générer la clé de licence dès que le paiement aura été vérifié. À quoi dois-je me connecter pour y parvenir?
D'accord, j'ai trouvé quelques solutions possibles.
La passerelle Paypal Standard de WooCommerce prend en charge le service IPN de Paypal intégré. Vous aurez envie de l'utiliser quel que soit l'itinéraire de "crochet" que vous choisissez.
COMMENT CONFIGURER IPN Paypal
Paypal IPN est connecté au compte qui est le destinataire de l'argent. Par exemple, si vous êtes payé à [email protected], vous devez configurer IPN avec ce compte. Tout IPN est, est-ce que Paypal envoie un "Paiement terminé!" (en quelque sorte) notification à l'URL de votre choix. Pour choisir l'URL à laquelle vous souhaitez que Paypal envoie la notification, vous devez procéder comme suit:
Votre installation WooCommerce recevra désormais des informations de Paypal lorsque le paiement sera terminé. Oh, et en passant, assurez-vous que:
OPTION 1: saisie semi-automatique des commandes qui ont terminé le paiement et connectez-vous à woocommerce_order_status_completed
pour vos actions/fonctions spéciales
Pour que vos produits se complètent automatiquement après paiement vérifié, vous pouvez simplement installer le fabuleux plug-in WooCommerce Autocomplete Order de Mirko Grewing. Assurez-vous de définir les paramètres corrects (qui apparaîtront sous l'onglet "Options Woo Extra" dans vos paramètres WooCommerce).
Maintenant que vos commandes sont complétées automatiquement lorsque les paiements sont vérifiés, vous pouvez simplement vous connecter à votre crochet d'achèvement, `woocommerce_order_status_completed, pour vos fonctionnalités spéciales.
L'avantage de cette méthode est que si vous permet de connecter n'importe quelle commande terminée, que vous l'ayez ou non effectuée manuellement ou qu'elle ait été automatiquement terminée. En d'autres termes, il est assez polyvalent.
OPTION 2: Connectez-vous au woocommerce_payment_complete_order_status
filtre, qui indique un paiement réussi.
Je suppose que l'on est assez explicite. L'avantage de cette méthode est qu'elle est à peu près la première étape de l'ensemble du processus et a lieu avant le crochet d'achèvement ci-dessus (si vos priorités sont définies de manière appropriée).
Je ne sais pas si l'un est meilleur que l'autre, mais ils semblent tous les deux atteindre mon objectif: effectuer une action APRÈS le paiement a été vérifié.
woocommerce_payment_complete_order_status
se déclenche également lorsque le paiement a été annulé. Je viens de tester l'utilisation de Paypal comme passerelle sur Woocommerce 3.1.2.
L'action woocommerce_payment_complete
semble ne se déclencher que lorsque le paiement a réussi.