Settings

Payment Gateway (Paymob)

For security, Paymob's API credentials are set directly in the server's .env file rather than through this page — the same way the email notification settings work. This keeps your secret keys out of the database, where any staff account with admin access could otherwise read them.

To connect Paymob:

  1. Log in to your Paymob dashboard and find your Secret Key, Public Key, and the Integration ID for the payment method you want to accept (usually "Card").
  2. Open the server's .env file and fill in PAYMOB_SECRET_KEY, PAYMOB_PUBLIC_KEY, PAYMOB_INTEGRATION_ID, and PAYMOB_HMAC_SECRET (the HMAC secret is under Paymob's webhook settings).
  3. Restart the app (docker compose up --build) so it picks up the new values.
  4. Refresh this page — the status above should turn green once it's picked up.

Note: Paymob needs to reach your server directly to confirm a payment completed (via a "webhook"). That only works once your app is running on a real public web address — it can't reach localhost. Payments will create a checkout link fine while testing locally, but the automatic "mark as paid" step won't fire until you deploy somewhere with a public URL and set that URL in your Paymob dashboard's webhook settings.