Developers

Consistent APIs across the platform.

Predictable, resource-oriented REST with JSON payloads, idempotency keys and clear errors — the same conventions across every product.

All requests are made over HTTPS to api.gatetopay.com and authenticated with a bearer API key. Use test keys against the sandbox and live keys in production — the surface is identical.

API groups.

/v1/cards

Issuing

Create and manage cards, controls and tokens.

/v1/accounts

Accounts

Open accounts, hold balances and read statements.

/v1/payments

Acquiring

Accept online and in-person payments.

/v1/payouts

Money Movement

Single and bulk payouts across rails.

/v1/transactions

Processing

Authorisation, controls and reconciliation.

/v1/webhooks

Webhooks

Subscribe to platform events.

Authentication

Pass your API key as a bearer token on every request. Keep secret keys server-side.

Authenticated request
curl https://api.gatetopay.com/v1/accounts \
  -H "Authorization: Bearer $API_KEY"

Create a payout

Send money to a card, account or wallet. Use an idempotency key to safely retry.

POST /v1/payouts
curl https://api.gatetopay.com/v1/payouts \
  -H "Authorization: Bearer $API_KEY" \
  -H "Idempotency-Key: 9d1c7e2b" \
  -d '{
    "amount": 25000,
    "currency": "JOD",
    "destination": { "type": "cliq", "alias": "AHMAD123" }
  }'

Frequently asked.

Is the sandbox API identical to production?+

Yes — same endpoints and payloads. Only your API key and the underlying money movement differ.

How are amounts represented?+

In the smallest currency unit (e.g. fils for JOD) as integers, to avoid floating-point issues.

Ready to integrate?

Generate keys and explore the endpoints in the sandbox.