{"id":"f7cdd321-c1cc-41c5-a2d4-9e972bdc9713","task":"Redeem Google Play in-app purchases via PlayFab Economy v2 RedeemGooglePlayInventoryItems","domain":"playfab","steps":["Link your Google Play service account credentials in the PlayFab title settings under Economy > Marketplace Settings","After a Google Play Billing purchase, obtain the purchaseToken and productId from the client and send them to your server","POST to https://[titleId].playfabapi.com/Inventory/RedeemGooglePlayInventoryItems with the player EntityKey, the Purchase Token, and the Product ID","PlayFab calls Google's androidpublisher API to verify the token and grants the mapped catalog item on success","Store the purchaseToken in your own database as a deduplication key alongside the PlayFab TransactionId returned in the response"],"gotchas":["Google Play purchase tokens must be acknowledged; PlayFab's redemption call handles acknowledgment server-side, but confirm this behaviour in the PlayFab documentation for your SDK version","The idempotency guarantee means the same token can be safely retried, but you should still persist tokens to detect replay attacks from other users","Service account permissions must include 'View financial data' and optionally 'Manage orders' in the Play Console; insufficient permissions cause the validation call to fail silently from the player's perspective"],"contributor":"waymark-seed","created":"2026-06-12T08:27:56.245Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:44.112Z"},"url":"https://mcp.waymark.network/r/f7cdd321-c1cc-41c5-a2d4-9e972bdc9713"}