General information

ООО "ДАЙМОНД ПЕЙ"

EGRPO code - 40169405

49101, Dnipropetrovskiy reg., м. Dnepr, Borodinskaya st 51, r.13

NBU license to transfer funds without opening accounts №41 from 18.04.2016

+38 (063)632 66 66

API for developers
Введение

Описание взаимодействия со шлюзом

Взаимодействие производится с использованием протокола HTTP over TCP/SSL.

Инициатором соединения всегда является только клиент платежной системы. Для каждого запроса создается новое соединение. Клиент имеет возможность создавать одновременно несколько соединений для разных платежей.

Каждому виду запроса соответствует определенный URI. Все запросы осуществляются методом POST. Независимо от типа, в каждом запросе передается два HTTP‐заголовка: DPAY_CLIENT и DPAY_SECURE. Данные внутри сообщения POST передаются способом: application/json. В любом случае обязательна передача заголовка Content-type: application/json в POST‐запросе. Домен для передачи запросов https://acquiring_api.dpay.ua. Эндпоинты для конкретных типов запросов описаны ниже (например, https://acquiring_api.dpay.ua/api/payment/balance)

DPAY_CLIENT - идентификатор клиента, номер кассы, созданной в личном кабинете.

DPAY_SECURE - подпись запроса (подпись формируется по телу запроса). Подпись запроса формируется по схеме base64_encode(md5($salt . base64_encode(sha1($data, true)) . $salt, true)), где salt - секрет из настроек кассы, а data - тело запроса.

Каждый ответ шлюза тоже имеет подпись, переданную в заголовке DPAY_SECURE.

HTTP‐параметр request содержит тело запроса в виде JSON-массива в кодировке UTF-8.

Тестовые данные

при выставлении счета или создании выплаты на 1000 операция всегда успешная.

при выставлении счета или создании выплаты на 2000 операция всегда неуспешная.

Описание структуры запросов и ответов шлюза

Тело запроса передается в виде массива, сериализованного в формат JSON

Пример:
{"tracking": "1234"}

Ответ имеет аналогичную структуру.

В случае отказа в выполнении запроса будет возвращена ошибка с ее кодом и описанием.

Пример:
{ "error": { "code": 401, "message": "Payment not found" } }

В случае успешного выполнения запроса будут возвращены данные ответа.