Security

Security notes

How this GressPay instance authenticates and signs events

API secrets

Live keys start with gp_live_. Test keys start with gp_test_. Only a prefix is shown after creation. The full secret is stored hashed. Rotate from Dashboard → API Keys.

Dashboard sessions

Merchant login issues a JWT. The dashboard sends it as Bearer and, when you switch Live / Test, adds X-GressPay-Mode.

Webhooks

Paid events POST JSON to your URL with X-GressPay-Signature = HMAC-SHA256 of the raw body using your webhook secret. Verify before you fulfill an order.

What we do not store

No card PANs, CVVs, or 3-D Secure payloads. Checkout collects customer name / contact and a transaction ID for the rail you enabled.