我正在创建一个旨在处理项目付款的WebApi项目。 实际上,我的方法就像:
我想知道的是......如果用户直接创建一条消息来调用PaymentApprovalMethod会怎样?
假设: - 调用CreatePaymentMethod,用户使用Fiddler嗅探重定向的事务ID - 创建和批量调用PaymentApprovalMethod,如。
我看到两种可能的方案来处理这种情况:
第二个似乎更安全但也更多"时间/资源"有问题..
我是否遗漏了什么?我还能做些什么来避免这个问题吗?
答案 0 :(得分:1)
看看Instant Payment Notification (IPN)。 PayPal的系统会将交易数据发布到您为帐户中的所有交易设置的监听器脚本,无论是付款,退款,争议,清算付款(来自挂起)等等。您可以使用它来完全自动化许多后付款程序。
您的部分IPN监听器将包含一个回拨给PayPal服务器的电话,以验证数据是否实际来自他们。然后,您可以单独记录IPN,并且只处理经过验证的IPN,这意味着您知道某人并不是直接自己发布IPN。
有些人确实更进了一步,只接受来自PayPal's IP addresses的脚本的流量,然而,他们确实改变了他们的地址,我认为这只是麻烦。验证对我来说一直都足够了。
IPN绝对是我推荐给你的。