Eventually you will need to issue a refund to someone who has purchased your app. Handling refunds is a simple process involving the management of the refunded key inside your Dashboard and also rechecking key validity in your app.
How To Refund Keys In The Dashboard #
First, process the refund through your payment processor, then:
- Check your payment processor one more time to ensure the money has been fully returned to your user
- Go to Dashboard > Key Library and delete that user’s key

We recommend deleting refunded keys so it will be impossible for a refunded user to validate it. This ensures a refunded user will not be able to access any part of your app that you have locked behind a successful key check.
Deleting the key also frees up the space in your account limits so that you can generate a new key when it’s needed.
NOTE: Be sure to confirm the refund is finished processing through your payment processor and that the money has been returned to your user’s bank account before deleting their key. Deleted keys cannot be recovered.
Adding Automated Key Checks To Your Project #
If your app isn’t automatically checking keys regularly it can’t tell when a key has been deleted. Now that the end user’s key has been deleted due to the refund we need to ensure your app will recheck the validity of their key in a timely fashion.
NOTE: If your app does not have the ability to automatically recheck keys it will not know if a key has been deleted and will continue to function. It’s important to add this functionality to all your projects.
Adding a simple key check function that runs every time your app launches or, in the case of web apps, uses a cron job to run daily is the simplest way to automatically check keys without user input.
In short, this code should check if a key is still valid by accessing our API at the specified times and then update any locally saved variables of the key activation in your app, such as in a database or a local file on the end user’s device. Designing your code this way will make issuing refunds easy and secure.
We provide several example codes in various languages to accomplish this, based on app startup or as a cron job.
See our documentation on checking keys at startup.
See our documentation on checking keys daily with a cron job.