Building a complete checkout experience shouldn't be
this overwhelming

From payment processing to order fulfillment, developers struggle to connect all the pieces. Here are the biggest challenges:

Payment Integration

Setting up payment intents, webhooks, and handling the complete payment lifecycle

Duplicate Charges

Preventing duplicate charges and ensuring operations can be safely retried

Scaling Under Load

Handling high traffic without degrading performance

Data Consistency

Using transactions to apply changes to multiple tables or rollback everything.

Let's connect all the pieces together...

Master the Complete Checkout Experience with Payments, Queues, and Workers

Build a complete, working e-commerce system on Azure with Stripe payments, message queues, background workers, idempotency, and webhooks - everything integrated and deployed end-to-end.

Stripe Payments Integration
Idempotency Patterns
Webhook Handling
Custom Aspire Hosting Integration
Azure Service Bus Queues
Background Workers
Full E-Commerce System

Course Curriculum

Introduction
  • Topics covered in this course
  • What you need to know first
  • Software prerequisites
  • The system we are starting with
Getting Started with Stripe
  • What is Stripe?
  • Stripe Integration options
  • The Stripe payment intents flow
  • Creating a Stripe account
Payment Intents
  • Running the initial backend
  • Configuring Stripe Keys
  • Registering Stripe services
  • Add CreatePaymentIntent endpoint
  • Testing the Create Payment Intents endpoint
Sharing data across features
  • Adding the Orders data models
  • Configuring Orders in the DbContext
  • Adding the Basket Items Provider
  • Implementing the Order Creator
  • Creating orders for payment intents
  • Trying out order creation
  • Implementing the Get Order endpoint
  • Implementing the Get Orders endpoint
Stripe UI Integration
  • Blazor: Stripe UI Checkout
  • Blazor: How it works
  • React: Stripe UI Checkout
  • React: How it works
  • Configuring payment methods
Stripe Webhooks
  • What is a Webhook?
  • Implementing the Stripe webhook
  • Listening to and forwarding Stripe events
  • Triggering Stripe events
  • Confirming the Order payment
Implementing a Stripe Hosting Integration
  • Implementing the Stripe CLI Resource
  • Adding the AddStripeCli extension
  • Adding the WithWebhookEventListener extension
  • Adding the WithReference extension
  • Adding the WithPrintSecret extension
Idempotency
  • What is idempotency?
  • Payment intents without idempotency
  • Requiring an idempotency key
  • Adding the idempotency key to the data model
  • Making order creation idempotent
  • Making idempotent Stripe calls
Using Azure Service Bus queues
  • Dealing with long running operations
  • Adding Service Bus to the App Model
  • Registering the Service Bus client
  • Implementing a Service Bus event publisher
  • Publishing events to Service Bus
Using Workers
  • Refactoring the data model
  • Adding the Worker project
  • Implementing the OrdersQueueWorker
  • Implementing a message handler
  • Using transactions
  • Trying out the worker
  • Handling the Dead Letter Queue
  • Using execution strategies
  • The checkout experience end-to-end
Payments, Queues and Workers on Azure
  • Storing Stripe secrets on Key Vault
  • Deploying the backend
  • Adding the Azure event destination
  • Testing the payment endpoints in Azure
  • Deploying the Blazor frontend
  • Deploying the React frontend
Payments, Queues and Workers

Course Includes

  • 11 Modules, 61 Lessons
  • Full source code
  • Illustrated handouts
  • Course Certificate

Reserve Your Spot

Join the waitlist and be the first to know when the course launches.