A feature that can be enabled in dashboard. The shop owner can set an amount of points the customer receives per €/$/£ spent in his shop. The points are tied to €/$/£ value and can be spent in the shop or used for a discount.
Before spending points, the customer should confirm his email by receiving a code in order to make sure the customer is legit and not trying to steal someone elses coins (especially important for products like keys which are just displayed after successful purchase, making email delivery useless)