How Kaspi QR payments work in WooCommerce with KZ Pay
KZ Pay gives WooCommerce stores a buyer-friendly Kaspi payment page with QR checkout for desktop sessions and payment links for mobile sessions.
- QR token
- Mobile payment link
- Status polling
QR on desktop, payment link on mobile
KZ Pay creates one provider payment attempt per selected channel and keeps the buyer on a protected WooCommerce payment page.
Desktop QR flow
The customer opens checkout on desktop, sees a Kaspi QR code and scans it with the Kaspi mobile app.
Mobile payment-link flow
The customer opens checkout on mobile and continues through a Kaspi-hosted payment link instead of scanning the same screen.
Provider timing rules
The payment attempt follows activation, confirmation and polling intervals returned by Kaspi.
From QR token to WooCommerce order result
The plugin avoids browser-side secrets and relies on server-side verification before completing an order.
-
1
Order is created
WooCommerce creates the order and redirects the customer to the protected KZ Pay payment page.
-
2
QR token or payment link is requested
The plugin sends the order amount and metadata to Kaspi through the Kaspi Public QR API Scheme 1 endpoint.
-
3
Customer confirms payment
Kaspi handles the customer authorization. The WordPress site keeps polling for the provider status.
-
4
WooCommerce is updated
Processed completes the order after validation. Failed, cancelled or expired states stay visible and can be retried.
Designed for a clear checkout decision
Customers choose the payment channel, see the active state and receive a retry path if the provider attempt expires or fails.
What protects the store from false completion
KZ Pay keeps completion conservative so the WooCommerce order is not marked paid from an incomplete provider response.
Completion checks
- Only Processed is treated as paid.
- Paid amount must match the WooCommerce order total.
- A provider transaction identifier is required.
- Local completion retries run before manual review is required.
Security boundaries
- API key is never exposed to the browser.
- Device token is stored encrypted.
- Payment page access is protected by WooCommerce order access checks.
- Payment links are accepted only from Kaspi hostnames.
Known limits
- No webhooks in the current plugin.
- No automatic refunds through Scheme 1.
- No currencies outside KZT.
- No Kaspi Shop marketplace checkout features.
KZ Pay is independently developed by Group Starlight and is not affiliated with, endorsed by, sponsored by, or an official product of Kaspi.kz. Kaspi and related trademarks belong to their respective owners.
Plan the checkout flow before launch
Use the integration guide for setup details and keep this QR guide available for store operators and support staff.
Support: support@group-starlight.com