Fulfill or Reject Channel Points Redemptions Programmatically
Channel points have the ability to reward loyal viewers with real-time influence on the stream. Sometimes such requests may be filtered, which should trigger a rejection (therefore refund).
Right now the only way to do this programmatically would be to use unsupported GQL APIs and risk the wrath of Twitch, or wrap the rewards queue in some way. This is the only blocker (technically speaking) for the workflow, as PubSub does expose enough information to respond to the redemptions automatically.
I've had a proof of concept on my stream which gets redemptions via PubSub, filters the submission for offensive content via an API, and changes some text elements on my stream layout automatically. It's been well-received by my (tiny) viewership but it would never really scale without these APIs.
Perhaps worth noting that there's a practical workaround that takes the bulk of the interaction out of Twitch: channel points rewards could be configured which are not queued, and are processed (via PubSub) automatically by a bot to turn into bot points - and then the bot points spent as prices on bot commands.
As TheRealHellcat mentioned, the Channel Points API allows you to update redemptions. Apologies for not catching this UserVoice entry with that launch. For more information, you can see the announcement here: https://blog.twitch.tv/en/2020/11/13/twitch-developer-day-2020-introducing-the-channel-points-api-eventsub-and-more/
I think the new Channel Points API does now allow for this.
If redemptions are in the queue you can set them to "fulfilled" oder "canceled" via the Redemption-Update call.
as my suggestion from feb just has been marked as a duplicate of this (newer) one... Just upvoted this.