3

因此,在我们的工作流程中,我们需要进行条带直接收费,然后获取交易,以便我们可以看到条带收取的确切费用。

充电成功返回:

            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”。对我来说没有意义,我刚从条带上成功充电,它为什么找不到它?

谢谢

4

2 回答 2

2

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

于 2017-04-24T20:21:38.447 回答
0

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

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

const stripe = require('stripe')('YOUR_KEY');
const balance = await stripe.balanceTransactions.retrieve({
  stripeAccount: CONNECTED_STRIPE_ACCOUNT_ID
});
于 2022-02-03T13:58:53.803 回答