База знаний

MoneclePay

MoneclePay позволяет принимать платежи через платформу Monecle и получать уведомления об успешных оплатах на указанный вами адрес. Для организации приёма платежей в первую очередь необходимо зарегистрироваться в сервисе Monecle как продавец и получить ваш идентификатор и секретный ключ на странице интеграции. После выполнения этих действий можно приступать к реализации запроса на оформление платежа.

 

Запрос на оформление платежа

Оформление платежа происходит отправкой POST-запроса с формой, содержащей данные, по адресу https://monecle.com/payment. В таблице ниже приведены параметры формы:

Параметр Обязателен Описание
buyer_email Да Email покупателя. Не более 255 символов.
buyer_name Да Имя покупателя. Не более 255 символов.
buyer_phone Нет Телефон покупателя. Не более 64 символов.
good_name Да Наименование товара. Не более 255 символов.
good_price Да Стоимость товара в рублях в диапазоне от 10 до 250000 руб.
success_url Да Адрес, куда покупатель попадёт после успешной оплаты. Не более 255 символов.
fail_url Да Адрес, куда покупатель попадёт после неуспешной оплаты. Не более 255 символов.
callback_url Да Адрес для уведомлений об успешных оплатах. Не более 255 символов.
user_id Да Ваш идентификатор продавца в системе Monecle. Его можно найти в разделе интеграции.
external_good_id Да Идентификатор товара в вашей системе. Этот идентификатор будет отправлен в уведомлении на адрес, указанный вами в параметре callback_url. Не более 255 символов.
signature Да Подпись запроса, которая формируется исходя из передаваемых параметров и секретного ключа. Алгоритм формирования подписи описан ниже.

 

Алгоритм формирования подписи запроса

Подпись запроса формируется на основе передаваемых параметров и секретного ключа. Чтобы сформировать подпись нужно:

  1. Отсортировать список передаваемых параметров по наименованию в алфавитном порядке.
  2. Объединить значения параметров в одну строку, используя разделитель ";". В результате должна получиться строка, похожая на эту: "[email protected];John Doe;+7 999 999 99 99;https://my-site.ru/pay;external_good_id-1;https://my-site.ru/pay/fail;Item 1;99;https://my-site.ru/pay/success;123"
  3. Получившуюся строку нужно зашифровать методом HMAC с использованием алгоритма SHA256, где в качестве ключа нужно использовать ключ, указанный в разделе интеграции. Получившееся значение и нужно передавать в качестве подписи.

 

Пример формы

<form action="https://monecle.com/payment" method="POST">
    <input type="text" name="buyer_email" value="[email protected]"><br>
    <input type="text" name="buyer_name" value="John Doe"><br>
    <input type="text" name="buyer_phone" value="+7 999 999 99 99"><br>
    <input type="text" name="good_name" value="Item 1"><br>
    <input type="text" name="good_price" value="99"><br>
    <input type="text" name="success_url" value="https://my-site.ru/pay/success"><br>
    <input type="text" name="fail_url" value="https://my-site.ru/pay/fail"><br>
    <input type="text" name="callback_url" value="https://my-site.ru/pay"><br>
    <input type="text" name="user_id" value="123"><br>
    <input type="text" name="external_good_id" value="external_good_id-1"><br>
    <input type="text" name="signature" value="6983683be6a7152d4e6cdfd9506dd69a6fd43846a9b46304af97567a5c773ebc"><br>
    <input type="submit" value="Submit">
</form>

В данном примере для формирования подписи использовался ключ "secret".

 

Отправка уведомления

После успешной оплаты отправляется уведомление, сигнализирующее об этом. Это уведомление отправляется POST-запросом на адрес, указанный в поле "callback_url". Ответом на это уведомление должен быть HTTP-статус, гворящий о том, что операция успешна (первая цифра статуса должна быть равна 2). Уведомление об оплате будет посылаться до тех пор, пока не будет получен необходимый статус, но не более 10 раз. С каждой новой попыткой отправки уведомления увеличивается временной интервал. Ниже приведены все интервалы.

Попытка Временной интервал
1 В течение минуты с момента оплаты.
2 Через 5 минут после предыдущей попытки.
3 Через 10 минут после предыдущей попытки.
4 Через 30 минут после предыдущей попытки.
5 Через 1 час после предыдущей попытки.
6 Через 3 часа после предыдущей попытки.
7 Через 6 часов после предыдущей попытки.
8 Через 12 часов после предыдущей попытки.
9 Через 24 часа после предыдущей попытки.
10 Через 48 часов после предыдущей попытки.

 

Уведомление содержит данные, описание которых приведено в следующей таблице:

Параметр Описание
type Тип уведомления. Равен "purchase".
status Информация об успешности операции. В случае успеха равен "success".
order_id Идентификатор заказа в системе Monecle.
external_good_id Идентификатор товара в вашей системе.
buyer_id Идентификатор покупателя в системе Monecle.
buyer_email Email покупателя.
buyer_phone Телефон покупателя.
buyer_name Имя покупателя.
amount Сумма, которую заплатил покупатель.
fee_equiring Комиссия платёжной системы.
fee_monecle Комиссия сервиса Monecle.
paid_at Дата оплаты в формате 2024-10-23T09:44:52+03:00
user_id Идентификатор продавца в системе Monecle.
signature Подпись, которая формируется по описанному ранее алгоритму.