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.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
newchannel
Roku Guru

Enhanced Subscription Recovery Info Needed

Hi All,

I am looking for insight on implementing the Enhanced Subscription Recovery which is required for SVOD channels by October 1, 2024.

From what I understand, regardless of your monthly views this is required for all SVOD channels. Can someone provide further info if and how they implemented this successfully? 

Thank you.

 

http://www.victoryNOWfilmsandtv.com
0 Kudos
11 REPLIES 11
newchannel
Roku Guru

Re: Enhanced Subscription Recovery Info Needed

Does anyone here have any info on this problem? Or any comments?

I have free channels and a few subscription channels. My subscription channels are small but it seems all channels using RokuPay will need to implement this. I've added a screenshot. It talks about large channels with over 5 million views in 3 months are required and new channels projected to reach that. Then it says ALL subscription channels.

Also, Screenshot 2024-07-05 100333 Enhanced Subscription Recovery.pngI'm thinking there used to be lots more people that used to use this forum. Is it just me or has anyone else also noticed this? Is there another forum online that ROKU developers are using more?

Let me know or DM me if you have info on it. I'd appreciate it. 

https://developer.roku.com/docs/developer-program/roku-pay/subscription-recovery/subscription-on-hol... 

 

 

 

 

http://www.victoryNOWfilmsandtv.com
0 Kudos
newchannel
Roku Guru

Re: Enhanced Subscription Recovery Info Needed

So no one has any input on the October requirements and how to implement? My subscription channels are small but I'm trying to find out how to meet the requirements. 

Can someone offer any assistance on this subject?

Thank you.

 

https://developer-alpha.staging.roku.com/docs/developer-program/roku-pay/subscription-recovery/subsc... 

http://www.victoryNOWfilmsandtv.com
0 Kudos
newchannel
Roku Guru

Re: Enhanced Subscription Recovery Info Needed

Hello?

Can anyone shed some light on this and how to do this?

Thank you

https://developer.roku.com/videos/demos/enhanced-sub-recovery.md 

http://www.victoryNOWfilmsandtv.com
0 Kudos
ben9000
Streaming Star

Re: Enhanced Subscription Recovery Info Needed

Hello there,

Yes, it's a new certification requirement. You will find option for Subscription Recovery in developer dashboard.

Have you watched the video and tried to implement what hurdle are you facing implementing this.

0 Kudos
RokuJonathanD
Community Moderator
Community Moderator

Re: Enhanced Subscription Recovery Info Needed

0 Kudos
newchannel
Roku Guru

Re: Enhanced Subscription Recovery Info Needed

Hi,

I've watched the video but just not sure how to implement it. I'm more of a video person than a coding person. I've had some great people help me along the way in this journey.

I always get confused on knowing where in the code to place things. The video seems to be aimed at people that already know coding and not an instructional, but maybe it's just me that doesn't get it.

I've read over the documentation and I see sections of coding: 

function DoRecovery()
    request = {}
    request.command = "DoRecovery"
    m.store = CreateObject("roSGNode", "ChannelStore")
    m.store.observeField("requestStatus", "onRequestStatus")
    m.store.request = request
end function

function onRequestStatus()
    print "onRequestStatus"
    requestStatus = m.store.requestStatus
    if requestStatus = Invalid
        print "Invalid requestStatus"
        print "DoRecovery failed"
    else if requestStatus.status <> 1
        print "DoRecovery failed: status:", requestStatus.status
    else
        print "command", requestStatus.command
        print "requestStatus.statusMessage", requestStatus.statusMessage
        print "requestStatus.result.recoveryStatus", requestStatus.result.recoveryStatus
        for each product in requestStatus.result.recoveryProducts
            print "productInRecovery:", product
        end for
   end if
end function

 

