Stripe - 在创建结帐会话和付款时/之后将元数据添加到连接/目标帐户中
Posted
技术标签:
【中文标题】Stripe - 在创建结帐会话和付款时/之后将元数据添加到连接/目标帐户中【英文标题】:Stripe - Add metadata into connected/destination account while/after creating checkout sessions and payment 【发布时间】:2021-11-24 23:37:20 【问题描述】:我正在做一个简单的任务。代码已经在工作了。步骤如下:
使用这个帖子:https://stripe.com/docs/checkout/integration-builder
从 UI 购票
在后端创建结帐会话并传递所需的数据。这些都运行良好。
const session = await this._stripe.checkout.sessions.create(
payment_method_types: ['card'],
customer_email: email,
line_items: [
price_data:
currency: ###,
unit_amount_decimal: ###,
product_data:
name: ###,
description: ###
,
quantity: 1
],
payment_intent_data:
on_behalf_of: ###,
transfer_data:
destination: ###,
amount: ###
,
metadata,
statement_descriptor: ###
,
mode: 'payment',
success_url: successUrl,
cancel_url: cancelUrl
);
代码运行良好,我能够完成付款,并通过元数据和其他字段反映到我的主帐户中。
问题:我希望将相同的元数据放入我正在转移资金的关联帐户中,以便我们可以共享相同的元数据。连接/目标帐户内的付款有一个元数据部分。这就是我要添加这些细节的地方。 还有什么我需要更新的,比如收费或转账之类的吗?我尝试更新转移,但它们都没有将元数据反映到目标帐户中。
我应该在哪里添加哪些参数以将元数据导入我的连接帐户? 任何帮助都会很棒。谢谢
【问题讨论】:
【参考方案1】:当资金从您的平台账户转移到关联账户时,会创建两个对象来表示转移:
-
您的平台帐户中存在的 Transfer 对象 (
tr_
)
已连接帐户中存在的支付对象 (py_
)
在 Stripe API 中 Payment 对象是 Charge 的一种,所以你可以use the Charges API to add metadata
to the Payment object。
注意:支付对象存在于关联账户上,而不是在您的平台账户上,因此您需要make an API call on behalf of the connected account 才能访问/修改支付对象。
您可以通过查看 the destination_payment
property on the Transfer 来获取 Payment 对象的 ID。
【讨论】:
以上是关于Stripe - 在创建结帐会话和付款时/之后将元数据添加到连接/目标帐户中的主要内容,如果未能解决你的问题,请参考以下文章
Stripe 取消 url 不会取消付款,因此 Stripe 不会发送取消付款意图