Ruby on rails 使用ActiveMerchant和特定API之间的主要区别是什么?

Ruby on rails 使用ActiveMerchant和特定API之间的主要区别是什么?,ruby-on-rails,payment-gateway,payment,activemerchant,Ruby On Rails,Payment Gateway,Payment,Activemerchant,我是rails的新手,开始学习如何集成支付处理。我试图找到一些方向,集中学习支付处理器集成 据我所知,ActiveMerchant是Shopify的一个摘录,它允许您轻松集成许多主要的支付网关,如Stripe和Braintree。我还了解到,这些平台也有自己的特定服务API 如果将来有可能想更换支付处理器,或者您打算在不同的站点使用不同的处理器,那么使用activemerchant似乎有明显的好处 我的问题是,将ActiveMerchant用作特定API有哪些缺点。如果我使用ActiveMerc

我是rails的新手,开始学习如何集成支付处理。我试图找到一些方向,集中学习支付处理器集成

据我所知,ActiveMerchant是Shopify的一个摘录,它允许您轻松集成许多主要的支付网关,如Stripe和Braintree。我还了解到,这些平台也有自己的特定服务API

如果将来有可能想更换支付处理器,或者您打算在不同的站点使用不同的处理器,那么使用activemerchant似乎有明显的好处

我的问题是,将ActiveMerchant用作特定API有哪些缺点。如果我使用ActiveMerchant,我是否需要承担更多的安全责任?它是否更复杂

我提出这个问题的原因是,当我可以学习ActiveMerchant并在所有提供商中使用它时,我不想将我的时间和精力集中在学习特定的API上


谢谢:)

我只使用过一次ActiveMerchant(用于电子商务系统),因为它与我们所需的各个支付网关集成在一起

--

使用案例

“本机”API的问题在于,它们习惯于在最不经意的时候进行更改,这使得最初实现它们的所有定制(残酷)工作在突然发生故障时很难调试

我发现ActiveMerchant是Rails开发和支付提供商之间的一个很好的“缓冲区”。如果Shopify通过为用户支付支付来获得报酬,那么他们将提供一个拥有最新体验的gem肯定是件好事

虽然您必须自己(仍然)管理大部分集成,但ActiveMerchent在接受付款方面无疑是一个非常可靠的工具

--

缺点

根据我的经验,主要的缺点是ActiveMerchant可能不支持特定API的一些更“利基”的功能(例如,货币转换或类似功能)。尽管Shopify在所有客户中都非常开放,可以根据[pull]请求提供功能,但您仍然必须遵守他们的规范

另外要考虑的是,你可能不得不“弯曲”API来适应你的应用程序。在我们公司,我们有很多不同的方式来创造我们所需要的财富,因此,我们不想依赖于我们的供应商“接受付款”

我们喜欢创建集成体验,这意味着给人们机会购买高级帐户或应用程序内升级等。当你进入这个世界时(严格来说,我们不是;我们只是有各种不同的方式吸引买家),你必须通过使用非常定制的实现来让API工作

--

覆盖范围

从开发人员的角度来看,ActiveMerchant提供的主要好处是,您可以“覆盖”这么多不同的支付提供商

回到我关于API更改的评论,这意味着如果你将你的应用程序与ActiveMerchant接口正确集成,你应该能够与许多不同的支付提供商合作

这个列表意味着如果你想把你的支付提供商从Paypal改为Stripe或者其他什么,你可以通过不大量编辑核心代码来实现

--

资源

最后,因为ActiveMerchant是一个基本标准,所以和使用各种API直接实现相比,您将获得更多的支持。这反映在:


感谢您的回复,使用activerecord和本机API在安全性方面有什么区别吗?由于我在支付处理方面不是很有经验,我想在我刚开始使用时限制安全漏洞的可能性Nope-ActiveMerchant实际上只是充当API的“缓冲区”——在这两种情况下,您都必须提供密钥等,这些密钥将传递给API