PayShark.io для интернет-магазинов: полная интеграция Merchant API с примерами кода и обработка колбэков

PayShark.io для интернет-магазинов: полная интеграция Merchant API с примерами кода и обработка колбэков

Интеграция платежного шлюза в интернет-магазин — одна из самых важных технических задач для любого e-commerce проекта. От того, насколько правильно настроен прием платежей, зависит конверсия, лояльность клиентов и выручка бизнеса. PayShark.io предлагает мерчантам гибкий API для интеграции, который позволяет принимать платежи от клиентов через десятки платежных методов, включая переводы на карты банков России, Казахстана, Беларуси и других стран. В этой статье подробно разберем, как подключить PayShark.io к интернет-магазину, используя Merchant API, и покажем реальные примеры кода.

PayShark.io — это P2P-платформа, которая объединяет мерчантов, трейдеров и клиентов в единую экосистему. Мерчант создает сделку через API, система подбирает подходящие реквизиты оплаты, а клиент переводит средства напрямую на указанные реквизиты. Никаких посредников, никаких скрытых комиссий — только прямой P2P-перевод.

Начало работы с API PayShark

Перед интеграцией необходимо зарегистрироваться в системе PayShark и получить доступ к админке. В разделе «Интеграция» находится уникальный Access-Token для аутентификации всех API-запросов и merchant_id — идентификатор магазина.

Базовый URL для запросов: https://payshark.eu. Все запросы выполняются по HTTPS с обменом данными в формате JSON. Каждый запрос содержит обязательные заголовки:

Accept: application/json
Access-Token: ваш_токен

Дополнительно можно указать заголовок X-Max-Wait-Ms, задающий максимальное время ожидания ответа. Минимальное значение 1000 миллисекунд. При превышении сервер возвращает ответ 504.

Доступные валюты и платежные методы

Первый шаг — изучение доступных валют через GET /api/currencies. Метод возвращает список валют с точностью, символом и названием. Например: rub (российский рубль, precision 2, символ ₽), kzt (казахстанский тенге, символ ₸), byn (белорусский рубль, символ Br).

Следующий шаг — получение списка платежных методов через GET /api/payment-gateways. Каждый метод содержит название банка, код, минимальный и максимальный лимиты, время резервирования, типы реквизитов и комиссии. Например, для Сбербанка: min_limit 1000, max_limit 500000, reservation_time 10 минут, detail_types card, account_number, phone, комиссия сервиса 10 процентов.

Создание сделки через Merchant API

Для создания сделки используется POST-запрос к /api/merchant/order:

curl -X POST 'https://payshark.eu/api/merchant/order' -H 'Accept: application/json' -H 'Access-Token: {token}' -d 'merchant_id=MERCHANT_UUID' -d 'external_id=123' -d 'amount=1000' -d 'payment_gateway=sberbank' -d 'payment_detail_type=card' -d 'callback_url=https://merchant.example/callback'

Параметры: merchant_id (обязательный, ваш UUID из админки), external_id (уникальный ID заказа в вашей системе), amount (сумма в минимальных единицах валюты, для рублей — копейки), payment_gateway (код метода из /api/payment-gateways), payment_detail_type (тип реквизитов: card, account_number, phone), callback_url (URL для уведомлений об изменении статуса).

Ответ сервера содержит ID сделки, статус, реквизиты для оплаты и временные метки. Payment_details — это те данные, которые нужно показать клиенту для перевода: номер карты, получатель, сумма.

Обработка колбэков

После оплаты PayShark отправляет POST-запрос на callback_url с обновленным статусом. Уведомление содержит ID сделки, external_id, status, sub_status, amount и currency. Основные статусы: pending (создана), waiting_for_payment (ожидание перевода), successfully_paid (оплачено), fully_completed (завершена), cancelled (отменена), expired (истекла), dispute (спор).

Ваша система должна обрабатывать каждый статус. Например, при successfully_paid — подтверждать заказ, при cancelled — отменять заказ и уведомлять клиента.

Проверка статуса сделки

GET /api/merchant/order?order_id=ID_СДЕЛКИ — возвращает полную информацию о сделке.

Рекомендации по интеграции

  1. Зарегистрироваться и получить Access-Token
  2. Изучить валюты через /api/currencies
  3. Получить методы через /api/payment-gateways
  4. Реализовать создание сделок через POST /api/merchant/order
  5. Настроить обработку callback-уведомлений
  6. Реализовать проверку статуса
  7. Протестировать перед запуском

Интеграция PayShark.io в интернет-магазин не требует сложных знаний и может быть выполнена за несколько часов. Клиенты платят через привычные банки, мерчант получает средства напрямую без посредников.