Stripe本机PHP库与使用普通cURL

时间:2014-03-04 00:12:28

标签: php curl stripe-payments

所以我即将对我们的一个项目实施stripe payments,并且我已经阅读了他们的API文档,其中包括:

  

Stripe API围绕REST进行组织。我们的API旨在拥有   可预测的,面向资源的URL以及使用HTTP响应代码   表示API错误。我们使用内置的HTTP功能,如HTTP   身份验证和HTTP动词,可以理解   现成的HTTP客户端,我们支持跨源资源   共享,以便您与我们的API安全地进行交互   客户端Web应用程序(虽然你应该记住你   绝不应在任何公共网站上公开您的秘密API密钥   客户端代码)。 JSON将在来自的所有回复中返回   API,包括错误(尽管如果你使用API​​绑定,我们会   将响应转换为适当的语言特定对象。)

他们为流行语言提供了一套很好的即用型API库,因此您可以将它们导入到您喜欢的语言中,然后开始使用他们的API,包括PHP,这就是我们在这个项目中使用的。

现在,他们的API很大,而且他们有很多对象。我们实际上并没有使用整套功能,所以我最初的想法是围绕简单的cURL代码环绕他们的HTTP RESTFul接口,所以我不必为了性能而加载他们的整个类。

现在,在我实际实现自己的cURL客户端之前,我们花了几分钟来查看他们的PHP库的源代码,他们似乎正是这样做的:环绕cURL函数,抛出错误,暴露客观化回应等。

然后问题是:即使我知道我将加载很多我不会使用的clases,或者我应该在他们的REST API周围使用cURL编写自己的包装器,是否值得使用他们的库? / p>

考虑到这个问题让我觉得我们正在使用其他服务(例如TangoCard),并且大多数人已经弃用了“本机”库,这些库倾向于使用您喜欢的任何HTTP客户端库并只使用REST API

谢谢!

2 个答案:

答案 0 :(得分:4)

在性能方面,加载类几乎不是问题,尤其是在使用APC时。我认为通过使用他们给你的东西节省的时间完全证明由于加载他们的类而导致的轻微性能损失。

但是,如果他们的代码编写得很好,则不应加载任何实际上没有使用的类。

此外,如果他们维护自己的库,随着时间的推移,将更容易接收更新。例如,我们过去常常推出使用curl的自己的Facebook API,并且由于其大量的更新和随时间推移而发生变化而不得不停止。

答案 1 :(得分:2)

我强烈建议使用官方图书馆 Stripe的官方代码当然经过精心开发并经过深入测试。特别是对于处理付款和处理客户资金等重要事项,我相信您应该想要最稳定的平台。

即使没有像APC这样的缓存系统,性能上的差异应该完全可以忽略不计,除非您的规模与亚马逊或其他大型在线商店相当,否则我几乎不会怀疑您应该将资源集中用于优化代码的这一部分。
此外,使用官方库可以轻松维护和更新代码,以响应Stripe方面的更改。