The settings that switch GAVEL from the fake PayPal to the sandbox.
Page last changed 9 Nov 2026 (from the git history)
Sandbox
Set PAYMENTS=sandbox and provide PAYPAL_CLIENT_ID, PAYPAL_CLIENT_SECRET and PAYPAL_WEBHOOK_ID. The names are in .env.example; keep the values in your local .env and never commit them. The server does not read a .env file by itself: load it into your shell with set -a; source .env; set +a (after deleting the lines you leave empty) or pass the variables inline.
# names only: values live in your .env, never in the repositoryPAYMENTS=sandboxPAYPAL_ENV=sandboxPAYPAL_CLIENT_ID=PAYPAL_CLIENT_SECRET=PAYPAL_WEBHOOK_ID=
buyer accounts are created in the PayPal developer dashboard. Credentials are never stored in this repository; organisers hand out a test buyer at the event. Never use a real account.
The gate runbook shows how each sandbox run is recorded: see re-running a gate.