我编写了一个代表Paypal订阅注册的HTML表单,使用此处列出的变量:
HTML Variables for PayPal Payments Standard
我也成功地为注册订阅设置了IPN脚本。
现在,我认为任何人都可以在表单中摆弄'a3','p3'和't3'变量,并将订阅金额改为他们的优势。 我意识到我可以验证IPN脚本支付的金额。 但是,如果付款无效/欺诈,我不知道如何取消订阅。
有人可以帮我解决如何在IPN中做到这一点吗?其他解决方案也是受欢迎的。
注意:我正在使用的Paypal订阅按钮托管在Paypal上,并加密(_s-xclick
)。我想我可以直接在加密按钮中集成金额,但我的客户想要一个与PayPal提供的内置订阅金额不同的用户界面。
答案 0 :(得分:1)
您可以创建名为"验证"的隐藏字段。或" v"在加密敏感信息的表单内,并在提交后验证表单服务器端。您可以添加有用信息以及' a3'' p3'和' t3'变量,如表格中包含的数据的时间或到期时间。这样你就可以轻松避免伪造。 您可以使用具有良好腌制和密码的对称算法。
另一种方法是使用MD5(salted或其他)来散列所需信息并在服务器端验证它。