Expanding Objects in Stripe API

Learn this quick tip to reduce the number of API requests and speed up your payments integration.

Reducing API Requests

Reducing the number of network calls in any web application is a great way to improve not only speed, but reliability of code. Just imagine we have a worker unit that asks Stripe for a Customer, Card, and Invoice via three separate API requests. Not only is this slower than making a single network call, it also triples our chance for errors or failures.

First Attempt

In this first attempt, we simply fetch the refund from stripe and ask for the balance transaction in a separate request.

Single Request

We can definitely improve this by using the expand parameter to fetch the balance transaction at the same time as the refund.

Notice that we pass a Hash to retrieve instead of just an identifier. We spent awhile debugging and digging through the Stripe Ruby gem source before noticing why the expand parameter was being ignored.

We were also sad to see that it is not possible to expand properties for a Stripe::Event.

Stripe API Docs

You can read more about expanding multiple objects on the official Stripe Docs.

Ready to have a chat?

Contact us to chat with our founder
so we can learn about you and your project.