{"id":2156,"date":"2026-09-02T10:38:08","date_gmt":"2026-09-02T10:38:08","guid":{"rendered":"https:\/\/group-starlight.com\/?page_id=2156"},"modified":"2026-09-03T09:33:43","modified_gmt":"2026-09-03T09:33:43","slug":"connect-kaspi-pay-to-woocommerce","status":"publish","type":"page","link":"https:\/\/group-starlight.com\/ru\/guides\/connect-kaspi-pay-to-woocommerce\/","title":{"rendered":"KZ Pay &#8211; WooCommerce Integration Guide"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><div class=\"vc_row wpb_row vc_row-fluid\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\">\t\t<article class=\"kz-pay-page kz-pay-page--integration kz-pay-page--auto kz-pay-page--guide\" aria-labelledby=\"kz-pay-integration-title\">\r\n\t\t\t<div class=\"kz-pay-page__orb kz-pay-page__orb--one\" aria-hidden=\"true\"><\/div>\r\n\t\t\t<div class=\"kz-pay-page__orb kz-pay-page__orb--two\" aria-hidden=\"true\"><\/div>\r\n\r\n\t\t\t<div class=\"kz-pay-page__container\">\r\n\t\t\t\t\t\t<header class=\"kz-guide__header\">\r\n\t\t\t<a class=\"kz-guide__breadcrumb\" href=\"\/ru\/guides\/\">\r\n\t\t\t\t<svg class=\"kz-pay-page__arrow\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 18 18\"><path d=\"M4 9h9M10 5l4 4-4 4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\tGuides\t\t\t<\/a>\r\n\t\t\t<p class=\"kz-pay-page__eyebrow\">WooCommerce Kaspi Pay guide<\/p>\r\n\t\t\t<h1 id=\"kz-pay-integration-title\">How to Connect Kaspi Pay to WooCommerce<\/h1>\r\n\t\t\t<p class=\"kz-guide__intro\">Learn what you need before setup, how Kaspi QR and payment links work in WooCommerce, and how to test payment status before going live.<\/p>\r\n\t\t\t<div class=\"kz-pay-page__actions\">\r\n\t\t\t\t\t\t<a class=\"kz-pay-page__button kz-pay-page__button--primary\" href=\"#kz-pay-integration-title-setup\">\r\n\t\t\t\t\t\t<span>Start the setup guide<\/span>\r\n\t\t\t\t\t\t\t<svg class=\"kz-pay-page__arrow\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 18 18\"><path d=\"M4 9h9M10 5l4 4-4 4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t<a class=\"kz-pay-page__button kz-pay-page__button--purchase\" href=\"\/ru\/products\/kz-pay\/\">\r\n\t\t\t\t\t\t<span>Explore KZ Pay<\/span>\r\n\t\t\t\t\t\t\t<svg class=\"kz-pay-page__arrow\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 18 18\"><path d=\"M4 9h9M10 5l4 4-4 4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t<a class=\"kz-pay-page__button kz-pay-page__button--resource\" href=\"\/ru\/guides\/kaspi-qr-woocommerce\/\">\r\n\t\t\t\t\t\t\t<span class=\"kz-pay-page__button-icon\"><svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 24 24\"><path d=\"M7 3.5h7l4 4V20H7a2 2 0 0 1-2-2V5.5a2 2 0 0 1 2-2Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linejoin=\"round\"\/><path d=\"M14 3.5v5h4M9 12h6M9 15.5h6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/><\/svg><\/span>\r\n\t\t\t\t\t\t<span>Kaspi QR guide<\/span>\r\n\t\t\t\t\t\t\t<svg class=\"kz-pay-page__arrow\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 18 18\"><path d=\"M4 9h9M10 5l4 4-4 4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/header>\r\n\r\n\t\t<div class=\"kz-guide__layout\">\r\n\t\t\t<aside class=\"kz-guide__contents\">\r\n\t\t\t\t<div class=\"kz-guide__contents-desktop\">\r\n\t\t\t\t\t<p class=\"kz-guide__contents-title\">On this page<\/p>\r\n\t\t\t\t\t\t\t<nav aria-label=\"On this page\">\r\n\t\t\t<ol>\r\n\t\t\t\t\t\t\t\t\t<li><a class=\"kz-guide__contents-link\" href=\"#kz-pay-integration-title-preflight\">Before you start<\/a><\/li>\r\n\t\t\t\t\t\t\t\t\t<li><a class=\"kz-guide__contents-link\" href=\"#kz-pay-integration-title-setup\">Setup path<\/a><\/li>\r\n\t\t\t\t\t\t\t\t\t<li><a class=\"kz-guide__contents-link\" href=\"#kz-pay-integration-title-payments\">Payment flow<\/a><\/li>\r\n\t\t\t\t\t\t\t\t\t<li><a class=\"kz-guide__contents-link\" href=\"#kz-pay-integration-title-troubleshooting\">Troubleshooting<\/a><\/li>\r\n\t\t\t\t\t\t\t\t\t<li><a class=\"kz-guide__contents-link\" href=\"#kz-pay-integration-title-faq\">FAQ<\/a><\/li>\r\n\t\t\t\t\t\t\t<\/ol>\r\n\t\t<\/nav>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<details class=\"kz-guide__contents-mobile\">\r\n\t\t\t\t\t<summary>On this page<\/summary>\r\n\t\t\t\t\t\t\t<nav aria-label=\"On this page\">\r\n\t\t\t<ol>\r\n\t\t\t\t\t\t\t\t\t<li><a class=\"kz-guide__contents-link\" href=\"#kz-pay-integration-title-preflight\">Before you start<\/a><\/li>\r\n\t\t\t\t\t\t\t\t\t<li><a class=\"kz-guide__contents-link\" href=\"#kz-pay-integration-title-setup\">Setup path<\/a><\/li>\r\n\t\t\t\t\t\t\t\t\t<li><a class=\"kz-guide__contents-link\" href=\"#kz-pay-integration-title-payments\">Payment flow<\/a><\/li>\r\n\t\t\t\t\t\t\t\t\t<li><a class=\"kz-guide__contents-link\" href=\"#kz-pay-integration-title-troubleshooting\">Troubleshooting<\/a><\/li>\r\n\t\t\t\t\t\t\t\t\t<li><a class=\"kz-guide__contents-link\" href=\"#kz-pay-integration-title-faq\">FAQ<\/a><\/li>\r\n\t\t\t\t\t\t\t<\/ol>\r\n\t\t<\/nav>\r\n\t\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t<div class=\"kz-guide__product-prompt\">\r\n\t\t\t<h3>Ready to use KZ Pay?<\/h3>\r\n\t\t\t<p>Open the product page for pricing, trial and Buy Now options.<\/p>\r\n\t\t\t\t\t<a class=\"kz-pay-page__button kz-pay-page__button--secondary\" href=\"\/ru\/products\/kz-pay\/\">\r\n\t\t\t\t\t\t<span>View product and pricing<\/span>\r\n\t\t\t\t\t<\/a>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/aside>\r\n\t\t\t<div class=\"kz-guide__article\">\r\n\t\t<section id=\"kz-pay-integration-title-preflight\" class=\"kz-pay-page__section\">\r\n\t\t\t\t\t\t<header class=\"kz-pay-page__section-header\">\r\n\t\t\t<span class=\"kz-pay-page__kicker\">Before you start<\/span>\r\n\t\t\t<h2>What you need before connecting Kaspi Pay<\/h2>\r\n\t\t\t<p>Start with merchant access and store readiness. Most failed setups come from missing Kaspi Pay credentials, the wrong store currency or an unregistered store.<\/p>\r\n\t\t<\/header>\r\n\t\t\t\t\t\t\t\t<article class=\"kz-pay-page__check-panel kz-pay-page__check-panel--default\">\r\n\t\t\t<h3>Setup checklist<\/h3>\r\n\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 20 20\"><path d=\"M4 10.4l3.6 3.6L16 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t\t<span>WooCommerce is installed and active.<\/span>\r\n\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 20 20\"><path d=\"M4 10.4l3.6 3.6L16 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t\t<span>The store currency is set to KZT.<\/span>\r\n\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 20 20\"><path d=\"M4 10.4l3.6 3.6L16 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t\t<span>The production website uses HTTPS.<\/span>\r\n\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 20 20\"><path d=\"M4 10.4l3.6 3.6L16 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t\t<span>The merchant has Kaspi Pay access for online payments.<\/span>\r\n\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 20 20\"><path d=\"M4 10.4l3.6 3.6L16 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t\t<span>A Kaspi Pay API key is available.<\/span>\r\n\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 20 20\"><path d=\"M4 10.4l3.6 3.6L16 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t\t<span>At least one Kaspi trade point is available for checkout payments.<\/span>\r\n\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<\/ul>\r\n\t\t<\/article>\r\n\t\t\t\t<\/section>\r\n\r\n\t\t<section id=\"kz-pay-integration-title-setup\" class=\"kz-pay-page__section\">\r\n\t\t\t\t\t<header class=\"kz-pay-page__section-header\">\r\n\t\t\t<span class=\"kz-pay-page__kicker\">Setup path<\/span>\r\n\t\t\t<h2>Connect Kaspi Pay to WooCommerce step by step<\/h2>\r\n\t\t\t<p>The exact screen labels depend on the plugin you use, but a reliable setup always follows the same path: credentials, trade point, store registration, checkout enablement and testing.<\/p>\r\n\t\t<\/header>\r\n\t\t\t\t\t\t\t<ol class=\"kz-pay-page__timeline\">\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t<span class=\"kz-pay-page__timeline-number\">1<\/span>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<h3>Confirm WooCommerce basics<\/h3>\r\n\t\t\t\t\t\t<p>Make sure WooCommerce is active, the store currency is KZT and checkout works before adding a Kaspi payment method.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t<span class=\"kz-pay-page__timeline-number\">2<\/span>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<h3>Install the WooCommerce integration<\/h3>\r\n\t\t\t\t\t\t<p>Install and activate the payment plugin, then complete any license or trial activation required by the plugin.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t<span class=\"kz-pay-page__timeline-number\">3<\/span>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<h3>Add the Kaspi Pay API key<\/h3>\r\n\t\t\t\t\t\t<p>Open the plugin settings, save the production Kaspi Pay API key and run the connection test from WordPress.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t<span class=\"kz-pay-page__timeline-number\">4<\/span>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<h3>Select the trade point<\/h3>\r\n\t\t\t\t\t\t<p>Load the merchant trade points from Kaspi and choose the trade point that should receive WooCommerce checkout payments.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t<span class=\"kz-pay-page__timeline-number\">5<\/span>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<h3>Register the store<\/h3>\r\n\t\t\t\t\t\t<p>Complete store registration from the plugin settings so the WooCommerce website can create Kaspi payments.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t<span class=\"kz-pay-page__timeline-number\">6<\/span>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<h3>Enable checkout<\/h3>\r\n\t\t\t\t\t\t<p>Turn on the WooCommerce payment method only after the API key, trade point and store registration are ready.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t<span class=\"kz-pay-page__timeline-number\">7<\/span>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<h3>Test desktop QR payments<\/h3>\r\n\t\t\t\t\t\t<p>Place a controlled KZT test order on desktop, scan the Kaspi QR and confirm the WooCommerce order updates after the final payment result.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t<span class=\"kz-pay-page__timeline-number\">8<\/span>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<h3>Test mobile payment links<\/h3>\r\n\t\t\t\t\t\t<p>Place a controlled mobile test order and confirm that the payment link opens Kaspi correctly on the same device.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/li>\r\n\t\t\t\t\t<\/ol>\r\n\t\t\t\t<\/section>\r\n\r\n\t\t<section id=\"kz-pay-integration-title-payments\" class=\"kz-pay-page__section\">\r\n\t\t\t\t\t<header class=\"kz-pay-page__section-header\">\r\n\t\t\t<span class=\"kz-pay-page__kicker\">Payment flow<\/span>\r\n\t\t\t<h2>What happens after the customer chooses Kaspi Pay<\/h2>\r\n\t\t\t<p>A good WooCommerce integration keeps customer payment, payment status and order update logic separate.<\/p>\r\n\t\t<\/header>\r\n\t\t\t\t\t<aside class=\"kz-guide__notice\">\r\n\t\t\t\t<span class=\"kz-pay-page__kicker\">How payments work<\/span>\r\n\t\t\t\t<h3>Creating a Kaspi QR is not payment confirmation<\/h3>\r\n\t\t\t\t<p>WooCommerce should not mark the order as paid when a QR code or payment link is created. The order should update only after the final payment result is received from Kaspi and matched to the WooCommerce order.<\/p>\r\n\t\t\t<\/aside>\r\n\t\t\t\t\t<div class=\"kz-pay-page__cards kz-pay-page__cards--two\">\r\n\t\t\t\t\t\t\t<article class=\"kz-pay-page__card\">\r\n\t\t\t\t\t<div class=\"kz-pay-page__card-icon\">\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 24 24\"><path d=\"M4 4h6v6H4V4Zm10 0h6v6h-6V4ZM4 14h6v6H4v-6Zm11 1h2v2h-2v-2Zm3 3h2v2h-2v-2Zm-4 0h2v2h-2v-2Zm4-4h2v2h-2v-2Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<h3>Desktop Kaspi QR<\/h3>\r\n\t\t\t\t\t<p>Desktop customers see a Kaspi QR code on the payment page and scan it with the Kaspi app on another device.<\/p>\r\n\t\t\t\t<\/article>\r\n\t\t\t\t\t\t\t<article class=\"kz-pay-page__card\">\r\n\t\t\t\t\t<div class=\"kz-pay-page__card-icon\">\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 24 24\"><rect x=\"7\" y=\"3\" width=\"10\" height=\"18\" rx=\"2.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\/><path d=\"M10 18h4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/><\/svg>\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<h3>Mobile payment link<\/h3>\r\n\t\t\t\t\t<p>Mobile customers should receive a payment link so they can continue in Kaspi on the same device.<\/p>\r\n\t\t\t\t<\/article>\r\n\t\t\t\t\t\t\t<article class=\"kz-pay-page__card\">\r\n\t\t\t\t\t<div class=\"kz-pay-page__card-icon\">\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 24 24\"><path d=\"M19 8a7 7 0 0 0-12-2l-2 2m0 0h5M5 16a7 7 0 0 0 12 2l2-2m0 0h-5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<h3>Payment status tracking<\/h3>\r\n\t\t\t\t\t<p>The integration should keep checking payment status until Kaspi returns a final paid, failed, cancelled or expired result.<\/p>\r\n\t\t\t\t<\/article>\r\n\t\t\t\t\t\t\t<article class=\"kz-pay-page__card\">\r\n\t\t\t\t\t<div class=\"kz-pay-page__card-icon\">\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 20 20\"><path d=\"M4 10.4l3.6 3.6L16 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<h3>WooCommerce order update<\/h3>\r\n\t\t\t\t\t<p>WooCommerce should update the order only after the final payment result is received and matched to the order amount.<\/p>\r\n\t\t\t\t<\/article>\r\n\t\t\t\t\t\t\t<article class=\"kz-pay-page__card\">\r\n\t\t\t\t\t<div class=\"kz-pay-page__card-icon\">\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 24 24\"><path d=\"M7 7a7 7 0 1 1-1.6 7.7M7 7V3M7 7H3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<h3>Testing before launch<\/h3>\r\n\t\t\t\t\t<p>Test paid, failed, expired and abandoned payment attempts before enabling the method for real customers.<\/p>\r\n\t\t\t\t<\/article>\r\n\t\t\t\t\t\t\t<article class=\"kz-pay-page__card\">\r\n\t\t\t\t\t<div class=\"kz-pay-page__card-icon\">\r\n\t\t\t\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 24 24\"><path d=\"M12 4l9 16H3L12 4Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linejoin=\"round\"\/><path d=\"M12 10v4m0 3h.01\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\/><\/svg>\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<h3>Refund workflow<\/h3>\r\n\t\t\t\t\t<p>Automatic API refunds are not available with the current Kaspi QR integration. Process the monetary refund in the Kaspi Pay app first, then record the refund in WooCommerce.<\/p>\r\n\t\t\t\t<\/article>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/section>\r\n\r\n\t\t<section id=\"kz-pay-integration-title-troubleshooting\" class=\"kz-pay-page__section\">\r\n\t\t\t\t\t<header class=\"kz-pay-page__section-header\">\r\n\t\t\t<span class=\"kz-pay-page__kicker\">Troubleshooting<\/span>\r\n\t\t\t<h2>Troubleshooting real merchant issues<\/h2>\r\n\t\t\t<p>Use these checks before escalating to technical support or changing checkout logic.<\/p>\r\n\t\t<\/header>\r\n\t\t\t\t\t<div class=\"kz-guide__disclosures\">\r\n\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Payment method not visible<\/h3><\/summary>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the store currency is KZT.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the WooCommerce payment method is enabled.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the API key, trade point and store registration are ready.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the plugin license or trial is active if the integration requires one.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Connection test fails<\/h3><\/summary>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the Kaspi Pay API key is copied without extra spaces.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Make sure the key belongs to the production merchant account used for the store.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the server can make outbound HTTPS requests.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Check whether security plugins or hosting firewall rules are blocking the request.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Trade points do not load<\/h3><\/summary>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the API key has access to the expected merchant trade points.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Re-run the connection test before loading trade points.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Ask the merchant to confirm that the trade point is active in Kaspi Pay.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Check WordPress admin notices and order logs for the returned error.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Store registration fails<\/h3><\/summary>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the production website URL uses HTTPS.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the selected trade point is correct.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Save the API key and trade point again, then retry store registration.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>If the same error repeats, contact support with the exact admin error and website URL.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Kaspi QR cannot be created<\/h3><\/summary>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the order total is greater than zero and in KZT.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm checkout readiness is complete.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Check whether the selected trade point can accept this payment type.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Review the WooCommerce order notes for the payment attempt error.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Payment remains pending<\/h3><\/summary>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Do not mark the order paid manually unless the merchant verifies the payment in Kaspi.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm WordPress cron or Action Scheduler is running.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Refresh the WooCommerce order notes to see the latest payment status.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Contact support with the order number and payment reference if the final result is not received.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Customer paid but order did not update<\/h3><\/summary>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>First verify the monetary payment in the Kaspi Pay app.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the paid amount matches the WooCommerce order total.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Check the order notes for a delayed, failed or manual-review status.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>If the payment is real, record the operational decision in WooCommerce before fulfillment.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Mobile payment link does not open<\/h3><\/summary>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Test from a real mobile browser, not only an embedded preview.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the payment link was created for the same order attempt.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Ask the customer to update or open the Kaspi app manually if the browser cannot deep-link.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Offer desktop Kaspi QR as an alternative when possible.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Payment expired<\/h3><\/summary>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Ask the customer to start a new payment attempt from WooCommerce.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Do not reuse an expired QR code or payment link.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>Confirm the old attempt remains visible in order notes.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>If expiration happens too quickly, review the merchant setup and support logs.<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\r\n\t\t<section id=\"kz-pay-integration-title-faq\" class=\"kz-pay-page__section\">\r\n\t\t\t\t\t<header class=\"kz-pay-page__section-header\">\r\n\t\t\t<span class=\"kz-pay-page__kicker\">FAQ<\/span>\r\n\t\t\t<h2>Common questions before connecting Kaspi Pay<\/h2>\r\n\t\t\t<p>Short answers for store owners and support teams. Use the dedicated QR guide for deeper QR-specific behavior.<\/p>\r\n\t\t<\/header>\r\n\t\t\t\t\t<div class=\"kz-guide__disclosures\">\r\n\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Do I need a Kaspi Pay account before connecting WooCommerce?<\/h3><\/summary>\r\n\t\t\t\t\t\t<p>Yes. WooCommerce integration requires merchant-side Kaspi Pay access, a Kaspi Pay API key and an active trade point.<\/p>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Can WooCommerce mark the order paid when a QR code appears?<\/h3><\/summary>\r\n\t\t\t\t\t\t<p>No. Creating a Kaspi QR or payment link only starts the payment attempt. WooCommerce should update the order after the final payment result is received.<\/p>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>What is a trade point?<\/h3><\/summary>\r\n\t\t\t\t\t\t<p>A trade point is the merchant location or sales point in Kaspi Pay that receives the payment for WooCommerce checkout orders.<\/p>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Do mobile customers scan a QR code on the same phone?<\/h3><\/summary>\r\n\t\t\t\t\t\t<p>Usually no. Mobile customers should use a payment link that opens Kaspi on the same device. Desktop customers can scan a Kaspi QR from another device.<\/p>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>How should I test before going live?<\/h3><\/summary>\r\n\t\t\t\t\t\t<p>Place controlled KZT orders and check successful payment, cancellation, expiration, abandoned checkout and mobile payment link behavior.<\/p>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Are automatic refunds supported?<\/h3><\/summary>\r\n\t\t\t\t\t\t<p>Automatic API refunds are not available with the current Kaspi QR integration. Process the monetary refund in the Kaspi Pay app first, then record the refund in WooCommerce.<\/p>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t\t\t<details>\r\n\t\t\t\t\t\t<summary><h3>Where can I read more about Kaspi QR behavior?<\/h3><\/summary>\r\n\t\t\t\t\t\t<p>Use the dedicated Kaspi QR guide for QR-specific payment flow details.<\/p>\r\n\t\t\t\t\t<\/details>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\r\n\t\t\t\t<section class=\"kz-pay-page__final-cta\">\r\n\t\t\t<div>\r\n\t\t\t\t<span class=\"kz-pay-page__kicker\">WooCommerce plugin option<\/span>\r\n\t\t\t\t<h2>A Ready-Made WooCommerce Integration<\/h2>\r\n\t\t\t\t<p>KZ Pay provides a maintained WooCommerce integration for Kaspi QR payments and payment links, including merchant setup, payment-status tracking and WooCommerce order updates.<\/p>\r\n\t\t\t\t\t\t\t\t\t<p class=\"kz-pay-page__price-summary\">7-day free trial. No credit card required.<\/p>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<div class=\"kz-pay-page__final-actions\">\r\n\t\t\t\t\t\t<a class=\"kz-pay-page__button kz-pay-page__button--primary\" href=\"\/ru\/products\/kz-pay\/\">\r\n\t\t\t\t\t\t<span>Explore KZ Pay<\/span>\r\n\t\t\t\t\t\t\t<svg class=\"kz-pay-page__arrow\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 18 18\"><path d=\"M4 9h9M10 5l4 4-4 4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t<a class=\"kz-pay-page__button kz-pay-page__button--secondary\" href=\"\/ru\/products\/kz-pay\/docs\/\">\r\n\t\t\t\t\t\t<span>Read KZ Pay Documentation<\/span>\r\n\t\t\t\t\t<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t\t<section class=\"kz-pay-page__disclaimer\" aria-label=\"KZ Pay disclaimer\">\r\n\t\t\t<svg class=\"kz-pay-page__icon\" aria-hidden=\"true\" focusable=\"false\" viewbox=\"0 0 22 22\"><circle cx=\"11\" cy=\"11\" r=\"8.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\/><path d=\"M11 10v5m0-8h.01\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\/><\/svg>\t\t\t<p>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.<\/p>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/article>\r\n\t\t<\/div><\/div><\/div><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"Guides WooCommerce Kaspi Pay guide How to Connect Kaspi Pay to WooCommerce Learn what you need before setup,&hellip;","protected":false},"author":2,"featured_media":0,"parent":2167,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"csco_singular_sidebar":"","csco_page_header_type":"","csco_page_load_nextpost":"","footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-2156","page","type-page","status-publish","cs-entry"],"_links":{"self":[{"href":"https:\/\/group-starlight.com\/ru\/wp-json\/wp\/v2\/pages\/2156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/group-starlight.com\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/group-starlight.com\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/group-starlight.com\/ru\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/group-starlight.com\/ru\/wp-json\/wp\/v2\/comments?post=2156"}],"version-history":[{"count":4,"href":"https:\/\/group-starlight.com\/ru\/wp-json\/wp\/v2\/pages\/2156\/revisions"}],"predecessor-version":[{"id":2202,"href":"https:\/\/group-starlight.com\/ru\/wp-json\/wp\/v2\/pages\/2156\/revisions\/2202"}],"up":[{"embeddable":true,"href":"https:\/\/group-starlight.com\/ru\/wp-json\/wp\/v2\/pages\/2167"}],"wp:attachment":[{"href":"https:\/\/group-starlight.com\/ru\/wp-json\/wp\/v2\/media?parent=2156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}