Stripe payments 条带-使用PaymentMethod而不是Source(令牌)与客户创建订阅
我正在集成到我们的工作流中,但是当使用付款方法创建订阅时,而不是使用来源创建订阅时,我收到错误Stripe payments 条带-使用PaymentMethod而不是Source(令牌)与客户创建订阅,stripe-payments,Stripe Payments,我正在集成到我们的工作流中,但是当使用付款方法创建订阅时,而不是使用来源创建订阅时,我收到错误此客户没有附加的付款来源 如果我在浏览器中调用createToken()并将其附加到source字段中的客户,它就会工作 我们集成了一次性支付,使用新的带有SCA的文档,这些文档使用createPaymentMethod()而不是createToken(),因此我们的客户使用paymentMethod而不是源代码保存,如下所述: curlhttps://api.stripe.com/v1/custom
此客户没有附加的付款来源
如果我在浏览器中调用createToken()
并将其附加到source
字段中的客户,它就会工作
我们集成了一次性支付,使用新的带有SCA的文档,这些文档使用createPaymentMethod()
而不是createToken()
,因此我们的客户使用paymentMethod
而不是源代码
保存,如下所述:
curlhttps://api.stripe.com/v1/customers \
-密钥测试密钥令牌\
-d付款方法=“{{payment\u method\u ID}”
此外,在中,它表示将createToken()
替换为createPaymentMethod()
在这方面,我看到了以下情况:
创建订阅并注销客户的会话的步骤
首次付款时,您需要:
1) 使用CreatePaymentMethod
收集付款信息
2) 使用您创建的PaymentMethod
的ID创建客户
3) 创建订阅
4) 对于身份验证失败,使用handleCardSetup
设置错误处理;对于授权失败,使用handleCardPayment
设置错误处理
我遵循这些步骤。我不会创建SetupIntent
(就像我不会在一次性付款中创建它一样,在这些情况下它会工作),并且在尝试创建订阅时会收到我之前说过的错误
是否可以使用paymentMethod
而不是source
与客户创建订阅?
(我们使用使用paymentMethod
创建的客户重复使用卡进行一次性付款,因此能够重复使用同一客户/卡进行订阅非常重要,而不需要用户在条带元素中输入数据或任何类似的内容,因为这会中断我们重复使用卡的流程)我能够通过将付款方式包括在现场来解决这个问题
该字段描述如下:
订阅的默认付款方式的ID。它一定属于我
发送给与订阅关联的客户。如果未设置,则显示发票
将使用客户发票中的默认付款方式
设置
因此,我假设它将使用未定义时与客户关联的付款方式。这似乎没有发生,很难,所以我需要明确地传递它(这是一个Stripe错误吗?或者使用paymentMethod
创建客户不会使其成为客户发票设置中的默认付款方式?我将联系Stripe以确保)
更新(2019-09-23)
我联系Stripe询问这是否是一个bug,他们回答:
[…]尽管如此,这对我们来说并不是一个错误,而是一个错误
预期的行为
如果您希望使用要添加到
默认情况下,用于订阅或发票的客户对象
创建时不指定默认的付款方式
订阅,然后您需要附加付款方式和
指定发票\设置。默认\付款\方法参数
更新客户。这些信息可以在我们的API中找到
此处参考:
更新时要使用的参数可以在customer上找到
对象本身,此处:
这也可以在创建客户时指定,可以看到
在这里:
指定此参数将指示正在添加的卡
将是订阅和发票的默认值,以便
默认的支付方法不需要在
订阅,或发票,创建