Paypal 自适应支付和 IPN

     2023-02-22     215

关键词:

【中文标题】Paypal 自适应支付和 IPN【英文标题】:Paypal adaptive payments and IPN 【发布时间】:2014-06-23 13:28:36 【问题描述】:

我正在使用 AngellEye library 使用 Paypal 自适应付款。

除了 IPN,一切都很好。在沙盒模式下使用 Paypal 时,我会收到一条通知到我的 URL。但是,一旦我上线,我就没有收到对我的服务器的 IPN POST 请求。我检查了我的 Apache access.log。

我需要在某处启用 Paypal IPN 以进行实时自适应付款吗?

在我的 Paypal 帐户中,在销售偏好下,IPN 显示为禁用。要启用它,我还需要提供一个 URL。但是,我的 URL 是动态的,我假设因为我使用的是 Paypal API,所以不需要更改它?

IPN 的使用:

    $PayRequestFields = array(
        'ActionType' => 'CREATE',                                               
        'CancelURL' => base_url() . 'd/cancel/' . $this->transactionID,                                    
        'CurrencyCode' => $this->product->currency, 
        'ReturnURL' => base_url() . 'd/success/' . $this->transactionID,
        'FeesPayer' => 'PRIMARYRECEIVER',
        'IPNNotificationURL' => base_url() . 'ipn/status/' . $this->transactionID,  
        );

【问题讨论】:

您是否已经在您的真实 PayPal 账户中启用了即时付款通知?如果您需要说明,请告诉我。 @pp_MSI_Jenn 您指的是我的 Paypal 帐户中的设置吗?如果是这样,我没有启用它,因为它需要一个对我的应用程序来说是动态的 URL。不能以编程方式启用吗? 我已经更新了我的问题,以展示我如何使用 Andrew 的库。 【参考方案1】:

我联系了 Paypal 支持,他们是这样说的:

我检查了您当前帐户的 IPN 设置并显示 IPN 设置为“关闭”,而不是“禁用”。这是一个非常重要的 区别,因为 IPN 被禁用会阻止 IPN 消息被 发送。如果 IPN 被简单地关闭,PayPal 将只发送 IPN 如果在支付请求中指定了 notify_url,则消息。为了 自适应支付,notify_URL 是触发 IPN 的唯一方式 消息,因此 IPN 可以处于“关闭”设置并正常工作,但是 没有被禁用。

这是我自己随机解决问题后收到的。我让它工作的方式只是玩弄我的帐户设置。我在我的帐户中启用了 IPN,然后将其禁用,此后我的所有 IPN 请求都涌入了我在 Adaptive Payments API 调用中设置的 IPN URL。

【讨论】:

我会选择我的答案作为正确答案,因为它确实解决了我的问题,但不知道为什么。此外,我将奖励 Andrew,感谢他的持续帮助以及我使用了一年多的出色库。 啊,我应该记得的。很高兴他们帮助了你,我很高兴你喜欢图书馆!【参考方案2】:

Adaptive Payments IPN 稍有不同,因为应用程序会收到一个(如果已配置),然后商家/卖家帐户也会根据他们收到的实际交易收到一个。

例如,如果您的应用代表第 3 方用户生成支付请求,并且您在支付请求中设置了 NotificationURL,则应用特定的 IPN 将被发送到该 URL。交易特定的 IPN 将被发送到卖家账户在他们自己的 PayPal 账户中配置的 URL。

您还需要确保您的 IPN 脚本已配置为正确处理自适应 IPN。它发送的参数名称类似于 some.name,而 .不适用于常规 $_POST['paramname'] 逻辑。查看此IPN template 了解它是如何处理它的……您可能只想使用它。

这是我刚才运行支付请求时收到的应用程序 IPN 示例。

Array
(
    [transaction] => 
    [payment_request_date] => Tue May 06 12:49:35 PDT 2014
    [return_url] => http://paypal.angelleye.com/paypal/class/1.2/Pay_Return.php
    [fees_payer] => EACHRECEIVER
    [ipn_notification_url] => http://sandbox.angelleye.com/paypal/ipn/ipn-listener.php
    [sender_email] => tester@angelleye.com
    [verify_sign] => AFcWxV21C7fd0v3bYYYRCps-s-rl31ArVBOvsxhUiZ-m0M3mFjhNWWaRjM
    [test_ipn] => 1
    [cancel_url] => http://paypal.angelleye.com/paypal/class/1.2/Pay_Cancel.php
    [pay_key] => AP-8YH799874R4873815
    [action_type] => PAY
    [transaction_type] => Adaptive Payment PAY
    [status] => INCOMPLETE
    [log_default_shipping_address_in_transaction] => false
    [charset] => windows-1252
    [notify_version] => UNVERSIONED
    [reverse_all_parallel_payments_on_error] => false
)

