Платёжные запросы
В этой главе представлены платежные запросы, которые помогут торговой площадке реализовать безопасную сделку, выплаты на банковские карты, рекуррентные платежи.
В этой главе представлены платежные запросы, которые помогут торговой площадке реализовать безопасную сделку, выплаты на банковские карты, рекуррентные платежи.
Принимать платежи через Монету можно несколькими способами:
Примечание: Подробнее о платёжной форме в протоколе Moneta.AssistantAPI.
Для формирования запроса на оплату для платёжной формы достаточно указать два параметра:
MNT_IDMNT_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) - он будет использоваться далее.
InProgressURL1.Адрес, указанный в настройках расширенного счёта в ЛК Монеты. ↩︎
Поле Вызвать URL при авторизации средств в разделе Действия при зачислении/списании средств в настройках счёта в ЛК Монеты. ↩︎
Используйте ваш номер операции из параметра MNT_OPERATION_ID1, который вы получили на предыдущем шаге.
Соответствует параметру operationId из запроса проведения операции. ↩︎
Подтвердите операцию вручную в ЛК Монеты либо с помощью метода API ConfirmTransactionRequest:
Вы можете подтвердить операцию на сумму, равную или меньше, указанной при операции холдирования.
После подтверждения операции Монета отправит уведомление о проведённой оплате на PayURL1.
Адрес обработчика в вашей системе учёта для уведомлений о проведённой оплате. ↩︎
Отмените операцию вручную в ЛК Монеты либо с помощью метода 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) - он будет использоваться далее.
InProgressURL1.Адрес, указанный в настройках расширенного счёта в ЛК Монеты. ↩︎
Поле Вызвать URL при авторизации средств в разделе Действия при зачислении/списании средств в настройках счёта в ЛК Монеты. ↩︎
Используйте ваш номер операции из параметра MNT_OPERATION_ID1, который вы получили на предыдущем шаге.
Соответствует параметру operationId из запроса проведения операции. ↩︎
Отмените операцию вручную в ЛК Монеты либо с помощью метода API CancelTransactionRequest:
ТСП может проводить рекуррентные списания с карты покупателей с помощью токена, созданного при привязке карты через PAYMENTTOKEN.
Отправьте запрос на оплату методом PaymentRequest. При этом в атрибутах операции передайте PAYMENTTOKEN со значением созданного ранее рекуррентного токена. Карточные данные передавать не нужно.