【问题标题】:Grails PayPal plugin response notificationGrails PayPal 插件响应通知
【发布时间】:2016-02-08 22:10:40
【问题描述】:

我一直在尝试将 PayPal 支付与我正在开发的测试应用程序集成。如果成功,我正在考虑将其用于我的其他项目。

到目前为止,我已经能够添加插件,将其配置为测试环境并能够完成端到端的事务。但是,我有一个小问题需要帮助或澄清。请按照以下系列图片了解更多详情:

商家应用程序(grails 应用程序)上的按钮

PayPal 测试网站上的支付页面

这里是paypal确认交易页面:

在上面付款后,我在paypal测试网站上收到了一条成功的消息。但是当我检查日志和数据库时,在这个阶段没有通知发送到 grails 应用程序。支付交易仍处于 PENDING 状态:

现在,当我点击 paypal 确认页面上的“返回商家”链接时,我重定向到我的 grails 应用程序并显示成功消息:

因此,只有在用户点击“返回商家网站”链接后,PayPal 的“SUCCESS”响应才会发送到 grails/merchant 应用程序。在现实生活中,用户可能不想每次都返回商家网站。看到 PayPal 网站上的确认消息,他们可能会认为交易已完成,并且可能是 PayPal 也进行了付款。但是,我们如何让商家站点(即 grails 应用程序)知道 PayPal 已经向用户显示了确认消息?这样用户就不用在看到Successful信息后返回商户了?

更新: 我根据您的建议尝试了 IPN 模拟器。我不太确定也不能理解如何将 IPN 消息发送到我的 localhost 应用程序。当我尝试在我的沙盒帐户的 IPN 模拟器配置上提供我的 localhost 或 127.0.0.1 时,它会抛出错误,提示无法访问服务器。我相信很多开发人员一定已经尝试过使用本地开发机器,但是找不到任何资源来提供使用 IPN 模拟器或 IPN 沙箱响应的步骤来进行 localhost 开发实例。

【问题讨论】:

    标签: grails paypal grails-plugin


    【解决方案1】:

    您不能依赖 PDT 你必须使用IPN PayPal 向您网站上的页面发送通知,您必须在该页面上进行身份验证、验证几个可能的问题并保存交易详细信息

    查看这里了解更多信息 IPN

    不确定它是否写在该链接上,但您还必须从您的 Paypal 帐户启用此功能,指示您网站上的目标页面。

    【讨论】:

    • 我根据您的建议尝试了 IPN 模拟器。我不太确定也不能理解如何将 IPN 消息发送到我的 localhost 应用程序。当我尝试在我的沙盒帐户的 IPN 模拟器配置上提供我的 localhost 或 127.0.0.1 时,它会抛出错误,提示无法访问服务器。我相信许多开发人员一定已经尝试过使用本地开发机器,但是找不到任何资源来提供使用 IPN 模拟器或 IPN 沙箱响应的步骤来进行本地开发实例。
    • 实际上,我不是专家,但恕我直言,除了您之外,没有人可以访问 localhost:127.0.0.1 是仅在您的 LAN 内的有效 IP 地址:您必须向 PayPal 提供一个 Public IP 地址。
    • 是的。我也是这么想的,我也不想为打开我的机器供公众访问而头疼。必须有其他开发人员这样做的方法。我想我会尝试自己使用 Chrome 扩展程序或其他东西来伪造 IPN 模拟器消息。谢谢你的回复。我会“提高”你的答案:)
    • 嗯,这可以是一个解决方案,但不允许您进行完整测试:身份验证过程的第一步要求您,一旦收到 IPN 通知,将其发送回 PayPal 要求验证:显然有些领域无法模拟。除此之外,如果您需要一些示例消息。我想我应该在某个地方有一些..
    • 我找到了解决方案。我终于设法将 IPN 模拟器与我的本地主机一起使用。我通过其他一些 stackoverflow 帖子在网上找到了这个神奇的工具...ngrok.com,它具有向本地服务器提供公共访问 URL(http 和 https)的魔力,我们还可以提供我们所在的端口号寻找公共访问权限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    相关资源
    最近更新 更多