Как да направите предварителна проверка на ePay.bg

Защо е нужен тест преди стартиране

Сигурност. Скорост. Съответствие. Ако искате да вкарате платежен шлюз в живо, без да се случи “бум”, първата стъпка е да го подложите на стрес тест. Това е вашият щит срещу скрити фатални грешки.

Подготовка на средата

Тук влизат две неща – локален сървър и тестов акаунт от ePay. Първото е вашият “пясъчник”. Второто – без никакъв риск за реални средства, защото всички операции са в sandbox режим.

Създаване на тестов профил

Регистрирайте се в ePay.bg, изберете “Тестове”. Не се задоволявайте с обикновен акаунт – вземете “developer” достъп, иначе ще се чудите къде е проблемът.

Конфигуриране на API ключовете

Там има три кода: Public, Secret и Merchant ID. Копирайте ги в config файл. Имате ли ги в .env? Ако не, вие вече сте в задъненото кътче. Сега е моментът да ги проверите – един невалиден символ и всичко пада като късо съединение.

Проверката в действие

Запуснете скрипт, който имитира покупка. Първата заявка – иницииране на плащане. Трябва да получи 200 OK и ред с transaction_id. Ако има 4xx грешка, спирайте всичко. Сега е време за „callback“ проверка – ePay изпраща резултат към вашия endpoint.

Тестово уведомление (IPN)

Настройте URL за IPN в контролния панел на ePay. Той трябва да отговаря със статус 200 в рамките на 5 секунди. Забавяне? Това е вашият първи сигнал, че нещо не върви. Хванете ги с логове, а не с предпоставки.

Проверка на записите

Накрая сравнете транзакцията в базата с данните от ePay. Синхронните полета – amount, currency, status. Ако някое се различава, има проблем в трансформирането на данните. Това е вашият червен флаг.

Грешки, които обикновено се изпускат

Забравени SSL сертификати в тестовия домейн. Твърде строг CORS, който блокира POST заявките. Неправилни хешове при верификация на сигнатурите. Ако ползвате epaybgzalaganiya.com като референт, проверете дали DNS записите са свежи – кешът е вашият най-голям враг.

Финален щрих – автоматизирайте

Скриптове за CI/CD, които стартират тестове при всяко push-ване. Пишете малки unit тестове за validateSignature и за обработка на различни статуси. Нямате ли? Тогава вие просто ще се чудите защо в продукция се случва фаталната грешка.

И така – вземете готовия скрипт, настройте правилните ключове и пуснете тестова плащателна транзакция. Ако всичко отиде гладко, вашият шлюз е готов за реален свят. Започнете с един клик – проверете статус кода. Ако е 200, преминете към следващата стъпка – стартирайте живото изпълнение.