Skip to content

Paystack payment gateway

PurchasesOctober 21, 2026·4 min read·Updated November 11, 2026

Paystack handles online checkout on the booking site and payment requests, and console card payments. The Paystack card on the Payment gateways tab has two pills: Credentials and Webhook.

Getting started

Navigate to Purchases > Payment settings, open the Payment gateways tab and pick Paystack.

Step-by-step guide

Add credentials

  1. On the Credentials pill, click Add test credentials or Add live credentials.
  2. Enter the Public key and Secret key from your Paystack dashboard under Settings, then API Keys & Webhook.
  3. Click Save, then Activate on the set you want in use.

Register the webhook

Paystack confirms payments to Off The Couch server to server the moment a charge succeeds, so a booking is confirmed even if the customer's browser drops mid-checkout. Without the webhook a payment is only confirmed through the customer's browser, and a dropped connection can leave a captured payment with no booking.

  1. On the Webhook pill, copy the Endpoint URL (https://api.offthecouch.io/paystack-webhook) with the copy button.
  2. In your Paystack dashboard, go to Settings, then API Keys & Webhook, and paste it into the Webhook URL field. Fill it for both test mode and live mode.
  3. Save. There is no secret to copy back: Paystack signs every notification with the secret key already entered on the Credentials pill, and Off The Couch verifies that signature automatically.

Paystack allows one webhook URL per account and mode. If the field already holds an address another system depends on, for example an online store on the same Paystack account, leave it: that system would silently stop receiving confirmations. Bookings still confirm through the checkout itself; the webhook is a safety net.

Set up Apple Pay on embedded booking pages

Apple Pay can be offered in the Paystack checkout on booking pages embedded on your own website. It appears for visitors using Safari or an iPhone; everyone else sees the regular card flow. Apple verifies the website the customer is on, so the setup happens on your domain and in your Paystack dashboard. Keep Apple Pay switched off in Paystack until every step is done, or customers see a button that cannot complete.

  1. Confirm the prerequisites with Paystack: international payments enabled and the Apple Pay Platform Web Merchant Terms accepted, both under Settings > Preferences.
  2. In your Paystack dashboard (live mode), go to Settings > Apple Pay, click Add new domain and enter your website's domain exactly as customers see it in the address bar.
  3. Download the verification file and have your website team place it at https://yourdomain/.well-known/apple-developer-merchantid-domain-association, with no file extension, returning the plain file.
  4. Click Verify domain. Verification normally completes within a minute.
  5. Have your website team add allow="payment" to every iframe that embeds a booking page, including separate desktop and mobile embeds.
  6. Switch Apple Pay on under Settings > Preferences > Accept payments via, then place a small test payment from an iPhone in Safari starting from your own website, and refund it from your Paystack dashboard.

Tip: Apple Pay appears only on booking pages embedded on your verified website. Customers who follow a direct booking link see the regular card checkout.

Reference

ElementDescription
Public key, Secret keyThe credential fields, one pair per mode
Live ready, Live not setBadge on the API credentials section
Endpoint URLhttps://api.offthecouch.io/paystack-webhook, the same for every venue and mode
Signing secretNone to configure; notifications are signed with your secret key

Good to know

  • Customers see "Payment being verified", not a decline, when the browser cannot report a captured charge. The pay button stays disabled so the same charge is not paid twice, and the booking confirms on its own once the webhook notification arrives.
  • Payments the browser failed to report also appear on the Carts page under Cart errors with their outcome.
  • The webhook covers the booking site, payment links, and console card payments against an existing transaction.
  • Saved cards and card-on-file requirements are not available on Paystack.

FAQ

Q: Do I need the Paystack webhook?

A: Strongly recommended. Without it a dropped connection on mobile can leave a captured payment with no booking. Registration is one field in your Paystack dashboard.

Q: A customer paid with Paystack but the booking did not appear. What happened?

A: The customer's browser never reported the charge. With the webhook registered, the booking is confirmed automatically within about a minute of the payment. Without it, register the webhook, then create the booking by hand and apply the payment from the Paystack reference.

Something wrong or out of date?