Оплата наличными в разных странах Восточной Европы и Центральной Азии

Обзор

«Оплата наличными в разных странах Восточной Европы и Центральной Азии» — платёжный метод, который позволяет пользователям совершать платежи наличными средствами через терминалы и банкоматы. Проведение оплат реализовано через Payment Page и Gate.

Характеристика

Тип платёжного метода платежи через точки оплаты
Платёжные инструменты наличные
Регионы использования AM, BY, GE, KZ, LV, MD, RU, TJ, UA
Валюты платежей KZT (для KZ), EUR (для LV), USD (для AM, BY, GE, MD, TJ), RUB (для RU), UAH (для UA)
Конвертация валют
Оплаты +
Выплаты
Оплаты по сохранённым данным
Полные возвраты
Частичные возвраты
Опротестования
Особенности
Организация и стоимость подключения по согласованию с курирующим менеджером ecommpay

Схема работы

В проведении отдельного платежа с использованием «Оплата наличными в разных странах Восточной Европы и Центральной Азии» задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также технические средства провайдера.



Основные операции

Интерфейсы Суммы, RUB
Payment Page CMS Plug-ins Gate Dashboard минимум максимум
Оплаты + + 1,00 15 000,00

Сценарии использования

Проведение оплат с использованием метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» выполняется с перенаправлением пользователей к сервису провайдера.

Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения платежей, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.

Оплаты через Payment Page

Общая информация

Для оплаты через Payment Page с использованием метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате оплаты. При этом метод «Оплата наличными в разных странах Восточной Европы и Центральной Азии» можно сделать предварительно выбранным (подробнее — в разделе Предварительный выбор платёжных методов). Полная схема проведения оплаты представлена далее.



Рис.: Проведение оплаты через Payment Page

  1. Пользователь на стороне веб-сервиса инициирует оплату.
  2. От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
  3. Запрос на проведение оплаты поступает в платёжную платформу.
  4. Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
  5. Осуществляется генерация Payment Page согласно настройкам проекта и параметрам вызова.
  6. Пользователю отображается сгенерированная платёжная форма.
  7. Пользователь выбирает для оплаты метод «Оплата наличными в разных странах Восточной Европы и Центральной Азии».
  8. Запрос на проведение оплаты через провайдера поступает в платёжную платформу.
  9. Выполняются дальнейшая обработка запроса и его отправка в сервис провайдера.
  10. На стороне провайдера выполняется обработка запроса на оплату.
  11. От сервиса провайдера к платёжной платформе передаются данные для перенаправления пользователя в сервис провайдера.
  12. Данные для перенаправления пользователя передаются к Payment Page.
  13. Пользователь перенаправляется в сервис провайдера.
  14. Пользователь совершает оплату в одном из доступных терминалов или банкоматов.
  15. На стороне сервиса провайдера выполняется обработка платежа.
  16. Пользователь перенаправляется к Payment Page.
  17. От сервиса провайдера к платёжной платформе направляется результат оплаты.
  18. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
  19. От платёжной платформы к Payment Page направляется результат проведения оплаты.
  20. Результат оплаты отображается пользователю на Payment Page.

Информация о формате запросов и параметрах вызова Payment Page при работе с данными методом, а также о формате оповещений о результатах оплат приведена далее; общая информация о работе с API см. в разделе Описание Payment Page API.

Формат запросов

При формировании запросов на открытие платёжной формы с применением метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» необходимо учитывать следующее:

  1. Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
    • project_id — идентификатор проекта, полученный от ecommpay при интеграции;
    • payment_id — идентификатор платежа, уникальный в рамках проекта;
    • payment_currency — валюта платежа в формате ISO-4217 alpha-3;
    • payment_amount — сумма платежа в дробных единицах;
    • customer_id — идентификатор пользователя в рамках проекта.
  2. Дополнительно должен использоваться параметр customer_phone — номер телефона пользователя, указывается с кодом страны, без знаков пунктуации и специальных символов (например, 79031234567). Если параметр отсутствует в запросе, на Payment Page пользователю отображается поле для ввода недостающего значения. Подробнее об уточнении параметров — в разделе Дополнение информации о платежах.
  3. Валютами платежа могут быть только KZT (для KZ), EUR (для LV), USD (для AM, BY, GE, MD, TJ), UAH (для UA).
  4. Для предварительного выбора метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» необходимо указывать код платёжного метода в параметре force_payment_methodcis-cash.
  5. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех параметрах приведена в разделе Параметры вызова платёжной формы.
  6. После определения всех параметров необходимо составить подпись. Подробную информацию см. в Работа с подписью к данным.

