Corpland Revenue

Paystack setup

Connect your Paystack account so paid plans can take money.

Revenue charges through your own Paystack account. Money settles to you directly; Revenue only keeps the record.

Connect the keys

In Paystack open Settings, API keys and webhooks and copy the test secret key (sk_test_). In Revenue open Settings, Paystack and paste it under Test mode. Revenue checks the key with Paystack before saving it and stores it encrypted. Do the same with the live key once you go live.

Add the webhook URL

Revenue shows your webhook URL in Settings. It looks like https://revenue.api.corplandtechnologies.com/webhooks/paystack/<your org id>. Paste it into the Paystack webhook field. Renewals, cancellations and failed charges reach Revenue this way; without it the first payment still works through the return page, but renewals do not.

Set your currencies

Pick the charge currency your Paystack account settles in (GHS for most Ghana accounts) and add an exchange rate for each other currency you price in. A plan priced at $15 with a rate of 15.5 is charged GHS 232.50, and the checkout shows both amounts.

Test a payment

In Test mode attach a paid plan to a test customer and open the payment_url. Pay with a Paystack test card. You land on the return page, then on your success_url, and the customer's plan and balances update.

How recurring plans work

Revenue runs the billing cycle itself; Paystack only moves the money. The first payment saves the payer's authorization. At each renewal Revenue builds the invoice (plan price, prepaid packs, pay as you go usage, extra seats, discounts) and charges that saved card with Paystack's charge authorization. The same saved card pays upgrades, extra seats and auto top ups, so none of them need a new checkout.

Checkout for a plan (new, upgrade, renewal, extra seats, saving a card) offers card only, because Paystack can charge a saved card again but not most mobile money wallets. Buying credits and other one off purchases still accept mobile money, since nothing has to be charged again. Auto top ups charge the saved card, so they need a card too. A customer with no saved card, such as someone who subscribed with mobile money before card only, gets the renewal invoice as a hosted pay link, and invoice.created fires so you can send it. Paying it by card saves the card, so the next renewal charges on its own. Unpaid renewals make the plan past due and retry on day 1, 3 and 5; after that the plan ends.

Changing a plan's price never touches Paystack. Current customers keep their version until you move them.

Subscriptions created before October 2026 renewed through Paystack plans. They keep doing so until they change plan or end.

On this page