PayPal文档(REST、Classic:SOAP和NVP)选择什么?

PayPal文档(REST、Classic:SOAP和NVP)选择什么?,soap,paypal,paypal-nvp,paypal-rest-sdk,Soap,Paypal,Paypal Nvp,Paypal Rest Sdk,我需要开发一个使用贝宝API支付解决方案。实际上,我开始了文档阶段(在) 我发现restapi可以理解,我仍然不知道如何用SpringMVC实现它们,所以我只是用cURL来测试它们。(有什么帮助吗?) 另一方面,经典的API令人困惑。(例如,我们可以使用自适应帐户做什么,快速结账和自适应支付之间有什么区别,等等) 另一件事是,我们需要在创建隐藏表单(html)或使用API之间进行选择。(我需要解释) 文档很长,我真的很困惑,我不知道该选择什么(显然,REST API更适合简单的支付,但我真的想知

我需要开发一个使用贝宝API支付解决方案。实际上,我开始了文档阶段(在)

我发现restapi可以理解,我仍然不知道如何用SpringMVC实现它们,所以我只是用cURL来测试它们。(有什么帮助吗?)

另一方面,经典的API令人困惑。(例如,我们可以使用自适应帐户做什么,快速结账和自适应支付之间有什么区别,等等)

另一件事是,我们需要在创建隐藏表单(html)或使用API之间进行选择。(我需要解释)

文档很长,我真的很困惑,我不知道该选择什么(显然,REST API更适合简单的支付,但我真的想知道更多关于SOAP&NVP

我是新手,谁能成为一名志愿者并在这方面帮助我


谢谢大家!

经历了几次贝宝整合之舞(虽然是几年前的事了),让我总结一下我的想法(记住,事情可能已经发生了轻微的变化)

PayPal大量使用API/集成方法的原因在于,他们希望能够从大量的地方向您支付支持费用:

  • 如果你只有一个博客,那么静态HTML托管、现成的电子商务网站或其他一些“原始”web技术几乎是你唯一的选择。我怀疑这是PayPal最初使用的机制,虽然他们必须永远支持它,但你今天不想在SpringMVC这样的现代web框架中使用这种方法

  • 这是另一个长期存在的集成方案,在您的客户机只能将参数有效地缝合到URL的时候,它是合适的。在RESTJSONAPI可用的今天,没有什么理由使用这个API——大多数人发现JSON比URL编码的参数更容易阅读

  • 我猜想,按时间顺序介绍的下一个例子反映了XML将统治世界的时代。在一些(非常严格和/或传统)的地方,仍然如此。同样,现在,如果你有选择的话,你可能不会走这条路——使用Java通常需要与SOAP框架和大量机器生成的
    .Java
    文件紧密集成

  • 在Java land上使用最现代(IMHO)最好,也是我推荐的选项。看起来这也是PayPal希望您使用的,所以我将在接下来的回答中讨论这一点

作为Java开发人员,当您选择RESTAPI时,您可以进一步选择使用或滚动您自己的集成方案。考虑使用SDK如果:

  • 您可以预见您的PayPal集成将变得非常庞大和/或使用高级API功能

  • 您没有任何其他HTTP集成点,因此还没有从代码中调用HTTP方法的基础结构(例如,或Spring3内置的功能)

  • 您没有(或不想)可用的JSON解析器

由于您已经通过cURL使用了API,并且了解了调用及其顺序,因此您可能对此还没有决定。如果您没有太大的时间压力,我建议您使用(并学习)ApacheHttpClient和JSON库一起走自己的路——它们是您武库中非常有价值的工具,您几乎肯定会在未来的集成中再次使用它们


另一个开发技巧适用于RESTAPI选项——如果您使用“存根服务器”,例如模拟PayPal的连接结束,它将记录收到的每个请求的详细信息,并做出相应的响应。这对于调试正在进行的“在线”调试和/或重复测试来说是天赐良机。

RESTAPI是相当新的,没有经典的功能那么丰富。我仍然推荐经典,因为它没有任何错误或过时。PayPal希望和Facebook这样的酷孩子一起运行,所以他们制作了一个oauth API(我想这对移动设备来说更容易,但你们也可以很容易地实现另一个API)

经典的NVP(名称-值对)很容易理解,也是我使用过的最好的文档之一。您的调用都是发布到API端点的查询字符串

METHOD=DoDirectPayment&AMT=1.00&EXPDATE=012015
除非你睡在印有WSDL的毯子下,否则我不会走SOAP路线。肥皂只是一种理解和使用的痛苦

Classic支持几个REST仍然不支持的调用(MassPay、Buttons API、大多数自适应调用等)。我预计PayPal最终会迎头赶上,但就目前而言,对于某些功能而言,经典是唯一的选择

至于外面所有的电话

  • 直接支付-直接处理信用卡。需要订阅Payments Pro才能使用,但它是一个功能齐全的卡处理系统
  • -免费使用。允许您接受PayPal帐户作为支付形式。基本上,你调用API,获取令牌,重定向用户,他们登录,PayPal重定向到你,然后你使用令牌获得报酬
  • -在这里,您可以做一些有趣的事情来创建创造性的支付系统。假设你有第三方为你经营信用卡,但你想从他们的销售额中分一杯羹。连锁支付可以做到这一点
HTML支付标准解决方案与API的最大区别在于,使用API时必须符合PCI。大多数情况下,这意味着您不需要记录敏感数据(如CVV2),在您的站点上具有安全性,并且您拥有SSL证书,但将来可能会有其他要求。好处是你可以完全控制整个过程。付款标准使您无法控制bu