Forum Discussion

ionatan's avatar
ionatan
Roku Guru
9 months ago

DoRecovery API always returns recoveryStatus 1 (Enhanced Subscription Recovery)

Hi,

We are working to integrate "Enhanced Subscription Recovery" feature into Channels, but it looks that ChannelStore DoRecovery API doesn't return the correct information from Channel Store.

getAllPurchases API returns us products that are in Grace (inDunning: "true", status: "Valid") or On Hold (inDunning: "true", status: "Invalid"), but DoRecovery always returns "recoveryStatus: 1". Also Recovery Dialog doesn't show up.

Am I missing something? Shouldn't we get "recoveryStatus: 2" for these cases?

https://developer.roku.com/en-gb/docs/developer-program/roku-pay/subscription-recovery/subscription-on-hold.md#dorecovery-api

I am using SceneGraph (SDK 2) example for calling DoRecovery https://developer.roku.com/en-gb/docs/developer-program/roku-pay/subscription-recovery/subscription-on-hold.md#scenegraph-sdk-2-example

 

Thanks in advance!

 

4 Replies

  • I have an update regarding this.

    The renewal message dialog is displayed if we publish the Channel as beta test Channel, but not when the Channel is installed as a zip for development.

    We already enabled Billing Testing https://developer.roku.com/en-gb/docs/developer-program/roku-pay/testing/billing-testing.md

    Did anyone figured out how "Enhanced Subscription Recovery" feature can be tested with a zip Channel installed through Development Application Installer?

    • renojim's avatar
      renojim
      Community Streaming Expert

      ionatan, I'm late to the party, but I'm just trying to implement this now.  I'm guessing you never found a way to test DoRecovery by just sideloading and not having to publish?  I see the same thing you were seeing and I've wasted a day before I found this.

      • ionatan's avatar
        ionatan
        Roku Guru

        renojim The only solution that I've found was to create a Beta / Test app and to run tests with it. Unfortunately with this approah is not possible to use debug console.