A PTC offer runner that pays only on a real view
Open the target, run the timer, verify server-side, credit once. The four steps and the checks that belong to each.
4 entries
Open the target, run the timer, verify server-side, credit once. The four steps and the checks that belong to each.
The countdown belongs to the client, so the client will lie. Bind the timing to a signed server token and check it when the claim arrives.
Signature check, unique constraint, credit inside a transaction. Networks retry postbacks, so the same completion will arrive more than once.
The widget on the page proves nothing on its own. This is the server check, written to fail closed on every error path.