我正在使用react native和Stripe api开发应用程序,以便处理有关用户及其信用卡的所有敏感信息。
我试图管理应用程序内的数字钱包:一个用户可以添加/删除或查看自己的卡列表(直接在移动应用程序内)。关于这一点我很困惑。现在我使用我的服务器端作为我的应用程序和Stripe之间的中间件。
例如添加信用卡我可以使用表单插入卡信息,然后我创建令牌,最后我将该令牌发送到我的服务器端({{ 1}})端点,使用POST /users/cards body:{tokenId}
,我可以将卡保存到客户对象中(在我的DB中,我只存储客户ID)。
对于删除卡,我使用服务器的此端点:stripe.createSource({ customerId, tokenId })
,此端点使用DELETE users/user_id/cards/card_id
从客户处删除指定的卡。
获取卡片列表:stripe.deleteCard({ customerId, cardId })
,端点使用GET users/cards/
。
我的问题是:我可以这样做吗?有更好的解决方案吗?这是PCI合规吗?我可以将我的服务器用作客户端和Stripe之间的中间人吗?
第二点很简单:在结帐阶段(在客户端),我如何让用户选择哪些信用卡用于付款并使用该信用卡创建令牌?我可以在POST请求中将cardId发送到我的服务器吗?它安全吗?