我一直在尝试将PayPal付款与我正在开发的测试应用程序集成在一起。如果成功的话,我正在考虑将其用于其他项目。
到目前为止,我已经能够添加插件,为Test环境配置它并能够端到端完成事务。但是,我有一个小问题,需要一些帮助或澄清。请按照以下图像系列获取更多详细信息:
商家应用程序上的按钮(grails应用程序)
Paypal 测试网站上的“付款”页面
这是交易的 Paypal 确认页面:
完成上述付款后,我在 Paypal 测试网站上收到了成功的消息。但是,当我检查日志和数据库时,在此阶段没有通知发送到grails应用程序。付款交易仍处于PENDING状态:
现在,当我单击 Paypal 确认页面上的“返回商家”链接时,然后使用SUCCESS消息重定向到我的grails应用程序:
因此,仅在用户点击链接“返回商家站点”后,PayPal的“成功”响应才发送到grails /商家应用程序。在现实生活中,用户可能不想每次都返回商家站点。在 Paypal (PayPal)网站上看到确认消息后,他们可能会认为交易已完成,也可能是 Paypal (PayPal)也进行了付款。但是,如何让商家网站(即grails应用程序)知道PayPal已经向用户显示了确认消息?这样,用户不必在看到成功消息后就返回商户网站?
更新:
我已经根据您的建议尝试了IPN模拟器。我不太确定并不能理解如何将IPN消息发送到本地应用程序。当我尝试在沙箱帐户的IPN模拟器配置中提供本地主机或127.0.0.1时,它会引发错误,提示无法访问服务器。我敢肯定,许多开发人员一定已经使用本地开发计算机尝试过此操作,但是找不到任何资源,该资源给出了将IPN模拟器或IPN沙箱响应用于本地主机开发实例的步骤。
最佳答案
您不能依靠PDT
您必须使用IPN
PayPal将通知发送到您的网站上必须进行身份验证,验证几个可能的问题并保存交易详细信息的页面上
看到这里更多信息
IPN
不知道它是否写在该链接上,但是您还必须从 Paypal (Paypal)帐户启用该功能,以指示网站上的目标页面。