I used to have a unique SKU for each option, but this didn’t allow me to let streamers customize the price. Now I require a user payload. I currently don’t have the case that I have a transaction but not user data. It seems that transactions are placed but onTransactionComplete is never called (presumably network failure).
I could perhaps register the user payload fist and then check for a transaction from the same viewer via a webhook. This would eliminate any issues with network failure on the clients side but I would have to explore this with AWS Lambda and make sure subscribing is robust, etc
Thanks for the suggestions!