WooCommerce挂钩“付款后完成”操作

2021/01/05 02:41 · php ·  · 0评论

我正在使用WooCommerce和Wordpress。我有一个自定义许可证密钥生成器,当有人通过WooCommerce成功购买我的插件时,我希望它生成许可证密钥。

看起来很简单:

  1. 用户在我的网站上完成结帐
  2. 用户被重定向到Paypal,在此输入他们的付款凭证
  3. 贝宝告诉我的网站,付款已完成
  4. 我加入了某种“支付完成”或“ order_complete” WooCommerce操作并生成了许可证。

问题是:我真的不确定哪个钩子可以很好地解决这个问题。Woocommerce在其站点上列出了所有的钩子集合,但是实际上没有关于哪个钩子有什么用的文档。

仅基于钩子名称,我认为这woocommerce_payment_complete将是一个不错的选择。不幸的是,它似乎根本没有被解雇。我读过的一些地方说它从未被解雇过。

我也阅读了有关Paypal IPN的内容,但我不明白如何从中接收通知(是否连接到Woocommerce钩子?)

简而言之,我想在验证付款后立即生成许可证密钥。为了实现此目标,我需要做什么?

好的,我提出了两种可能的解决方案。

付款验证交易

WooCommerce的Paypal标准网关实际上已经支持内置在其中的Paypal的IPN服务。无论您选择哪种“挂钩”路线,都将要使用它。

如何设置贝宝IPN

贝宝IPN连接到作为收款人的任何帐户。例如,如果您通过myemail@gmail.com获得报酬,则需要使用该帐户设置IPN。IPN就是Paypal发出的“付款完成!” (按种类)通知您选择的URL。为了选择您希望Paypal发送通知的URL,您需要执行以下步骤:

  1. 登录贝宝
  2. 单击右上角的小脸图标
  3. 点击“个人资料和设置”
  4. 点击左侧栏中的“我的销售工具”
  5. 找到“即时付款通知”,然后单击“更新”
  6. 启用它们并设置URL。你WooCommerce PayPal付款标准网关地址是:http://yoursite.com/?wc-api=WC_Gateway_Paypal(这是WooCommerce在指出贝宝标准的文档)。
  7. 保存设置

付款完成后,您的WooCommerce安装现在将收到Paypal的通知。哦,顺便说一句,请确保:

  • 您在贝宝(Paypal)设置中的“收件人电子邮件”正确
  • 在服务器上启用了fsockopen(您可以在WooCommerce设置中检查此“系统状态”)

现在让我们开始工作

选项1:自动完成已完成付款并挂接到woocommerce_order_status_completed您的特殊操作/功能的订单

为了使您的产品在完成验证付款后自动完成,您只需安装Mirko Grewing出色的WooCommerce自动完成订单插件即可。确保设置正确的设置(将显示在WooCommerce设置的“ Woo Extra Options”标签下)。

现在,您的订单已在验证付款后自动完成,您可以简单地连接到您的完成挂钩woocommerce_order_status_completed,以实现您的特殊功能。

该方法的好处在于,无论您是手动完成还是自动完成,if都允许您按已完成的任何顺序进行挂接。换句话说,它非常通用。

选项2:插入woocommerce_payment_complete_order_status过滤器,表示付款成功。

我猜这是不言自明的。这种方法的好处是,这几乎是整个过程的第一步,它发生在上述完成挂钩之前(如果您设置了适当的优先级)。

我不知道一种方法是否比另一种方法更好,但是它们似乎都可以实现我的目标:在验证付款后执行一项操作。

woocommerce_payment_complete_order_status付款取消后也会触发。我刚刚使用Paypal作为Woocommerce 3.1.2的网关进行了测试。

woocommerce_payment_complete似乎只有在付款成功后才能执行该操作

本文地址:http://php.askforanswer.com/woocommerceguagoufukuanhouwanchengcaozuo.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!