首页 > 解决方案 > 使用 API 设置 PayPal IPN URL

问题描述

我在 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 ...
    }                            
} 

是否有任何用于指定 IPN URL 的 API?

还是我应该只在 PayPal 帐户中设置它?

标签: phplaravelapipaypalpaypal-ipn

解决方案


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

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

由于您似乎正在使用 Express Checkout NVP,在这种情况下,参数名称PAYMENTREQUEST_0_NOTIFYURLSetExpressCheckout调用中


推荐阅读