Таким образом, корректный запрос на открытие платёжной формы с применением метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» должен содержать идентификаторы проекта, пользователя и платежа, номер телефона пользователя, а также валюту, сумму платежа и подпись:

EPayWidget.run(
    { payment_id: 'X03936', 
      payment_amount: 10000, 
      payment_currency: 'KZT', 
      project_id: 35, 
      customer_id: 'customer1',
      customer_phone: '79251234567',
      signature: "kUi2x9dKHAVNU0FYUkDJrOcZzUCwX6R\/ekpZhkIQg=="
    }
)

Формат оповещений

Для оповещений о результатах оплат с применением метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» используется стандартный формат, описание которого представлено в разделе Оповещения.

В следующем примере оповещение свидетельствует о том, что в рамках проекта 386 была успешно проведена оплата в размере 1,00 KZT.

Рис.: Пример оповещения о проведении оплаты

{
    "project_id": 386,
    "payment": {
        "id": "ORDER_110035_37773821",
        "type": "purchase",
        "status": "success",
        "date": "2021-03-18T08:00:42+0000",
        "method": "cis",
        "sum": {
            "amount": 100,
            "currency": "KZT"
        },
        "description": ""
    },
    "account": {
        "number": "12345"
    },
    "customer": {
        "phone": "79031234567"
    },
    "operation": {
        "id": 932,
        "type": "sale",
        "status": "success",
        "date": "2021-03-18T08:00:42+0000",
        "created_date": "2021-03-18T08:00:36+0000",
        "request_id": "a2e86976c15c47c14e5146cb833b8f75ebe62e-00000001",
        "sum_initial": {
            "amount": 100,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 100,
            "currency": "KZT"
        },
        "code": "0",
        "message": "Success",
        "provider": {
            "id": 2994,
            "payment_id": "5aaa9090d1d2a12f3aefddfeb9e4b347",
            "auth_code": "",
            "endpoint_id": "cash",
            "date": "2021-03-18T08:00:41+0000"
        }
    },
    "signature": "KrxiE3eybtg9ALpT+FLgAyjV8wLf+jj55rhGGWAn3gsXk0FgeRGUL+Q=="
}

В следующем примере оплата была отклонена.

Рис.: Пример оповещения об отказе в проведении оплаты

{
    "project_id": 386,
    "payment": {
        "id": "ORDER_78064508",
        "type": "purchase",
        "status": "decline",
        "date": "2021-03-18T08:01:45+0000",
        "method": "cis",
        "sum": {
            "amount": 11900,
            "currency": "KZT"
        },
        "description": ""
    },
    "account": {
        "number": "123456"
    },
    "customer": {
        "phone": "79031234567"
    },
    "operation": {
        "id": 933,
        "type": "sale",
        "status": "decline",
        "date": "2021-03-18T08:01:45+0000",
        "created_date": "2021-03-18T08:01:44+0000",
        "request_id": "0a53ba5fde280cccd348481c268f164159-00000001",
        "sum_initial": {
            "amount": 11900,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 11900,
            "currency": "KZT"
        },
        "code": "20000",
        "message": "General decline",
        "provider": {
            "id": 2994,
            "payment_id": "d0e725fcafe227fc6b07813cb4288069",
            "auth_code": "",
            "endpoint_id": "cash",
            "date": "2021-03-18T08:01:44+0000"
        }
    },
    "signature": "Vl6REJeT/BaO67IYM8hcTwiTJ...uKZsudzyxAqtbU/HcvQ=="
}

Дополнительные материалы

Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:

Оплаты через Gate

Общая информация

Для оплаты через Gate с использованием метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» со стороны веб-сервиса необходимо:

  1. Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
  2. Осуществить перенаправление в сервис провайдера.
  3. Принять оповещение от платежной платформы ecommpay о результате оплаты.

Полная схема проведения оплаты представлена далее.



