贝宝与网站支付标准的整合,通过电子邮件发送下载链接


paypal integration with Website Payments Standard with sending download links by email

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

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

    在mysql中存储付款人的电子邮件,交易id和一些有用的东西数据库。
  1. 生成一个唯一的密钥,并存储它。
  2. 创建邮件发送到用户地址。该电子邮件将包含一个链接到一个带有参数的.php文件,如唯一键。(.php?key=xxxxxxx)如果客户点击链接,文件将在数据库中检查密钥并创建要下载的文件的实际链接。

我想知道这是否可以工作,或者这个解决方案有一些问题?也许我应该使用某种会话处理?

谢谢你的阅读,欢迎提出任何意见/建议。

ps:首先,我想在付款后重定向用户,但读到它并不总是工作,只对那些使用paypal帐户的人。

如果您选择Paypal IPN路线,我假设您上面详细描述的脚本将在IPN回调之后发生。

我自己也实现了一个类似的系统,而且非常直接——你提出的设计和我的设计差不多。贝宝交易完成的时间(一旦他们在贝宝网站上完成,他们会把他们带回到你网站上一个通用的"感谢付费"页面)和他们在电子邮件中收到文件下载链接之间有一点脱节,但它是有效的。只要您确信您的唯一密钥确实是唯一的,并且您不担心密钥被猜测或被盗,就不应该成为问题。我还跟踪了每个密钥用于下载的次数,只是为了关注可能的"密钥共享",或者,如果您想执行一次购买一次下载策略,您可以使用bool来跟踪。

是的,它将工作看看IPN, Paypal的方式与您交谈一旦交易完成。请注意,这是相当复杂的,你应该注意不同的情况,因为Paypal会在许多不同的情况下发送IPN通知。

根据我的经验:

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

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