【问题标题】:Slow Paypal NVP API缓慢的 Paypal NVP API
【发布时间】:2017-07-08 16:53:16
【问题描述】:

我正在尝试使用 NVP API 将我的应用程序连接到贝宝帐户。 一切正常,但我发现 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

【问题讨论】:

  • 在您的请求中,我没有看到TransactionSearch 方法的EndDate 时间范围,尽管它是可选。您能否看看这是否有帮助,因为我在您提供的代码中没有发现任何问题。
  • 现已测试添加结束日期,但不能解决我的问题。似乎响应时间与生成的事务计数成正比。如果我缩小日期范围(以获得更少的结果),响应延迟会减少,但效率会比以前更低(由于 http 开销)。对于 10 笔交易,我测量了 2.5 秒的延迟。有人可以确认 PayPal 的 API 这么慢吗?如果是这样我就放弃了。
  • 是的,PayPal API 的读取速度非常慢。写入运行得非常快,但不是读取。我发誓他们喂仓鼠来运行那家公司的服务器。当您只需在他们的报告中加载网页时,您也可以看到这一点。如果我有理由打赌,我会说他们的数据库是高度标准化的,这使得写入速度快,读取速度慢。
  • 我也遇到过这种情况,并且发现将事务限制为一次只有几个是“加快速度”的唯一方法。将查询拆分为分页响应是否可行?即第 1 页是记录 1 - 5,第 2 页是 6 - 10,等等
  • 您从哪个国家/地区触发请求?

标签: vb.net paypal


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-11-24
    • 2014-11-11
    • 2010-10-17
    • 2014-08-03
    • 2013-04-17
    • 2011-12-31
    • 2015-03-08
    • 2014-08-03
    • 2013-09-16
    相关资源
    最近更新 更多