Рис.: Проведение оплаты через Gate

  1. Пользователь на стороне веб-сервиса инициирует оплату через данный метод.
  2. От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Gate.
  3. Запрос на проведение оплаты поступает в платёжную платформу ecommpay.
  4. Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
  5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
  6. В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис провайдера.
  7. На стороне провайдера выполняется обработка запроса на оплату.
  8. От сервиса провайдера к платёжной платформе передаются данные для перенаправления пользователя на сайт провайдера.
  9. От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя в сервис провайдера в объекте redirect_data.
  10. Пользователь перенаправляется в сервис провайдера.
  11. Пользователь совершает оплату в одном из доступных терминалов или банкоматов.
  12. На стороне сервиса провайдера выполняется обработка платежа.
  13. Пользователь перенаправляется к веб-сервису.
  14. От сервиса провайдера к платёжной платформе направляется уведомление о результате оплаты.
  15. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
  16. От веб-сервиса пользователю направляется результат оплаты.

Информация о формате запросов и параметрах инициации оплат методом «Оплата наличными в разных странах Восточной Европы и Центральной Азии» через Gate, а также о формате оповещений о результатах оплат приведена далее, общая информация о работе с API см. в разделе Работа с API.

Формат запросов

При работе с запросами на оплаты с применением метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» необходимо учитывать следующее:

  1. Должен использоваться запрос /v2/payment/cash/cis/sale, отправляемый методом POST. Этот запрос относится к группе запросов для оплат наличными: /v2/payment/cash/{payment_method}/sale.
  2. В запросе должны использоваться следующие объекты и параметры:
    • general — основные сведения:
      • project_id — идентификатор проекта,
      • payment_id — идентификатор платежа,
      • signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
    • customer — сведения о пользователе:
      • id — идентификатор пользователя в рамках проект,
      • ip_address — используемый IP-адрес,
    • payment — сведения о платеже:
      • amount — сумма в дробных единицах валюты,
      • currency — валюта платежа в формате ISO-4217 alpha-3.
  3. Дополнительно рекомендуется указывать номер телефона пользователя в параметре phone объекта customer. Номер указывается с кодом страны, без знаков пунктуации и специальных символов (например, 79031234567). Если параметр отсутствует в запросе, он отправляется в оповещении на уточнение. Подробнее об уточнении параметров — в разделе Дополнение информации о платеже.
  4. Валютами платежа могут быть только KZT (для KZ), EUR (для LV), USD (для AM, BY, GE, MD, TJ), UAH (для UA).
  5. Дополнительно могут использоваться все параметры, указанные в спецификации.

Таким образом, корректный запрос на оплату с применением метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» должен содержать идентификаторы проекта, пользователя и платежа, IP-адрес и номер телефона пользователя, валюту и сумму платежа, а также подпись:

Рис.: Пример запроса на оплату

{
    "general": {
        "project_id": 35,
        "payment_id": "Payment 12",
        "signature": "2tlMuYxLW9Yu6ReuD+o4EVPjLyfbOQ+9ajAteg5lPk96Q=="
  },
    "customer": {
        "ip_address": "1.1.1.1",
        "id": "123",
        "phone": "79251234567"
  },
    "payment": {
        "amount": 10000,
        "currency": "KZT"
  }
}

Форматы данных для перенаправления пользователей

Для перенаправления пользователя от веб-сервиса на сайт сервиса провайдера необходимо принять оповещение от платёжной платформы, содержащее ссылку для перенаправления в параметре redirect_data.url и данные для отправки в теле запроса redirect_data.body, и использовать эти параметры при открытии HTML-страницы сайта методом, указанным в redirect_data.method.

Далее приведён фрагмент оповещения, содержащего данные для перенаправления.

"redirect_data": {
            "method": "GET",
            "body": {...},
            "url": "http://example.com/example/a/acs/29d7454b70adad712aa5b536d449c7f7"
        }

Формат оповещений

Для оповещений о результатах оплат с применением метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» используется стандартный формат, описание которого представлено в разделе Оповещения.

В следующем примере оповещение свидетельствует о том, что в рамках проекта 386 была успешно проведена оплата в размере 1,00 KZT.

Рис.: Пример оповещения о проведении оплаты

