Stripe Connect "No such balance transaction: txn_" 在成功创建费用后按 Id 获取余额

Stripe Connect "No such balance transaction: txn_" on Get Balance by Id after Successful Charge Creation

所以在我们的工作流程中,我们需要做一个 stripe direct charge,然后获取交易,这样我们就可以看到 stripe 收取的确切费用。

充值成功:

            var chargeObj = new StripeChargeCreateOptions
            {
                ApplicationFee = appFee,
                Amount = stripeAmount, //Amount Value in Cents
                Currency = "usd",
                Description = request.Message,
                SourceTokenOrExistingSourceId = stripeToken.Id,
                Capture = true 

            };

            StripeCharge stripeCharge = _stripeService.InitiateCharge(chargeObj, organization.StripeAccount);
            response.ChargeId = stripeCharge.Id;
            response.TransferId = stripeCharge.BalanceTransactionId;

            if (!stripeCharge.Status.Equals("succeeded", StringComparison.CurrentCultureIgnoreCase))
                throw new StripeClientException("Failed To Initiate Charge", response);

            // Error HERE vv
            StripeBalanceTransaction stripeBalance = _stripeService.GetTransaction(stripeCharge.BalanceTransactionId); 

我们还确保设置了全局 SetApiKey,所以这不是问题所在:

            StripeConfiguration.SetApiKey(WebConfigurationManager.AppSettings["topsecret"]);

我们不断收到的错误是 "No such balance transaction: txn_xxxxxxxxxx"。对我来说没有意义,我刚刚在成功充电后从 stripe 取回了 txn,为什么它找不到它?

谢谢

看起来 BalanceService 现在也需要连接的帐户 ID。一旦我添加了它,它就起作用了。

要获取您自己账户的余额交易,您只需要提供您的交易ID。

但是,对于已连接的帐户,您还需要传入帐户 ID:

const stripe = require('stripe')('YOUR_KEY');
const balance = await stripe.balanceTransactions.retrieve({
  stripeAccount: CONNECTED_STRIPE_ACCOUNT_ID
});