CRITICAL - Micro-Transactions failing + persistence broken

Summary

We have non-consumable micro-transactions, they show that they are not purchased and pruchases do not go through ever since this update.

Players are unable to equip the things they purchased due to this issue.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Publishing

Steps to Reproduce

Purchase a non-consumable item in a map

Expected Result

Purchase should go through or if already purchased should show the item as owned

Observed Result

Owned items show that they aren’t owned and purchases don’t go through

Platform(s)

Any

Island Code

4540-2792-0054

Video

This also happens with consumables - this is REALLY bad because players are currently spending V-Bucks and not being granted anything in return

Thanks for reporting, we’re checking into this.

TLDR: This is an user error, caused by a wrong description of a function in the digest APIs… (It says about purchase result which is wrong, it is actually about the UI closing behavior, explained better bellow…)

This is due to the developer wrongly checking purchase with the result of BuyOffer. What happens is that the user is force-closing the purchase dialog before the purchase finishes (clearly visible in the video). Then in verse it returns false (true = automatically closed popup | false = popup force closed by the player).

It is being purchased fine without issues, but your logic inside Verse is not handling it correctly, making it “miss” the purchase made. Many other devs working with marketplace are doing this same mistake due to not knowing about this detail.

To fix/avoid this, you should use the EntitlementsChangedEvent to listen for entitlement purchases (and any other change during the game). Then even if the player force close the popup, it will correctly detect the purchase.

In a more robust approach, should also use the GetPurchasedEntitlements when game start, to load/setup the purchases for that player, before listening for other purcahses or game events. This will also already fix the purchase being missed just by the player rejoining the session if you ever forget to listen for the entitlements changed event at any moment.

Here is some explanation in more details that I made in another place:


(post deleted by author)

(post deleted by author)

Can you delete this reply? This is not a user error. We are responding to a bug that was reported and confirming that we also have that issue. We also use the “more robust approach” that you are suggesting would fix our user error.

1 Like

Can confirm this. Happening in my map as well. 1316-2698-6957

I use GetPurchasedEntitlements on Player join. I still don’t have my purchases anymore (they are actually removed because in my code I remove the item if the player doesn’t have the entitlment) so the API is returning that the player doesn’t have the purchase.

1 Like

FORT-1095984 has been ‘Closed’ as a duplicate of an existing known issue. Origin Issue: FORT-1095967

FORT-1095967 is now ‘In Progress’! Our team is actively working on it!

@PeterGGs Oh yeah I was just commenting out with some people on another place, seems to be two things happening:

A) Transactions broken / inventory of transactions failing to load and returning empty/zero purchases when calling GetPurchasedEntitlements (actual bug on epic side)

B) Some people not relying on the entitlement changed or get entitlements to retrieve purchase data (user error due to wrong setup)

  • “A” is a real bug on epic end that needs to be fixed;
  • “B” is caused due to wrong setup in verse by the developer

The video clearly shows a repro-step of the “B” (only if the dev did not handled it properly). But yeah, if the dev made everything correctly, then it is the “A” issue that is being impacting it.

That’s why I firstly assumed it was just the “B” based on the video attached. Specially this user wrong setup is a thing that happens since marketplace released, I already faced many people facing it and I always explain that about how to fix it and so on…
But, the “A” is completely new and valid if is happening too, like I’ve saw other people confirming it even with the correct setups

Hi all, could you join a new server session and try again?

No positive results. Still takes my V-Bucks without granting the item (and am still missing V-Bucks from previous transactions today)