使用 API 设置 PayPal IPN URL

Posted

技术标签:

【中文标题】使用 API 设置 PayPal IPN URL【英文标题】:PayPal IPN URL Set Using API 【发布时间】:2020-07-14 04:12:14 【问题描述】:

我在 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 账户中设置?

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

那么我们可以为每次重复付款设置不同的IPN url吗?有可能吗? 你可以,是的。一些集成使用后跟 /xxxxx/ 的基本 URL 来识别它的用途

以上是关于使用 API 设置 PayPal IPN URL的主要内容,如果未能解决你的问题,请参考以下文章

修改 PayPal IPN URL 后,某些通知仍然使用旧的 IPN 侦听器 URL

为 PayPal 创建 IPN URL

Paypal 多个 IPN 同一商家设置快速结帐

如何配置paypal定期付款IPN url

PayPal IPN - 个人资料或 Notify_URL

Paypal pro 我还需要使用 ipn 吗?