Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Channel Surfer

How do we re-subscribe a user with Roku billing?

We are able to subscribe a user, then cancel using the web interface. After that point, every time we try to subscribe the same user, we get an order status error of "-3" and a UI message from the channel store control node that states "This item has already been purchased for this account." Even though the account shows the subscription as cancelled. Is there no channel store component options to renew a subscription?

We're following the documentation here:

Additional information: The subscription product has a 30 day trial. Could the product stay 'purchased' during the trial even though the user has cancelled?
0 Kudos
Channel Surfer

Re: How do we re-subscribe a user with Roku billing?

Caveat that most of this is undocumented and just my observations:

Some background - when a user subscribes to an in-app product for a channel, it generates a transaction id. If they cancel and resubscribe later, even many months later, the purchase will still have the same original transaction id.

Since the user already purchased the product this month, indeed, you cannot sell it to the user again in the same month. The user would be buying the same exact thing twice. The only way around this is to wait until the expiration date passes to offer the product to the user again or instruct the user to resubscribe within their subscriptions page:

Note that if you are using webhooks, this will not generate a webhook. This makes tracking user subscription state for these edge cases tricky.
0 Kudos
Need Assistance?
Welcome to the Roku Community! Feel free to search our Community for answers or post your question to get help.

Become a Roku Streaming Expert!

Share your expertise, help fellow streamers, and unlock exclusive rewards as part of the Roku Community. Learn more.