In most cases, the transactionID would be stored server side and associated with the user's account on your service. And call(s) to the web service would be made by your account system, not by the channel itself. Note that on the slide you reference, the communication is between a Roku server and a Partner server.
If a subscription is only useable through a Roku channel and not other devices, you may not need the web service at all. roChannelStore alone might do everything you need in that case.
That would be ideal but this goes back to the original question; how does the channel / roChannelStore validate that a subscription purchased in this way is still active - does it need the Transaction ID stored somewhere in order to do such validation?
So if the subscription expires / is cancelled, GetPurchases() will return nothing? Is this documented somewhere or you just know from experience?
What about approval of the In-channel products, should there be an indication that they're approved, or are they ready to be used if the "submit for review" button is non-clickable?