Skip to main content

Setup

Required env vars:

How it works

Monnify only has one way to move money — a hosted redirect transaction — so paykit.payments.create uses the same flow as paykit.checkouts.create, just returns a Payment instead of a Checkout; it needs a success_url in provider_metadata since there’s no other field for it to redirect to. Monnify doesn’t support customer management or subscriptions.

Webhooks

Monnify signs webhook payloads with HMAC-SHA512 via the monnify-signature header. Add a webhook endpoint in your Monnify dashboard that points to your handler.

Raw Monnify events

Opt into any native Monnify event type — typed against Monnify’s API payload:
All available raw events and their PayKit mappings:

provider_metadata

amount and currency are required in provider_metadata for checkout because Monnify does not infer them from the plan or item: