Checkout Options
ZevPay Checkout gives you three ways to collect a payment. They all settle to the same account, support the same payment methods, and emit the same webhooks. The difference is where the checkout runs and who creates the session.
Pick one based on how much of the flow you want to own.
The three options
| Option | Where it runs | Who creates the session | API key | Best for |
|---|---|---|---|---|
| Inline Checkout | A modal on your own page | The browser SDK, for you | Public (pk_) | Vanilla JS, jQuery, and single-page apps that want the customer to stay on the page |
| Standard Checkout | A page we host | Your server, before redirect | Secret (sk_) to create, then a redirect | Server-rendered stores, carts, and email or SMS payment links |
| Invoice Checkout | A hosted, tokenised invoice page | Your server, via the invoice API | Secret (sk_) | Itemised billing, due dates, and partial payments |
How to choose
Choose Inline if you want the customer to stay on your page and you would rather not run a server step. The SDK creates the session with your public key and renders a modal. You handle the result in JavaScript callbacks.
Choose Standard if you already have a backend and want us to host the payment page. Your server creates the session with your secret key, you redirect the customer to the returned URL, and they come back to your callback_url with the result.
Choose Invoice if you need line items, tax, a due date, or the option for a customer to pay in parts. You create the invoice on your server and share the returned payment_url. The customer pays on a hosted page that doubles as a receipt after payment.
What they share
Regardless of the option you pick:
- Amounts are in kobo. 100 kobo is 1 Naira. An amount of
500000is ₦5,000.00. - Payment methods are bank transfer and ZevPay ID by default. See Payment Methods for how availability is decided.
- Verification is server-side. Never treat a client callback or redirect as proof of payment on its own. Confirm every payment from your server before you fulfil an order. See Payment Lifecycle.
- Webhooks notify your server of every status change. See Webhook Events.