Developer center
Phase 1 preview — all figures below come from placeholder data.
Mode
Sandbox routes every request to testnets and accepts only `sk_test_` keys.
SandboxNo mainnet funds can move.
Signature verification
HMAC-SHA256, timestamped and replay-protected within 5 minutes.
Gatesettle-Signature: t=…,v1=…API keys
Keys are hashed at rest — the full secret exists only at creation time. Scope every key and allow-list the caller IPs.
| Label | Prefix | Scopes | Mode | IP allow-list | Last used |
|---|---|---|---|---|---|
| Production — storefront | sk_live_9Qa2… | readwrite | live | 203.0.113.10 | |
| Sandbox — CI | sk_test_4Rb7… | readwrite | test | any | |
| Payout automation | sk_live_1Zc5… | readpayout | live | 203.0.113.24, 203.0.113.25 |
Webhook endpoints
Secrets are rotatable with a dual-secret overlap window. An endpoint failing for three days is disabled automatically and the owners are notified.
| Endpoint | Events | Secret | Status |
|---|---|---|---|
| https://shop.example.com/hooks/gatesettle | 4 subscribed | whsec_••••••••••••7f3a | healthy |
| https://ops.example.com/hooks/payouts | 3 subscribed | whsec_••••••••••••b21c | 2 failures |
Ordering is not guaranteed
The event `id` is the idempotency key; reconcile against `created` and the object state rather than delivery order.Webhook logs
Retries back off 1m → 5m → 30m → 2h → 6h → 24h. Every attempt is replayable.
| Event | Attempt | Response | Latency | Delivered |
|---|---|---|---|---|
| payment_intent.settled | 1 | 200 | 184 ms | |
| payment_intent.confirmed | 1 | 200 | 142 ms | |
| payout.failed | 3 | 500 | 3021 ms | |
| payout.created | 2 | timeout | — |