Checkout / Standard

Redirect to a ZevPay-hosted page.

ZevPay Standard is the redirect-style checkout. Build a payment URL with your API key + amount + email; send the customer there; they pay; we redirect back. No JS required on your side.

ZevPay Standard checkout - hosted page customers are redirected to
01

Pure server-side flow

Initialize a transaction on your backend, get back an authorization URL, redirect the customer. No JavaScript SDK to load, no modal to manage - works on any page that can issue an HTTP redirect.

02

Built for plain HTML & no-code

Perfect for static sites, WordPress installs without JS budget, sales pages built in tools that don't allow custom scripts. The integration is essentially: <form action="…">.

03

Returns to your callback

After payment, customer is sent back to your `callback_url` with the reference. Verify server-side with the standard verify endpoint or via webhook.

04

Same rates as Inline

No premium for the hosted experience. Bank transfer 1.4%, card 1.5% + ₦100, PayID 0.5% - identical pricing whether you use Inline or Standard.

In code

What integration looks like.

The full happy path is short. You can swap real keys in and ship to staging today.

Full Standard reference
init-transaction.sh
cURL
# 1. initialize from your backend
curl https://api.zevpaycheckout.com/v1/transactions/initialize \
  -H "Authorization: Bearer sk_live_…" \
  -d '{
    "email":        "customer@acme.ng",
    "amount":       250000,
    "callback_url": "https://acme.ng/return"
  }'

# 2. response → redirect customer to authorization_url
# 3. on return, verify the reference server-side
curl https://api.zevpaycheckout.com/v1/transactions/verify/ZVP_a1b2c3 \
  -H "Authorization: Bearer sk_live_…"

How it works

Three steps, end to end.

01

Init a transaction

POST /v1/transactions/initialize from your backend with key + amount + email.

02

Redirect the customer

Send them to the authorization_url you got back. They pay on our hosted page.

03

Return + verify

Customer redirects to your callback_url. Verify the reference server-side.

Perfect for

Built for these stacks.

WordPress + Woo

Plug-in installed, no theme edits, no JS budget needed.

Shopify storefronts

Drop our app in, the checkout becomes one click away.

No-JS sales pages

Landing pages, ad funnels, any static HTML - works out of the box.

Server-rendered apps

Rails, Django, Laravel - backend redirect, no client JS dependency.

Payment methods

Same four methods, every integration.

Whether you call us via Standard or one of the other two - your customer sees the same checkout surface and the same payment options. One KYC posture across all.

Debit / Credit Card

Visa, Mastercard, Verve

Bank Transfer

Dynamic NUBAN per checkout

ZevPay ID

Pay from any ZevPay account

ZevPay QR

Scan with the ZevPay app

Common questions

About Standard.

Can I use my own domain for the checkout page?

Custom domain support is on the roadmap. Today the hosted page is served from checkout.zevpaycheckout.com with your branding.

How do I verify the payment server-side?

GET /v1/transactions/verify/{reference} with your secret key. Always verify before fulfilling - never trust the callback URL alone.

Can I customize the hosted page's look?

Logo, button colors, and footer text are configurable in your dashboard. The page picks them up automatically.

What if my customer never returns to my callback_url?

The webhook still fires the moment we confirm payment. Backend reconciliation should be webhook-driven - callback is just for the customer's UX.

Standard integration

One API key, every integration.

Add Standard to your existing stack with the same pk_ key you already use.