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

  • Consumable Products
  • Non-Consumable Products
  • Ticket Support

$5 / mo *
500 validations incl.
  • $0.75 per +100 validations

  • Everything in FREE, plus...
  • + Subscription Products
  • + Transaction Storage
  • + User Storage
  • + Simple Webhooks
Get in touch for a chat!
* Prices excl. VAT
One validation typically means one in-app purchase.

In other words, each successful receipt validation on a new purchase, like a new product/subscription purchase or subscription renewal. Sandbox purchases and failed receipt validations (fake purchases) or adding the same transaction to a different user device do not count against your quota.
You pay for a base subscription per app, which includes an amount of validation quota each month. If you go over that free quota, your validations are subject to usage-based billing in steps of 100. Usage is billed 1 month later to ensure that you already received the payout for your earnings. Please see the documentation for more information and examples.
The validation quota resets on the first day of the month, at 00:00 UTC.
Yes! If you see a sudden increase in validations for your app, you can upgrade to a paid plan for extending your quota immediately.
Absolutely. If you cancel your paid subscription, you will still be able to use its remaining quota and features until the end of the month. Then, your app will convert to the FREE plan.
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.
User inventory is stored in the cloud and can be retrieved by logging into your app with an unique user identifier. By accessing user inventory, your users will always know the latest state of their purchases such as subscription renewal dates.
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.