Webhooks and APIIntegrations

Paystack

Receive Paystack payment events in Wexio flows

Wexio verifies the x-paystack-signature header, an HMAC-SHA512 of the raw body. The signature carries no timestamp, so there is no replay protection. Inbound webhooks need the Pro or Enterprise plan.

Provider docs: Setting up webhooks in Paystack

Setup

1. Connect It in Wexio

Go to Settings → Webhooks and API → Webhooks → New connection → Inbound and click the Paystack chip under Dedicated providers, or set Authentication mode to Paystack manually. Copy the Wexio endpoint URL.

2. Set Up the Provider

In the Paystack Dashboard, open Settings → API Keys & Webhooks and set the webhook URL to the Wexio endpoint URL.

Paystack signs with your secret key (sk_live_… or sk_test_…). Copy it from Settings → API Keys & Webhooks → Secret key. Paste it into the Wexio Signing secret field.

Send X-Idempotency-Key where you can, because a captured request can be sent again.

3. Resolve Contacts

Pick the field in the Paystack payload that matches a Wexio contact, for example $.data.customer.email. Capture a sample event to see the payload shape, as described in Inbound Webhooks.

4. Bind a Flow

Attach a Webhook Received trigger to the connection and branch on the event type field in the payload.

Check That It Works

Trigger a Paystack event, then open Webhook History. A request that passed verification is listed as received. A failed one shows its error.

Troubleshooting

SymptomFix
UNAUTHORIZED: HMAC signature mismatchThe secret key is wrong. Copy it again from Paystack
UNAUTHORIZED: Missing x-paystack-signature headerThe request did not come from Paystack, or a proxy removed the header

Was this page helpful?

On this page