【问题标题】:PHP PayPal payment validationPHP PayPal 支付验证
【发布时间】:2011-07-08 17:57:57
【问题描述】:

我正在为客户开发一个网站,他希望人们能够通过 PayPal 购买许可证/支持合同。我很难过的是如何确保付款安全。我目前的想法是使用 MD5 或其他方式生成一个随机字符串,将其插入数据库,然后将其与 PayPal 按钮代码的其余部分一起发送。付款完成后,用户将被重定向到 PHP 页面,其中有代码可以更新他们在数据库中的信息。唯一能阻止黑客给自己一个许可证/任何东西而不付费的是随机哈希,可以使用某种嗅探器找到它,并插入到 PayPal 代码返回的 POST 数据中。

所以。我的问题是:我如何在成功的 PayPal 付款上执行自定义 PHP 代码,而不会给互联网上更邪恶的用户留下任何漏洞?

【问题讨论】:

    标签: paypal verification


    【解决方案1】:

    我认为你应该使用Payment Gateway,例如PayFlow

    【讨论】:

      【解决方案2】:

      如果您已准备好在网站上付款,那么您的用户是否已经登录了会话?

      在这种情况下,当用户返回网站时,您可以检查您是否有一个特定的会话变量,如果它存在,您可以执行以下操作

      1) 检查您的会话,您是否有用户登录?如果您在几分钟前刚刚访问过 paypal,则应该仍处于登录状态。

      2) 会话中是否包含您的 sale_id?

      3) 如果没有,把用户转储到首页,记得要header("Location...");死(“死”)。 die() 部分很重要

      4) 如果是,请检查 sale_id 是否已付款,通知 url 应该已经捕获了 POSTED 付款数据,如果有效,则允许他们更新数据

      5) 如果是,但无效,允许他们使用其他方式还款,这意味着将他们重定向到另一个页面尝试再次付款,但不要让他们访问“更改详细信息”页面,这是唯一的到达那里的方法是严格验证付款是否成功。

      这对你有什么作用?

      【讨论】:

      • 感谢您的回答,但是我最近升级了代码以使用 PayPal 的 IPN 和 PHP 类。
      猜你喜欢
      • 2015-10-26
      • 2014-03-07
      • 2013-04-05
      • 2011-11-08
      • 2013-04-06
      • 2012-04-10
      • 1970-01-01
      • 2015-05-31
      • 2014-01-01
      相关资源
      最近更新 更多