Here is how I would do it, since you can save lists as game variables.
The first time the game is played. I would create 4 lists.
Each list would have a number of random numbers in it.
Each time the game was played I would check If certain values match up to a certain mathematical formula.
For example if the 5th value in the first list minus the 8th value in the 2nd list = the 12th value in the 3rd list, times the 2nd value in the fourth list.
If the above is true, then the in app purchase was made, if not then it was not made.
When the user made the inapp purchase, I would just manipulate the values of the list such that the formula would be true. If the purchase was not made, then the formula would always be false.
Then run the formula in an event block when creating scene that should be locked,
if formula = true
then display scene
else
stop
----------------------
Anyone accessing the game variables in the save file would just see a bunch of meaningless random numbers and would not know how they are being used. This of course wouldn't help if someone copies the save file from one device to another. I don't know how you would prevent that, unless there is a way to access a devices serial number or something, and store that in a game variable and check it when the game is run. Of course someone could always change that value, so there is no 100% solution, other than to use server code and have username/pw login. But then the user would have to be online to use the app, and that would defeat the purpose.