We are developing a game which uses collectible cards in order to upgrade the weapons/units from the game. The same system used on a lot of games nowadays (i.e. Clash Royale, etc). The player's inventory might have a few thousand cards after playing for a while and the player might win a few hundred cards at once occasionally.
We are using "stackable" inventory items to hold the quantities for each card.
The problem is that to grant 100 cards, it takes around 8s (even using the PlayFabClientAPI.StartPurchase API with 100 as quantity, apparently the server purchases one by one). We could use the CustomData to store the quantity, but we would lose a lot of benefits (purchase, grant, open container, bundles, currency, etc), we would need to do everything manually via cloudscript.
So my question is, what is the best approach to handle thousands of inventory items?