贝宝 IPN URL 设置使用 API

PayPal IPN URL Set Using API

我在 laravel 项目中使用 srmklive/paypal PayPal 支付包。 并像这样设置一个 IPN 处理函数。

public function postNotify(Request $request)
{
    // Import the namespace Srmklive\PayPal\Services\ExpressCheckout first in your controller.
    $provider = new ExpressCheckout;

    $request->merge(['cmd' => '_notify-validate']);
    $post = $request->all();        

    $response = (string) $provider->verifyIPN($post);

    if ($response === 'VERIFIED') {                      
        // Your code goes here ...
    }                            
} 

有没有API指定IPNURL?

还是只在PayPal账户设置?

每个 PayPal 交易处理 API 都有一个参数来设置该交易的 notify_url,该参数(如果设置)将覆盖并优先于任何默认 IPN url 设置帐户级别。所以是的,您的集成最好在事务时设置它,在设置和提交事务的 API 调用中。

这样做的语法取决于您使用的是哪个 PayPal API;您必须查阅他们的参考资料并查找 notify 参数。

由于您可能正在使用 Express Checkout NVP,在这种情况下,SetExpressCheckout 调用中的参数名称是 PAYMENTREQUEST_0_NOTIFYURL