One of the first things we need to allow administrators to do is refund purchases. In a way, refunds are a miniature of everything that caused me to want to write this book, which is to say that their apparent API simplicity covers a tremendous amount of business logic complexity.
Refunds are actually even easier in the Stripe API than purchases, since we don’t need to validate a credit card or other purchase method. In fact, we could choose to do refunds from the Stripe dashboard and just catch a webhook on our side to process the data.
But there are all kinds of issues we need to deal with: