Skip to content

Mastering SaaS offers for developers

Learn how to create custom SaaS offers for the marketplace. This course offers all you need to know to integrate successfully with the marketplace for SaaS applications.

In this learning path, you'll work your way through all of the technical aspects of creating SaaS offers. When you're done, you'll have the skills to:

  • Understand the elements of a complete SaaS offer.
  • Create a custom landing page for your customers.
  • Create and secure a webhook that listens for messages from the marketplace.
  • Interact with the marketplace SaaS fulfillment API.

If you're a developer who is tasked with integrating your company's SaaS solution into the marketplace, this learning path is for you.


  1. SaaS Offer Overview
  2. Publishing a SaaS Offer
  3. SaaS Offer Technical Overview
  4. Microsoft Entra ID configuration for your SaaS offer
  5. Using the SaaS Offer Fulfillment API
  6. The SaaS Client Library for .NET
  7. Building a Simple Landing Page in .NET
  8. Building a Simple SaaS Publisher Portal in .NET
  9. SaaS Webhook Overview
  10. Implementing a Simple SaaS Webhook in .NET
  11. Securing your SaaS offer webhook
  12. SaaS Metered Billing Overview
  13. The SaaS Metered Billing API with REST
  14. Hands-on labs

SaaS Offer Overview#

Video | PDF

This video offers a technical overview of #Microsoft Azure Marketplace SaaS offers. It shows what you need to get started creating a SaaS offer of your own.

  • Microsoft commercial marketplace
  • SaaS offer creation process
  • Pricing models

Publishing a SaaS Offer#

Video | PDF

This detailed video presents the concepts of publishing a SaaS offer and then walks through the steps of doing so in Partner Center.

This module goes all the way from creating an offer, to adding and plan, and finally publishing the offer live. It also speaks to the need of developers to have a sandbox environment in which they can test and development the landing page and webhook.

  • The publication flow
  • Publishing a SaaS offer

SaaS Offer Technical Overview#

Video | PDF

Watch a deep technical overview of how SaaS offers work in the Microsoft Azure Marketplace.

Learn how the API flows and interactions should work and how to build your landing page. Topics include the following.

  • Flow overview
  • The Landing Page​
  • SaaS Offer purchase flow in depth​
  • SaaS Offer Fulfillment API​
  • Metered billing overview​
  • SaaS Offer webhook​

Microsoft Entra ID configuration for your SaaS offer#

Video | PDF

In this module we look at a generic topic, application registrations for Entra ID. We’ll need this knowledge in upcoming modules. Application registrations give us a mechanism to authenticate to Entra ID, which is a requirement of the SaaS offer’s landing page, if you recall.

This video should help you get a jump start on configuring application registrations for the apps we’ll be building in the next few modules.

  • Application Registrations in Microsoft Entra ID
  • Single- vs. multi-tenant
  • User consent and scopes
  • A sample solution architecture

Using the SaaS Offer Fulfillment API#

Video

See the SaaS Fulfillment API in action as we send it through its paces using Postman.

You’ll learn how to authenticate with Azure Active Directory, resolve and activate subscriptions just like your Landing Page does, and see many other features of the API.

  • About the API
  • Preparing to use the API
  • Demo: Using the API with Postman

The SaaS Client Library for .NET#

Video | PDF

This module introduces the SaaS Client Library for .NET developer who want to work with the SaaS APIs at a level of abstraction above the REST level.

The client library is a fully functional .NET package that you can install and use in your applications, and you’ll see how to do just that.

  • Introducing the client library
  • A simple application
  • Tour the library

Building a Simple Landing Page in .NET#

Video | PDF

In this module we examine the elements of building a simple landing page and looking at how it works.

The technology stack used is C#, ASP.NET MVC, and Razor views, just to keep it simple. We use the SaaS Client Library for .NET to build out our landing page functionality.

  • The purpose of the landing page
  • A humble landing page in action
  • The code
  • Available data to display

Building a Simple SaaS Publisher Portal in .NET#

Video | PDF

This video shows a very simple example of a publisher’s portal used to manage SaaS subscriptions. The technology stack used is C#, ASP.NET MVC, and Razor views, just to keep it simple. We use the SaaS Client Library for .NET to build out our portal functionality.

  • Why have a publisher portal?
  • A simple publisher portal
  • The code

SaaS Webhook Overview#

Video | PDF

This technical overview of the SaaS webhook explains the following concepts of the SaaS offer webhook.

  • Why to have this specialized HTTPS endpoint
  • POST events one may receive on the webhook
  • Flow models of how to handle requests
  • Potential fully implemented webhook architectures

And more! Consider watching this video before moving on to the code-based modules for implementing and securing a SaaS offer webhook.

Implementing a Simple SaaS Webhook in .NET#

Video

This code-heavy module focuses on the fundamentals of implementing a SaaS offer webhook as an Azure function using .NET. Concepts are presented in such a way as to be architecture and technology stack agnostic.

  • Azure portal
  • Azure function
  • Log stream
  • Client view
  • Viewing the payload

Securing your SaaS offer webhook#

Video | PDF | Code

This security-focused module introduces several techniques for securing a SaaS offer webhook and then dives into implementations of the techniques presented. The two techniques covered are using an Azure Function as a webhook and using a Logic app.

Although the Azure Function example is implemented in .NET, it is done so in a way that illustrates core concepts for any development stack.

  • Basic webhook flow
  • Implementing webhook security
  • Demo: Inspecting the marketplace JWT
  • Demo: Securing a webhook implemented in .NET
  • Demo: Securing a webhook implemented with a Logic app
  • A security anti-pattern

SaaS Metered Billing Overview#

Video | PDF

This module presents the fundamentals of billing through the marketplace based on usage, or metered billing.

It covers several areas of metered billing including the following.

  • Demo
  • API communications

The SaaS Metered Billing API with REST#

Video

We exercise the SaaS Billing REST API using Postman to illustrate how the API works.

You’ll learn how the inputs to each API event and how to use the results, and finally how to invoke usage events in the metering API itself. This module is primarily demo.

Hands-on labs#

To perform the hands-on labs, visit this GitHub repository, which is home to the Mastering the Marketplace labs.