Skip to content

Redeem codes

How lifetime-deal buyers turn a marketplace code into a working subscription.

1 min read

Lifetime-deal marketplaces do not send webhooks. They sell a code, and the buyer brings it to you. Redeem codes are how that becomes a real subscription in your panel.

What a code carries#

Field Notes
Code Unique across the install. Matching is case-insensitive, so a customer retyping it in caps still works.
Plan What redeeming grants.
Source Which marketplace it belongs to. Drives both stacking and revenue reporting.
Max redemptions Usually 1.
Times redeemed Incremented on use.
Redeemed by The account that used it.

Redeeming#

Customers redeem at /auth/redeem. If they do not have an account yet, one is created and they get the same welcome and set-password email as a Paddle buyer.

Redeeming creates an order — with the source set to the marketplace, not to Paddle — and a subscription with a fresh license key. From there the customer is indistinguishable from any other: same panel, same downloads, same API.

What can go wrong, and what the customer is told#

Situation Result
No such code Not found.
Already at max redemptions Already used.
They already redeemed this code Told so explicitly, rather than being given a duplicate.
Already at the top stacking tier Told which tier they are at — and the code is not consumed, so they can still refund it on the marketplace.

That last behaviour is deliberate. Redemption runs inside a transaction: if the tier cannot be granted, the whole thing rolls back and the code stays usable.

Double submissions#

Redemption takes a row lock on the code for the whole read-modify-write. A customer who double-clicks the button, or has two tabs open, cannot consume a code twice or land on the wrong stacking tier.

Revoking#

Codes can be revoked from the admin panel — for a marketplace refund, or for a batch that leaked before launch.