All integrations
Paystack logo

Generate tickets and passes automatically from Paystack payments

HMAC signature verified

When a customer pays through Paystack, Drawtab turns the successful charge into a finished, on-brand graphic — an event ticket, a pass, a badge or a receipt — and can deliver it straight to the buyer. Every render is tied to the transaction reference, so a retried webhook never issues the same ticket twice.

Connect Paystack free15 free renders · no credit card

What sets it off

A charge succeeds on your Paystack account — the charge.success event.

What you get

  • Event tickets
  • Passes and badges
  • Payment receipts
  • QR check-in codes

Setting it up

One-time setup. After this it runs on its own.

1

Create a Paystack pipeline

In your Drawtab workspace, open Pipelines, pick Paystack and choose the template each payment should render into.

2

Paste your Paystack secret key

Copy your secret key from Paystack → Settings → API Keys & Webhooks (sk_test_… or sk_live_…) and paste it into the pipeline. Drawtab uses it to verify every delivery.

3

Add the webhook in Paystack

On the same Paystack screen, add the pipeline’s trigger URL as a webhook and tick the charge.success event.

4

Map the payment to your template

Point each hotspot at a field — customer.name, customer.email, amount_formatted, or any custom field collected at checkout. The Sample Payload inspector shows the real paths.

What you can put on the graphic

These are the paths you type into a template hotspot. Once a pipeline has received its first real record, the Sample Payload inspector shows your own data and you can click a value to fill the field.

Field pathWhat it holds
customer.nameBuyer’s full name, built from their first and last name
customer.emailBuyer’s email — used for delivery
amount_formattedAmount with its currency, e.g. “NGN 15,000.00”
amount_majorAmount in major units as a number, for receipts and maths
custom_fields.<variable_name>Any custom field collected at checkout, keyed by its variable name
referenceThe transaction reference — good QR content
data.referenceThe same reference under Paystack’s raw envelope

How Drawtab knows the data is real

Paystack signs every delivery with an x-paystack-signature header — an HMAC-SHA512 of the exact raw request body, keyed by your account’s secret key. Drawtab verifies it before reading anything, so a forged request can’t produce a ticket. Only successful charges render: other events are acknowledged and ignored, and each transaction reference is remembered so Paystack’s retries never issue a duplicate.

Every pipeline also has its own secret trigger URL, which can be rotated at any time without touching your template or mappings.

Common questions

Will a retried webhook issue the same ticket twice?

No. Drawtab remembers each transaction reference, so if Paystack retries a delivery it is acknowledged but nothing is rendered a second time.

What amounts can I put on a receipt?

Both the raw amount in minor units and a ready-formatted amount such as “NGN 15,000.00”, plus the currency code — so you can print either the exact figure or a currency-formatted string.

Can I include the answers a customer gave at checkout?

Yes. Any custom field collected by your Paystack checkout appears as custom_fields.<variable_name> and can be mapped straight onto the template.

Which events does Drawtab render?

Successful charges (charge.success). Other events — refunds, transfers, failed attempts — are acknowledged with a 200 so Paystack stops retrying, but produce no render.

Do I need a live Paystack key?

No. Paste your sk_test_… key and Paystack test charges render exactly like live ones; swap in sk_live_… when you go live.

Other integrations

Start rendering from Paystack today

Set it up once, and every record from then on arrives as a finished graphic.