我在预订流程结束时(简化)有以下表格:
<form action="https://www.paypal.com/cgi-bin/webscr" name="paypalForm" method="post">
<input type="hidden" name="amount" value="<?=$price;?>">
<input type="hidden" name="business" value="business@email.co.uk">
<input type="hidden" name="notify_url" value="http://website.co.uk/ipn">
</form>
我只遗漏了地址名称等内容。因此,当他们通过Paypal付款时,我使用paypal IPN在数据库中将其标记为已付款。 然而 ..
我已经到了预订系统的末尾并查看了网页的来源,修改了商家电子邮件地址和金额。我还没有尝试完整的交易,但肯定有Paypal中的'notify_url'向我的服务器发送IPN消息并将该人标记为付费?这不是很可怕吗?当然,这并不是所有PayPal付款的工作方式,我必须遗漏一些东西。
我能想到的两件事可能会阻止这种情况:
notify_url
有什么价值,是否会覆盖paypal后端的设置?答案 0 :(得分:1)
PayPal无法进行任何检查,以了解使用的正确金额或电子邮件地址,或者IPN网址只能与特定的PayPal帐户一起使用。你可以选择在你已经提到的附加检查中写下你的选项。除了您已经说明的2个解决方法之外,第三个选项是使用PayPal的BMCreateButton API动态创建托管或加密按钮。然后买方只会看到加密的按钮代码,他们将无法查看您的HTML按钮代码。因此,他们无法修改任何变量,也无法查看当前设置的变量。