Kaspi QR for WooCommerce

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
KZ
Kaspi QR KZ Pay
Two customer paths

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.

Payment lifecycle

From QR token to WooCommerce order result

The plugin avoids browser-side secrets and relies on server-side verification before completing an order.

  1. 1

    Order is created

    WooCommerce creates the order and redirects the customer to the protected KZ Pay payment page.

  2. 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. 3

    Customer confirms payment

    Kaspi handles the customer authorization. The WordPress site keeps polling for the provider status.

  4. 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.

Reliability checks

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.

Next step

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