docs(loyalty): update launch plan — Google Wallet already deployed
Some checks failed
Some checks failed
Clarify Step 2: Google Wallet service account, Docker mount, and env vars are already deployed on Hetzner (per Step 25 of server setup doc). Only verification needed at deploy time. Add Step 9 (post-launch): Google Wallet production access request. Passes work in demo mode for test accounts at launch. Production approval is a Google console step (1-3 business days, no code changes). Google reviews the Issuer (platform), not individual merchants. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -331,12 +331,16 @@ Everything below must be completed before going live. Items are ordered by depen
|
||||
- [ ] Verify: 20 rows created (5 templates × 4 locales)
|
||||
- [ ] Review EN email copy — adjust subject lines/body if needed via admin UI at `/admin/email-templates`
|
||||
|
||||
### Step 2: Deploy Google Wallet service account
|
||||
- [ ] Place service account JSON at `~/apps/orion/google-wallet-sa.json` (app user, mode 600)
|
||||
- [ ] Set `LOYALTY_GOOGLE_SERVICE_ACCOUNT_JSON=~/apps/orion/google-wallet-sa.json` in prod `.env`
|
||||
- [ ] Set `LOYALTY_GOOGLE_ISSUER_ID=<your issuer ID>` in prod `.env`
|
||||
- [ ] Restart app — verify no startup error (validator checks file exists)
|
||||
- [ ] Verify: `GET /api/v1/admin/loyalty/wallet-status` returns `google_configured: true`
|
||||
### Step 2: Google Wallet — already deployed, verify config
|
||||
The Google Wallet integration is already deployed on the Hetzner server (see Step 25 of `hetzner-server-setup.md`):
|
||||
- Service account JSON at `~/apps/orion/google-wallet-sa.json` ✅
|
||||
- Docker volume mount in `docker-compose.yml` (`./google-wallet-sa.json:/app/google-wallet-sa.json:ro`) ✅
|
||||
- Env vars set: `LOYALTY_GOOGLE_ISSUER_ID=3388000000023089598`, `LOYALTY_GOOGLE_SERVICE_ACCOUNT_JSON=/app/google-wallet-sa.json` ✅
|
||||
- Service account linked to Issuer with Admin role ✅
|
||||
|
||||
Verify after deploy:
|
||||
- [ ] Restart app — confirm no startup error (config validator checks file exists)
|
||||
- [ ] `GET /api/v1/admin/loyalty/wallet-status` returns `google_configured: true`
|
||||
|
||||
### Step 3: Apply database migrations
|
||||
- [ ] Run: `alembic upgrade heads`
|
||||
@@ -371,10 +375,11 @@ Follow the **Pre-Launch E2E Test Checklist** at the bottom of `user-journeys.md`
|
||||
- [ ] **Test 7:** Admin oversight (programs, merchants, analytics)
|
||||
- [ ] **Test 8:** Cross-location disabled behavior (separate cards per store)
|
||||
|
||||
### Step 7: Google Wallet real-device test
|
||||
### Step 7: Google Wallet real-device test (demo mode)
|
||||
Google Wallet currently works in **demo/test mode** — only your Google account and explicitly added test accounts can see passes. This is sufficient for launch testing.
|
||||
- [ ] Enroll a test customer on prod
|
||||
- [ ] Tap "Add to Google Wallet" on success page
|
||||
- [ ] Open Google Wallet on Android device — verify pass renders
|
||||
- [ ] Open Google Wallet on Android device — verify pass renders with merchant branding
|
||||
- [ ] Trigger a stamp/points transaction — verify pass auto-updates within 60s
|
||||
|
||||
### Step 8: Go live
|
||||
@@ -384,6 +389,15 @@ Follow the **Pre-Launch E2E Test Checklist** at the bottom of `user-journeys.md`
|
||||
- [ ] Enable the loyalty platform for production stores
|
||||
- [ ] Monitor first 24h: check email logs, wallet sync, expiration task
|
||||
|
||||
### Step 9: Google Wallet production access (can be done post-launch)
|
||||
Passes in demo mode only work for test accounts. To make passes available to **all Android users**:
|
||||
- [ ] Go to [pay.google.com/business/console](https://pay.google.com/business/console) → **Google Wallet API** → **Manage**
|
||||
- [ ] Click **"Request production access"**
|
||||
- [ ] Fill in: business name, website URL (`rewardflow.lu`), contact info, pass type (Loyalty)
|
||||
- [ ] Upload 1-2 sample pass screenshots (e.g., Fashion Hub's card with their logo/colors). Google reviews the **Issuer** (your platform), not individual merchants — once approved, all merchants on the platform can issue passes.
|
||||
- [ ] Wait for Google approval (typically 1-3 business days). They check pass design complies with [brand guidelines](https://developers.google.com/wallet/loyalty/brand-guidelines).
|
||||
- [ ] Once approved: **no code or infra changes needed**. Same Issuer ID and service account, passes become visible to all Android users.
|
||||
|
||||
---
|
||||
|
||||
## Post-Launch Roadmap
|
||||
|
||||
Reference in New Issue
Block a user