Laravel Cashier上的documentation非常模糊,错过了一些非常重要的细节,例如 $stripeToken
是什么以及它来自哪里?
因此,要创建新订阅,我们这样做:
$user->newSubscription('main', 'premium')->create($stripeToken);
这是用户第一次订阅,所以 $stripeToken
来自哪里?
在文档中它说:
接受Stripe信用卡/源令牌的create方法将开始订阅,并使用客户ID和其他相关结算信息更新您的数据库 .
这是否意味着我必须首先在Stripe中手动创建客户对象,然后将客户ID作为 $stripeToken
传递?它提到卡的详细信息,但我如何通过它们?什么是格式,我期待什么回报?
如果 $stripeToken
是Stripe中的客户ID,则Cashier假设我们已经在Stripe中创建了客户,而我们第一次没有这样做 .
任何人都可以对此有所了解吗?
2 回答
事实证明
stripeToken
通常是在提交时由stripe.js表单生成的 .由于我使用API驱动的结帐表单而不是标准的html提交表单,我需要使用Stripe API从提供的卡详细信息中创建令牌 .
然后我使用
$stripeToken->id
并传递它:您可以使用Stripe JS获取stripeToken,但如果您使用的是自定义表单,则可以使用Stripe checkout方法 .
使用两种方式在javascript中获取stripeToken,然后必须将此标记传递给REST API以进行进一步处理 .