PayPal style flow for Bits Transactions
Currently bits transactions only let you be notified of the SKU that was used.
I would like to see a more "PayPal" model or the bits usage flow.
Developers would make a POST request to Twitch with the SKU and any meta/extra data for the purchase, which would return a CheckoutID.
Developers would then pass the CheckoutID to use bits
window.Twitch.ext.bits.useBits(sku, CheckoutID);
Then on completion (or cancel) and thus the webhook/Transactions API, can return a reference to that CheckoutID and allow developers to obtain that meta data, either via API call, or returned in the onTransactionComplete
JWT.
The CheckoutID created by the post request can even be the existing transactionID
than the onTransactionComplete
JWT returns.
Passing a CheckoutID to the useBits function would be optional, so for existing implementations there is no breaking change, and it's a optional method for developers.
Example use case: Polls, a poll with four options, with use bits to bump the vote on a given option, right now you'd need four SKU's each of the same cost with meta data you only need one SKU.
This makes it easier for developers to manage Bit SKU catalogs since they only have the one priced SKU.
Edit: This also links into RFC0011 https://discuss.dev.twitch.tv/t/rfc-0011-extension-entitlement-service/19142 but not everyone will want to use a clear entitlement flow, they just want a bit of extra meta data
