【问题标题】:How can I(or Paypal) validate post data that is sent to Paypal from a button on my site?我(或 Paypal)如何验证从我网站上的按钮发送到 Paypal 的帖子数据?
【发布时间】:2023-04-10 02:06:01
【问题描述】:

我正在使用 paypal 网站标准并通过 item_number 字段传递在我的网站上生成的订单 ID。我想知道,paypal 怎么知道表单中的内容没有被用户更改?例如,有人可以将 10 美元的金额更改为 5 美元,而贝宝无法得知。我以前用其他支付处理器这样做过,他们让我向他们发送金额的 md5 哈希值和一些其他数据 + 密钥,但我不确定 paypal 是否有这个?

【问题讨论】:

    标签: paypal


    【解决方案1】:

    基于this article,我相信这取决于您是否使用“支付数据传输”。如果您只是使用按钮,则需要在发货前手动验证付款金额。如果您使用 PDT,您应该能够验证 PayPal 响应中发回的 payment_gross 金额。

    【讨论】:

    • 我将使用 PDT 和 IPN 并验证金额。感谢您提供信息和链接。
    【解决方案2】:

    您的权利 - 一般来说,您不能阻止他人更改您的数据。如果您必须使用 PayPal(是的,我知道,没有月费),据我所知,您有三个选择:

    1. 让 PayPal 托管您的按钮数据。但这让您无法控制整个过程。
    2. 在发货前手动验证每笔交易、检查价格等。
    3. 使用他们的 API 接收已完成的交易以自动检查数据。

    另外需要注意的是销售税的计算。 PayPal 的方法过于简单,无法满足我们的需求,这迫使我控制了结帐流程。

    看到这个link

    【讨论】:

    • 看起来这一切都归结为使用 IPN/PDT 和验证金额。感谢您的提示和链接
    【解决方案3】:

    你应该尝试使用 ipn 来实现它,如果用户没有按下“去商店”按钮,pdt 很容易不会将变量从贝宝传递到你的网站。正如其他人回答的那样,托管您的按钮会以牺牲灵活性为代价使其安全。这是一个关于可以在托管按钮https://www.x.com/people/PP_MTS_Haack/blog/2009/11/11/override-variables-for-hosted-and-encrypted-buttons 上更改的变量的链接,当您查看变量时,您无法真正更改重要的变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 2010-10-25
      • 2011-02-22
      • 2021-09-24
      • 1970-01-01
      • 2021-07-21
      • 2014-10-29
      相关资源
      最近更新 更多