Vietnamese ATM cards (NAPAS)
Обзор
Vietnamese ATM cards NAPAS — платёжный метод, который позволяет осуществлять платежи с помощью карт, брендированных местным поставщиком платёжных услуг NAPAS, который подключен к местным банкам. Обычные внутренние карты во Вьетнаме ограничиваются функциями выплаты заработной платы и снятия наличных, но с возможностью проведения внутренних покупок через платежную сеть NAPAS. Оплаты осуществляются через Payment Page и Gate, выплаты — через Gate.
Для проведения оплат используется два канала. Номер подключённого канала необходимо уточнять у курирующего менеджера ecommpay. Проведение выплат проходит по общему каналу.
Характеристика
Тип платёжного метода | банковские платежи |
---|---|
Платёжные инструменты | платёжные карты |
Регионы использования | VN |
Валюты платежей | VND |
Конвертация валют | – |
Оплаты | + |
Выплаты | + |
Оплаты по сохранённым данным | – |
Полные возвраты | по запросу в службу технической поддержки ecommpay |
Частичные возвраты | – |
Опротестования | – |
Особенности |
|
Организация и стоимость подключения | По согласованию с курирующим менеджером ecommpay |
Схема работы
В проведении отдельного платежа с использованием Vietnamese ATM задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также технические средства Vietnamese ATM, который обеспечивает взаимодействие с сервисами банков.
Основные операции
Интерфейсы | Суммы, VND | |||||
---|---|---|---|---|---|---|
Payment Page | CMS Plug-ins | Gate | Dashboard | минимум | максимум | |
Оплаты | + | – | + | – | 2 000 * |
Канал 1: ограничение карты пользователя Канал 2: 20 000 000 000 |
Выплаты | – | – | + | – | 100 000 | 100 000 000 |
* Для большинства банков минимальная суммам оплаты составляет 2 000 VND, но есть исключение для банка Vietcombank — 20 000 VND.
Сценарии использования
Проведение оплат с использованием метода Vietnamese ATM выполняется с перенаправлением пользователя на сайт выбранного банка для использования виртуального банкомата (ATM), проведение выплат — с уведомлением пользователей через веб-сервис мерчанта.
Рис.: Оплата через Payment Page
Рис.: Оплата через Gate
Рис.: Выплата через Gate
Поддержка со стороны банков
Проведение платежей с применением метода Vietnamese ATM осуществляется через банки, поддерживающие работу с этим методом. Банкам соответствуют свои идентификаторы, которые используются при инициировании выплат через Gate, а также при вызове Payment Page для отображения страницы с выбором метода оплаты.
Далее в таблице в ознакомительных целях представлена информация об этих банках, которую следует уточнять у курирующего менеджера ecommpay или по запросу /v2/info/banks/{payment_method}/{operationType}/list, отправляемым методом POST через Gate API: /v2/info/banks/atm/vietnam/sale/list
для уточнения списка банков, поддерживающих проведение оплат, или /v2/info/banks/atm/vietnam/payout/list
— проведение выплат.
Запрос должен содержать идентификаторы проекта и платежа, подпись, валюту и сумму платежа, как указано в примере. Важно передавать реальные данные о платеже, но в случае если платёж еще не сформирован, для идентификатора платежа в запросе можно указать случайное значение.
Рис.: Пример запроса списка банков
{ "general": { "project_id": 200, "payment_id": "ORDER_155860015", "signature": "K6jllym+PtObocZtr345st...==" }, "payment": { "amount": 1000, "currency": "VND" } }
В зависимости от канала, используемого для проведения оплат, различается список доступных банков.
Банк | ID | Оплаты | Выплаты |
---|---|---|---|
Agribank | 139 | + | + |
An Binh Commercial Joint Stock Bank (ABBANK) | 465 | + | + |
ANZ bank | 464 | – | + |
Asia Commercial Bank | 150 | + | + |
Bac A Commercial Joint Stock Bank (Bac A Bank) | 439 | + | + |
Bank for Investment and Development of Vietnam | 136 | + | + |
Bao Viet Bank | 453 | – | + |
Citibank | 454 | – | + |
Dai A Joint-stock Commercial Bank | 466 | + | + |
DongA Joint Stock Commercial Bank | 130 | + | + |
Eximbank Vietnam | 135 | + | + |
Global Petro Commercial Joint Stock Bank (GPBank) | 444 | + | + |
Global Trust Bank | 459 | – | + |
HoChiMinh City Development Joint Stock Commercial Bank (HDBank) | 448 | + | + |
HSBC Vietnam | 462 | – | + |
Joint Stock Commercial Bank for Foreign Trade of Vietnam (Vietcombank) | 133 | + | + |
KB Kookmin Bank | 458 | – | + |
Kien Long Commercial Joint - Stock Bank | 455 | + | + |
LienVietPostBank | 706 | + | – |
Military JSC Bank (MB) | 447 | + | + |
Nam A commercial joint stock bank (NamABank) | 452 | + | + |
Nam Viet Bank (NaviBank) | 441 | + | – |
National Citizen Bank | 442 | – | + |
Ocean Commercial One Member Limited Liability Bank (OceanBank) | 450 | + | + |
Orient Commercial Bank (PhuongDong Bank) | 467 | + | + |
Petrolimex Group Commercial Joint Stock Bank (PGBank) | 443 | + | + |
Public Bank Vietnam | 3981 | + | – |
Sai Gon Joint Stock Commercial Bank (SCB) | 460 | + | + |
Sai Gon Thuong Tin Commercial Joint Stock Bank | 131 | + | + |
SAIGON Bank | 137 | + | + |
Saigon Hanoi Commercial Joint Stock Bank (SHB) | 451 | + | + |
SHINHAN bank | 461 | + | + |
SouthEast Asia Joint Stock Commercial Bank (SeaBank) | 468 | + | + |
Standard Chartered Bank | 463 | – | + |
Tien Phong Commercial Joint Stock Bank (TienPhongBank) | 445 | + | + |
VietinBank | 134 | + | + |
Vietnam Asia Commercial Joint Stock Bank (VietA Bank) | 446 | + | + |
Vietnam International Bank | 138 | + | + |
Vietnam Maritime Commercial Joint Stock Bank (MaritimeBank) | 440 | + | + |
Vietnam Prosperity Bank (VPBank) | 449 | + | + |
Vietnam Public Joint-stock Commercial Bank | 457 | + | + |
Vietnam Technological and Commercial Joint- stock Bank | 132 | + | + |
Vietnam-Russia Joint Venture Bank | 4691 | + | – |
Банк | ID | Оплаты | Выплаты |
---|---|---|---|
Agribank | 139 | + | + |
An Binh Commercial Joint Stock Bank (ABBANK) | 465 | + | + |
ANZ bank | 464 | – | + |
Asia Commercial Bank | 150 | + | + |
Bac A Commercial Joint Stock Bank (Bac A Bank) | 439 | + | + |
Bank for Investment and Development of Vietnam | 136 | + | + |
Bao Viet Bank | 453 | – | + |
Citibank | 454 | – | + |
Dai A Joint-stock Commercial Bank | 466 | – | + |
DongA Joint Stock Commercial Bank | 130 | – | + |
Eximbank Vietnam | 135 | + | + |
Global Petro Commercial Joint Stock Bank (GPBank) | 444 | + | + |
Global Trust Bank | 459 | – | + |
HoChiMinh City Development Joint Stock Commercial Bank (HDBank) | 448 | + | + |
HSBC Vietnam | 462 | – | + |
Joint Stock Commercial Bank for Foreign Trade of Vietnam | 456 | – | + |
Joint Stock Commercial Bank for Foreign Trade of Vietnam (Vietcombank) | 133 | + | + |
KB Kookmin Bank | 458 | – | + |
Kien Long Commercial Joint - Stock Bank | 455 | – | + |
Military JSC Bank (MB) | 447 | + | + |
Nam A commercial joint stock bank (NamABank) | 452 | + | + |
Nam Viet Bank (NaviBank) | 441 | + | – |
National Citizen Bank | 442 | – | + |
Ocean Commercial One Member Limited Liability Bank (OceanBank) | 450 | + | + |
Orient Commercial Bank (PhuongDong Bank) | 467 | + | + |
Petrolimex Group Commercial Joint Stock Bank (PGBank) | 443 | + | + |
SAIGON Bank | 137 | + | + |
Saigon Hanoi Commercial Joint Stock Bank (SHB) | 451 | + | + |
Sai Gon Joint Stock Commercial Bank (SCB) | 460 | + | + |
Sai Gon Thuong Tin Commercial Joint Stock Bank | 131 | + | + |
SHINHAN bank | 461 | – | + |
SouthEast Asia Joint Stock Commercial Bank (SeaBank) | 468 | + | + |
Standard Chartered Bank | 463 | – | + |
Tien Phong Commercial Joint Stock Bank (TienPhongBank) | 445 | + | + |
VietinBank | 134 | – | + |
Vietnam Asia Commercial Joint Stock Bank (VietA Bank) | 446 | + | + |
Vietnam International Bank | 138 | + | + |
Vietnam Maritime Commercial Joint Stock Bank (MaritimeBank) | 440 | + | + |
Vietnam Prosperity Bank (VPBank) | 449 | + | + |
Vietnam Public Joint-stock Commercial Bank | 457 | – | + |
Vietnam Technological and Commercial Joint-stock Bank | 132 | + | + |
Регионы проведения выплат
При проведении выплаты с использованием метода Vietnamese ATM обязательно учитывается регион банковского счёта пользователя. Для этого используется идентификатор региона, который передаётся в параметре region_id в запросе на выплату. Далее в таблице приведена информация о регионах и их идентификаторах.
Наименование региона | Идентификатор региона |
---|---|
An Giang | 137 |
Bà Rịa - Vũng Tàu | 138 |
Bình Thuận | 141 |
Bình Định | 142 |
Bến Tre | 147 |
Cao Bằng | 149 |
Gia Lai | 152 |
Hà Giang | 156 |
Hà Tĩnh | 158 |
Hòa Bình | 159 |
Hậu Giang | 162 |
Khánh Hòa | 163 |
Kiến Giang | 164 |
Kon Tum | 165 |
Lai Châu | 166 |
Long An | 167 |
Lào Cai | 168 |
Lâm Đồng | 169 |
Lạng Sơn | 170 |
Nghệ An | 172 |
Ninh Bình | 173 |
Ninh Thuận | 174 |
Phú Yên | 176 |
Quảng Bình | 177 |
Quảng Nam | 178 |
Quảng Ngãi | 179 |
Quảng Ninh | 180 |
Quảng Trị | 181 |
Sóc Trăng | 182 |
Sơn La | 183 |
Thanh Hóa | 184 |
Thái Bình | 185 |
Thừa Thiên-Huế | 187 |
Tiền Giang | 188 |
Trà Vinh | 189 |
Tuyên Quang | 190 |
Tây Ninh | 191 |
Vĩnh Long | 192 |
Yên Bái | 194 |
Điện Biên | 195 |
Đắk Lắk | 196 |
Đắk Nông | 197 |
Đồng Nai | 198 |
Đồng Tháp | 199 |
Bắc Kạn | 277 |
Bắc Giang | 278 |
Bạc Liêu | 279 |
Bắc Ninh | 280 |
Bình Dương | 281 |
Bình Phước | 282 |
Cà Mau | 283 |
Can Tho | 284 |
Da Nang | 285 |
Hà Nam | 286 |
Ha Noi | 287 |
Hải Dương | 288 |
Hai Phong | 289 |
Ho Chi Minh | 290 |
Hưng Yên | 291 |
Nam Định | 292 |
Phú Thọ | 293 |
Thái Nguyên | 294 |
Toàn quốc | 295 |
Vĩnh Phúc | 296 |
Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения платежей, а также о том, что можно использовать для анализа информации о проведённых платежах, представлены далее.
Оплаты через Payment Page
Общая информация
Для оплаты через Payment Page с использованием метода Vietnamese ATM со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате оплаты. При этом метод Vietnamese ATM можно сделать предварительно выбранным (подробнее — в разделе Предварительный выбор платёжных методов). Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Payment Page
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- Осуществляется генерация Payment Page согласно настройкам проекта и параметрам вызова.
- Пользователю отображается сгенерированная платёжная форма.
- Пользователь выбирает один из банков, поддерживающих работу с платёжным методом Vietnamese ATM.
- На Payment Page пользователю отображается страница для ввода адреса электронной почты и телефона.
- Пользователь вводит адрес электронной почты и телефон на Payment Page.
- Запрос на проведение оплаты через выбранный банк поступает в платёжную платформу.
- Выполняются дальнейшая обработка запроса и его отправка в сервис Vietnamese ATM.
- На стороне банка выполняется обработка запроса на оплату.
- От сервиса банка к платёжной платформе передаются данные для перенаправления пользователя на сайт банка.
- Данные для перенаправления пользователя на сайт банка передаются к Payment Page.
- Пользователь перенаправляется на сайт банка.
- Пользователь вводит данные платёжной карты и далее выполняет необходимые действия для оплаты на сайте банка.
- На стороне сервиса банка выполняется обработка платежа.
- Результат оплаты отображается пользователю на сайте банка.
- Пользователь перенаправляется к Payment Page.
- От сервиса банка к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется результат проведения оплаты.
- Результат оплаты отображается пользователю на Payment Page.
Информация о формате запросов и параметрах вызова Payment Page при работе с Vietnamese ATM, а также о формате оповещений о результатах оплат приведена далее; общая информация о работе с API — в отдельном разделе.
Канал 1. Формат запросов
При формировании запросов на открытие платёжной формы с применением метода Vietnamese ATM необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- payment_currency — валюта платежа в формате ISO-4217 alpha-3;
- payment_amount — сумма платежа, без дробной части;
- customer_id — идентификатор пользователя уникальный в рамках проекта.
- Валютой платежа может быть только VND.
- Дополнительно должны использоваться параметры customer_email, customer_phone — адрес электронной почты и телефон пользователя в рамках проекта.
- Payment Page можно открывать на вьетнамском языке. Для этого необходимо передавать код языка
vi
в параметре language_code (подробнее — в разделе Управление языком платёжной формы). -
Можно настраивать отображение страницы Payment Page с выбором метода оплаты.
По умолчанию банки, поддерживающие проведение оплат методом Vietnamese ATM, объединены в группу и отображаются кнопкой Vietnam ATM, поэтому выбор банка осуществляется в два этапа. Сначала выбирается метод среди прочих, а затем на следующей странице с перечнем банков выбирается конкретный банк. Существует несколько вариантов отображения страницы Payment Page с выбором метода оплаты:
- Отображение кнопок конкретных банков (одного или нескольких). В списке методов может присутствовать метод Vietnamese ATM. Для этого необходимо передавать идентификаторы банков в параметре banks_id строки payment_methods_options. Для отображения нескольких банков необходимо перечислять идентификаторы этих банков через запятую c пробелом.
"payment_methods_options": {\"vietnam_atm\": {\"split_banks\": true, \"banks_id\": [135, 136]}}
- Отображение только банков группы без других методов. Для этого используется предварительный выбор метода Vietnamese ATM. Необходимо передавать код платежного метода
vietnam-atm
в параметре force_payment_method. Пользователю открывается страница с выбором банков, минуя страницу с выбором метода оплаты. - Отображение сайта конкретного банка. Для этого используется предварительный выбор метода Vietnamese ATM. Необходимо передавать код платежного метода
vietnam-atm
в параметре force_payment_method и идентификатор банка banks_id в параметре payment_methods_options. Перенаправление пользователя на сайта банка осуществляется без подтверждения готовности оплатить, минуя страницы с выбором метода оплаты и с выбором банков.В некоторых случаях провайдеры могут запрашивать дополнительные параметры, которые необходимо передать в запросе на открытие Payment Page, после чего произойдет прямое перенаправление пользователя на страницу банка. Подробности уточняйте у вашего курирующего менеджера ecommpay.
Рис.: Пример запроса на оплату с перенаправлением на сайт банка
EPayWidget.run( { payment_id: 'X03936', payment_amount: 2000, payment_currency: 'VND', project_id: 0, customer_id: 'customer1', customer_email: 'johna@gmail.com', customer_phone: 84438336996 force_payment_method: 'vietnam-atm', payment_methods_options: '{\"vietnam_atm\": {\"banks_id\": [135]}}', signature: "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y1Y4HASCQ9vySO\/RLCvhtT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg==" } )
- Отображение кнопок конкретных банков (одного или нескольких). В списке методов может присутствовать метод Vietnamese ATM. Для этого необходимо передавать идентификаторы банков в параметре banks_id строки payment_methods_options. Для отображения нескольких банков необходимо перечислять идентификаторы этих банков через запятую c пробелом.
- Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех указанных параметрах приведена в разделе Параметры вызова платёжной формы.
- После определения всех параметров необходимо составить подпись. Подробную информацию см. в Работа с подписью к данным.
Таким образом, корректный запрос на открытие платёжной формы с применением метода Vietnamese ATM должен содержать идентификаторы проекта и платежа, адрес электронной почты и телефон пользователя, а также валюту и сумму платежа:
EPayWidget.run( { payment_id: 'X03936', payment_amount: 2000, payment_currency: 'VND', project_id: 0, customer_id: 'customer1', customer_email: 'johna@gmail.com', customer_phone: 84438336996 signature: "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y1Y4HASCQ9vySO\/RLCvhtT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg==" } )
Канал 2. Формат запросов
При формировании запросов на открытие платёжной формы с применением метода Vietnamese ATM необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- payment_currency — валюта платежа в формате ISO-4217 alpha-3;
- payment_amount — сумма платежа, без дробной части;
- customer_id — идентификатор пользователя уникальный в рамках проекта.
- Валютой платежа может быть только VND.
- В зависимости от выбранного банка у пользователя на Payment Page запрашиваются некоторые данные карты (подробнее — Дополнение информации о платежах).
- Payment Page можно открывать на вьетнамском языке. Для этого необходимо передавать код языка
vi
в параметре language_code (подробнее — в разделе Управление языком платёжной формы). -
Можно настраивать отображение страницы Payment Page с выбором метода оплаты.
По умолчанию банки, поддерживающие проведение оплат методом Vietnamese ATM, объединены в группу и отображаются кнопкой Vietnam ATM, поэтому выбор банка осуществляется в два этапа. Сначала выбирается метод среди прочих, а затем на следующей странице с перечнем банков выбирается конкретный банк. Существует несколько вариантов отображения страницы Payment Page с выбором метода оплаты:
- Отображение кнопок конкретных банков (одного или нескольких). В списке методов может присутствовать метод Vietnamese ATM. Для этого необходимо передавать идентификаторы банков в параметре banks_id строки payment_methods_options. Для отображения нескольких банков необходимо перечислять идентификаторы этих банков через запятую c пробелом.
payment_methods_options: {"vietnam_atm": {"split_banks": true, "banks_id": [135, 136]}}
- Отображение только банков группы без других методов. Для этого используется предварительный выбор метода Vietnamese ATM. Необходимо передавать код платежного метода
vietnam-atm
в параметре force_payment_method. Пользователю открывается страница с выбором банков, минуя страницу с выбором метода оплаты. - Отображение сайта конкретного банка. Для этого используется предварительный выбор метода Vietnamese ATM. Необходимо передавать код платежного метода
vietnam-atm
в параметре force_payment_method и идентификатор банка banks_id в параметре payment_methods_options. Перенаправление пользователя на сайта банка осуществляется без подтверждения готовности оплатить, минуя страницы с выбором метода оплаты и с выбором банков.Рис.: Пример запроса на оплату с перенаправлением на сайт банка
EPayWidget.run( { payment_id: 'X03936', payment_amount: 2000, payment_currency: 'VND', project_id: 0, customer_id: 'customer1', customer_email: 'johna@gmail.com', force_payment_method: 'vietnam-atm', payment_methods_options: '{\"vietnam_atm\": {\"banks_id\": [135]}}', signature: "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y1Y4HASCQ9vySO\/RLCvhtT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg==" } )
- Отображение кнопок конкретных банков (одного или нескольких). В списке методов может присутствовать метод Vietnamese ATM. Для этого необходимо передавать идентификаторы банков в параметре banks_id строки payment_methods_options. Для отображения нескольких банков необходимо перечислять идентификаторы этих банков через запятую c пробелом.
- Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех указанных параметрах приведена в разделе Параметры вызова платёжной формы.
- После определения всех параметров необходимо составить подпись. Подробную информацию см. в Работа с подписью к данным.
Таким образом, корректный запрос на открытие платёжной формы с применением метода Vietnamese ATM должен содержать идентификаторы проекта, пользователя и платежа, а также валюту и сумму платежа:
EPayWidget.run( { payment_id: 'X03936', payment_amount: 2000, payment_currency: 'VND', project_id: 0, customer_id: 'customer1', signature: "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y1Y4HASCQ9vySO\/RLCvhtT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg==" } )
Формат оповещений
Для оповещений о результатах оплат с применением метода Vietnamese ATM используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 603
от пользователя была успешно проведена оплата в размере 2 000 VND
.
Рис.: Пример оповещения о проведении оплаты
{ "project_id": 603, "payment": { "id": "EP3f43-5d18", "type": "purchase", "status": "success", "date": "2019-02-22T13:36:17+0000", "method": "ATM Vietnam banking", "sum": { "amount": 2000, "currency": "VND" }, "description": "" }, "operation": { "id": 2000000471, "type": "sale", "status": "success", "date": "2019-02-22T13:36:17+0000", "created_date": "2019-02-22T13:35:13+0000", "request_id": "db567db9bf0fdbecba5b7", "sum_initial": { "amount": 2000, "currency": "VND" }, "sum_converted": { "amount": 2000, "currency": "VND" }, "provider": { "id": 1331, "payment_id": "19647319", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "iJtnnWh4EyZWnWt0uzv+A3hb//4oz43juZrsYyK4tI6zl01MxRhz0eL7wqYts8ugrA==" }
В следующем примере оплата была отклонена по причине ввода пользователем некорректных данных аккаунта.
Рис.: Пример оповещения об отказе в проведении оплаты
{ "project_id": 603, "payment": { "id": "EPd87a-9ea7", "type": "purchase", "status": "decline", "date": "2019-02-22T13:42:26+0000", "method": "ATM Vietnam banking", "sum": { "amount": 2000, "currency": "VND" }, "description": "" }, "operation": { "id": 1000000477, "type": "sale", "status": "decline", "date": "2019-02-22T13:42:26+0000", "created_date": "2019-02-22T13:42:22+0000", "request_id": "251469bcb435b24e9a55dd1b", "sum_initial": { "amount": 2000, "currency": "VND" }, "sum_converted": { "amount": 2000, "currency": "VND" }, "provider": { "id": 1332, "payment_id": "", "auth_code": "" }, "code": "20102", "message": "Incorrect account data entered" }, "signature": "9TDUuc8PLSzgwD2jE5MaXIgzhTRYMwYq3PTqN0Gjc+7I59NZCkC5pZ6XA2rQ==" }
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
Оплаты через Gate
Общая информация
Для оплаты через Gate с использованием метода Vietnamese ATM со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
- Осуществить перенаправление пользователя на сайт банка, поддерживающего работу с методом Vietnamese ATM.
- Принять оповещение о результате оплаты.
Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Gate
- Пользователь на стороне веб-сервиса инициирует оплату через один из банков, поддерживающих работу с методом Vietnamese ATM.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис банка.
- На стороне банка выполняется обработка запроса на оплату.
- От сервиса банка к платёжной платформе передаются данные для перенаправления пользователя на сайт банка.
- От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя на сайт банка в объекте redirect_data.
- Пользователь перенаправляется на сайт банка.
- Пользователь выполняет необходимые действия для оплаты на сайте банка.
- На стороне сервиса банка выполняется обработка платежа.
- Пользователю отображается результат оплаты на сайте банка.
- Пользователь перенаправляется к веб-сервису.
- От сервиса банка к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От веб-сервиса пользователю направляется результат оплаты.
Информация о формате запросов и параметрах инициирования оплат через Gate при работе с методом Vietnamese ATM, а также о форматах данных для перенаправления пользователей и о формате оповещений о результатах оплат приведена далее; общая информация о работе с API — в разделе Работа с API.
Канал 1. Формат запросов
При формировании запросов на оплату с применением метода Vietnamese ATM необходимо учитывать следующее:
- Должен использоваться запрос
/v2/payment/atm/vietnam/sale
, отправляемый методом POST. Этот запрос относится к группе запросов /v2/payment/atm/{payment_method}/sale. - В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
- customer — объект, содержащий сведения о пользователе:
- id — идентификатор, уникальный в рамках проекта,
- email — адрес электронной почты,
- phone — номер телефона,
- ip_address — используемый IP-адрес;
- payment — объект, содержащий сведения о платеже:
- amount — сумма платежа,
- currency — валюта платежа в формате ISO-4217 alpha-3;
- account — объект, содержащий сведения о банковском счёте пользователя:
- bank_id — идентификатор банка.
- general — объект, содержащий основные идентификационные сведения запроса:
- Валютой платежа может быть только VND.
- Дополнительно могут использоваться любые другие параметры, указанные в спецификации.
Таким образом, корректный запрос на оплату с применением метода Vietnamese ATM должен содержать идентификаторы проекта, платежа и банка, подпись, сумму и валюту платежа, IP-адрес и адрес электронной почты пользователя, идентификатор банка:
Рис.: Пример запроса на оплату
{ "general": { "project_id": 2990, "payment_id": payment_id, "signature": "PJkV8ejrtyUG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipTv+AWoXW\/9MTO8yJA==" }, "payment": { "amount": 2000, "currency": "VND" }, "customer": { "ip_address": "248.121.176", "email": "1@1.ru", "phone": "64891845653", "id": "customer123" }, "account":{ "bank_id": 135 } }
Канал 2. Формат запросов
При формировании запросов на оплату с применением метода Vietnamese ATM необходимо учитывать следующее:
- Должен использоваться запрос
/v2/payment/atm/vietnam/sale
, отправляемый методом POST. Этот запрос относится к группе запросов /v2/payment/atm/{payment_method}/sale. - В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
- customer — объект, содержащий сведения о пользователе:
- email — адрес электронной почты,
- ip_address — используемый IP-адрес;
- payment — объект, содержащий сведения о платеже:
- amount — сумма платежа,
- currency — валюта платежа в формате ISO-4217 alpha-3;
- account — объект, содержащий сведения о банковском счёте пользователя:
- bank_id — идентификатор банка.
- general — объект, содержащий основные идентификационные сведения запроса:
-
Дополнительно может потребоваться передавать некоторые из следующих параметров:
- card.pan — номер карты пользователя,
- card.card_holder — имя держателя карты,
- card.year — год выдачи или истечения срока действия карты,
- card.month — месяц выдачи или истечения срока действия карты.
Список дополнительных параметров для проведения платежа зависит от выбранного банка. Если веб-сервис мерчанта поддерживает уточнение дополнительных параметров (Дополнение информации о платеже), то после отправки запроса, содержащего только обязательные параметры, придёт оповещение со списком дополнительных параметров для выбранного пользователем банка.
В противном случае все указанные в пунктах 2 и 3 параметры необходимо передавать в запросе на оплату.
- Валютой платежа может быть только VND.
- Дополнительно могут использоваться любые другие параметры, указанные в спецификации.
Таким образом, корректный запрос на оплату с применением метода Vietnamese ATM должен содержать идентификаторы проекта, платежа и банка, подпись, сумму и валюту платежа, IP-адрес и адрес электронной почты пользователя, URL для перенаправления, а также дополнительную информацию о карте:
Рис.: Пример запроса на оплату (при поддержке запросов на уточнение параметров)
{ "general": { "project_id": 2990, "payment_id": payment_id, "signature": "PJkV8ejrtyUG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipTv+AWoXW\/9MTO8yJA==" }, "payment": { "amount": 2000, "currency": "VND" }, "customer": { "ip_address": "248.121.176", "email": "1@1.ru" }, "account":{ "bank_id": 135 } }
Рис.: Пример запроса на оплату (без поддержки запросов на уточнение параметров)
{ "general": { "project_id": 2990, "payment_id": payment_id, "signature": "PJkV8ejrtyUG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipTv+AWoXW\/9MTO8yJA==" }, "payment": { "amount": 2000, "currency": "VND" }, "customer": { "ip_address": "248.121.176", "email": "1@1.ru" }, "account":{ "bank_id": 135, }, "card": { "pan": "4321432154325432", "card_holder": "FORD PREFECT", "year": 2018, "month": 11 } }
Форматы данных для перенаправления пользователей
Для перенаправления пользователя от веб-сервиса на сайт банка необходимо принять оповещение от платёжной платформы, содержащее ссылку для перенаправления в параметре redirect_data.url и данные для отправки в теле запроса redirect_data.body, и использовать эти параметры при открытии HTML-страницы банка методом, указанным в redirect_data.method.
Далее приведён фрагмент оповещения, содержащего данные для перенаправления.
"redirect_data": {
"method": "GET",
"body": [],
"encrypted": [],
"url": "https://www.vn/checkout/version31/index/token_code/24963023"
}
Формат оповещений
Для оповещений о результатах оплат с применением метода Vietnamese ATM используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 603
от пользователя 1
была успешно проведена оплата в размере 2 000 VND
.
Рис.: Пример оповещения о проведенной оплате
{
"project_id": 603,
"payment": {
"id": "TEST_154385980520099",
"type": "purchase",
"status": "success",
"date": "2018-12-03T13:06:32+0000",
"method": "ATM Vietnam banking",
"sum": {
"amount": 2000,
"currency": "VND"
},
"description": "TEST_1543831735980"
},
"customer": {
"id": "1"
},
"operation": {
"id": 12919000002116,
"type": "sale",
"status": "success",
"date": "2018-12-03T13:06:32+0000",
"created_date": "2018-12-03T13:06:29+0000",
"request_id": "41fcbd2791eabee713b7d7e89e53",
"sum_initial": {
"amount": 2000,
"currency": "VND"
},
"sum_converted": {
"amount": 2000,
"currency": "VND"
},
"provider": {
"id": 1154,
"payment_id": "",
"auth_code": ""
},
"code": "0",
"message": "Success"
},
"signature": "Cug4rIB6OimEkwmMBi1OfYpapSpZrz00eNLNIwE/eugWYrFyBErmi0OVw34WpHt5CzEA=="
}
В следующем примере оплата была отклонена, так как идентификатор банка не передан в запросе.
Рис.: Пример оповещения об отказе в проведении оплаты
{
"project_id": 603,
"payment": {
"id": "TEST_1548313365790",
"type": "purchase",
"status": "decline",
"date": "2019-01-24T09:43:27+0000",
"method": "ATM Vietnam banking",
"sum": {
"amount": 4000,
"currency": "VND"
},
"description": "TEST_1548313365790"
},
"customer": {
"id": "1"
},
"operation": {
"id": 3745000002722,
"type": "sale",
"status": "decline",
"date": "2019-01-24T09:43:27+0000",
"created_date": "2019-01-24T09:41:49+0000",
"request_id": "3a872bd43f92091",
"sum_initial": {
"amount": 4000,
"currency": "VND"
},
"sum_converted": {
"amount": 4000,
"currency": "VND"
},
"provider": {
"id": 1154,
"payment_id": "010UDR0CCTJEPAN6KFWU14VDN",
"date": "2019-01-24T09:42:58+0000",
"auth_code": ""
},
"errors": [
{
"code": "2801",
"message": "Bank ID not found",
"description": "Gate. Bank ID was not found in request"
}
],
"code": "2801",
"message": "Bank ID not found"
},
"signature": "cQbMiD0pON9eJc5ZugNK0iT5Qubo0+7RCZWuxc0feItZRcABrPdFA4EKQiyWj7NWQRmVyHzNTmOX6Zg5w=="
}
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
Выплаты через Gate
Общая информация
Для выплаты через Gate с использованием метода Vietnamese ATM со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате выплаты. Полная схема проведения выплаты представлена далее.
Рис.: Проведение выплаты через Gate
- Пользователь на стороне веб-сервиса инициирует выплату через один из банков, поддерживающих работу с методом Vietnamese ATM.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение выплаты через Gate.
- Запрос на проведение выплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис Vietnamese ATM.
- На стороне банка выполняется обработка платежа.
- От сервиса банка к платёжной платформе направляется уведомление о результате выплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате выплаты.
- От веб-сервиса пользователю направляется результат выплаты.
Информация о формате запросов и параметрах инициализации выплат методом Vietnamese ATM через Gate, а также о формате оповещений о результатах выплат приведена далее, общая информация о работе с API — в отдельном разделе.
Формат запросов
При работе с запросами на выплаты с применением метода Vietnamese ATM необходимо учитывать следующее:
- Должен использоваться запрос
/v2/payment/atm/vietnam/payout
, отправляемый методом POST. Этот запрос относится к группе запросов для платежей с использованием виртуальных банкоматов /v2/payment/atm/{payment_method}/payout. - В запросе должны использоваться следующие объекты и параметры:
- general — основные сведения:
- project_id — идентификатор проекта,
- payment_id — идентификатор платежа;
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
- customer — сведения о пользователе:
- id — идентификатор,
- ip_address — используемый IP-адрес;
- account — сведения о счёте пользователя:
- bank_id — идентификатор банка,
- region_id — регион;
- card — сведения о платёжной карте пользователе:
- pan — PAN карты,
- year — год истечения срока действия карты,
- month — месяц истечения срока действия карты,
- card_holder — имя держателя карты;
- payment — сведения о платеже:
- amount — сумма,
- currency — валюта платежа в формате ISO-4217 alpha-3.
- general — основные сведения:
- Валютой платежа может быть только VND.
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на выплату с применением метода Vietnamese ATM должен содержать идентификаторы проекта, платежа и пользователя, подпись, сумму и валюту платежа, IP-адрес пользователя, данные карты пользователя, а также данные о счёте пользователя: идентификатор банка и регион:
Рис.: Пример запроса на выплату
{ "general": { "project_id": 603, "payment_id": "10000004", "signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsaC6LwY3T\/pOMeSaRfBaNIipTv+AWoXW\/9MTO8yJA==" }, "card": { "pan": "4242424242424242", "month": 12, "year": 2021, "card_holder": "Card Holder" }, "account":{ "bank_id": 130, "region_id": 137 }, "customer": { "id":"2990", "ip_address": "248.121.176.220" }, "payment": { "amount": 100000, "currency": "VND" } }
Формат оповещений
Для оповещений о результатах оплат с применением метода Vietnamese ATM используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 603
для пользователя 111232323
была успешно проведена выплата в размере 100 000 VND
на карточный счёт 424242******4242
.
Рис.: Пример оповещения о проведенной выплате
{ "project_id": 603, "payment": { "id": "100000010", "type": "payout", "status": "success", "date": "2019-02-22T13:50:52+0000", "method": "ATM Vietnam banking", "sum": { "amount": 100000, "currency": "VND" }, "description": "" }, "account": { "number": "424242******4242" }, "customer": { "id": "111232323" }, "operation": { "id": 2000000472, "type": "payout", "status": "success", "date": "2019-02-22T13:50:52+0000", "created_date": "2019-02-22T13:50:48+0000", "request_id": "c0c14111edf06ba2", "sum_initial": { "amount": 100000, "currency": "VND" }, "sum_converted": { "amount": 100000, "currency": "VND" }, "provider": { "id": 1331, "payment_id": "843", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "qeaYBc4TzLFqi9+KOzNw/6V37PNwQXvz50SJDdevayqTjWGDoDatdK4CHaPpw==" }
В следующем примере выплата была отклонена, так как идентификатор банка не передан в запросе.
Рис.: Пример оповещения об отказе в проведении выплаты
{ "project_id": 603, "payment": { "id": "10000034", "type": "payout", "status": "decline", "date": "2019-02-22T14:00:17+0000", "method": "ATM Vietnam banking", "sum": { "amount": 100000, "currency": "VND" }, "description": "" }, "account": { "number": "424242******4242" }, "customer": { "id": "111232323" }, "operation": { "id": 2000000474, "type": "payout", "status": "decline", "date": "2019-02-22T14:00:17+0000", "created_date": "2019-02-22T14:00:14+0000", "request_id": "a43380dbe08d069b0dd61c895db3257", "sum_initial": { "amount": 100000, "currency": "VND" }, "sum_converted": { "amount": 100000, "currency": "VND" }, "provider": { "id": 1330, "payment_id": "770", "auth_code": "" }, "errors": [ { "code": "2801", "message": "Bank ID not found", "description": "Gate. Bank ID was not found in request" } ], "code": "2801", "message": "Bank ID not found" }, "signature": "rdewQxGU7ur5cfWWZc76glYgWnb0h6XfZgfMwWJKJMLoC5Pfpcn9TrQC4IamAw==" }
Дополнительные материалы
Для организации работы с выплатами через Gate также могут быть полезны следующие материалы:
Анализ результатов проведения платежей
Как и при работе с другими платёжными методами, которые предоставляет ecommpay, при использовании метода Vietnamese ATM доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.
Всю необходимую информацию можно получать и анализировать средствами Dashboard, в том числе с помощью аналитических панелей на вкладке Analytics.
Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:
- Dashboard позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
- Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.
С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ecommpay.