{
    "customerId": "9aa37bd6f970578294cea4783af08560",
    "transactionType": "GraceInitiated",
    "transactionId": "024d4e1f-c7b6-11ee-afbe-0a58a9feaca8",
    "channelId": "3605562",
    "productCode": "0fCsu09EGS5C6OHlEUnz_MonthlySub",
    "productName": "0fCsu09EGS5C6OHlEUnz_MonthlySub",
    "originalTransactionId": "024d4e1f-c7b6-11ee-afbe-0a58a9feaca8",
    "originalPurchaseDate": "2024-01-12T01:45:36Z",
    "eventDate": "2024-02-10T01:45:39Z",
    "expirationDate": "2024-02-10T01:45:36Z",
    "comments": "Subscription is in dunning state",
    "responseKey": "163792dbc7b611eeafbe0a58a9feaca8",
    "isFreeTrial": false
}

 

{
    "customerId": "9d425957549250dcba71e03dacf426b5",
    "transactionType": "GraceRecovered",
    "transactionId": "f0864331-c7b6-11ee-a3c4-0a58a9fead9c",
    "channelId": "3193830",
    "productCode": "PPfCfuZMf3TOXBBl3Ttu_MonthlySub",
    "productName": "PPfCfuZMf3TOXBBl3Ttu_MonthlySub",
    "originalTransactionId": "d4c4da85-c7b6-11ee-a3c4-0a58a9fead9c",
    "originalPurchaseDate": "2024-01-12T01:51:39Z",
    "eventDate": "2024-02-10T01:51:46Z",
    "expirationDate": "2024-03-10T01:51:39Z",  
    "comments": "Subscription recovered from dunning state.",
    "responseKey": "d915ab762a3752e7bf112e7903958f52",
    "isFreeTrial": false
}

 

{
    "customerId": "8446ceff30e952349bcd9d3b78bc94a0",
    "transactionType": "OnHoldInitiated",
    "transactionId": "ed0ca6b7348411ed84a30a58a9feaec5",
    "channelId": "1688604",
    "productCode": "VR8IqPLBJ7VeWD7bvIHH_MonthlySub",
    "productName": "VR8IqPLBJ7VeWD7bvIHH_MonthlySub",
    "originalTransactionId": "df10f029-3484-11ed-b4bf-0a58a9feacbc",
    "originalPurchaseDate": "2022-08-14T23:28:23Z",
    "eventDate": "2022-09-14T23:28:24Z",
    "expirationDate": "2022-09-13T23:28:23Z",
    "comments": "Subscription is in Passive OnHold state",
    "responseKey": "ed0ca6b7348411ed84a30a58a9feaec5",
    "isFreeTrial": false
}

 

{
    "customerId": "8446ceff30e952349bcd9d3b78bc94a0",
    "transactionType": "OnHoldRecovered",
    "transactionId": "b466213697aa59a4ac53804daa1272bc",
    "channelId": "1688604",
    "productCode": "VR8IqPLBJ7VeWD7bvIHH_MonthlySub",
    "productName": "VR8IqPLBJ7VeWD7bvIHH_MonthlySub",
    "originalTransactionId": "df10f029-3484-11ed-b4bf-0a58a9feacbc",
    "originalPurchaseDate": "2022-08-14T23:28:23Z",
    "eventDate": "2022-09-14T23:28:29Z",
    "expirationDate": "2022-10-14T23:28:09Z",
    "comments": "Subscription recovered from Passive OnHold state.",
    "responseKey": "b466213697aa59a4ac53804daa1272bc",
    "isFreeTrial": false
}

 

But knowing where these get added to is one of my problems in comprehending how-to get it done. Would these go into a single brs file and the function go in the main.brs? Forgive my lack of knowing as I navigate this.

 

Thanks in advance for any and all input.

http://www.victoryNOWfilmsandtv.com
0 Kudos
ben9000
Streaming Star

Re: Enhanced Subscription Recovery Info Needed

If you don't know then it's better to not implement by yourself. We cannot tell you accurately to put what files where.

It's better to pay someone to implement this.

0 Kudos
newchannel
Roku Guru

Re: Enhanced Subscription Recovery Info Needed

Hopefully I can find someone.

http://www.victoryNOWfilmsandtv.com
0 Kudos
ben9000
Streaming Star

Re: Enhanced Subscription Recovery Info Needed

I am happy to help, dm for help

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.