Question About Purchase Handling

So here’s the basic premise, for a short period of time (matter of seconds) users will be able to purchase a dev product (there is a countdown of sorts, telling them they only have a limited time to buy it).

After this time period, they will not be able to get the item. So here’s the problem…

I can detect if the countdown hits 0 and they never attempted to buy it. I can also detect if they do try to buy it and complete the purchase. HOWEVER, the conditions of the game will change in such a way, that if they click the in-game UI before the timer hits 0, but sit with the purchase window on their screen until AFTER time is up, even if they complete the purchase at that point they CAN’T get the item.

Now I’m aware of the Process receipt function and returning NotProcessedYet is supposed to be what I should return in this case. However I wanted to know if this would actually refund the user’s robux, or just queue the purchase for when they rejoin (this has happened in the past where in-complete purchases just keep triggering process receipt every time the player joins the game.)

It would be a HUGE problem, if it didn’t refund the purchase, since the user would never be able to get the item. So is NotProcessedYet supposed to refund the purchase, or is there something else I should be doing here?

1 Like

I can find no documentation that would clue me to believe NotProcessedYet would refund robux in any way. I would personally say don’t take the risk with it.

If in-game currency is an option, have this same format but for in-game currency where refunds could be handed out by you directly to the player who made a poorly timed purchase in a reasonable amount of time, and with purchases being moderated by the game scripts themselves, it could also prevent the aforementioned poorly time purchases from happening in the first place.

1 Like

NotProcessedYet din’t gave the player robux back, and I think there isn’t any way to do it.

1 Like

It’s interesting because going back I can find platform feedback posts about this same issue, it looks like it actually used to specifically say on the wiki that NotProcessedYet would give user’s robux back after 3 days.

The big issue is it’s based around a game-over mechanic. The user dies, and are prompted a continue button for robux. If they don’t buy it in time, game ends, and teleports the user back to the lobby place.

So really the issue occurring is RARE, but still possible that someone could wait on the purchase all the way into the game-over splash screen. At which point, buying the item would do absolutely nothing.

I’d argue if a user waits that long to contemplate to revive themselves or not that if they choose to make such an idiotic and crass decision than it is on them.

When you explain it like that it makes more sense because I was under the assumption it was something like a limited time item like a special sword or an event pet, but along the lines of a revival system, one in which loss of robux can only be caused by a consumers own negligence, I wouldn’t advise you to steer away from it.

If you are weary of backlash for this feature though, perhaps adding another option to the game-over mechanic, instead of a timer there is a “Revive” button and an “End Game” button.

Well if we’re being entirely honest. There are only two things I really want to avoid; and I couldn’t care less about the rest of the consequences regarding this possibility.

I simply want to avoid receiving constant complaints about this from users who care about a wasted 25 or so robux.

and more importantly I want to avoid any intervention from Roblox itself if the issue gets too out of hand. You know it’d be really awesome if I could just say “Well I wrote the code to properly not grant purchases as the wiki says, so it’s really not my problem.”

You can easily reach your own desires by simply returning NotProcessedYet as the wiki demonstrates regardless of if it will initiate a refund or not.

As for the constant complaints, I’d refer back to:

Which would solve any prevailing issues on that front.

Aside from that I don’t see ROBLOX getting involved since once again, it is an issue only caused by a consumers own negligence, and it is not like you are attempting to maliciously scam them or anything (you would be reporting all unprocessed receipts after all).

Alright well then I’m just going to make my revive system with that in mind. Should the latter issue ever arise, I’m just going to leave this here to show that at the time of me writing this; the wiki specifically states to use this method if “it’s no longer relevant to the current game-state”. So really any further issues are out of my hands…