2
add_action( 'woocommerce_payment_complete', 'payment_complete_func' );

function payment_complete_func(){

    file_get_contents("http://localhost/wordpress/test.php?id=paymentagain2");
}

我正在使用 paypal 沙盒模式进行付款检查,并且此功能 payment_complete_func() 永远不会被触发。请帮我。

4

1 回答 1

5

这个问题很老了,但它仍然出现在谷歌中,所以我会在这里留下一个答案。

只有当您的网站收到来自 PayPal 的付款确认(称为 IPN - 即时付款通知)时,才认为 PayPal 付款已完成。为此,PayPal 必须与您联系,这意味着您的开发网站必须可以通过提供给 PayPal 的 URL 从外部以某种方式访问​​。

在您的情况下,您将 localhost 作为 url,它永远无法联系到您。要解决此问题,您需要为开发环境注册域名或使用公共 IP 地址。如果您正在进行离线开发安装,则必须使其在线可用,以便 PayPal 可以访问它。

于 2014-07-28T09:40:02.570 回答