我正在使用 PayPal NVP API 来搜索和下载交易。当STARTDATE 和ENDDATE 之间的时间间隔太大,即4 个月左右时,就会出现问题。然后我收到 100 笔交易/电话,但其中一些丢失了。如果间隔更小,即一个月,则会出现更多的事务,这些事务以前被跳过。
什么会导致这个?
我正在使用 PayPal NVP API 来搜索和下载交易。当STARTDATE 和ENDDATE 之间的时间间隔太大,即4 个月左右时,就会出现问题。然后我收到 100 笔交易/电话,但其中一些丢失了。如果间隔更小,即一个月,则会出现更多的事务,这些事务以前被跳过。
什么会导致这个?
发生这种情况是因为 PayPal 以相反的顺序发送数据,并且每次调用返回 100 笔交易的限制。
因此,如果您指定 1 年前的开始日期和今天的结束日期,您将获得从今天开始的 100 个最近的交易,而不是从您的开始日期开始的 100 个最旧的交易。
我知道避免此问题的唯一方法是确保您使用较小的日期范围并在下载大量数据时进行多次 API 调用。建立历史数据后,您只需在未下载的交易数量超过 100 之前进行常规 API 调用。
编辑:同样重要的是要注意 PayPal 在两个单独的行上返回实际交易及其对该交易的费用扣除。因此,尽管他们说一次调用最多返回 100 笔交易,但实际上只有 50 笔实际交易加上 50 笔费用“交易”。如果您请求的下载时间范围内有超过 50 笔实际交易,您几乎可以肯定最终会丢失交易。