我是否需要自己的服务器来使用Stripe API?

Isa*_*aac 7 java android stripe-payments server

我想通过Stripe在我的应用中实现付款.我正在阅读他们的文档,并且一直提到我将从Stripe检索令牌后使用我自己的服务器向某人收费.(条纹文件)

条纹文档

为什么我需要服务器来向我的用户收费为什么我不能只调用Stripe API方法来充电 - 我在服务器上做什么特别的事情?有没有办法在不创建自己的服务器的情况下充电?firebase能够充足吗?

谢谢

naf*_*afg 7

让我用他们的解释来扩大他们在说些什么:

借助我们的移动库,我们无需将卡数据直接发送到您的服务器,从而承担了PCI合规性的负担。相反,我们的库将卡数据直接发送到我们的服务器,在这里我们可以将它们转换为令牌。

这意味着通常会收到一个信用卡号,并希望将其存储起来以备后用(例如,客户将其输入到您的帐户页面中,以便可以每月收取费用),但这使您在法律上有义务遵守PCI标准,这可能令人头疼。Stripe减轻了您的负担-他们将存储信用卡,如果您以后要收费,您可以给他们提供代表该信用卡的令牌。

您的应用程序将收到令牌,然后可以将令牌发送到服务器上的端点,该端点可用于处理付款,建立定期账单或仅保存以备后用。

这将在另一部分中进行解释,https://stripe.com/docs/mobile/android#using-tokens

使用支付令牌(无论如何获得),需要使用您的秘密API密钥从您的服务器进行API调用。(出于安全性考虑,切勿在应用程序中嵌入API密钥。)

(drhr提到了这一点。)

由于您需要密钥来进行API调用,因此需要在您自己的服务器上完成,因此您确实需要一台服务器。

注意:我没有使用我记得的Stripe,我只是想分享我对文档的阅读。

PS:我认为您的第二个问题是单独的,但是用于托管Java Webapp的一些流行和便捷的选择是Heroku和AppEngine。对于类似的事情,您可以采用无服务器方法,例如使用AWS Lambda https://aws.amazon.com/lambda(Google在Alpha阶段具有等效功能https://cloud.google.com/functions/


drh*_*rhr 5

是.您需要服务器的原因主要是保护您的密钥,Stripe为您提供.您不希望在移动应用程序中嵌入密钥,该密钥为其提供零保护.有人可以简单地反汇编您的应用程序,即使它被混淆了,并试图找到无助地躺在周围的密钥.

链接:

Stripe网站上的这个Q&A清楚地回答了这个问题,但没有详细说明.

这篇博客文章解释了端到端的过程,这可能对你阅读上下文很有帮助.

替代方案:

  1. Webtask条带脚本(另请参阅主要的webtask页面).

  2. Accepton也可以工作.

...虽然,我建议你自己设置,这样你就可以保持尽可能多的控制.HTTP和REST的定义和细节超出了本问题的范围,但请放心,实现这项工作的代码量是微不足道的(尽管您最初的学习/努力).