You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stripe Connect账户获取Payout报‘no such payout’异常的技术咨询

问题:获取Connect账户Payout对象失败的解决方法

我收到了某一Connect账户的payout.paid webhook通知,希望获取对应的payout对象并展开balance_transaction和destination属性。

我在控制器中编写了如下测试代码以获取该payout:

StripeConfiguration.ApiKey = _config["StripeSettings:SecretKey"];
var service = new PayoutService();
Payout payout = service.Get("po_1Mip8FQfrEXkPBakiZX3dTD8");

但收到异常提示:no such payout po_1Mip8FQfrEXkPBakiZX3dTD8。

疑问:当前方式是否仅查询平台账户的payout?若仅查询平台账户,该如何获取Connect账户的payout?


回答

  • 是的,当前代码仅查询平台自身账户的Payout记录。未指定目标Connect账户ID时,Stripe默认使用平台密钥操作平台账户的数据,自然找不到属于Connect账户的Payout。
  • 要获取Connect账户的Payout,需在调用Get方法时通过RequestOptions传入目标Connect账户的ID(格式为acct_xxx),同时确保平台密钥拥有操作该Connect账户的权限。

修改后的基础查询代码:

StripeConfiguration.ApiKey = _config["StripeSettings:SecretKey"];
var service = new PayoutService();
// 配置目标Connect账户ID
var requestOptions = new RequestOptions
{
    StripeAccount = "acct_XXXXXX" // 替换为实际的Connect账户ID
};
// 携带RequestOptions调用Get方法
Payout payout = service.Get("po_1Mip8FQfrEXkPBakiZX3dTD8", requestOptions);

如果需要展开balance_transaction和destination属性,可添加Expand参数:

StripeConfiguration.ApiKey = _config["StripeSettings:SecretKey"];
var service = new PayoutService();

var getOptions = new PayoutGetOptions
{
    Expand = new List<string> { "balance_transaction", "destination" }
};

var requestOptions = new RequestOptions
{
    StripeAccount = "acct_XXXXXX" // 替换为实际的Connect账户ID
};

Payout payout = service.Get("po_1Mip8FQfrEXkPBakiZX3dTD8", getOptions, requestOptions);

内容的提问来源于stack exchange,提问作者chuckd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:12:43