【发布时间】:2012-05-29 04:46:57
【问题描述】:
我正在构建一个软件交付平台。我有一个使用 PayPal 编写的完整的自定义 IPN 脚本,用 PHP 编写,但我遇到的问题是确认价格。
简单地说,将实际产品价格与来自 PayPal IPN 的字段进行比较的算法是什么?
我将产品价格标记为 1.00 美元,但来自英国的 IPN(使用美元货币)显示 mc_gross 为 1.20 美元,而 mc_fee 显示为 0.34(并且没有 mc_shipping 值)。请注意,这是一个简单的产品 - 没有订阅、运输、税收和其他复杂性。
因此,由于 1.00 美元与 1.20 美元不匹配,并且 ($1.00 - $0.34 = $0.86 !== $1.00),我真的不知道确认该价格的公式是什么。这意味着有人可以拿 PP 按钮代码,更改价格,然后购买。然后 IPN 会耸耸肩接受这个价格,除非我能找到验证这个价格的窍门。
请注意,我确实传递了一个自定义字段,该字段告诉我产品 ID 是什么以及购买的数量,例如 4pk 小部件。
我研究了使用 PHP 即时制作加密支付按钮需要什么,它需要一个具有完整根功能的专用托管计划,因为它涉及安全证书和其他几个因素。所以,这看起来不太可能在这里使用。
【问题讨论】:
-
您在购物车中发送了多少件商品?
-
1 项。它价值 1.00 美元。
-
你能尝试获取 $mc_gross_x = $_POST['mc_gross_1'];的值吗
-
在这种情况下,因为只有一个产品,所以没有_x。我拥有的 $_POST 值是 mc_gross、payment_gross、payment_fee 和 mc_fee 等。我将产品价格与 mc_gross 进行了比较,但他们没有排队。所以,这行不通。
标签: php paypal-ipn