【问题标题】:Proper way of storing user info during PayPal Checkout payment process在 PayPal Checkout 付款过程中存储用户信息的正确方法
【发布时间】:2014-02-21 17:57:40
【问题描述】:

我有一个注册网站。门票可以通过 PayPal Checkout 购买,但在这种情况下,用户当然会被重定向到 PayPal.com 并在那里付款。

问题:我不想在付款完成之前在我网站的数据库中写入任何内容。当用户从 PayPal 结帐页面返回我的网站时,我想写下所有内容。

问题:在 PayPal Checkout 付款过程中存储用户信息和购买信息的正确方法是什么? PHP 会话变量是对这个问题的正确、专业的回应吗?还是有更可靠的解决方案?

【问题讨论】:

  • 如果您在付款完成之前不存储有关交易的信息,您的网站如何知道来自 PayPal 的哪些付款消息与哪些交易对应?

标签: paypal session-variables


【解决方案1】:

推荐的方法是使用Instant Payment Notification (IPN)。它会将交易数据发布到您构建的侦听器脚本,该脚本可以接收该数据,然后实时更新您的数据库、发送电子邮件通知等。

不过,IPN 与您的实际结帐流程是分开的。它只是一个脚本,它在那里监听数据以命中它,当交易进入您的帐户时,PayPal 会实时将数据推送给它。

这是一个IPN template I built years ago,可以让您快速上手。

【讨论】:

  • 谢谢安德鲁。在深入研究您的 IPN 模板之前的一个问题:在 PP 结帐期间将用户和购买信息保留在会话变量中,然后从 PayPal.com 返回该站点后处理此信息有什么问题?为什么 IPN 更好?
  • 如果您使用的是 Payments Standard,即使启用了自动返回,也无法保证用户会返回您的网站。例如,如果他们在重定向之前关闭浏览器,他们将永远无法到达该页面,并且该代码将永远不会针对该订单运行。如果您使用 Express Checkout,他们最终会在完成付款之前回到您的网站,但是,如果他们使用电子支票付款,或者由于任何原因您不想将其处理为已完成,则付款处于待处理状态。 IPN 将在待处理的事务中被命中,并在它完成时再次被命中,以便您可以正确处理它。
猜你喜欢
  • 2015-07-22
  • 1970-01-01
  • 2014-12-08
  • 2019-02-21
  • 2013-07-16
  • 2013-02-19
  • 2013-03-30
  • 1970-01-01
  • 2023-03-25
相关资源
最近更新 更多