Ok I did some testing with a private channel and a test user (hopefully the only difference between a normal user and a test user is that the CC is never actually charged).
Under the Occam's razor doctrine (and after some extensive testing with in-app purchases couple of months ago), it is my belief that yes - "test users" only differ from the untest ones is incurring actual charge. In fact you can switch the same user between test <-> untest by simply adding and removing them to the list.
Notice there are caveats - utterly undocumented in an inexcusable-yet-typical-of-RokuCo way - which means they could change. E.g. in my experiment
, doOrder() with a test user
- Roku player UI shows $1.99 will be charged
- but when user accepts, doOrder() returns amount/total of $0.00
- however getPurchases() may later return cost of $0.99 (this last one is a bug for sure because it always returns the current product price and not what was it at purchase time - or what was actually charged)
which seems to be more of a "let-the-chips-fall-where-they-may" kind of event and not a consistent implementation