Querying Steam receipts does not call the completion delegate

Calling FOnlinePurchaseSteam::QueryReceipts does not call the passed in FOnQueryReceiptsComplete delegate. This means that systems waiting for the query to complete are stuck waiting for a callback that never comes, even though it works on other platforms.

Previous to https://github.com/EpicGames/UnrealEngine/commit/bbe593a35a51444de28e883caf25ccd1ce4f852a it was a non-issue as there was no PurchaseManager so the call was not made on the Steam OSS.

Is this intentional behavior? Possibly because its a synchronous call? if so, is there a way to know that it is synchronous and will not call the delegate?

Assuming it is not intentional, I have a simple proposed fix here: https://github.com/EpicGames/UnrealEngine/pull/14062

Steps to Reproduce
In Unreal 5.5 or later, call oss->GetPurchaseInterface()->QueryReceipts with a delegate.

Observe the delegate is never executed.

Hi,

Thank you for bringing this to our attention and for the proposed fix! After discussing this with a dev more familiar with the Steam OSS, this does seem to be unintentional.

I can confirm that PR has been received on our internal tracker, and it will be routed to the appropriate subject matter expert for review as soon as possible.

Thanks,

Alex