How to Automate Paystack to Google Sheets (Step-by-Step for Businesses)
Introduction
If you take payments with Paystack, you already know the pain.
Every week (or every day if you are serious), you log into your Paystack dashboard, click “Export,” download a CSV, open it, clean it, then paste it into your reporting spreadsheet. Maybe you forward some of it to your accountant. Maybe you reconcile it with your orders. Maybe you calculate how much to pay in tax.
Now imagine if every successful Paystack payment landed in your Google Sheet automatically, the moment it happened, with the customer name, email, amount, reference, and product — no downloads, no copy-paste, no delays.
That is exactly what we are going to build in this post. And it takes about 20 minutes.
What You Will Need
- A Paystack account (live or test keys)
- A Google account with a Google Sheet ready
- An n8n account (free self-hosted or cloud trial)
That is the entire stack. Total monthly cost: ₦0 if you self-host n8n.
Step 1: Prepare Your Google Sheet
Create a new Google Sheet called “Paystack Payments Live” with these column headers in Row 1:
Date | Customer Name | Email | Amount (₦) | Reference | Status | Channel | Product
Keep it open — we will connect it in a minute.
Step 2: Create a Webhook in n8n
In your n8n dashboard, create a new workflow and add a Webhook node as the trigger. Set the method to POST and copy the production URL n8n gives you. It will look something like:
https://your-n8n.com/webhook/paystack-payment
This is the URL Paystack will call every time a payment happens.
Step 3: Register the Webhook in Paystack
Log into your Paystack dashboard, go to Settings → API Keys & Webhooks, and paste the n8n webhook URL into the “Webhook URL” field. Save.
From this moment on, every successful charge, failed transaction, or refund on your account will POST data to your n8n workflow in real time.
Step 4: Filter for Successful Charges Only
Back in n8n, add an IF node after the webhook. Set the condition to:
{{$json["event"]}} equals charge.success
This makes sure you only log actual completed payments, not failed attempts or test pings.
Step 5: Extract the Data You Care About
Add a Set node (or use expressions directly) to pull the fields you need out of Paystack’s webhook payload:
- Date:
{{$json["data"]["paid_at"]}} - Customer Name:
{{$json["data"]["customer"]["first_name"]}} {{$json["data"]["customer"]["last_name"]}} - Email:
{{$json["data"]["customer"]["email"]}} - Amount:
{{$json["data"]["amount"] / 100}}(Paystack sends amounts in kobo — divide by 100 for naira) - Reference:
{{$json["data"]["reference"]}} - Status:
{{$json["data"]["status"]}} - Channel:
{{$json["data"]["channel"]}} - Product:
{{$json["data"]["metadata"]["product_name"]}}(if you pass metadata when initializing payments)
Step 6: Append to Google Sheets
Add a Google Sheets node, authenticate with your Google account, select your “Paystack Payments Live” sheet, and choose the Append Row operation. Map each column to the matching variable from Step 5.
Step 7: Activate the Workflow
Click Activate in the top right of n8n. That is it. You are done.
From now on, every single Paystack payment — whether it comes from your website, your payment link, or your checkout — will flow into your Google Sheet in real time.
Bonus Automations to Stack on Top
Once you have this base flow running, you can extend it in minutes:
- Daily revenue summary on WhatsApp: At 8am every morning, n8n reads yesterday’s rows and sends you the total on WhatsApp
- Instant alert for large payments: When any single payment is above ₦100,000, send an immediate WhatsApp notification
- Auto-issue receipts: Generate a branded PDF receipt and email it to the customer the moment their payment clears
- Accountant copy: Forward every payment summary to your accountant’s email weekly or monthly
- Failed payment follow-up: Detect failed charges and automatically send the customer a retry link
Each of these is another 10 to 30 minutes of work inside the same n8n workflow.
Why This Matters for Your Business
Manual payment tracking is not just annoying — it is expensive. It costs you hours every week, introduces human error into your accounting, delays your decisions, and makes tax season a nightmare.
A 20-minute automation replaces all of that permanently. Once built, it runs forever. No babysitting. No CSV exports. No forgotten entries.
Want This Built for You — Along With a Full Accounting Automation?
If Paystack is only one of the tools you use (maybe you also have Flutterwave, WooCommerce, Shopify, or invoices from Wave) and you want everything flowing into one clean reporting dashboard automatically, this is one of the most common projects I build for Nigerian businesses.
👉 Request your free automation plan and I will map out exactly how to connect your entire payment stack.