Providers

Prices as Code supports multiple billing providers through an extensible architecture. This section details the currently supported providers and their specific implementations.

Stripe

Integration with the Stripe billing platform

View Details

Adding Custom Providers

Prices as Code is designed to be extensible, allowing you to add support for additional billing providers. Learn more about implementing custom providers in the Custom Providers Guide.

Provider Interface

Every provider must implement the following interface:

interface Provider {
  // Initialize the provider with options
  initialize(options: any): Promise;
  
  // Create or update a product
  syncProduct(product: Product): Promise;
  
  // Create or update a price
  syncPrice(price: Price): Promise;
  
  // Get a list of all products
  listProducts(): Promise;
  
  // Get a list of all prices
  listPrices(): Promise;
}

Check out the GitHub repository for more information on implementing custom providers.