paddel setup new verifier

This commit is contained in:
Mark Gregory
2026-09-09 12:36:34 +01:00
parent a9bc0e5038
commit e802dd8cf8
+44
View File
@@ -0,0 +1,44 @@
# Paddle sandbox checkout
Rsync Studio's licensing site now hosts a Paddle sandbox checkout at:
- `https://rsync.stage.absdev.net/buy`
The macOS app opens this page from the Licence and General settings screens.
## Stage environment
The stage `.env` must contain:
```dotenv
PADDLE_CLIENT_SIDE_TOKEN=test_...
PADDLE_ENVIRONMENT=sandbox
RSYNC_STUDIO_PURCHASE_URL=https://rsync.stage.absdev.net/buy
RSYNC_STUDIO_PORTAL_URL=https://rsync.stage.absdev.net/portal
RSYNC_STUDIO_SUPPORT_URL=https://rsync.stage.absdev.net/support
```
Keep `PADDLE_API_KEY` server-side. It must never be added to the macOS app or browser JavaScript.
The four Paddle catalog IDs remain configured through `PADDLE_PERSONAL_*` and `PADDLE_PROFESSIONAL_*` variables.
## Checkout behavior
- Paddle.js is initialized with the sandbox client-side token.
- Prices are localized with `Paddle.PricePreview()` when available, with the agreed GBP prices as a fallback.
- Each plan opens Paddle's overlay checkout using the configured price ID.
- All plans advertise the configured 7-day Paddle trial.
- A successful Paddle subscription webhook provisions the licence and creates the encrypted delivery outbox record.
- After webhook processing, pending licence keys are sent by email on a best-effort basis without rolling back the verified webhook if mail delivery is temporarily unavailable.
## macOS stage configuration
The app is configured for:
- API: `https://rsync.stage.absdev.net/api/`
- Buy: `https://rsync.stage.absdev.net/buy`
- Portal: `https://rsync.stage.absdev.net/portal`
- Support: `https://rsync.stage.absdev.net/support`
- The current stage Ed25519 licence public key is embedded in `Info.plist`.
The signing private seed remains server-only.