PayShare · Mode 2
Connect your backend to orchestration-only sessions, completion webhooks, and host/participant UIs. Create a partner account (when your operator enables self-serve signup), sign in with email or your server API key, then use My setup for webhook URL and env values. The onboarding checklist has step navigation, local progress, and a copyable env template. Partners control ?mode=live via Settings; operators can add PAYSHARE_ENFORCE_GO_LIVE_GATES=1 for readiness checks — see docs/14-INTEGRATION-CONTRACT.md.
AI / vibe coding handoff
One owner checklist plus one developer brief: copy on the page, or download payshare-ai-handoff.txt — paste into Cursor or another assistant.
Onboarding checklist
Step-by-step navigation for credentials, URLs, webhook, billing & usage, self-test, and go-live — aligned with docs/13-INTEGRATION-WIZARD.md.
Template packs
Next.js, Express, Laravel, FastAPI, and cURL-oriented starters — env map, where to paste, and pointers to full snippets in docs/16-TEMPLATE-PACKS.md.
Vercel / production
In Vercel → your project → Settings → Environment Variables (Production), set at least DATABASE_URL, APP_URL (canonical site origin for links and metadata), PARTNER_SESSION_SECRET (≥16 chars — enables partner login), CRON_SECRET (for scheduled session expiry), and optionally INTERNAL_ADMIN_SECRET (≥16 chars — enables internal admin). Optional: PAYSHARE_BILLING_FEE_BPS (ledger fee rollups — see docs/17-PARTNER-BILLING.md). Save, redeploy, then confirm /api/health shows database ok. Full table: docs/ENVIRONMENT_VARIABLES.md.
INTERNAL_ADMIN_SECRET).X-PayShare-API-Key; /partner/dashboard/setup for webhook URL + env template; browse sessions (search, CSV), webhook delivery log, and usage snapshot + export; full webhook URL, allowlist, rotate secrets in Settings./session/…, participants /join/… (URLs come from create/configure/join API responses).docs/15-INTEGRATION-SELF-TEST.md (automated Vitest matrix when RUN_SESSION_INTEGRATION=1 + DATABASE_URL). Pre-push (same as CI): npm run self-test; flags only: npm run self-test:help.scripts/mode2-self-test.sh (BASE_URL, PAYSHARE_API_KEY, INTEGRATION_ID): health (HEAD/GET), Phase A0h (GET/PATCH /api/partner/integration no cookie), Phase A0g (GET/PATCH /api/v1/integrations checks), Phase A0i (GET /api/cron/expire-sessions no Authorization), create + correlation headers, snapshot ETag/304, host extend (python3); stderr prints sessionUrl for Phase B when python3 exists; optional Phase C, VERBOSE=1, VERIFY_RECORD_PAYMENT_REPLAY=1, SELF_TEST_HOST_CANCEL=1, SELF_TEST_FULL_API=1 — full matrix in docs/15-INTEGRATION-SELF-TEST.md.docs/14-INTEGRATION-CONTRACT.md, docs/13-INTEGRATION-WIZARD.md.Master checklist in repo: BUILD-PLAN.md — includes Progress lenses: MVP orchestration (docs/MVP-SCOPE-MODE2.md), phase checklists, and launch / compliance — use all three when judging how close you are to shipping.