Платёжные запросы
В этой главе представлены платежные запросы, которые помогут торговой площадке реализовать безопасную сделку, выплаты на банковские карты, рекуррентные платежи.
В этой главе представлены платежные запросы, которые помогут торговой площадке реализовать безопасную сделку, выплаты на банковские карты, рекуррентные платежи.
Принимать платежи через Монету можно несколькими способами:
Примечание: Подробнее о платёжной форме в протоколе Moneta.AssistantAPI.
Для формирования запроса на оплату для платёжной формы достаточно указать два параметра:
MNT_ID
MNT_AMOUNT
Можно сформировать ссылку вручную и отправить её пользователю для оплаты, либо разместить HTML-форму на своём сайте.
Пример ссылки:
https://moneta.ru/assistant.widget?MNT_ID=НОМЕР_СЧЁТА&MNT_AMOUNT=СУММА_ПЛАТЕЖА
Для более гибкой настройки параметров платежа используйте протокол Moneta.MerchantAPI.
InvoiceRequest
:transaction
находится номер созданной операции - перенаправьте покупателя на платёжную форму с помощью ссылки для оплаты указанной операции:https://moneta.ru/assistant.widget?operationId=НОМЕР_СОЗДАННОЙ_ОПЕРАЦИИ
После успешного проведения операции Монета отправляет Уведомление об оплате в виде HTTP-запроса методом GET или POST на адрес, указанный в настройках расширенного счёта в поле “Pay URL” в личном кабинете на сайте moneta.ru.
payURL?
MNT_ID=11223344&MNT_TRANSACTION_ID=FF790ABCD&MNT_OPERATION_ID=123456&MNT_AMOUNT=120.25&
MNT_CURRENCY_CODE=RUB&MNT_TEST_MODE=0&MNT_SIGNATURE=69bdf9bd91820b8f7b4c4b25d3d22dfa
Получение уведомления нужно подтвердить ответом.
Ответ может быть в одном из форматов:
Текстовый ответ:
SUCCESS
Ответ в XML формате:
<?xml version="1.0" encoding="UTF-8"?>
<MNT_RESPONSE>
<MNT_ID>11223344</MNT_ID>
<MNT_TRANSACTION_ID>FF790ABCD</MNT_TRANSACTION_ID>
<MNT_RESULT_CODE>200</MNT_RESULT_CODE>
<MNT_SIGNATURE>29807c8e5d82198b5c4360e6ec711cce</MNT_SIGNATURE>
</MNT_RESPONSE>
MNT_SIGNATURE ответа на уведомление об оплате вычисляется следующим образом:
MNT_SIGNATURE = md5(20054600817FF790ABCDQWERTY)
где QWERTY – код проверки целостности данных.
Операция не будет переведена в статус “Выполнена”, если площадка не отправит ответ на уведомление об оплате, операция останется в статусе “Уведомление не отправлено”.
В течение 24 часов Система “МОНЕТА.РУ” будет направлять повторные уведомления.
Если в течение этого времени ни на одно из уведомлений площадка не ответит, Система “МОНЕТА.РУ” переведет операцию в статус “Выполнена”.
Примечание: Подробно о дополнительных полях в документации MONETA.Assistant
При совершении платежей с холдированием на карте покупателя требуемая сумма сначала резервируется. Далее, нужно либо подтвердить списание, либо отменить - снять холд.
Подсказка: Чтобы при последующих оплатах пользователю не приходилось заново вводить номер и срок действия карты, можно эти данные запомнить.
Примечание: Максимальный срок авторизации денежных средств на банковской карте - 7 дней.
Примечание: Для получения URL-уведомлений о статусах операций с холдированием необходимо заполнить раздел Действия при зачислении/списании денежных средств
. Данный раздел находится в настройках транзитного счёта ТСП.
InvoiceRequest
. При этом передайте в параметре AUTHORIZEONLY
значение "1"
- признак операции холдирования.Из ответа сохраните номер созданной операции (поле transaction
) - он будет использоваться далее.
InProgressURL
1.Адрес, указанный в настройках расширенного счёта в ЛК Монеты. ↩︎
Поле Вызвать URL при авторизации средств
в разделе Действия при зачислении/списании средств
в настройках счёта в ЛК Монеты. ↩︎
Используйте ваш номер операции из параметра MNT_OPERATION_ID
1, который вы получили на предыдущем шаге.
Соответствует параметру operationId
из запроса проведения операции. ↩︎
Подтвердите операцию вручную в ЛК Монеты либо с помощью метода API ConfirmTransactionRequest
:
Вы можете подтвердить операцию на сумму, равную или меньше, указанной при операции холдирования.
После подтверждения операции Монета отправит уведомление о проведённой оплате на PayURL
1.
Адрес обработчика в вашей системе учёта для уведомлений о проведённой оплате. ↩︎
Отмените операцию вручную в ЛК Монеты либо с помощью метода API CancelTransactionRequest
:
Для удобства покупателей ТСП может использовать токен, который позволит покупателю не указывать номер карты при следующих платежах.
Такой токен можно создать двумя способами:
Эти способы взаимоисключающие и возможность их применения зависит от настроек счёта ТСП в ЛК Монеты. По-умолчанию доступен первый способ.
В данном сценарии используется атрибут операции PAYMENTTOKEN
запроса оплаты MerchantAPI. Также данный токен можно использовать для проведения рекуррентных платежей.
Привязать карту можно с помощью операции оплаты с последующей отменой - в таком случае средства с карты покупателя не спишутся.
PaymentRequest
. При этом передайте следующие атрибуты операции:AUTHORIZEONLY
со значением "1"
PAYMENTTOKEN
со значением "request"
CARDNUMBER
с номером карты покупателяCARDEXPIRATION
со сроком действия карты покупателяCARDCVV2
с CVV-кодом карты покупателяpaymenttoken
- этот токен далее можно использовать вместо карточных данных, в том числе для рекуррентных платежей.Отмените операцию вручную в ЛК Монеты либо с помощью метода API CancelTransactionRequest
:
В данном сценарии используется query-параметр MNT_SUBSCRIBER_ID
платёжной формы.
Привязать карту можно с помощью операции холдирования с последующей отменой - в таком случае средства с карты покупателя не спишутся.
Примечание: Максимальный срок авторизации денежных средств на банковской карте - 7 дней.
Примечание: Для получения URL-уведомлений о статусах операций с холдированием необходимо заполнить раздел Действия при зачислении/списании денежных средств
. Данный раздел находится в настройках транзитного счёта ТСП.
InvoiceRequest
. При этом передайте в параметре AUTHORIZEONLY
значение "1"
- признак операции холдирования.Из ответа сохраните номер созданной операции (поле transaction
) - он будет использоваться далее.
InProgressURL
1.Адрес, указанный в настройках расширенного счёта в ЛК Монеты. ↩︎
Поле Вызвать URL при авторизации средств
в разделе Действия при зачислении/списании средств
в настройках счёта в ЛК Монеты. ↩︎
Используйте ваш номер операции из параметра MNT_OPERATION_ID
1, который вы получили на предыдущем шаге.
Соответствует параметру operationId
из запроса проведения операции. ↩︎
Отмените операцию вручную в ЛК Монеты либо с помощью метода API CancelTransactionRequest
:
ТСП может проводить рекуррентные списания с карты покупателей с помощью токена, созданного при привязке карты через PAYMENTTOKEN
.
Отправьте запрос на оплату методом PaymentRequest
. При этом в атрибутах операции передайте PAYMENTTOKEN
со значением созданного ранее рекуррентного токена. Карточные данные передавать не нужно.