Skip to content
This repository has been archived by the owner on Jan 9, 2024. It is now read-only.

US-SouthOU-Demo/APIM-monetization-demo

 
 

Repository files navigation

Azure API Management - Monetization

Purpose and scope

This is a demo project providing two working examples of how to integrate Azure API Management (APIM) with payment providers - one based on integration with Stripe, the other with Adyen.

The objective is to show how you can enable consumers to discover an API that you wish to make public, enter their payment details, activate their subscription and trigger automated payment based on their usage of the API.

To use this demo, you will need to deploy the solution into your own Azure subscription and to set up your own Stripe / Adyen account. This is not a managed service - you will be responsible for managing the resources that are deployed on Azure, adapting the solution to meet your specific use case and keeping the solution up to date.

Table of contents

Document Purpose
Monetization with Azure API Management Makes recommendations about how to design a successful monetization strategy for your API.
How API Management supports monetization Provides an overview of the API Management features that can be used to accelerate and de-risk API monetization.
How to implement monetization with Azure API Management and Stripe Describes how the Stripe integration has been implemented and the user flow through the solution.
Deploy demo with Stripe End to end deployment steps to implement the demo project with Stripe as payment provider.
How to implement monetization with Azure API Management and Adyen Describes how the Adyen integration has been implemented and the user flow through the solution.
Deploy demo with Adyen End to end deployment steps to implement the demo project with Adyen as payment provider.
Deployment details Details the resources that are deployed and the approach taken to script the deployment.
Advanced steps Details of advanced steps to modify the infrastructure templates and run the billing app locally.

Steps to follow

Follow these steps to implement the demo project:

  1. Read Monetization with Azure API Management to get background about designing a successful monetization strategy.

  2. Read How API Management supports monetization to understand how APIM supports implementation of a monetization strategy.

  3. Choose the payment provider you want to implement - either Stripe or Adyen.

  4. Read the overview: either How to implement monetization with Azure API Management and Stripe or How to implement monetization with Azure API Management and Adyen to understand more about Stripe / Adyen, how they integrate with APIM, the architecture adopted and the consumer flow through the solution.

  5. Follow the deployment instructions in either Deploy demo with Stripe or Deploy demo with Adyen to set up the pre-requisites, deploy the resources onto Azure and complete remaining steps post deployment to implement the demo project.

  6. Reference Deployment details to get more detail about the resources that are being deployed and how this has been scripted.

  7. Reference Advanced steps if you want to modify the infrastructure templates or run the billing app locally.

Architecture

The following diagram illustrates the high level architecture this demo has adopted to integrate API Management with a payment provider, showing the components of the solution across APIM, the Billing App (both hosted on Azure) and the payment provider. It also highlights the major integration flows between components, including the interactions between the API Consumer (both developer and application) and the solution:

Monetization with Stripe

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

About

Demo of how to monetize API's using APIM

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 52.7%
  • Bicep 25.0%
  • PowerShell 10.6%
  • EJS 8.4%
  • CSS 3.2%
  • Dockerfile 0.1%