How it works
Every marketplace integration follows the same three stages.1
Connect the marketplace
Create your listing on the marketplace, grant Flexprice permission to meter on your behalf, and save the connection in Flexprice. Done once per marketplace.
2
Register each buyer's agreement
When a buyer subscribes, the marketplace hands your application an identifier for them. Register it against a Flexprice customer, plan, and active subscription. Done once per buyer.
3
Usage reports automatically
Flexprice computes each mapped subscription’s usage and reports it on a schedule. You do not call Flexprice again for that buyer unless their subscription changes.
Supported marketplaces
AWS Marketplace
Agreements identified by
LicenseArn, metered through the AWS Marketplace Metering Service.GCP Marketplace
Entitlements metered through the Service Control API.
Azure Marketplace
SaaS subscriptions metered through the Marketplace Metering Service.
What Flexprice reports
The reported amount already accounts for usage-based charges across every meter on the subscription, commitment amounts, and overage rates. It is sent in cents against a single usage dimension on your marketplace listing. With that dimension priced at$0.01 per unit, the marketplace multiplies it back into the exact amount, down to the cent. This is why each provider’s setup page tells you to create exactly one dimension at that price: your real pricing lives in the Flexprice plan, not in the marketplace listing.
Flexprice reports usage to the marketplace on a recurring schedule.
When the marketplace agreement ends
Flexprice is not notified when a buyer cancels or unsubscribes on the marketplace. Subscribe to your product’s marketplace notifications in your own application, detect the cancellation there, and cancel the buyer’s Flexprice subscription. Each provider’s usage reporting page describes the notification source to use. Cancelling the Flexprice subscription triggers a final usage flush immediately, rather than on the regular reporting schedule:- Any usage still unreported for that buyer is reported.
- Usage for the final window, from the last reported point up to the cancellation time, is computed and reported.
- The buyer’s marketplace mappings are deactivated, so nothing further is reported for that subscription.
Cancel with the correct timestamp
Cancel withcancellation_type: "immediate" and set cancel_at to the timestamp the marketplace recorded for the cancellation.
Only
immediate cancellation runs the flush. end_of_period and scheduled_date leave the subscription active until the scheduled moment and do not report final usage.Next steps
AWS Marketplace
Listing, IAM role, agreement registration, and usage reporting.
GCP Marketplace
Listing, Workload Identity Federation, entitlement registration, and usage reporting.
Azure Marketplace
Offer, Entra app credentials, subscription registration, and usage reporting.
Cancel Subscription API
Cancellation types and how
cancel_at is interpreted.
