【发布时间】:2023-04-10 02:06:01
【问题描述】:
我正在使用 paypal 网站标准并通过 item_number 字段传递在我的网站上生成的订单 ID。我想知道,paypal 怎么知道表单中的内容没有被用户更改?例如,有人可以将 10 美元的金额更改为 5 美元,而贝宝无法得知。我以前用其他支付处理器这样做过,他们让我向他们发送金额的 md5 哈希值和一些其他数据 + 密钥,但我不确定 paypal 是否有这个?
【问题讨论】:
标签: paypal
我正在使用 paypal 网站标准并通过 item_number 字段传递在我的网站上生成的订单 ID。我想知道,paypal 怎么知道表单中的内容没有被用户更改?例如,有人可以将 10 美元的金额更改为 5 美元,而贝宝无法得知。我以前用其他支付处理器这样做过,他们让我向他们发送金额的 md5 哈希值和一些其他数据 + 密钥,但我不确定 paypal 是否有这个?
【问题讨论】:
标签: paypal
基于this article,我相信这取决于您是否使用“支付数据传输”。如果您只是使用按钮,则需要在发货前手动验证付款金额。如果您使用 PDT,您应该能够验证 PayPal 响应中发回的 payment_gross 金额。
【讨论】:
您的权利 - 一般来说,您不能阻止他人更改您的数据。如果您必须使用 PayPal(是的,我知道,没有月费),据我所知,您有三个选择:
另外需要注意的是销售税的计算。 PayPal 的方法过于简单,无法满足我们的需求,这迫使我控制了结帐流程。
看到这个link。
【讨论】:
你应该尝试使用 ipn 来实现它,如果用户没有按下“去商店”按钮,pdt 很容易不会将变量从贝宝传递到你的网站。正如其他人回答的那样,托管您的按钮会以牺牲灵活性为代价使其安全。这是一个关于可以在托管按钮https://www.x.com/people/PP_MTS_Haack/blog/2009/11/11/override-variables-for-hosted-and-encrypted-buttons 上更改的变量的链接,当您查看变量时,您无法真正更改重要的变量。
【讨论】: