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: 
EnTerr
Roku Guru

roChannelStore: "Order Response Garbled"?

Trying to use ifChannelStore.getStoreCatalog() returns bizarre result:
BrightScript Debugger> store.getStoreCatalog()
BrightScript Debugger> msg = port.getMessage(): ? msg
Order Response Garbled

BrightScript Debugger> ? msg.isRequestSucceeded(), msg.isRequestFailed()
false true

BrightScript Debugger> ? msg.GetStatus(), msg.GetStatusMessage()
-1 Order Response Garbled


Sup with "Order Response Garbled" - the store choking on own data? Is getStoreCatalog() broken, discontinued or?
0 Kudos
6 REPLIES 6
EnTerr
Roku Guru

Re: roChannelStore: "Order Response Garbled"?

Bless its heart, this week getStoreCatalog() stopped returning "Order Response Garbled", perhaps something was fixed on the back end.

So now, question is how do i define these "globally available In-Channel products, which are available to all channels"?
Or was it supposed to return products i have regardless if they are linked to the channel?
Now it returns an empty list [ ].

Is getStoreCatalog() usable for something? Abandoned/deprecated?
0 Kudos
Motorcykey
Visitor

Re: roChannelStore: "Order Response Garbled"?

I'm running into the same error, only while FakeServer(true) is set against the roChannelStore.


  1. I have pkg:/csfake folder

  2. I actually just downloaded the sample project directly from the dev documentation. So I'm using the XMLs provided directly from Roku and still seeing this error. I've validated the XMLs and found no errors immediately.

  3. GetPurchases() call is made first, followed by GetCatalog(). I find that both respond with this error and the app stops.

Has anyone been able to resolve this issue when enabling FakeServer or know what other troubleshooting steps I might be able to take?
0 Kudos
EnTerr
Roku Guru

Re: roChannelStore: "Order Response Garbled"?

Sadly, I think FakeServer() is a lost cause. It's been years since the Co have done anything in the dusty corner of ChannelStore.

I advise you do your testing directly with "the real deal" channel store by adding your dev.email as test user, as to not incur real charges. See viewtopic.php?f=34&t=95592 for "patch" info on what the real value returned look like (documentation is off). That's what i resorted to doing.

There is a nasty caveat to that - you will have to "publish" a private channel to do the testing, since dev.portal does not allow associating products with "dev", the side-loaded channel - only with "real" channel numbers. So testing and debugging the purchases turns into a "Chinese water torture" experience.
0 Kudos
Motorcykey
Visitor

Re: roChannelStore: "Order Response Garbled"?

Hmm... so I re-packaged up my channel, created some In-Channel Products for my channel, created a Test User and commented out the 'FakeServer(true)' line.

When I side-load the app, the "Order Response Garbled" message goes away. It actually runs just as it does in the example screenshotwith 3 products. But I'm now at a loss for where these are coming from. They aren't coming from the csfake XMLs nor are they from the In-Channel Products I've created. They're just some mysterious Roku account out there and how can I be sure I'm a Test User on it? I would hope there would be a global setting that kept users from charging test purchases with their sample app, but nothing is explicitly written in the sample documentation then again explicit documentation doesn't seem to be too common around here.

I don't think I'm fully enrolled in Billing Services, as it keeps telling me to enroll in certain places. I'm assuming my paperwork is still processing. However, I do see that I now have access to some new Billing Service options in my Dev Dashboard, such as an API key. My first assumption was that my sample app was sending an API key with its requests to retrieve Catalog Products. But from what I can tell reading through the code, the sample app is essentially:


  • GetCatalog() gets called

  • if a response is returned on a roChannelStoreEvent then we iterate through the list

  • check if they're owned already

  • store them in an array

  • set them to the screen's content

Since no "AddHeader" or "SetHeader" methods are being used I'm inclined to believe the API Key isn't actually being used. I'm definitely missing something here that's keeping the side-loaded app from outputting either the In-Channel Products I've created or the fake ones in my csfake folder, but am at a loss of where to look next.

-Mikey

EDIT: Just saw your response. Thanks so much for all the insight you've been able to provide. That's really too bad about FakeServer. I'll move forward with publishing a private channel as I'm guessing this is why I'm not seeing my In-Channel Products, and read through the other thread for some more info. I had a feeling testing would be difficult, hopefully the more I can wrap my brain around this now, the more I can lower my chance of any water torture 😉
0 Kudos
EnTerr
Roku Guru

Re: roChannelStore: "Order Response Garbled"?

In the dev.portal dashboard, under "My Developer Info" - do you see "Account Activity", "Transaction Details", "Transaction Reporting" items? From what i remember, for whatever odd (arguably wrong) reason, these show up only after your billing gets approved. You should also receive email about it.

The fact that you are able to create in-app purchases i think also indicates you have overcome the enrollment.

You are no seeing your "In-Channel Products" because there is no way to associate them with the side-loaded channel, what i refer to as "dev". See the listing at http://<your-Roku-IP-here>:8060/query/apps - see how the "real" apps have numeric IDs and the side-loaded one is id="dev"? When your channel calls GetPurchases() or GetCatalog(), Roku's servers filter the results returned back based on that ID (see roAppInfo.getID()) - and since in the side-loaded app that numeric ID is unknown, the result would come up empty - and apparently instead they give you some fake results.
0 Kudos
Motorcykey
Visitor

Re: roChannelStore: "Order Response Garbled"?

The "My Developer Options" (Account Activity, Transaction Details, etc) were in my account for most of the day yesterday along with the same "Roku Billing Initiated" message. At some point after my last forum post they all just disappeared. ¯\_(ツ)_/¯

Overnight, I received my enrollment approval e-mail and they all came back. No more 'Roku Billing Initiated" message either. Think I'm finally good. I can create In-Channel Products again, and it kept the ones I created yesterday.

I see what you're referring to as "dev" now. Thanks for that clarification. I've loaded it up as a private channel and the fake results went away. Nothing returned, so I guess here comes the "water torture" you spoke of 😉
0 Kudos