Getting started

Environments & base URL

Every endpoint in these docs is relative to your QRPay installation’s gateway base URL:

https://{your-qrpay-domain}/pay/api/v1

Replace {your-qrpay-domain} with the domain your QRPay merchant account lives on. On the demo server that’s https://qrpaypro.appdevs.net/pay/api/v1.

One URL, two environments

There is no separate sandbox host. Sandbox and production share the same base URL — the environment is decided by the mode of the API key you authenticate with, not by the URL you call:

SANDBOXThe default mode for every key created in the merchant panel. Run the full flow end to end — no real money moves.
PRODUCTIONSwitch the key to PRODUCTION in the merchant panel when you go live. Real payments — no code or URL changes needed.

The {{base_url}} placeholder

Throughout these docs, endpoints are written as {{base_url}}/authentication/token, {{base_url}}/payment/create and so on. Wherever you see {{base_url}}, substitute your own base URL — the code rail shows a fully expanded example. Store it in configuration rather than hard-coding it, so switching domains is a one-line change.

Good to know
  • All requests must be made over HTTPS and send accept: application/json.
  • Because sandbox and production share a URL, double-check the key’s mode before going live — a SANDBOX key on a live site creates test payments, not real ones.
Base URL sandbox & production
# Same URL in both environments —
# the API key's mode picks the environment.

https://{your-qrpay-domain}/pay/api/v1

# Demo server
https://qrpaypro.appdevs.net/pay/api/v1
Expanding {{base_url}}
# Docs write:
POST {{base_url}}/authentication/token

# You call (demo server):
POST https://qrpaypro.appdevs.net/pay/api/v1/authentication/token