One common way for extensions that require additional data from the user along with the transaction often have a fallback where if they get a transaction but no data from the user then the extension gives that user a token of some kind so that they can attempt the transaction again but instead of calling useBits the extension instead will skip that step and let the user send the data that’s needed.
Some extensions use that sort of system entirely, where the SKU is for a token of some kind (just make sure not to name them like a currency), that way the user doesn’t need to send additional data with the transaction and the webhook will be sufficient. Your EBS can handle redeeming/fulfilling user requests with those tokens from that point on.