In this episode, we roll up our sleeves and actually process a real payment using Stripe! You'll see how a payment goes from just an idea (the payment intent) to fully completed and paid, with the payment intent's status getting updated and the money finally landing in our account.
Most of the magic happens on the client side. Instead of shipping tokens back and forth to the backend, all we really need is the payment intent's client secret. We cover how to pass this client secret (and even the full payment intent object for future flexibility) down to our client so we can use it when a user submits their card details.
After wiring everything up—including some quick billing details like the user's email—we do a quick test run using Stripe's test card numbers. When the payment is made, we check back on Stripe's dashboard and see the successful payment—mission accomplished! We also look at how Stripe prevents accidental duplicate payments, thanks to how the payment intents system works.
Right now, there's no feedback on the UI after a payment is made—we'll tackle that later, along with handling any payment errors (like card declines and such). And as a teaser, in coming episodes we'll implement webhooks so our app gets notified reliably when a payment goes through.
By the end of this episode, you’ll have walked through confirming a card payment on the client, seen Stripe do its thing, and be ready to handle the next steps—like error handling and giving users access once they've paid.