【讨论】:

非常感谢您的回复。 :-) 我正在处理第 3 方用户的付款。我在 Apache access.logs 中进行了搜索,但对于通过 IPNNotificationURL 设置的 IPN URL,我根本没有收到访问服务器的请求。很高兴看到对我的服务器的 POST 请求。谢谢你的模板。 你确定你的配置正确吗?我刚刚从我的图书馆测试了支付请求并添加了 IPNNotificationURL。我按预期收到了 IPN。我已经用 IPN 示例更新了我的答案。 好吧,我刚刚在我的 Paypal 帐户中使用我的主页 URL 启用了 IPN?!这似乎已经成功了,我正在接收 POST 请求!文档中没有说要这样做吗?! 这应该没有必要。这样,当该帐户收到交易时,它会将数据发布到您的主页 URL,但我假设该 URL 实际上没有处理 IPN 的逻辑,对吗?这将浪费资源,甚至可能导致错误返回到 PayPal 的 IPN 服务器。您可能需要查看您的 IPN 历史记录。 我查看了我的 IPN 历史记录,我可以看到大量过去的交易处于禁用状态。然后是SentRetrying。已发送到正确的 URL,重试到错误的 URL(主页)。一个是Transaction made 类型,另一个是Adaptive payment made。我再次在我的帐户上禁用了 IPN,因为我不喜欢这些错误!关闭 IPN 时,消息很清楚,我不会收到 IPN 消息。

Paypal 自适应支付 IPN 费用信息

】Paypal自适应支付IPN费用信息【英文标题】:PaypalAdaptivePaymentIPNfeesinformation【发布时间】:2012-06-1000:54:19【问题描述】:所以,我不知道我是疯了还是怎么了,但对于我的一生,我无法弄清楚如何获得支付Paypal的费用金额。对于... 查看详情

Paypal 自适应支付 IPN 回调:如何返回完整未更改的 ipn 消息

】Paypal自适应支付IPN回调:如何返回完整未更改的ipn消息【英文标题】:PaypaladaptivepaymentsIPNcallback:howtoreturnthecompleteunalteredipnmessage【发布时间】:2013-04-2314:17:09【问题描述】:我在市场(买家和卖家)工作,中间人从每次购买中... 查看详情

如何通过 IPN 使用 Paypal 自适应支付?

】如何通过IPN使用Paypal自适应支付?【英文标题】:HowtousePaypaladaptivepaymentswithIPN?【发布时间】:2012-05-0513:31:52【问题描述】:我正在使用Paypal的自适应支付系统。使用沙盒帐户,我能够发出PayRequest并被转发到Paypal进行付款。然... 查看详情

Paypal 自适应支付 API 自定义变量 IPN 返回

】Paypal自适应支付API自定义变量IPN返回【英文标题】:PaypalAdaptivePaymentAPICustomVariableIPNReturn【发布时间】:2012-01-2222:52:28【问题描述】:我正在尝试使用IPN执行自适应支付API,并且发现在沙盒环境中我无法返回付款人的地址或自... 查看详情

paypal自适应支付IPN中的自定义字段

】paypal自适应支付IPN中的自定义字段【英文标题】:customfieldintheIPNofpaypaladaptivepayment【发布时间】:2011-08-2702:01:22【问题描述】:我已在我的网站中实施自适应支付。首先它是标准支付,所以我在表单中传递了一个custom参数,我... 查看详情

Paypal 自适应支付链式支付 IPN php

】Paypal自适应支付链式支付IPNphp【英文标题】:PaypalAdaptivePaymentsChainedPaymentIPNphp【发布时间】:2013-03-2008:23:38【问题描述】:我正在尝试将我的标准IPNpaypal付款调整为连锁付款,以将收到的付款分成多个接收方。是否可以通过向... 查看详情

贝宝自适应支付和ipn响应

