我遇到了一个非常令人沮丧的问题,Stripe的文档/客户服务一直在给我提供解决方法,而我的问题仍然没有解决。
我正在尝试以C#编程方式对用户的银行帐户进行付款。
金额累积在一个条带化帐户(我的帐户)中,但用户拥有我们的后端跟踪的“余额”。当用户决定要付款时,这就是我遇到的问题。
到目前为止,这是我已经实现的:
但是,当我创建付款并将目标添加到该付款时,就会出现问题。这样做的原因是,用户可能有多个与自己的外部帐户关联的银行帐户。
我有这样的东西:
为用户创建一个外部帐户
Account userCustomAccount = await account.CreateAsync(new AccountCreateOptions()
{
Type = "custom",
DefaultCurrency = "usd",
Country = "US",
Email = "user@fake.com",
LegalEntity = new AccountLegalEntityOptions() {...},
ExternalBankAccount = new AccountBankAccountOptions()
{
AccountHolderType = "individual",
AccountNumber = "123456789",
RoutingNumber = "987654321,
Currency = "usd",
Country = "US",
AccountHolderName = "Test User"
},
TosAcceptance = new AccountTosAcceptanceOptions(){...},
PayoutSchedule = new AccountPayoutScheduleOptions()
{
Interval = "manual"
},
PayoutStatementDescriptor = "TEST"
});
创建付款
var sourcePayout = new PayoutCreateOptions()
{
Amount = 100,
Currency = "usd",
Destination = bankAccountId,
SourceType = "bank_account",
StatementDescriptor = "PAYOUT"
};
其中bankAccountId
是我从like ba_xxxx
检索到的ID(userCustomAccount.ExternalAccounts
)
我在尝试支付时收到错误消息,提示“不存在这样的外部帐户”
任何想法如何解决这个问题?我不明白为什么这样做很难,为什么给我带来很多麻烦。
谢谢!
答案 0 :(得分:0)
由于您是从payout
帐户中为连接的帐户创建platform
,因此需要使用Stripe-Account
标头
您现在正在做的是使用关联帐户的银行ID为您自己的帐户创建付款。
在C#中,您需要使用requestOptions
var requestOptions = new RequestOptions();
requestOptions.StripeConnectAccountId = "CONNECTED ACCOUNT ID";
....
....
var payout = await PayoutService.CreateAsync(sourcePayout, requestOptions);
关键的事情是,只要您在connected account
上操作而不是自己创建帐户,例如创建费用,付款,在关联帐户上创建客户,就需要传递Stripe-Account
标头。
答案 1 :(得分:0)
如果您要从平台创建用于连接帐户外部帐户的付款,则可能无法直接完成。首先从平台余额中发送资金,以使用转账api连接帐户。 transfer api。
,然后在连接帐户上创建支出。通常,付款是自动的,并且在预设的最小天数(美国2天)之后,将使用关联帐户余额中的所有可用余额创建付款。