我正在将Paypal集成从良好的旧NVP更新为新脚本。
使用旧的ExpressCheckout时,returnURL是从我的后端服务器通过Paypal移交到的URL,无论成功还是失败。这些URL可以带有随机参数,因此可以防止有人伪造paypal响应(因为我可以验证这些响应所携带的参数与在我的服务器创建订单时为paypal赋予的参数相同)。
贝宝(Paypal)当前的Java脚本仅调用onApprove()方法,由我自己决定是否将此批准告知服务器。
由于没有递归的returnURL,因此也没有办法防止回调被伪造。有人检查我的(客户端javascript)代码或观察来自浏览器的访问量,就可以手工调用并告诉我的服务器Paypal已成功授权。
我的推理错了吗? 还有其他方法可以防止这种情况吗?