# OmegaPay API Задача: Интеграция платежной системы с поддержкой нескольких методов.
Рекомендация по реализации: Выполняйте интеграцию каждого платежного метода отдельно, следуя приведенным ниже пунктам.

Список требований к интеграции:
Базовая интеграция

Реализовать общую интеграцию с платежной системой (ПС).
Панель управления методами
Создать админ-панель для управления платежными методами.
Реализовать возможность создавать новые методы с указанием поля payment_method (например: basic_card, P2P-card, pix и т.д.).

Лимиты сумм
Для каждого метода должны быть настраиваемые лимиты: минимальная и максимальная сумма платежа.

Округление сумм
Реализовать функцию округления суммы платежа в зависимости от метода.
Особое внимание для P2P-платежей: Для валют, таких как гривна (UAH) и аргентинское песо (ARS), сумма должна передаваться только в целых числах. Это предотвратит проблемы с зачислением средств из-за ручного округления со стороны пользователей.

Обработка колбэков (вебхуков)
Реализовать возможность обновления статуса платежа через колбэк.

Пример сценария:
Пользователь совершает P2P-платеж, который завершается ошибкой.
Автоматически приходит вебхук со статусом DECLINE.
После ручной проверки оператором инициируется повторная отправка вебхука со статусом COMPLETED.
При получении статуса COMPLETED баланс пользователя должен пополниться автоматически.

Экранирование данных
Реализовать экранирование имени владельца карты, которое передается в вебхуке. Это необходимо для корректной обработки имен с особыми символами (например, греческими).

Процесс тестирования
Категорически рекомендуется выполнить полную реализацию и тестирование на дев-стендах.
После успешного тестирования необходимо проверить работоспособность на продакшн-среде.
Version: 1.0.106 License: Apache 2.0 ## Servers Sandbox ``` https://CONTACT_YOUR_MANAGER ``` Production ``` https://CONTACT_YOUR_MANAGER ``` ## Security ### BearerAuth The client sends HTTP requests with the Authorization header that contains the word Bearer followed by a space and the Shop Api Key. Type: http Scheme: bearer ### SignatureAuth HMAC-SHA256 hash generated from JSON body using Shop Signing Key as a secret. **PHP Example for signature verification:** ```php protected function checkSignature(): bool { $signKey = 'YOUR_SHOP_SIGNING_KEY'; $data = file_get_contents('php://input'); $sign = $this->request->getHeader('signature'); $generateSign = hash_hmac('sha256', $data, $signKey); if ($sign != $generateSign) { return false; } return true; } ``` **How it works:** 1. Get the raw request body using `file_get_contents('php://input')` 2. Get the `Signature` header from the request 3. Generate HMAC-SHA256 hash using your Shop Signing Key as secret 4. Compare the generated signature with the received signature Type: apiKey In: header Name: Signature ## Download OpenAPI description [OmegaPay API](https://docs.omegapay.tech/_bundle/openapi.yaml) ## Payments Payments API ### Create payment - [POST /api/v1/payments](https://docs.omegapay.tech/openapi/payments/createpayment.md): Payment request, used for DEPOSITS, WITHDRAWALS and REFUNDS ### Find payment - [GET /api/v1/payments/{id}](https://docs.omegapay.tech/openapi/payments/getpayment.md): Find payment by Id ### Payment processing completed - [POST paymentq](https://docs.omegapay.tech/openapi/payments/publishpaymentfinalizedevent.md): Publish details of a new processed payment.