1.9 KiB
1.9 KiB
Billing Mode Switch (sandbox -> live)
This project supports two license verification modes via env:
DEWEMOJI_BILLING_MODE=sandbox
Any non-empty license key is treated as valid Pro.DEWEMOJI_BILLING_MODE=live
Key must pass live validation rules (DEWEMOJI_LICENSE_ACCEPT_ALL,DEWEMOJI_PRO_KEYS, or provider validation).
Recommended local setup
Use sandbox while building:
DEWEMOJI_BILLING_MODE=sandbox
DEWEMOJI_LICENSE_ACCEPT_ALL=false
DEWEMOJI_PRO_KEYS=
Staging/live setup
Use live mode:
DEWEMOJI_BILLING_MODE=live
DEWEMOJI_LICENSE_ACCEPT_ALL=false
DEWEMOJI_PRO_KEYS=key_1,key_2,key_3
DEWEMOJI_VERIFY_CACHE_TTL=300
DEWEMOJI_GUMROAD_ENABLED=true
DEWEMOJI_GUMROAD_PRODUCT_IDS=prod_abc123
DEWEMOJI_MAYAR_ENABLED=false
DEWEMOJI_MAYAR_API_BASE=https://api.mayar.id
DEWEMOJI_MAYAR_ENDPOINT_VERIFY=/v1/license/verify
DEWEMOJI_MAYAR_SECRET_KEY=
Provider notes
- Gumroad validation uses configured
DEWEMOJI_GUMROAD_VERIFY_URL+ firstDEWEMOJI_GUMROAD_PRODUCT_IDS. - Mayar validation uses
DEWEMOJI_MAYAR_VERIFY_URL+DEWEMOJI_MAYAR_API_KEY.- Or use
DEWEMOJI_MAYAR_API_BASE+DEWEMOJI_MAYAR_ENDPOINT_VERIFY+DEWEMOJI_MAYAR_SECRET_KEY.
- Or use
- For local QA (no external billing call), you can define:
DEWEMOJI_GUMROAD_TEST_KEYS=dev_key_1,dev_key_2DEWEMOJI_MAYAR_TEST_KEYS=dev_key_3
API endpoints affected
POST /v1/license/verifyPOST /v1/license/activatePOST /v1/license/deactivate- Tier-aware API access such as
GET /v1/emojis(free/pro behavior)
Notes
- Current provider integration is baseline and safe-fallback (
falseon network/API mismatch). - Keep
DEWEMOJI_PRO_KEYSfor emergency fallback during migration cutover. POST /v1/license/verifyincludes provider fields on success:source,plan,product_id,expires_at.- Invalid live checks include
details.gumroadanddetails.mayarfor diagnostics.