# WooCommerce немесе OpenCart плагині істемей жатыр

> Плагин счёт жасамаса немесе тапсырыс күйі өзгермесе, тексеретін төрт нәрсе бар: кілт, режим сәйкестігі, webhook адресінің жариялығы және дүкен журналы. Қай симптом нені білдіреді.

## Қысқаша

Плагин мәселелерінің бәрі дерлік екі топқа бөлінеді. **Счёт мүлде жасалмаса** — кілт мәселесі: жоқ, қате көшірілген немесе режимге сәйкес емес. **Счёт жасалып, тапсырыс күйі өзгермесе** — webhook жетпей тұр: адрес қате, жабық немесе жария емес. Қайсысы екенін дүкеннің журналынан бірден көресіз.

Плагиндерді жүктеу: [api.qut.kz/downloads](https://api.qut.kz/downloads/). Орнату нұсқаулығы: [api.qut.kz/docs/guide/wordpress](https://api.qut.kz/docs/guide/wordpress).

## Симптом → себеп → шешім

| Симптом | Себебі | Шешімі |
|---|---|---|
| Төлем әдісі кассада мүлде көрінбейді | Плагин қосылмаған немесе валюта сәйкес емес | Плагинді қосыңыз, дүкен валютасын тексеріңіз |
| «Төлеу» батырмасы қате береді | Кілт жоқ немесе қате көшірілген | Кілтті қайта көшіріңіз, бос орындарды алып тастаңыз |
| Қате мәтінінде 401 бар | Кілт жарамсыз немесе өшірілген | [API 401 қайтарады](/kb/api-401) |
| Қате мәтінінде 403 бар | Scope жетпейді немесе тариф белсенді емес | [API 403 қайтарады](/kb/api-403) |
| Счёт жасалады, бірақ клиентке келмейді | Тест кілті қойылған | [Тест режимі қосулы қалып қойған](/kb/test-mode-forgotten) |
| Клиент төледі, тапсырыс «күтілуде» күйінде | Webhook жетпей тұр | Webhook адресін тексеріңіз |
| Кейбір тапсырыс өтеді, кейбірі жоқ | Webhook адресі тұрақсыз немесе кэш қабаты бөгеп тұр | Журналды қараңыз |

## 1. Кілт дұрыс па

Плагиннің баптауындағы кілт — ең жиі кездесетін себеп.

- **Толық көшірілген бе.** Кілт `qp_live_` немесе `qp_test_` деп басталады. Басы немесе соңы қиылып қалса, 401 келеді.
- **Артық бос орын бар ма.** Көшіргенде соңына бос орын немесе жаңа жол ілесіп кетеді, оны көзбен көру қиын. Өрісті тазалап, қайта қойыңыз.
- **Кілт әлі бар ма.** Кабинетте ол кілт жойылған немесе өшірілген болуы мүмкін.
- **Scope жеткілікті ме.** Плагинге кем дегенде `invoices:write` және `invoices:read` керек, қайтаруды қоссаңыз `refunds:write` да керек.

Кілт дұрыс екенін тексерудің ең жылдам жолы — дүкеннен тыс, серверден бір сұрау жіберіп көру. Ол істесе, мәселе плагинде емес, баптаудағы мәтінде.

## 2. Режимге сәйкес пе

Екі жақта екі баптау бар және олар **бір-біріне сәйкес келуі керек**:

| Кабинеттегі режим | Плагиндегі кілт | Нәтиже |
|---|---|---|
| Live | `qp_live_…` | Нақты төлем, бәрі дұрыс |
| Sandbox | `qp_test_…` | Тест, нақты ақша жүрмейді |
| Live | `qp_test_…` | Тест счёттар, клиентке ештеңе келмейді |
| Sandbox | `qp_live_…` | Қате немесе күтпеген мінез |

Нақты дүкен sandbox-та қалып қойса, счёттар жасалып жатады, тапсырыстар түседі, ал ақша келмейді. Белгілері мен көшу реті: [Тест режимі қосулы қалып қойған](/kb/test-mode-forgotten).

## 3. Webhook адресі жария ма

Тапсырыс күйі өзгермесе, дерлік әрқашан себебі осы. Плагин счёт жасай алады, бірақ төлем туралы хабарды ала алмайды.

Тексерілетін нәрселер:

- **HTTPS және нақты домен.** Продакшенде тек `https`, IP-мекенжай мен уақытша туннель адрестері қабылданбайды.
- **Адрес авторизациясыз ашық.** Егер сайтта «құрылыс жүріп жатыр» паролі, Basic Auth, «тек тіркелгендерге» ережесі тұрса, webhook жетпейді.
- **Қорғаныс қабаттары бөгеп тұрған жоқ па.** Cloudflare, ModSecurity, фаервол, «боттарды бөгеу» ережелері сырттан келген POST сұрауды тастауы мүмкін.
- **Қайта бағыттау.** 307/308 тек сол адрестің өзіне (http→https, қиғаш сызық) ұсталады. Басқа домендегі жерге апаратын қайта бағыттау ұсталмайды.
- **Кэш.** Толық бет кэші webhook адресіне тимеуі керек.

Егер сіздің жауабыңыз 2xx болмаса, жеткізу **11 рет қайталанады** (10 секундтан бір сағатқа дейін өсіп отырады). Яғни уақытша ақау болса, тапсырыстар кейін өз-өзінен өтуі мүмкін.

Толық диагностика: [Webhook келмей жатыр](/kb/webhook-not-arriving).

## 4. Дүкен журналын оқыңыз

Журнал — ең нақты дерек көзі, болжам емес.

- **WooCommerce:** WooCommerce → Күй → Журналдар. Плагин өз жазбаларын сонда қалдырады.
- **OpenCart:** Есептер → Қателер журналы, сондай-ақ сервердің PHP қате журналы.
- Кабинеттегі **Интеграциялар** бөлімінде webhook жеткізулерінің журналы бар: не жіберілді, қандай жауап келді.

Екі журналды салыстырыңыз. Біздің жақта жіберілген, ал дүкенде түспеген болса — мәселе дүкенге кірер жолда (фаервол, авторизация, кэш). Біздің жақта мүлде жіберілмеген болса — webhook адресі қосылмаған немесе оқиға түрі таңдалмаған.

## Орнату мен нұсқаулық

Плагин мен кеңейтудің дұрыс нұсқасын жүктеп алыңыз: [api.qut.kz/downloads](https://api.qut.kz/downloads/). Егер сайтта ескі нұсқа тұрса, алдымен жаңартып көріңіз — кейбір мәселелер сонда шешіліп қойған.

Қадамдап орнату: [api.qut.kz/docs/guide/wordpress](https://api.qut.kz/docs/guide/wordpress). Баптау мен тапсырыс күйлерінің сәйкестігі: [WooCommerce плагині](/kb/woocommerce), [OpenCart 4 кеңейтуі](/kb/opencart).

## Жиі қойылатын сұрақтар

**Плагин жұмыс істеп тұрғанын қалай тексеремін?** Кабинетті sandbox режиміне қойып, плагинге тест кілтін беріңіз де, бір тапсырыс жасаңыз. Счёт пайда болса және төлемді симуляциялағанда тапсырыс күйі өзгерсе — тізбек толық жұмыс істеп тұр.

**Тапсырыс күйі қайтарудан кейін өзгере ме?** Ол плагиннің баптауына байланысты. Қайтару үшін кілтке `refunds:write` құқығы керек.

**Локалды серверде (localhost) сынауға бола ма?** Счёт жасауға болады, бірақ webhook жетпейді: сыртқы адресі жоқ серверге хабарлама келмейді. Сынауды жария адресі бар ортада жүргізіңіз.

**Плагинді ауыстырсам, ескі тапсырыстар жоғала ма?** Жоқ. Тапсырыстар дүкенде қалады, счёттар бізде қалады.

**Екі дүкенге бір кілт беруге бола ма?** Болады, бірақ дұрысы — әр дүкенге бөлек кілт. Сонда біреуі бұзылса, екіншісіне тимейді әрі есепті бөлек жүргізуге ыңғайлы.
