Деньги@Mail.Ru

MoneyMailRu - GooglePay Integration Guide

  • Деньги@Mail.Ru
  • "Деньги.Мэйл.Ру" предоставляет сервис приема платежей в Ваш проект по банковским картам и другим популярным способам оплаты.
  • "Деньги.Мэйл.Ру" является авторизованным Google процессором для проведения платежей GooglePay.
  • Уточнить финансовые условия, получить информацию об юридических процедурах и оставить заявку на подключение Вы можете по адресу: moneysup@corp.mail.ru
  • Подключение к API GooglePay осуществляется согласно документации Google.
  • Схема проведения платежа GooglePay

  • google-Pay
  • Формат запроса GooglePay

  • Адрес запроса: https://cpg.money.mail.ru/api/order/tokenpay

  • Параметры, перечисленные после параметра signature, не участвуют в формировании подписи.
  • Подчеркнутые параметры являются обязательными.
  • Таким образом, параметры, не являющиеся обязательными, участвуют в формировании подписи только в случае, если они передаются.
  • Параметры POST-запроса:
    Параметр Описание
    merch_id Идентификатор мерчанта, выданный при подключении мерчанта к платёжному шлюзу "Денег.Мэйл.Ру"
    vterm_id Идентификатор виртуального терминала, выданный при подключении мерчанта к платежному шлюзу "Денег.Мэйл.Ру"
    user_login Логин пользователя в системе мерчанта
    token Значение токена, полученное от GooglePay API в формате base64 без переноса строк
    token_type Значение токена, полученное от GooglePay API в формате base64 без переноса строк
    user_ip IP-адрес пользователя
    order_id Уникальный номер заказа в системе мерчанта
    order_amount Сумма заказа, разделитель - запятая
    order_message Описание заказа
    currency Трехзначный цифровой код валюты по ISO-4217. Список кодов см. здесь
    ts Timestamp времени формирования запроса (должен быть ±15 минут от времени совершения запроса)
    signature Цифровая подпись параметров запроса
    • Формирование подписи

    • Аутентификация запросов на стороне платежного шлюза производится путём проверки параметра signature, который содержит подпись нужных параметров запроса.

      В качестве хеширующей функции используется алгоритм SHA-1, секретный ключ для формирования подписи выдается поддержкой "Денег.Мэйл.Ру"

      Подпись представляет собой результат хэширующей функции, которая применяется к тексту, сформированному как последовательность значений параметров запроса, участвующих в подписи (кроме самого параметра signature), отсортированных в алфавитном порядке по имени параметра, с добавлением ключа мерчанта/терминала, выданного при подключении.

      Список поддерживаемых алгоритмов хэширования можно уточнить при подключении к шлюзу.

    • Пример формирования подписи запроса

    • Например, параметры запроса следующие:
    Параметр Значение
    vterm_id MailRuPay3DS
    user_login user@example.com
    user_ip 127.0.0.1
    order_id 123-ABC
    order_amount 526.04
    order_message Тестовая покупка
    • Допустим секретный ключ мерчанта = Secret_key

    • Строка подписи будет выглядеть следующим образом: 526.04123-ABCТестовая покупка127.0.0.1user@example.comMailRuPay3DS

    • Далее строка для подписи конкатенируется с секретным ключом, полученным при регистрации мерчанта/терминала в платёжном шлюзе и хэшируется алгоритмом, настроенным для мерчанта/терминала.

    • В итоге получаем подпись таким образом:
      signature = sha1( '526.04123-ABCТестовая покупка127.0.0.1user@example.comMailRuPay3DSSecret_key' );

    • На выходе в этом примере мы должны получить такое значение: fcdc8a2bd7f7459a9e5e774769d0fb8afcd0da41

    • Получение уведомления о статусе платежа

    • После совершения платежа в адрес Вашей информационной системы будет отправлено уведомление с результатом платежа.

    • Сообщите, пожалуйста, технической поддержке "Денег.Мэйл.Ру" URL обработчика уведомлений и его IP адрес.

    • Формат уведомления:

    Параметр Описание
    event Тип события. При уведомлении об оплате заказа принимает значение ORDER_PAID
    merch_id Идентификатор мерчанта
    vterm_id Идентификатор виртуального терминала мерчанта, через который проведен заказ
    order_id Идентификатор заказа в платёжном шлюзе
    auth_id Код авторизации
    amount Сумма заказа
    issuer_id Идентификатор заказа в системе магазина
    is3ds Принимает значение 1, если заказ оплачен платежом с 3DS
    user_login Логин пользователя
    acquirer Банк-эквайр, через который осуществлялся заказ
    card_id Идентификатор привязки карты на стороне процессинга (если платеж был сделан с помощью привязанной карты)
    new_card_id Идентификатор привязки карты на стороне процессинга (если при платеже с произвольной карты попросили зарегистрировать карту)
    card_item_added Timestamp даты добавления привязки (присутствует только если задан параметр card_id или new_card_id)
    tx_id Номер транзакции на стороне процессинга
    card_mask_pan Маскированный номер карты (первые 6 и последние 4 цифры номера в формате 123456..1234)
    rrn Retrieval reference number - номер заказа в системе банка-эквайра
    reject_code Код ошибки при совершении транзакции, для события ORDER_PAID передается пустое значение
    >currency Трехзначный цифровой код валюты по ISO-4217. Список кодов см. здесь
    card_uid Уникальный сквозной идентификатор карты в процессинге
    signature Цифровая подпись параметров запроса