I'm nearly finishing this project that consists of two parts: An electronic board with a microcontroller, eeprom memory and a firmware, and, the Windows software. I've finished it all, everything is great, except that I have no idea how to solve the following problem:
This board must be locked (not licensed), which means that it will not work unless it is unlocked (licensed via internet).
In order to unlock it, the end user will have to connect the board to the computer (USB), open the Windows software, which will acknowledge that the board is "unlicensed", and finally open the product's website and make a payment. Once the payment is made, the Windows software "somehow" will acknowledge the payment and UNLOCK the board. Once the board has been unlocked, it will work "forever"
The board lock / unlock process is fairly easy, as it contains a non-volatile memory that I can "flip a bit" for example. What I need help to accomplish is the part that once the payment is made via internet, the Windows software "gets to know it". I honestly have no idea how to do such thing. Any clues? Any suggestions? Where can I start digging around to find a solution?
The Windows software was written using Visual C++ 2008.