Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
ov2015
Level 7

Struggling with purchase flow, roChannelStoreEvent, PUSH msg

I have two products in my APP, One-Time Purchase and a Monthly recurring subscription.

After every purchase from ROKU, I store the purchaseID as transactionid into my server. Then, once I get PUSH notification, I validate using the transactionid.
Issue 1: In App, once roChannelStoreEvent executes and isRequestSucceeded() is true, ROKU sends us purchaseID as "aaaa-bbb-ccc-ddd-eeee". But when I get the push notification, transactionID for this same transaction is received as "aaaabbbcccdddeeee" without "-" character.

There are four PUSH notifications, SALE, REFUND, CANCELLATION and CREDIT.
Q1. When does CREDIT notification gets pushed? Example?
Q2. For monthly subscription, after ROKU charges the customer every month, does it send us the notification as SALE? How can I get the details to update my backend?
Q3. I am testing the notification by recording it and I can see I have been getting lots of same transaction records. By the description in docs, once ROKU server receives the responsekey sent with other data, it should stop sending the repeat again. Let me know if I am wrong in this?

On the whole, I am confused how to use isRequestSucceeded() phase, PUSH notifications and API calls effectively at the moment. Any information would be of great help.
0 Kudos
1 Reply
auzy
Level 7

Re: Struggling with purchase flow, roChannelStoreEvent, PUSH msg

"ov2015" wrote:
Q2. For monthly subscription, after ROKU charges the customer every month, does it send us the notification as SALE? How can I get the details to update my backend?

Ideally yes, but I've found that there is no push notification for subscription renewals.  Since subsequent charges are as important to know about as renewal charges, it would be good to get these events.  I don't know yet how to be notified of the renewals, it seems the only way is to poll their web service.  And that would be based on the original transaction ID, which results in the purchaseDate always being the same as the originalPurchaseDate.  The renewals actually also get their own transaction ID, but I don't know how to retrieve it without manually exporting the CSV from the dashboard.  I'd rather write software to handle all this.
0 Kudos