{
    "project_id": 386,
    "payment": {
        "id": "ORDER_110035_37773821",
        "type": "purchase",
        "status": "success",
        "date": "2021-03-18T08:00:42+0000",
        "method": "cis",
        "sum": {
            "amount": 100,
            "currency": "KZT"
        },
        "description": ""
    },
    "account": {
        "number": "12345"
    },
    "customer": {
        "phone": "79031234567"
    },
    "operation": {
        "id": 932,
        "type": "sale",
        "status": "success",
        "date": "2021-03-18T08:00:42+0000",
        "created_date": "2021-03-18T08:00:36+0000",
        "request_id": "a2e86976c15c47c14e5146cb833b8f75ebe62e-00000001",
        "sum_initial": {
            "amount": 100,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 100,
            "currency": "KZT"
        },
        "code": "0",
        "message": "Success",
        "provider": {
            "id": 2994,
            "payment_id": "5aaa9090d1d4a12f3aefddfeb9e4b347",
            "auth_code": "",
            "endpoint_id": "cash",
            "date": "2021-03-18T08:00:41+0000"
        }
    },
    "signature": "KrxiE3eybtg9ALpT+FLgAyjV8wLf+jj55rhGGWAn3gsXk0FgeRGUL+Q=="
}

В следующем примере оплата была отклонена.

Рис.: Пример оповещения об отказе в проведении оплаты

{
    "project_id": 386,
    "payment": {
        "id": "ORDER_78064508",
        "type": "purchase",
        "status": "decline",
        "date": "2021-03-18T08:01:45+0000",
        "method": "cis",
        "sum": {
            "amount": 11900,
            "currency": "KZT"
        },
        "description": ""
    },
    "account": {
        "number": "123456"
    },
    "customer": {
        "phone": "79031234567"
    },
    "operation": {
        "id": 933,
        "type": "sale",
        "status": "decline",
        "date": "2021-03-18T08:01:45+0000",
        "created_date": "2021-03-18T08:01:44+0000",
        "request_id": "0a53ba5fde280cccd348481c268f164159-00000001",
        "sum_initial": {
            "amount": 11900,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 11900,
            "currency": "KZT"
        },
        "code": "20000",
        "message": "General decline",
        "provider": {
            "id": 2994,
            "payment_id": "d0e725fcafe227fc6b07813cb4288069",
            "auth_code": "",
            "endpoint_id": "cash",
            "date": "2021-03-18T08:01:44+0000"
        }
    },
    "signature": "Vl6REJeT/BaO67IYM8hcTwiTJ...uKZsudzyxAqtbU/HcvQ=="
}

Дополнительные материалы

Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:

Тестирование

Общая информация

Для метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» доступно тестирование оплат через Gate.

Тестирование может выполняться в рамках тестового проекта, и для подключения и отключения этой функциональности необходимо обращаться к специалистам технической поддержки ecommpay support@ecommpay.com.

При проведении тестовых платежей следует учитывать, что в запросах должен указываться идентификатор тестового проекта, в качестве валют могут использоваться только EUR, KZT, RUB, UAH, USD, а интерфейс эмулятора метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» может отличаться от рабочего.

Статусы тестовых платежей

При тестировании оплат их итоговые статусы определяются исходя из сумм, указанных в запросах:

  • decline — при указании суммы 40000 или 40400,
  • success — при указании любой другой суммы;

Оплаты через Gate

Для проведения тестовой оплаты через Gate необходимо:

  1. Отправить в платёжную платформу корректный тестовый запрос на оплату.
  2. Принять оповещение с данными для перенаправления.
  3. Перейти по полученному URL и щёлкнуть кнопку Success или Decline (в зависимости от запрашиваемой суммы) — на странице эмулятора.
  4. Принять оповещение с информацией о результате оплаты.

Подробная информация о проведении оплат с использованием метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» через Gate представлена в пункте Оплаты через Gate.

Анализ результатов проведения платежей

Как и при работе с другими платёжными методами, которые предоставляет ecommpay, при использовании метода «Оплата наличными в разных странах Восточной Европы и Центральной Азии» доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.

Всю необходимую информацию можно получать и анализировать средствами Dashboard, в том числе с помощью аналитических панелей в разделе Аналитика.

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

  • Dashboard позволяет выгружать данные в формате CSV с помощью инструментов в разделе Отчёты. При этом можно выполнять разовые и периодические выгрузки информации на локальный компьютер.
  • Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы к конечной точке /operations/get.

С любыми вопросами о возможностях анализа результатов можно обращаться в службу технической поддержки ecommpay.