Я использую WooCommerce и WordPress. У меня есть собственный генератор ключей для ключей, и я хотел бы, чтобы он сгенерировал лицензионный ключ, когда кто-то успешно купил мой плагин через WooCommerce.
Это выглядит довольно прямолинейно:
Вот проблема: я действительно не уверен, какой крючок будет хорошо работать для этого. У Woocommerce есть своя целая коллекция крючков, перечисленных на их сайте, но практически никакой документации о которой хорошо для чего.
Основываясь только на именах крючков, я думаю, что woocommerce_payment_complete
будет хорошим действием. К сожалению, похоже, что он вообще не уволен; некоторые места, которые я читал, говорят, что это никогда не срабатывает.
Я также кое-что прочитал о IPN Paypal, но я не понимаю, как я могу подключиться к уведомлению от этого (это связано с крюком Woocommerce?)
Короче говоря, я хотел бы сгенерировать лицензионный ключ, как только платеж будет проверен. Для чего я это делаю?
Хорошо, я придумал пару возможных решений.
Стандартный шлюз WooCommerce Paypal на самом деле поддерживает службу IPN Paypal, встроенную в нее. Вы захотите использовать это независимо от выбранного вами маршрута «крючок».
КАК УСТАНОВИТЬ PAYPAL IPN
IP-адрес Paypal подключается к той учетной записи, которая является получателем денег. Например, если вы получаете деньги на myemail@gmail.com, вам необходимо настроить IPN с этой учетной записью. Все IPN есть, Paypal отправляет «Оплата завершена!» (сорта) уведомления по выбранному URL. Чтобы выбрать URL-адрес, на который вы хотите отправить Paypal уведомление, вам необходимо выполнить следующие действия:
После завершения оплаты ваша система WooCommerce будет выходить из системы Paypal. О, и, кстати, убедитесь, что:
ВАРИАНТ 1: woocommerce_order_status_completed
заказов, которые завершили оплату и подключились к woocommerce_order_status_completed
для ваших специальных действий / функций
Для того, чтобы ваши продукты были автоматически заполнены после подтвержденного платежа, вы можете просто установить невероятный плагин для заказа автозаполнения WooCommerce от Mirko Grewing. Обязательно установите правильные настройки (которые будут отображаться на вкладке «Дополнительные параметры» в настройках WooCommerce).
Теперь, когда ваши заказы автоматически заполняются при проверке платежей, вы можете просто подключиться к вашему завершению, `woocommerce_order_status_completed, для вашей специальной функции.
Преимущество этого метода заключается в том, что если вы можете подключиться в любом порядке, который будет выполнен – независимо от того, выполнили ли вы его вручную или он был автоматически завершен. Другими словами, это довольно универсально.
ВАРИАНТ 2: woocommerce_payment_complete_order_status
фильтру woocommerce_payment_complete_order_status
, что означает успешный платеж.
Наверное, это довольно понятно. Преимущество этого метода заключается в том, что он в значительной степени является первым шагом во всем процессе и имеет место перед завершающим крючком выше (если у вас есть приоритеты, установленные соответственно).
Я не знаю, лучше ли кто-то другой, но оба они, похоже, достигают моей цели: выполните действие ПОСЛЕ оплаты.
woocommerce_payment_complete_order_status
также запускается, когда платеж был отменен. Я только что проверил использование Paypal в качестве шлюза Woocommerce 3.1.2.
Действие woocommerce_payment_complete
похоже, срабатывает только тогда, когда платеж был успешным.