Auto-pagination 

Our libraries support auto-pagination. This feature allows you to easily iterate through large lists of resources without having to manually perform the requests to fetch subsequent pages.

To use the auto-pagination feature in .NET, simply callListAutoPaging with the same parameters that you would use in a regular List call and iterate over the results.

StripeConfiguration.ApiKey = "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2";
var service = new CustomerService();
var options = new CustomerListOptions {
Limit = 3
};
// Synchronously paginate
foreach (var customer in service.ListAutoPaging(options)) {
// Do something with customer
}
// Asynchronously paginate
await foreach (var customer in service.ListAutoPagingAsync(options)) {
// Do something with customer
}

Request IDs 

Each API request has an associated request identifier. You can find this value in the response headers, under Request-Id. You can also find request identifiers in the URLs of individual request logs in your Dashboard.

To expedite the resolution process, provide the request identifier when you contact us about a specific request.

StripeConfiguration.ApiKey = "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2";
Customer customer = new CustomerService().Create(null);
Console.WriteLine(customer.RequestId);

Versioning 

Each major release, such as Acacia, includes changes that aren’t backward-compatible with previous releases. Upgrading to a new major release can require updates to existing code. Each monthly release includes only backward-compatible changes, and uses the same name as the last major release. You can safely upgrade to a new monthly release without breaking any existing code. The current version is 2025-08-27.basil. For information on all API versions, view our API changelog.

Because stripe-dotnet is strongly typed, the requests you send align with the API version current at your stripe-dotnet version’s release time. If you want to use a newer or older API version, consider upgrading or downgrading your stripe-dotnet version. Use the stripe-dotnet changelog to find which versions include the API version you need.

Webhook events use the API version that’s set during your webhook’s endpoint creation. Otherwise, they use your Stripe account’s default API version (controlled in Workbench). Create a webhook endpoint with an API version equal to the version that’s pinned by your version of stripe-dotnet, which you can determine through the StripeConfiguration.ApiVersion property.

You can upgrade your API version in Workbench. As a precaution, use API versioning to test a new API version before committing to an upgrade.

StripeConfiguration.ApiKey = "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2";
// Since C# is strongly typed,
// the version is fixed in the library.

Balance 

This is an object representing your Stripe balance. You can retrieve it to see the balance currently on your Stripe account.

The top-level available and pending comprise your “payments balance.”

Related guide: Balances and settlement time, Understanding Connect account balances

Balance Transactions 

Balance transactions represent funds moving through your Stripe account. Stripe creates them for every type of transaction that enters or leaves your Stripe account balance.

Related guide: Balance transaction types