OptionalapiKey?: stringOptionalbaseUrl?: stringOverride the region base URL (testing / proxies).
HMAC secret from the dashboard: verifies transaction callbacks.
Integration ids, one per payment method (card, wallet, cash_outlet for kiosk, bnpl,
installments, …) plus card_auth, card_moto and apple_pay. Test/live mode must match the keys.
Public key (pk_…): builds the Unified Checkout URL. Safe for browsers.
Optionalregion?: "egypt" | "ksa" | "uae" | "oman"Secret key (sk_test_… / sk_live_…): creates intentions, refunds, voids.
ReadonlycapabilitiesReadonlyconfigReadonlyidPaymob features beyond the shared API: saved cards, subscriptions, payment links and
intention updates. Available once the adapter is passed to new Sarraf(...).
The public key, for client-side Paymob Pixel. Safe to send to browsers.
Called once by Sarraf with its context, for adapters that expose extra APIs.
Void a same-day card payment (no amount). Looks the transaction up by reference when needed.
Capture an authorization made with providerOptions.capture: "manual".
Hosted Unified Checkout, or a kiosk bill reference when methods is ["cash_outlet"].
payment.providerPaymentId is empty until Paymob creates the transaction: the id arrives with
the webhook or payments.reconcile. Refunds, voids and captures need that transaction id.
Configured id for key, or CAPABILITY_NOT_SUPPORTED.
Throws WEBHOOK_SIGNATURE_INVALID when the signature does not match.
Legacy API key: needed for transaction inquiry (getPayment / reconcile).