Feature
Purchase verification
Send a purchase token to Tierux — it verifies with Google Play or Apple, normalizes the result, and returns entitlement state. Raw tokens are never stored.
| Capability | With Tierux | Without Tierux |
|---|---|---|
| Google Play verification | POST /api/v1/purchases/google-play/verify — one endpoint | Manual androidpublisher API integration |
| Apple StoreKit 2 verification | POST /api/v1/purchases/apple/verify — JWS verified server-side | Custom JWS verification, certificate chain validation |
| Token security | Hashed for dedup, AES-256-GCM encrypted for refresh — never raw on disk | Custom — often raw in database |
| Normalized response | Same JSON shape: {active, expiresAt, status} across both stores | Platform-specific parsing required |
| Subscription lifecycle | Auto-updated via real-time developer notifications | Must build Pub/Sub + App Store Server Notification handlers |
| Pricing | Flat monthly fee, no revenue tax | % of MTR or dev time for custom build |
Tierux is pre-launch. We ship server-side verification today across Android and iOS — the core is solid, and we're expanding toward the full feature set of mature platforms.
Related features
Server-side entitlements
Gate features from your backend after verification — one REST call to check active/expired/grace state.
RTDN webhooks
Auto-process Google Play real-time developer notifications — renewals, expiries, cancellations handled server-side.
Quickstart docs
Wire up verification in minutes with curl examples and language-agnostic REST endpoints.
Frequently asked questions
How does Tierux verify a Google Play purchase?
Your backend sends the purchase token, package name, and product ID to Tierux. Tierux calls the Google Play Developer API (androidpublisher.purchases.subscriptions.get or products.get), validates the token, and returns normalized entitlement state — active, expired, or in grace period. The raw token is hashed for dedup and encrypted for refresh only.
How does Tierux verify an Apple App Store purchase?
You send the StoreKit 2 JWS representation and transaction ID to Tierux. Tierux verifies the JWS signature against Apple's root certificates, decodes the transaction, and normalizes it into the same entitlement state used for Google Play — so your backend logic is platform-agnostic.
Why not call the store APIs directly from the client?
Client-side calls expose API credentials in your binary and trust the client to tell the truth about verification. Server-side verification keeps secrets on your backend and eliminates replay and tampering attacks — the client never controls the verification decision.
Verify purchases server-side, in one call
Free tier — unlimited apps, 1 paywall. No credit card, no revenue share.
Start free