慢速 PayPal NVP API

Slow Paypal NVP API

提问人:max17 提问时间:2/19/2017 更新时间:12/18/2019 访问量:417

问:

我正在尝试使用 NVP API 将我的应用程序连接到 PayPal 帐户。 一切正常,但我发现PayPal响应时间很慢,几乎无法使用。

如果我使用“TransactionSearch”方法查询最后 100 笔交易,PayPal 需要 15 到 20 秒才能给出响应。

响应值仅为 25kB,因此我认为这不是数据量的问题。

也许我做错了什么?

这是我的代码:

Dim param As New Specialized.NameValueCollection
param.Add("STARTDATE", "2017-01-1 0:0:0")

Dim response As String = getNVP("TransactionSearch", param)


 Private Function getNVP(ByVal method As String, Optional ByVal param As Specialized.NameValueCollection = Nothing) As String
    If param Is Nothing Then param = New Specialized.NameValueCollection
    Using client As New Net.WebClient
        param.Add("METHOD", method)
        param.Add("USER", APIuser)
        param.Add("PWD", APIpass)
        param.Add("SIGNATURE", APIsign)
        param.Add("VERSION", "204")
        Dim rbytes = client.UploadValues("https://api-3t.paypal.com/nvp", "POST", param)
        Return Uri.UnescapeDataString((New System.Text.UTF8Encoding).GetString(rbytes))
    End Using
End Function
vb.net PayPal

评论

1赞 Trevor 2/19/2017
在您的请求中,我没有看到该方法的时间范围,尽管它是可选的。你能看看这是否有帮助,因为我在你提供的代码中没有看到任何错误。EndDateTransactionSearch
2赞 max17 2/20/2017
现在测试添加结束日期,但不能解决我的问题。响应时间似乎与生成的事务计数成正比。如果我缩小日期跨度(以获得更少的结果),响应延迟会减少,但效率会比以前低(由于 http 开销)。对于 10 笔交易,我测量了 2,5 秒的延迟。有人可以确认PayPal的API这么慢吗?如果是这样,我会放弃。
1赞 Volomike 5/11/2017
是的,PayPal API 的读取速度是出了名的慢。写入运行速度非常快,但读取速度不高。我发誓他们喂仓鼠来运行该公司的服务器。当您简单地在他们的报告中加载网页时,您也可以看到这一点。如果我有理由打赌,我会说他们的数据库是高度规范化的,这使得快速写入和缓慢读取。
0赞 illmortem 7/15/2017
我也经历过这种情况,并且发现一次将交易限制在少数几个是“加快速度”的唯一方法。拆分分页响应的查询是否可行?即第 1 页是记录 1 - 5,第 2 页是 6 - 10,依此类推
0赞 Rahul Dighe 11/28/2017
您从哪个国家/地区触发请求?

答:

0赞 Preston PHX 12/18/2019 #1

TransactionSearch API不是支付处理API,它是一个辅助API,对PayPal的大部分工作都具有切线重要性,因此它从未特别优化过。如果您担心性能,更好的解决方案是将所有事务记录到您自己的数据库中。

如果您需要一次性历史记录,可以通过 www.paypal.com 中的“报告”选项卡从活动 CSV 中获取

如果您需要 PayPal 账户中所有活动的每日报告,大型实体可以使用 PayPal 的 SFTP 报告来获取转储: https://developer.paypal.com/docs/reports/