】贝宝自适应支付和ipn响应【英文标题】:paypaladaptivepaymentsandipnresponse【发布时间】:2015-06-2906:57:54【问题描述】:我已经阅读了一些关于PayPal的自适应付款的信息。我正在考虑在网络应用程序中实现这种方法我正在开发。因此... 查看详情

自适应支付 paypal - 没有支付 api 操作的 pdt 数据

】自适应支付paypal-没有支付api操作的pdt数据【英文标题】:Adaptivepaymentspaypal-nopdtdataforpayapioperation【发布时间】:2013-07-0408:12:31【问题描述】:我正在使用自适应支付paypalpayapi操作来完成交易,我已经设置了ipn和returnurl.am成功地... 查看详情

自适应支付 IPN 交易 ID 未出现

...earing【发布时间】:2012-08-2103:07:17【问题描述】:我正在PayPal沙箱中测试自适应支付,IPN正在正确返回到我的网站,但我无法让交易ID出现,我希望在我的数据库中使用它,因为用户可以使用它重新下载媒体未来,或者如果他们... 查看详情

隐式自适应支付不生成 IPN

...PaymentsAPI从一个帐户向另一个帐户汇款。我正在使用active_paypal_adaptive_paymentgem来简化一些事情。到目前为止,我的一切都按预期工作,但我的付款没有生成IPN。我隐含地发送付款 查看详情

PayPal 自适应支付 - returnUrl 显示在 Lightbox IFrame 中

】PayPal自适应支付-returnUrl显示在LightboxIFrame中【英文标题】:PayPalAdaptivePayments-returnUrldisplaysinLightboxIFrame【发布时间】:2012-06-1000:30:16【问题描述】:我正在使用PayPal的自适应付款“支付”方法。随着灯箱的出现和付款流程的完... 查看详情

Paypal 自适应支付重定向 URL GET 变量

】Paypal自适应支付重定向URLGET变量【英文标题】:PaypalAdaptivePaymentRedirectURLGETVariables【发布时间】:2013-04-0116:09:51【问题描述】:到目前为止,我一直在使用PaypalPaymentsStandard,制作Paypal按钮,让我的客户可以在Paypal上付款,然后... 查看详情

Paypal 链式支付 - 支付密钥和 IPN

】Paypal链式支付-支付密钥和IPN【英文标题】:PaypalChainedPayment-PayKey&IPN【发布时间】:2015-04-1815:06:37【问题描述】:我最近从基本的Paypal付款转换为链式付款...如果你们愿意提供帮助,我有几个问题。首先,当我设置PayRequest... 查看详情

Paypal 自适应支付和 Webhook 事件未注册

】Paypal自适应支付和Webhook事件未注册【英文标题】:PaypalAdaptivePaymentsandWebhookEventsNotRegistering【发布时间】:2017-08-2021:59:13【问题描述】:HelloSOPayPal社区。​​p>即使我已注册所有事件类型,我也无法让PayPal从使用自适应支付... 查看详情

PayPal 自适应支付与 Braintree 商家

】PayPal自适应支付与Braintree商家【英文标题】:PayPalAdaptivePaymentsvsBraintreeMerchants【发布时间】:2017-08-0910:54:36【问题描述】:考虑到这种情况,哪个更好-使用PayPal自适应支付进行并行支付处理和集成,或者使用Braintree商家帐户... 查看详情

Paypal 沙盒 IPN 模拟器 - 502 Bad Gateway

】Paypal沙盒IPN模拟器-502BadGateway【英文标题】:PaypalsandboxIPNsimulator-502BadGateway【发布时间】:2015-08-2821:35:28【问题描述】:我刚刚完成了支持Paypal的支付网关服务器的实现。该网关还具有用于Paypal和Skrill通知的自适应IPN服务器。... 查看详情

PayPal自适应支付链式支付错误

】PayPal自适应支付链式支付错误【英文标题】:PayPaladaptivepaymentchainedpaymenterror【发布时间】:2016-04-0205:24:49【问题描述】:我正在使用PayPal自适应支付链式支付我是Siteeweb所有者,我希望收到所有金额并获得我的佣金并将他的金... 查看详情

PayPal 的自适应支付 API 和分期付款链​​式支付

】PayPal的自适应支付API和分期付款链​​式支付【英文标题】:PayPal\'sAdaptivePaymentsAPIandchainedpaymentswithinstallments【发布时间】:2013-05-0721:34:41【问题描述】:我拥有一个网站,卖家可以在该网站上出售他们的商品(几乎是一个市... 查看详情