Stripe Connect "Нет такой транзакции сальдо: txn_" в Get Balance by Id после успешного создания платежа

Таким образом, в нашем рабочем процессе нам нужно выполнить прямую прямую оплату, а затем получить транзакцию, чтобы мы могли увидеть точную комиссию, взимаемую по полосе.

Заряд возвращается как успешный:

            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"]);

Мы продолжаем получать ошибку "Нет такой транзакции баланса: txn_xxxxxxxxxx". Это не имеет смысла для меня, я только что вернул этот txn из полосы на успешной зарядке, почему он не сможет его найти?

Спасибо

2 ответа

Решение

Похоже, что BalanceService теперь тоже нужен идентификатор подключенной учетной записи. Как только я добавил это, это работало.

Чтобы получить транзакцию баланса для своей учетной записи, вам нужно только указать идентификатор транзакции.

Однако для подключенной учетной записи вам также необходимо передать идентификатор учетной записи:

      const stripe = require('stripe')('YOUR_KEY');
const balance = await stripe.balanceTransactions.retrieve({
  stripeAccount: CONNECTED_STRIPE_ACCOUNT_ID
});
Другие вопросы по тегам