paypal 的ipn机制的疑问
现已已经完成了购物车的工作和支付的工作了。
ipn接受数据的接口也做通了。如果流程正常完成,当订单的交易每次交易状态的更改后,网站都会受到来自paypal的ipn请求,收到请求后更新订单数据。一切没有问题。
但是必须要能考虑好可能发生的异常:
譬如:本站的ipn的地址为: http://abc.vicp.net:81/paypal_ipn.asp
1)当自身网站由于临时技术故障(如IIS重启,回收站资源在回收的过程中),那么网站无法记录到这个ipn请求。无法更新订单的信息。
2)其他网络故障的时候(如受到ipn请求时,回发到paypal验证的时候遇到网络故障,xmlhttp请求返回非200状态)。
第一个问题,google的时候,有说如果paypal发送ipn失败的时候,会在4天内连续尝试重发。但是用paypal的sandbox测试的时候,一直没能收到重发的ipn请求。是否正式使用paypal的时候,paypal的服务器会正常尝试发送,仅仅是sandbox自身的问题而导致不重发呢?
第二个问题,我想收到ipn数据的时候,记录到数据库中,以便网站后台可以自动尝试读取这些数据然后post到paypal进行验证。请问这种做法是否可以呢?