{% extends 'companies/superadmin/base.html' %} {% block content %}
Configure Monnify webhook and the daily subscription automation task.
Monnify must call this URL after every payment to automatically activate or renew a company's subscription. Without this, payments will NOT activate subscriptions automatically.
Billing Hub coordinates your Paystack accounts and dispatches payment webhooks to registered SaaS apps. Register this application in Nura Billing Hub's admin panel and configure the callback URL to the one below.
https://billing.payvo.ng/api/v1/webhook/paystack/..env file under NURA_BILLING_API_KEY.
This task must run once every day. It does 3 things:
/usr/bin/python3 or
/home/yourusername/virtualenv/swone/3.x/bin/python.
Ask your host if unsure.
How to set this up on cPanel (step by step):
Once Per Day (runs at 1:00 AM).Cron Schedule Reference (if setting time fields manually):
| Minute | Hour | Day | Month | Weekday | Meaning |
|---|---|---|---|---|---|
0 |
1 |
* |
* |
* |
Every day at 1:00 AM ✅ Recommended |
0 |
0 |
* |
* |
* |
Every day at midnight |
This task runs once every day. It does 2 things:
How to set up on cPanel (step by step):
Once Per Day or set Hour = 9, and Minute/Day/Month/Weekday = 0, *, *, * respectively.Cron Schedule Reference:
| Minute | Hour | Day | Month | Weekday | Meaning |
|---|---|---|---|---|---|
0 |
9 |
* |
* |
* |
Every day at 9:00 AM ✅ Recommended |
This task runs once every day at midnight WAT. It does 4 things:
0 23 * * * (11 PM UTC = midnight WAT) or use Once Per Day in cPanel.
How to set up on cPanel (step by step):
0, Hour = 23, Day/Month/Weekday = *.Cron Schedule (midnight WAT = 23:00 UTC):
| Minute | Hour | Day | Month | Weekday | Meaning |
|---|---|---|---|---|---|
0 | 23 | * | * | * |
Every day at 11 PM UTC (= midnight WAT) ✅ Recommended |
0 | 0 | * | * | * |
Every day at midnight UTC (= 1 AM WAT) |
What reCAPTCHA does:
Setup steps (takes ~3 minutes):
SwiftPOS Login).
app.swiftpos.ng).
For local testing also add 127.0.0.1 and localhost.
Troubleshooting:
recaptcha_enabled is ✅ ON and recaptcha_site_key is not blank.recaptcha_secret_key is correct. An empty secret key causes fail-open (graceful bypass).localhost and 127.0.0.1 to allowed domains in Google console, then use those special test keys for dev.