Загальна інформація

Товариство з обмеженою відповідальністю "ДАЙМОНД ПЕЙ" (ТОВ "ДАЙМОНД ПЕЙ")

Код ЄДРПОУ - 40169405

49101, Дніпропетровська обл., м. Дніпро, вул. Бородинська 51, к.13

Ліцензія НБУ на переказ коштів без відкриття рахунків №41 від 18.04.2016

+38 (063)632 66 66

API для розробників
Формирование формы

Форма приема платежей

Описание схемы работы.

На стороне веб-сервера клиента формируется платежная форма и отдается пользователю на сабмит.

После сабмита формы пользователь перенаправляется на процессинг для совершения оплаты.

После проведения оплаты пользователь возвращается либо на SUCCESS_URL либо на FAIL_URL. На STATUS_URL в свою очередь отправляется пустой GET запрос при получении которого следует запросить статус платежа (запрос /api/einvoice/status Счета - Проверка текущего статуса счета) передав INVOICE_ID из сформированной ранее формы и на основании полученного ответа предпринимать дальнейшие действия.

Если следует принять оплату без перехода на сайт процессинга, то форму следует передавать как GET параметры на тот-же адрес и открывать страницу в IFRAME на сайте торговца.

<form action="https://acquiring.dpay.ua/acs" method="POST">
<input type="hidden" name="CLIENT_ID" value="номер кассы" />
<input type="hidden" name="SIGN" value="подпись формы" />
<input type="hidden" name="SIGN_ORDER" value="AMOUNT;CURRENCY;..." />
<input type="hidden" name="INVOICE_ID" value="номер заказа" />
<input type="hidden" name="AMOUNT" value="100.00" />
<input type="hidden" name="ACCOUNT" value="123" />
<input type="hidden" name="CURRENCY" value="UAH" />
<input type="hidden" name="PAYMENT_CURRENCY" value="visamaster.uah" />
<input type="hidden" name="DESCRIPTION" value="Some payment description" />
<input type="hidden" name="SUCCESS_URL" value="https://test.ua/success/invoice_id" />
<input type="hidden" name="FAIL_URL" value="https://test.ua/fail/invoice_id" />
<input type="hidden" name="STATUS_URL" value="https://test.ua/status/invoice_id" />
</form>

Расшифровка полей (поля, помеченные звездочкой, обязательны)

Поле Описание
CLIENT_ID* Номер кассы из личного кабинете
SIGN* Подпись запроса
SIGN_ORDER* Порядок конкатенации полей при формировании подписи
INVOICE_ID* Номер счета в системе учета магазина.
Номера счетов должны быть уникальны (уникальность проверяется)!!! С одним номером можно принять оплату только один раз!!!
AMOUNT* Сумма которую следует списать
ACCOUNT идентификатор пользователя в системе мерчанта (номер аккаунта или любой другой уникальный идентификатор)
CURRENCY* Валюта выставления счета. Доспуные валюты: UAH
PAYMENT_CURRENCY Валюта в которой следует принять оплату. Доступные валюты:
Visa/Master, UAH - visamaster.uah
DESCRIPTION Описание счета
SUCCESS_URL* URL на который будет перенаправлен пользователь после успешной оплаты
FAIL_URL* URL на который будет перенаправлен пользователь после неуспешной оплаты
STATUS_URL* URL на который будет отправлен callback при переходе счета в финальный статус. Отправляется пустой GET запрос, при получении которого мерчант должен запросить статус счета по API и принимать решение на основании полученных данных

При передаче запроса одно из полей CURRENCY или PAYMENT_CURRENCY обязательно. В случае передачи двух полей приоритет отдается PAYMENT_CURRENCY и поле CURRENCY игнорируется.

Пример формирования подписи на PHP.

$clientID = 123;
$secret = "qwertyuiop123456";

$data = [
"CLIENT_ID" => $clientID,
"INVOICE_ID" => "1",
"AMOUNT" => "100",
"CURRENCY" => "UAH",
"PAYMENT_CURRENCY" => "visamaster.uah",
"DESCRIPTION" => "Test payment",
"SUCCESS_URL" => "https://test.ua/success/1",
"FAIL_URL" => "https://test.ua/fail/1",
"STATUS_URL" => "https://test.ua/status/1"
];

$sign = base64_encode(md5($secret . base64_encode(sha1(implode("", $data), true)) . $secret, true));

$data["SIGN_ORDER"] = implode(";", array_keys($data));
$data["SIGN"] = $sign;