You can buy Harkirat's course using the given testnet tokens. The course price is 2 tokens.
Verification logic
The application asks user to approve 2 tokens. The user gives a contract Payment.sol permission to transfer 2 tokens.
Then moveFunds function in Payment.sol is called by the user. Here the 2 tokens are transfered by the Payment.sol contract to a EOA, which is owned by me.
I can use The Graph to index events and make the the moveFunds function emit event with email address of the user. And handle all the login in the backend rather than in frontend.
Also I can implement it in such a way, so that user just have to make one transaction, rather than 2 in the current scenario.