Руководство по тестированию интеграции
Содержание
- Авторизация
- Быстрый старт
- Как работает demo-режим
- Тестовые карты
- Справочник ошибок
- Примеры запросов и ответов
- FAQ
Авторизация
Для авторизации используется Basic Auth. В заголовке Authorization передайте строку login:password, закодированную в Base64. Этот же login укажите в поле merchantId в теле запроса.
Быстрый старт
3 шага, чтобы начать тестирование:
Шаг 1. Создайте платёж
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15curl --location 'https://ecommerce.pult24.kz/payment/create' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic YOUR_API_KEY' \ --data '{ "merchantId": "YOUR_LOGIN", "demo": true, "orderID": "test_order_123", "description": "Тестовый платеж", "amount": 1000, "currency": "KZT", "type": 0, "customerData": { "login": "77007777777" } }'
В ответ придёт ссылка на платёжную страницу:
1 2 3 4{ "url": "https://ecommerce.pult24.kz/payment/view?id=pay_789", "id": "pay_789" }
Шаг 2. Перейдите по ссылке и введите тестовую карту
На платёжной странице введите данные:
- Номер: 4111111111111111 (успешный платёж) или 4000000000000119 (ошибка)
- Срок действия: любой валидный (например, 12/29)
- CVV: любой (например, 123)
Шаг 3. Получите callback
После оплаты на ваш endpoint придёт результат. Успешный платёж - status: 2, ошибка - status: 3 с описанием в поле error. Подробные примеры callback-ов смотрите в разделе Примеры запросов и ответов.
Теперь вы можете тестировать любые сценарии из таблиц ниже.
Как работает demo-режим
| Параметр | Значение |
|---|---|
| Флаг в запросе | "demo": true |
| Окружение | Production (тот же URL) |
| Реальные списания | Нет |
| CVV и expiryDate | Любые валидные значения |
Важно: Demo-транзакции не влияют на баланс и не отображаются в финансовых отчетах.
Тестовые карты
Успешные платежи
| Номер карты | Платежная система |
|---|---|
| 4111111111111111 | Visa |
| 5555555555554444 | MasterCard |
Ошибки платежей
| Номер карты | Ошибка |
|---|---|
| 4000000000000119 | Платеж отклонен |
| 4000000000000127 | Срок действия карты истёк |
| 4000000000000135 | Проверьте данные карты или используйте другую карту |
| 4000000000000150 | Превышен лимит по сумме транзакции |
Ошибки выплат
| Номер карты | Ошибка |
|---|---|
| 4000000000000002 | Недостаточно средств |
| 4000000000000143 | Не удалось заблокировать средства |
Справочник ошибок
Ошибки платежей
| Ошибка | Причина | Что делать |
|---|---|---|
| Платеж отклонен | Банк отклонил операцию без указания конкретной причины. Возможные причины: подозрение на мошенничество, нетипичная активность, географические или технические ограничения | Рекомендовать клиенту обратиться в свой банк или использовать другую карту |
| Срок действия карты истёк | Карта просрочена. Банк автоматически отклоняет любые операции по такой карте | Рекомендовать клиенту использовать карту с актуальным сроком действия |
| Проверьте данные карты или используйте другую карту | Введенные данные карты некорректны или карта не может быть использована для данного типа операций. Возможные причины: ошибка в номере карты, неверный CVV, карта заблокирована, карта не поддерживает онлайн-покупки или данный тип валюты | Рекомендовать клиенту перепроверить введенные данные, убедиться что карта активна и разрешены онлайн-покупки, или использовать другую карту |
| Превышен лимит по сумме транзакции | Сумма операции превышает установленные лимиты на онлайн-покупки. Лимиты могут быть разных типов: суточный, месячный, лимит на одну операцию. Устанавливаются банком или самим держателем карты в мобильном приложении банка | Рекомендовать клиенту проверить и при необходимости увеличить лимиты в приложении банка или использовать другую карту |
| Срок жизни платежа истек | Пользователь не завершил оплату в отведенное время. Платеж автоматически отменяется | Сообщить клиенту об ограничении по времени и предложить повторить оплату |
Ошибки выплат
| Ошибка | Причина | Что делать |
|---|---|---|
| Недостаточно средств для проведения операции | Недостаточно средств на вашем балансе для проведения выплаты клиенту | Пополнить счет и повторить операцию |
| Не удалось заблокировать денежные средства | Временная техническая ошибка на стороне платежной системы Kassa24 Business при блокировке средств | Повторить операцию позже или обратиться в техническую поддержку Kassa24 Business |
Примеры запросов и ответов
Создание платежа (type = 0)
Запрос:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15curl --location 'https://ecommerce.pult24.kz/payment/create' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic YOUR_API_KEY' \ --data '{ "merchantId": "YOUR_LOGIN", "demo": true, "orderID": "test_order_123", "description": "Тестовый платеж", "amount": 1000, "currency": "KZT", "type": 0, "customerData": { "login": "77007777777" } }'
Ответ:
1 2 3 4{ "url": "https://ecommerce.pult24.kz/payment/view?id=pay_789", "id": "pay_789" }
После перехода по ссылке пользователь может провести платёж, введя тестовые данные карты.
Успешный callback (карта 4111111111111111):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21{ "status": 2, "ID": "pay_789", "amount": "10.00", "fullAmount": "10.00", "fix": true, "date": "2025-12-24 11:12:25.645698893 +0600 +06", "description": "Тестовый платеж", "contragentName": "Аккаунт для тестов", "merchantName": "Тестовый мерчант для проверки статуса", "merchantBIN": "777777777777", "phone": "", "email": "", "paymentType": 0, "acquirings": [], "returnURL": "", "isDemo": true, "error": "", "hideCommission": true, "orderID": "test_order_123", }
Сallback с ошибкой (карта 4000000000000127):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22{ "status": 3, "ID": "pay_789", "account": "", "amount": "10.00", "fullAmount": "10.00", "fix": true, "date": "2025-12-24 11:15:25.645698893 +0600 +06", "description": "Тестовый платеж", "contragentName": "Аккаунт для тестов", "merchantName": "Тестовый мерчант для проверки статуса", "merchantBIN": "777777777777", "phone": "", "email": "", "paymentType": 0, "acquirings": [], "returnURL": "", "isDemo": true, "error": "Срок действия карты истёк", "hideCommission": true, "orderID": "test_order_123", }
FAQ
Нужен ли отдельный API-ключ для тестирования?
Нет, используйте ваш обычный ключ с флагом demo: true.
Попадают ли demo-транзакции в отчеты?
Нет, они не влияют на статистику и баланс.
Можно ли тестировать 3D Secure?
В demo-режиме 3D Secure не эмулируется. При проведении реального платежа банк может запросить 3D Secure в зависимости от настроек карты и терминала.
Сколько тестовых запросов можно отправить?
Ограничений на количество тестовых запросов нет.