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
});