Skip to main content

Paymob

Paymob is a MENA payment gateway supporting cards, wallets, and instalment products depending on the integrations enabled on your Paymob account.

TakeTheme redirects shoppers to Paymob's Unified Checkout, and the order is created when Paymob confirms the payment.


Connecting

Settings → Payments → Paymob.

CredentialRequiredNotes
Secret KeyYesStarts with sk_test_… or sk_live_…
Public KeyYesUsed for the Unified Checkout redirect
Integration IDYesThe Paymob integration for the payment method you want to accept
API KeyLegacy key; only needed for older Paymob flows
iFrame IDLegacy card iframe; only needed for older Paymob flows

Your Integration ID decides what the shopper can actually pay with. If you want cards and wallets, enable them in Paymob and use the integration that covers them.


Settings

SettingDefaultWhat it does
Send payment confirmation emailonEmails the customer when payment succeeds
Notify on payment failures (emails)emptyAlerts your team when a checkout fails at the gateway
Auto mark orders as paidonNot currently enforced — a confirmed payment always marks the order paid

Payment flow

  1. Shopper picks Paymob and submits the checkout.
  2. TakeTheme creates a Paymob payment intent and redirects to Unified Checkout.
  3. Shopper pays.
  4. Paymob calls the TakeTheme callback; the order is created there, already Paid.
  5. Shopper returns to your store's success page.
POST https://<your-api-host>/api/v1/payment/webhook/paymob

Paymob delivers the callback HMAC as a query-string parameter.

HMAC verification is off unless you configure a secret

TakeTheme verifies the Paymob callback signature only when an hmac secret is stored for your account. That field is not part of the standard credentials form, so on most stores the callback is accepted without a signature check.

If your Paymob account issues an HMAC secret, ask support to store it — it closes the gap where a forged callback could mark an order paid. Every other gateway on the platform verifies signatures by default.

Callbacks are idempotent: a repeat delivery for an already-successful payment is acknowledged and ignored.


Refunds

Refunds are recorded in TakeTheme only — no refund call reaches Paymob. Issue it in the Paymob dashboard and record it here. See Refunds.


Troubleshooting

Shoppers see "no payment method available" on Paymob's page. Your Integration ID doesn't cover the method they chose, or that integration is inactive in Paymob. Check it in the Paymob dashboard.

Payments succeed but orders don't appear. Confirm the callback URL is reachable from Paymob and that your secret and public keys are for the same account and environment (test keys never confirm live payments).

Test payments confirm, live ones don't. You are almost certainly still on sk_test_…. Re-enter the live secret key in full.