JCPay· Authentication

Authentication

All requests to /v1/* require a secret API key sent in the Authorization header. Never expose your sk_live_* keys publicly — only use them from trusted server code.

Authorization: Bearer sk_test_abc123...

Environments

Every merchant has two key pairs:

  • pk_test_ / sk_test_ — routes to the JCPay sandbox (MockProvider).
  • pk_live_ / sk_live_ — routes to real payment providers configured by the platform.

Test-mode operations are fully isolated from live. A sk_test_ key cannot read, modify, or refund live payments.

Scopes

Keys carry scopes: read (GET endpoints) and write (POST/PATCH/DELETE). Generate read-only keys for reporting tools.

IP allowlist

Optional per-key. If set, requests from IPs outside the list return 403 ip_not_allowed. Useful for locking live keys to your production servers.

Rate limits

100 requests per minute per API key by default. Exceeded requests return 429 with a Retry-After header.