【问题标题】:How can I find out which file this IPN request goes to?如何找出这个 IPN 请求发送到哪个文件?
【发布时间】:2013-04-18 07:22:56
【问题描述】:

我正在从插件 IPN 包(Joomla 的 Valanx)转移到 PHP 中自定义构建的包。

问题是现有订阅者无法更改IPN地址!我不确定为什么 PayPal 将这个参数永久固定,但这让我们有些头疼。所以现在我们必须在现有的 IPN 接收器中放入一些代码,以将其转发给我们的新接收器 - 以便旧订阅者更新到新系统中。

我找不到需要修改的文件。它迷失在 Joomla 文件和插件的迷宫中。当前插件使用查询字符串作为接收地址http://mywebsite.com/index.php?option=com_acctexp&task=paypal_subscriptionnotification&Itemid=99999999'

我的问题是:如何找出要修改哪个文件以将现有 IPN 转发到我们的新系统?

或者也许有人对如何处理这个问题而不是转发 IPN 有其他建议(这对我来说似乎相当笨拙)。

【问题讨论】:

    标签: php joomla paypal-ipn paypal-subscriptions


    【解决方案1】:

    在普通 Joomla 下!约定(即,如果扩展程序是按照 MVC 编写的),则 URL 将按如下方式分解。

    option=com_acctexp - 在前端映射到目录/components/com_acctexp/

    task=paypal_subscriptionnotification 是其中一个控制器文件中的方法名称。但是,根据记忆,Valanx 的 AEC 产品并未遵循此约定。

    在现代扩展中,您会看到 task=controller.method 语法,它指示特定的 controller 文件和其中调用的 method

    您可能会在com_acctexp 主目录中的processors(或者称为paymentgateways 目录)中找到它。我建议在该目录中查找 paypal.phppaypal_subscriptions.php 文件。

    抱歉,我无法更具体地说明,自从 dumped 取代了该产品已经有几年了。

    【讨论】:

    • 这是正确的,我也得到了开发人员的确认。该文件是 paypal_subscription.php
    【解决方案2】:

    您应该能够登录您的 PayPal 帐户,并在您的帐户中进入您的 IPN 历史记录。如果您单击过去发送的 IPN 之一,它将为您提供您发送到的 URL。这将告诉您需要修改的文件所在的位置。请记住,IPN 历史只能追溯到 28 天,因此它必须是在过去 28 天内完成的 IPN。

    【讨论】:

    • 是的,但是 IPN 消息/历史记录视图中的 IPN 地址仍然是一个查询 http://www.mysite.com/index.php?option=com_acctexp&task=paypal_subscriptionnotification&Itemid= 有什么想法可以找到接收此文件的实际 PHP 文件吗?
    • 如果不安装相同的插件包并查看它,我不知道它专门放置代码的位置。如果是插件,你应该有一个插件目录。你可以试试看那里。否则,如果它是一个免费插件,您可以将我指向下载,我可以尝试查看它。
    • 不幸的是它不是免费的。不过谢谢你的提议!我想知道是否有办法在 cpanel 或原始访问日志中查看处理 IPN 的位置?
    • 您可以尝试对所有文件进行搜索,以查找 PayPal URL,因为这应该在代码中,并且您的 IPN 脚本将针对它发回。
    猜你喜欢
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多