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

Php paypal与网站支付标准集成,通过电子邮件发送下载链接,php,paypal,download,integration,Php,Paypal,Download,Integration,我想以以下方式集成paypal,但它可能有一些我不知道的缺陷 我将创建一个buy now按钮,带有执行php脚本的notify\u url参数。 此脚本将执行以下操作: 在mysql中存储付款人的电子邮件、交易id和一些有用的东西 数据库 由此生成一个唯一的密钥并将其存储 创建电子邮件并将其发送到用户地址。此电子邮件将包含一个指向.php文件的链接,该文件包含诸如唯一键之类的参数。(.php?key=xxxxxxx)如果客户单击链接,文件将在数据库中检查密钥,并创建指向要下载文件的实际链接 我想

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

我将创建一个buy now按钮,带有执行php脚本的
notify\u url
参数。 此脚本将执行以下操作:

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

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


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

    如果您使用paypal IPN路径,我假设您上面详述的脚本将在IPN回调后出现


    我自己也实现了一个类似的系统,而且非常直截了当——您提出的设计与我的设计几乎相同。当Paypal交易完成时(一旦他们在Paypal的网站上完成,他们会将他们带回网站上的通用“感谢支付”页面),以及当他们在电子邮件中获得文件下载链接时,两者之间有一点脱节,但这是可行的。只要您确信您的唯一密钥确实是唯一的,并且您不担心密钥被猜测或被盗,就不应该成为问题。我还跟踪了每个密钥用于下载的次数,只是为了关注可能的“密钥共享”,或者,如果您想执行一次购买一次下载策略,您可以使用bool来跟踪该策略。

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

    根据我的经验:

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

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

    感谢您的反馈,检查“密钥共享”也是一个好主意。我来试一试。谢谢你写下一般的机制,非常有用。