【发布时间】:2021-05-24 03:07:46
【问题描述】:
我已经关注了 Stripe 的documentation to make transfers。我收到一条错误消息,告诉我我的余额中没有足够的资金。就我而言,我不想从我的帐户中转帐,而是从进行购买的用户的卡中转帐。我指定我需要进行转帐,因为我可以连接多个帐户以进行一次付款。
这是我遵循的步骤:
- 在客户端(Flutter),我要求用户输入他的银行卡信息。然后,我生成一个 PaymentMethod 对象,并将其发送到我的服务器 (Node.js)。
- (服务器端),我执行
paymentIntent.create方法
const paymentIntent = await stripe.paymentIntents.create({
amount: amount,
currency: "eur",
payment_method: paym,// id get from client side
payment_method_types: ["card"],
transfer_group: "{ORDER1}",
});
- (服务器端),创建传输
const transfer1 = await stripe.transfers.create({
amount: amount / 2,
currency: "eur",
destination: "acct_###########",
transfer_group: "{ORDER1}",
source_transaction: ?,
});
我知道我必须填写 source_transaction 字段才能在 PaymentIntent 和 Transfer 之间建立链接。我可以使用 charge 字段在 PaymentIntent 对象中检索此信息,但它是空的。这意味着我必须先在客户端验证付款,然后才能进行转账。
仅当我在客户端验证它时,我在执行时收到以下错误No such payment_intent:
StripePayment.confirmPaymentIntent(PaymentIntent(
paymentMethodId: result.data['paymentIntent']['payment_method'],
clientSecret: result.data['paymentIntent']['client_secret']))
我做错了什么或遗漏了什么?你有一个简单实现的例子吗? 感谢您的宝贵时间。
【问题讨论】:
-
您需要指定来源。
-
@Wils 你能解释一下吗?
标签: node.js flutter stripe-payments