伙计,我已经研究了好几天了,但找不到一个好的解决方案。我想使用我的帐户(通过公钥和私钥)来促进从一个帐户到另一个帐户的付款(没有任何东西会进入我的帐户)。在前端,我有:
checkout(amount) {
const strikeCheckout = (<any>window).StripeCheckout.configure({
key: environment.PRODUCTION==='true'?stripeLiveClientId:stripeTestClientId,
locale: 'auto',
token: (stripeToken: any) => {
if(stripeToken){
console.log(stripeToken)
this.createCharge(stripeToken,amount)
}
}
});
strikeCheckout.open({
name: 'Camel Stripe',
description: 'Stripe Checkout',
amount: amount
});
}
只是一个小片段,但本质上这只是捕获信用卡和电子邮件并确保它是有效的信用卡,然后制作条纹令牌。然后我将此令牌传递给节点后端并执行:
stripe.paymentIntents.create({
amount: priceInPence,
currency: 'usd',
source: stripeTokenId,
capture: false, // note that capture: false
}).then(charge => {
return res.json({ success: true, message: 'Success', result: charge })
}).catch(error => {
res.status(400).json({ success: false, status: 400, message: error });
});
//})
};
无论我如何构建它,最终总是会收到付款到我的帐户,即具有公钥/私钥的帐户。有谁知道我可以使用此令牌的方法,因为它具有必要的信息,并将钱发送到另一个帐户?
答案 0 :(得分:0)
除非您使用 Connect,否则您不能接受付款并将资金转移到一个完全不同的 Stripe 帐户中。
答案 1 :(得分:0)
为了支持 Paul 的评论,在对 Stripe Connect 进行了大量研究之后,我想分享我的发现。 请注意,这是特定于我的用例并且正在使用 angular/express。
Connect 提供 multi-party 付款,这意味着您可以从 1 个用户接收资金,然后将其转入另一个用户帐户。您将需要一个条纹 connect 帐户。之后,您连接一个帐户,即 create 帐户。他们提供 3 个帐户 types 所有这些帐户类型都需要
此时您已准备好开始路由付款。我在前端做了 angular,这里是一个 example 基本上这只是创建一个 stripeToken,这是卡数据有效的验证。您需要将其传递给后端才能使用它,这不会产生任何费用。
在后端,我使用express,你使用charge api 你传递stripeToken作为源属性。一个重要的步骤是添加您在连接的帐户仪表板中看到的条带帐户 ID。它应该类似于:
stripe.charges.create({
amount: priceInPence,
currency: 'usd',
source: stripeTokenId,
capture: false, // note that capture: false
},{
stripeAccount:'{{acctId}}'
})
这应该足以让您的付款路由到必要的帐户,同时利用简单的 UI 结帐。
关于费用 API 需要注意的一点是,这是一个较旧的 API,功能较少。对于我的用例(美国加利福尼亚州仅使用卡支付)就足够了。如果您有更复杂的用例,或者您的应用可能供许多用户大量使用,您应该查看 payment intents。