paypal与网站付款标准集成,通过电子邮件发送下载链接

时间:2011-12-06 15:38:38

标签: php paypal download integration

我想以下列方式整合paypal,但它可能有一些我不知道的缺陷。

我会创建一个立即购买按钮,其中notify_url参数执行php脚本。 该脚本将执行以下操作:

  1. 在mysql中存储付款人电子邮件,交易ID和一些有用的东西 数据库中。
  2. 从中生成一个唯一的密钥并存储它。
  3. 创建电子邮件并将其发送到用户地址。此电子邮件将包含指向.php文件的链接,其中包含唯一键等参数。 (.php?key=xxxxxxx)如果客户点击链接,文件将检查数据库中的密钥,并创建要下载的文件的实际链接。
  4. 我想知道这是否可行,或者此解决方案存在一些问题?也许我应该使用某种会话处理?

    感谢阅读,欢迎任何想法/建议。

    ps:首先,我希望在付款后重定向用户,但请注意它并不总是有效,仅适用于使用paypal帐户的用户。

2 个答案:

答案 0 :(得分:1)

如果您要使用Paypal IPN路由,我认为您在上面详述的脚本将在IPN回调之后发生。

我自己实现了一个类似的系统,而且很直接 - 你提出的设计与我的设计差不多。 Paypal交易完成之间有一点脱节(一旦他们在Paypal的网站上完成,他们将他们带回通用,“感谢您在您的网站上支付”页面),当他们在他们的电子邮件中获得文件下载链接时,但它的确有效。只要您确信您的独特密钥确实是独一无二的,并且您不担心密钥被猜到或被盗,那么这应该不是问题。我还跟踪了每个密钥用于下载的次数,只是为了密切关注可能的“密钥共享”,或者,如果你想做一个购买一个下载策略,你可以使用bool来跟踪它。

答案 1 :(得分:1)

是的,它可以查看IPN,Paypal在交易完成后与您交谈的方式。请注意它相当复杂,你应该留意不同的情况,因为Paypal会在很多不同的情况下发送IPN通知。

根据我的经验:

  • 1)客户通过信用卡或帐户
  • 在Paypal上购物
  • 2)Paypal服务器将发送您的脚本的IPN响应
  • 3)验证交易是否已完成且未挂起
  • 4)生成下载密钥
  • 5)向客户发送电子邮件

购买后不要依赖客户回到您的网站。让你的IPN脚本完成所有工作。