我正在创建一个应用程序,用户可以在其中注册,市场管理员可以向他们发送报价,用户可以接受这些报价并支付费用。我的平台作为支付的中间人,所有的支付都是使用条纹完成的。我使用stripe connect
来做到这一点,市场管理员通过我的平台注册一个条带连接帐户,在那里他们连接他们的银行详细信息等,以获得支付。
下面是我的代码,用于实际处理对connect帐户的付款:
const session = await stripe.checkout.sessions.create({
mode: 'payment',
line_items: [
{
price_data: {
unit_amount: doc.milestones[0].price * 100,
currency: 'cad',
product_data: {
name: 'Milestone ' + doc.milestones[0].milestone + ': ' + doc.milestones[0].milestone_name,
description: doc.milestones[0].milestone_desc
},
},
quantity: 1,
},
],
payment_intent_data: {
application_fee_amount: (doc.milestones[0].price * 100) * 0.05,
transfer_data: {
destination: doc.connect_account_id
},
},
customer_email: doc.client,
success_url: 'http://localhost:3001/success',
cancel_url: 'http://localhost:3001/cancel',
});
req.session.payment_session_id = session.id
req.session.project_id = doc.project_id
res.redirect(session.url)
我现在要做的实际上是增加一个缓冲/延迟期的付款被存入市场管理员的帐户。基本上,我想确保市场管理员实际上完成了他们被要求做的订单,并且不想在完成之前转移他们,因为这会给予他们一个不做这项工作的理由。只是想知道这是否可能/如何做到这一点。我查看了delay_days
属性,但它不起作用。谢谢
1条答案
按热度按时间li9yvcax1#
您可以查看doing the charge and transfer separately。一旦订单完成,您只能将execute the transfer的资金存入连接帐户。