我正在尝试使用 PaymentIntents 获取客户付款,如果状态为成功
,则在使用 source_transaction 时创建到正确 strip 连接帐户的转账。
本例中的 payment.id 为 pi_1I7xsjL98Injb3kNT74IwMK8
,我收到错误 No such charge: pi_1I7xsjL98Injb3kNT74IwMK8
,这导致了 resource_missing
错误。这是有道理的,因为我传递了 paymentIntents Id,但是有没有办法在使用 paymentIntents 时使用 source_transaction
?
下面是我在代码中所做的示例!
return stripe.paymentIntents.create({
amount: data.amount,
currency: data.currency,
customer: stripeCustomerId,
payment_method: data.paymentMethodId,
off_session: false,
confirm: true,
confirmation_method: 'manual',
setup_future_usage: 'off_session',
// transfer_group: idempotencyKey
}, { idempotencyKey })
}).then(payment => {
if (payment.status == 'succeeded') {
let transferPromises = []
transferPromises.push(
stripe.transfers.create({
amount: Math.ceil(payment.amount_received * 0.9),
currency: 'usd',
destination: creator.data().stripeConnectId,
source_transaction: payment.id,
// transfer_group: idempotencyKey,
})
)
最佳答案
好的,找到答案了。 “当您获取 PaymentIntent 时,您会自动获取费用集合中的最新费用,因此您可以通过 pi.charges.data[0] 访问它。您还可以使用列表费用 API,然后获取所有相关费用到给定的 PaymentIntent”。
关于javascript - Stripe——一种使用带有 paymentIntents 的 source_transaction 进行转账的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65651076/