What You'll Build In This Course

See the complete architecture you'll build—from Stripe payments and webhooks to database transactions, message queues, and background workers

See The Application In Action

Watch how the complete e-commerce system works in production—from checkout to payment processing to order fulfillment

Build Scalable, Production-Ready Systems That Handle Complexity with Confidence

Learn the patterns and techniques that separate junior developers from senior engineers—by building a real e-commerce system with queues, workers, transactions, webhooks, and the outbox pattern, all integrated and deployed to Azure.

Stripe Checkout
Webhook Processing
Aspire Hosting Integration
Transactions & Data Consistency
Idempotency Patterns
Azure Service Bus Queues
The Outbox Pattern
Background Workers
Checkout

Accept Secure Payments with Stripe

  • Create secure checkout sessions using the Stripe API and handle the complete payment lifecycle
  • Use Stripe's ready-made SDKs, pre-built checkout forms, and solid libraries to streamline integration.
  • Let Stripe handle PCI compliance, fraud detection, and regulatory requirements automatically.

Instant Notifications with Webhooks

  • Receive instant notifications from Stripe the moment transactions complete using secure webhook endpoints
  • Eliminate inefficient polling patterns that waste resources and introduce delays
  • Ensure events are authentic and protect your system from malicious requests
transactions

Ensure Data Consistency with Transactions

  • Avoid data inconsistencies when coordinating operations across multiple database tables.
  • Use database transactions to ensure multiple operations succeed or fail together, preventing data inconsistencies.
  • Use execution strategies to automatically retry failed transactions caused by transient errors

Scale Safely with Queues and Workers

  • Implement message queues using Azure Service Bus to decouple services and handle async operations reliably at scale.
  • Build background worker services that process queued messages independently from your API, improving responsiveness and resilience.
  • Implement the outbox pattern to reliably publish messages, ensuring no events are lost.

Deploy to Production on Azure

  • Deploy your complete e-commerce system to Azure with one command.
  • Experience your frontend and backend working together in Azure, with PostgreSQL, Service Bus and Stripe integration.
  • Define your entire application model with Aspire and infrastructure as code.

Two Frontend Stacks Included

Make your backend API shine by integrating it with the included Blazor and React frontends, so you can see how your API works in a real-world scenario.

alternative
alternative
Blazor

Static Server-Side Rendered (SSR) Application

React

Vite Single Page Application (SPA)

alternative
Two frontend stacks, same user experience

What You Get With Your Purchase

alternative
alternative
Signature Online Video Training

Professionally recorded high-quality video training that you can take at your own pace, anywhere and from any device.

Beautifully Illustrated Handouts

Includes all diagrams from every slide deck presented across the course, so you can reference them at any time.

Full Source Code

Full source code linked to every coding lesson so you can easily compare and troubleshoot.

Full English captions

In case you need them, English captions can be turned on quickly for any of the lessons.

certificate
Course Certificate

Get a certificate of completion when you finish the course to show off on your LinkedIn profile.

Course Curriculum

Welcome to the course! 5min
  • Course introduction
  • What you'll build in this course
  • What you need to know first
  • Software prerequisites
Getting started with Stripe 9min
  • What is Stripe?
  • Accepting payments with Stripe
  • The Stripe payment flow
  • Creating a Stripe account
Creating checkout sessions 54min
  • Running the initial backend
  • Configuring the API Key
  • Registering Stripe services
  • Add the CheckoutSession response DTO
  • Add the CreateCheckoutSession endpoint
  • Testing checkout session creation
Creating orders 1hr 8min
  • Adding the Orders data models
  • Configuring Orders in the DbContext
  • Adding the Basket Items Provider
  • Implementing the Order Creator
  • Creating orders for the checkout session
  • Trying out order creation
  • Implementing the Get Order endpoint
  • Implementing the Get Orders endpoint
Collecting payment information 59min
  • Configuring the checkout return url
  • Blazor: Collecting payment info
  • Blazor: How it works
  • React: Collecting payment info
  • React: How it works
  • Configuring payment methods
Processing payments with webhooks 30min
  • What is a Webhook?
  • Implementing the Stripe webhook
  • Listening to and forwarding Stripe events
  • Triggering Stripe events
Implementing an Aspire Hosting Integration 45min
  • Implementing the Stripe CLI Resource
  • Adding the AddStripeCli extension
  • Adding the WithWebhookEventListener extension
  • Adding the WithReference extension
  • Adding the WithPrintSecret extension
Using Transactions 41min
  • What is a transaction?
  • Confirming the Order payment (part 1)
  • Confirming the Order payment (part 2)
  • Clearing the shopping basket
  • Adding transaction support
  • Using execution strategies
Idempotency 40min
  • Understanding idempotency
  • Checkout sessions without idempotency
  • Requiring an idempotency key
  • Adding the idempotency key to the data model
  • Making order creation idempotent
  • Making idempotent Stripe calls
Publishing Messages to Queues 34min
  • Handling long-running webhook operations
  • Adding Service Bus to the App Model
  • Registering the Service Bus client
  • Implementing a Service Bus message publisher
  • Publishing events to Service Bus
The Outbox Pattern 34min
  • Introduction to the outbox pattern
  • Adding outbox messages to the data model
  • Storing messages in the outbox table
  • Refactoring the message publisher
  • Adding the Outbox Processor
  • Trying out the outbox pattern
Consuming messages from queues 1hr 18min
  • Refactoring the data model
  • Adding the Worker project
  • Implementing a queue processor
  • Implementing a message handler
  • Using the message handler
  • Trying out the queue processor
  • Handling the Dead Letter Queue
  • The checkout experience end-to-end
Payments, Queues and Workers on Azure 52min
  • Storing Stripe secrets on Key Vault
  • Deploying the backend
  • Adding the Azure event destination
  • Deploying the Blazor frontend
  • Deploying the React frontend
Payments, Queues and Workers

Course Includes

  • 13 Modules, 72 Lessons
  • 9 Hours of Video
  • Full source code
  • Illustrated handouts
  • Course Certificate

Who Is This Course For?

  • .NET developers who need to integrate payment processing into their applications and want to understand the complete lifecycle from checkout to confirmation.
  • Backend engineers ready to master production patterns like webhooks, idempotency, transactions, message queues, and the outbox pattern to build resilient distributed systems.
  • Development teams building e-commerce or transaction-heavy applications who need to handle async operations, background processing, and reliable message-based communication at scale.

What Students Say About Julio's Courses

Unlock Payments, Queues & Workers Today!

00
Days
00
Hours
00
Minutes
00
Seconds
PAYMENTS, QUEUES & WORKERS
$197
Lifetime Access
$
$197OFF
Lifetime Access
alternative

Meet Your Instructor

alternative

My name is Julio Casal. I'm a passionate software engineer with a wealth of experience building all sorts of applications and systems based on the .NET platform.

Throughout my 10+ years working at Microsoft, I had the opportunity to work on real-world projects, building and refining backend services that handle millions of requests every month.

I believe reducing complex concepts into simple step by step instructions is incredibly valuable and helps to make coding accessible and fun for everyone.

Start your path to a high-paying job

alternative

FAQs

When does the course start and finish?

Payments, Queues & Workers is a completely self-paced online course. You decide when you start and when you finish.

What version of .NET is used in this course?

This course uses .NET 8 to align with the rest of the Bootcamp curriculum.

Do you offer a certification on course completion?

Yes, you will get a certificate at no additional cost after completing all the course lessons.

How long will I have access to the content?

Your enrollment includes unlimited lifetime access.

I have more questions!

Happy to help! Send me an email: [email protected]