Flat-fee pricing, per app. Pay only for what you need.
$0 / mo
  • 100 validations

  • Consumable Products
  • Non-Consumable Products
  • Ticket Support

$5 / mo *
  • 500 validations

  • Everything in FREE, plus...
  • + Subscription Products
  • + 1 Year Transaction Storage
  • + 6 Months User Storage
$20 / mo *
  • 2500 validations

  • Everything in STARTER, plus...
  • + 2 Year Transaction Storage
  • + 1 Year User Storage
  • + Simple Webhooks
$75 / mo *
  • 10000 validations

  • Everything in INDIE, plus...
  • + Priority Ticket Support
  • + Burst

  • $1 per additional 100 validations
* Prices excl. VAT
$125 / account / mo *
+ $1.50 per 100 validations

  • Everything in PRO, plus...
  • + One Invoice per Account
  • + Live Chat Support
  • + Reliable Webhooks BETA
  • + Extended Analytics
Get in touch for enabling this plan, custom requirements or monitoring support during rollout.
In short: one validation typically means one in-app purchase.

One validation is deducted from your monthly quota for each successful receipt validation on a new purchase, like a new product/subscription purchase or subscription renewal. Also, for non-consumable purchases a transaction is deemed as new after it expired (see Transaction and User Storage) and the user invoking the restore transactions workflow again. Failed receipt validations (fake purchases) or adding the same transaction to a different user device do not count against your monthly quota.
Transaction Storage ensures that transaction receipts are unique across your app. Different users will not be able to validate a purchase more than once in order to unlock content they do not rightfully own.
The inventory of users (subscriptions and non-consumables) can be stored in the cloud and retrieved by logging into your app. Without interaction, this inventory is available for the duration stated in the plan. The duration is reset when adding new transactions. After expiration, the inventory can be restored by invoking the native restore transactions workflow.
Simple Webhooks do not have a retry mechanism in case the receiving server sends a failed response. When using Reliable Webhooks, failed messages are put into a queue and retried multiple times.
The reset date is determined by your app's monthly billing date. On that date, the validation quota resets at 00:00 UTC.
Yes! If you see a sudden increase in validations for your app, you can upgrade to extend your quota immediately. Whenever changing plans, the billing cycle resets.
Absolutely. If you cancel your paid subscription, you will still be able to use its remaining quota and features until the billing cycle ends. At that date, your app will convert into the free plan.