我正在开发一个ReactJS应用程序,用户将在该应用程序中注册。我们有自己的积分系统,用户将使用这些积分购买产品。对于积分,要么有人会把它们作为礼物送给他们,要么他们可以(主要(使用信用卡购买积分。首先,我们想将信用卡存储在数据库中,然后我们意识到PCI合规性和其他危险或将CC信息保存在数据库中。所以现在我们使用Stripe。
我正在使用Stripe的ReactJS库。我知道可以选择将用户注册为客户,我做到了。但我对如何为这些客户添加和保存信用卡感到困惑。这样,无论将来用户何时想要使用该卡,他们都可以通过选择支付方式来使用。Stripe提供了以下对象:Card对象、Payment Method对象、Setup Intent、Sources和Payment Intent。它们中的每一个请求相似的数据并返回相似的数据。
我的主要目标是获取信用卡信息,将其存储在条纹中,作为回报,条纹会给我一些ID(就像它给我客户ID以获取客户数据一样(。我将把那个ID存储在我的数据库中。将来我会将该ID传递给stripe,这样stripe就可以根据该ID向客户收费。
注:
- 我已经使用react在前端工作了,我使用
stripe.createPaymentMethod()
函数添加了一个返回类似pm_1Haffm2eZvKYxxx
的ID的支付方法。所以我需要一个正确对象的名称 - 应用程序有时会在用户的账户中给用户退款或提现。所以我会把钱存到同一张卡上。(这可能吗?(
使用createPaymentMethod
的方法可能就足够了,然后应该将付款方法附加到Customer。
如果您想提前处理SCA并对持卡人进行身份验证,您应该使用Setup Intents将卡的详细信息保存在Elements中,或者在设置模式下通过Checkout推送您的客户。如果需要,这两项都将帮助您处理3D安全操作。
使用这些方法中的任何一种,您最终都会得到一个客户和一个或多个附加的付款方法。然后,您可以通过在创建付款意向时提供customer
和payment_method
来稍后付款。