public StripeBalanceServiceTest() { this.service = new StripeBalanceService(); this.listOptions = new StripeBalanceTransactionListOptions() { Limit = 1, }; }
public static List <Transaction> GetDonorBoxTransactions(string apiKey, DateTime startDate, DateTime endDate) { StripeConfiguration.SetApiKey(apiKey); var transactions = new List <Transaction>(); var balanceClient = new StripeBalanceService(); var parameters = new StripeBalanceTransactionListOptions(); var chargeClient = new StripeChargeService(); var refundClient = new StripeRefundService(); parameters.Created = new StripeDateFilter { GreaterThanOrEqual = startDate, LessThanOrEqual = endDate }; parameters.Limit = 100; foreach (var balanceTransaction in balanceClient.List(parameters).Where(t => t.Type != "payout")) { StripeCharge charge = null; if (balanceTransaction.Type == "charge" || balanceTransaction.Type == "payment") { charge = chargeClient.Get(balanceTransaction.SourceId); } else if (balanceTransaction.Type == "refund") { var chargeId = refundClient.Get(balanceTransaction.SourceId).ChargeId; charge = chargeClient.Get(chargeId); } if (charge?.Status == "succeeded") { transactions.Add(StripeMapping.MapToTransaction(balanceTransaction, charge)); } } return(transactions); }