Banks of India
Обзор
Banks of India — метод интернет-банкинга для проведения платежей через банки Индии. Оплаты осуществляются через Payment Page и Gate, выплаты — через Gate или Dashboard (Old Dashboard), возвраты — через Gate.
Характеристика
Тип платёжного метода | интернет-банкинг |
---|---|
Регионы использования | IN |
Валюты платежей | INR |
Конвертация валют | на стороне ECommPay |
Оплаты | + |
Выплаты | + |
Оплаты по сохранённым данным | – |
Полные возвраты | + |
Частичные возвраты | + |
Опротестования | – |
Особенности |
|
Организация и стоимость подключения | по согласованию с курирующим менеджером ECommPay |
Схема работы
В проведении отдельного платежа с использованием Banks of India задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ECommPay, а также технические средства провайдера.
Основные операции
Интерфейсы | Суммы, INR | Время** | ||||||
---|---|---|---|---|---|---|---|---|
Payment Page | CMS Plug-ins | Gate | Dashboard (Old Dashboard) | минимум | максимум | базовое | предельное | |
Оплаты | + | – | + | – | * | * | * | * |
Выплаты | – | – | + | + | * | * | * | * |
Полные возвраты | – | – | + | – | – | – | – | – |
Частичные возвраты | – | – | + | – | – | – | – | – |
* Информацию необходимо уточнять у курирующего менеджера ECommPay.
** Базовое и предельное время определяются следующим образом:
- Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время, определяемое для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа.
- Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус
decline
. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ECommPay.
Сценарии использования
Проведение оплат с использованием метода Banks of India выполняется с перенаправлением пользователей к сервису провайдера, проведение выплат и возвратов — с уведомлением пользователей через веб-сервис мерчанта.
Рис.: Оплата через Payment Page с выбором банка на стороне Payment Page
Рис.: Оплата через Payment Page с выбором банка на стороне провайдера
Рис.: Оплата через Gate с перенаправлением на сайт банка
Рис.: Оплата через Gate с выбором банка на стороне провайдера
Рис.: Выплата через Gate
Рис.: Возврат через Gate
Поддержка со стороны банков
Проведение выплат с применением метода Banks of India осуществляется через банки, поддерживающие работу с этим методом. Банкам соответствуют свои идентификаторы, которые используются при инициировании выплат через Gate.
Далее в таблице в ознакомительных целях представлена информация об этих банках, которую следует уточнять у курирующего менеджера ECommPay или по запросу /v2/info/banks/{payment_method}/{operationType}/list, отправляемым методом POST через Gate API: /v2/info/banks/india/sale/list
для уточнения списка банков, поддерживающих проведение оплат, или /v2/info/banks/india/payout/list
— проведение выплат. Запрос должен содержать идентификаторы проекта и платежа, подпись, валюту и сумму платежа, как указано в примере. Важно передавать реальные данные о платеже, но в случае если платёж еще не сформирован, для идентификатора платежа в запросе можно указать случайное значение.
Рис.: Пример запроса списка банков
{ "general": { "project_id": 200, "payment_id": "ORDER_155860015", "signature": "K6jllym+PtObocZtr345st...==" }, "payment": { "amount": 1500, "currency": "INR" } }
Банк | ID | Оплаты | Выплаты |
---|---|---|---|
ABN Amro | 6351 | + | + |
Allahabad Bank | 713 | + | + |
Andhra Bank | 712 | + | + |
Axis Bank | 401 | + | + |
Axis Bank Corporate | 6681 | + | + |
Bank of Bahrain and Kuwait | 5181 | + | + |
Bank of Baroda | 416 | + | + |
Bank of Baroda Retail | 711 | + | + |
Bank of India | 408 | + | + |
Bank of Maharashtra | 743 | + | + |
Canara Bank | 405 | + | + |
Catholic Syrian Bank | 741 | + | + |
Central Bank of India | 414 | + | + |
CITI Bank | 740 | + | + |
City Union Bank | 739 | + | + |
Corporation Bank | 738 | + | + |
Cosmos Co-operative Bank | 5201 | + | + |
DCB Bank | 736 | + | + |
DCB Bank Corporate | 6691 | + | + |
Deutsche Bank | 734 | + | + |
Development Credit Bank | 4731 | + | + |
Dhanlaxmi Bank | 6721 | + | + |
Dhanlaxmi Bank | 733 | + | + |
EQUITAS BANK | 732 | + | + |
Federal Bank | 5231 | + | + |
HDFC Bank | 412 | + | + |
HSBC Bank | 6361 | + | + |
ICICI Bank | 406 | + | + |
ICICI Bank Corporate | 6701 | + | + |
IDBI Bank | 409 | + | - |
IDFC FIRST Bank | 5251 | + | + |
Indian Bank | 402 | + | + |
Indian Overseas Bank | 735 | + | + |
Indusind Bank | 730 | + | + |
Industrial Development Bank Of India | 4761 | + | + |
IngVysya Bank | 6371 | + | + |
Jammu and Kashmir Bank | 729 | + | + |
Janta Sahakari bank Ltd | 714 | + | + |
Karnataka Bank | 411 | + | + |
KarurVysya Bank | 6391 | + | + |
Kotak Mahindra Bank | 404 | + | + |
Lakshmi Vilas Bank NetBanking | 727 | + | + |
Oriental Bank Of Commerce | 726 | + | + |
Punjab & Sind Bank | 724 | + | + |
Punjab National Bank | 407 | + | + |
Punjab National Bank Corporate | 6671 | + | + |
Ratnakar Bank | 4831 | + | + |
Saraswat Bank | 720 | + | + |
Standard Charter Bank | 410 | + | + |
State Bank Of Bikaner And Jaipur | 4851 | + | + |
State Bank of Hyderabad | 5341 | + | + |
State Bank of India | 403 | + | + |
State Bank of Mysore | 6401 | + | + |
State Bank of Patiala | 5301 | + | + |
State Bank of Travancore | 5351 | + | + |
Syndicate Bank | 5321 | + | + |
Tamilnadu Mercantile Bank | 718 | + | + |
UCO BANK | 717 | + | + |
Union Bank of India | 415 | + | + |
United Bank of India | 716 | + | + |
Vijaya Bank | 715 | + | + |
Yes Bank | 413 | + | + |
Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения платежей, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.
Оплаты через Payment Page
Общая информация
Для оплаты через Payment Page с использованием метода Banks of India со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ECommPay и принять оповещение о результате оплаты. При этом метод Banks of India можно сделать предварительно выбранным (подробнее — в разделе Предварительный выбор платежного метода). Полная схема проведения оплаты представлена далее.
Доступны два способа выбора банка: на стороне Payment Page или на стороне провайдера.
Рис.: Схема проведения оплаты с выбором банка на Payment Page
Рис.: Проведение оплаты через Payment Page с выбором банка на Payment Page
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ECommPay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- Осуществляется генерация Payment Page согласно настройкам проекта и параметрам вызова.
- Пользователю отображается сгенерированная платёжная форма.
- Пользователь выбирает один из банков, поддерживающих работу с платёжным методом Banks of India, и подтверждает готовность использовать этот метод (если метод был задан предварительно выбранным, то только подтверждает готовность).
- Запрос на проведение оплаты через банк поступает в платёжную платформу.
- Выполняются дальнейшая обработка запроса и его отправка в сервис банка.
- На стороне банка выполняется обработка запроса на оплату.
- От сервиса банка к платёжной платформе передаются данные для перенаправления пользователя на сайт банка.
- Данные для перенаправления пользователя на сайт банка передаются к Payment Page.
- Пользователь перенаправляется на сайт банка.
- Пользователь выполняет необходимые действия для оплаты на сайте банка.
- На стороне сервиса банка выполняется обработка платежа.
- Результат оплаты отображается пользователю на сайте банка.
- Пользователь перенаправляется к Payment Page.
- От сервиса банка к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется результат проведения оплаты.
- Результат оплаты отображается пользователю на Payment Page.
Рис.: Схема проведения оплаты с выбором банка на стороне провайдера
Рис.: Проведение оплаты через Payment Page с выбором банка на стороне провайдера
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ECommPay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- Осуществляется генерация Payment Page согласно настройкам проекта и параметрам вызова.
- Пользователю отображается сгенерированная платёжная форма.
- Пользователь выбирает платёжный метод Banks of India.
- Запрос на проведение оплаты с использованием сервиса провайдера поступает в платёжную платформу.
- Выполняются дальнейшая обработка запроса и его отправка в сервис провайдера.
- На стороне провайдера выполняется обработка запроса на оплату.
- От сервиса провайдера к платёжной платформе передаются данные для перенаправления пользователя на страницу выбора банка.
- Данные для перенаправления пользователя на страницу выбора банка передаются к Payment Page.
- Пользователь перенаправляется на страницу выбора банка.
- Пользователь выбирает банк для оплаты.
- Пользователь перенаправляется на сайт выбранного банка.
- Пользователю отображается страница оплаты на сайте банка.
- Пользователь выполняет необходимые действия для оплаты на сайте банка.
- На стороне сервиса банка выполняется обработка платежа.
- Результат оплаты отображается пользователю на сайте банка.
- От сервиса банка к сервису провайдера направляется уведомление о результате оплаты.
- От сервиса провайдера к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется результат проведения оплаты.
- Результат оплаты отображается пользователю на Payment Page.
Информация о формате запросов и параметрах вызова Payment Page при работе с Banks of India, а также о формате оповещений о результатах оплат приведена далее; общая информация о работе с API см. в разделе Описание Payment Page API.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода Banks of India необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
- project_id — идентификатор проекта, полученный от ECommPay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- payment_currency — валюта платежа в формате ISO-4217 alpha-3;
- payment_amount — сумма платежа в минорных единицах,
- customer_id — идентификатор пользователя в рамках проекта.
- В зависимости от провайдера, обрабатывающего платёж, для проведения оплаты может потребоваться указывать данные пользователя в следующих параметрах:
- customer_first_name — имя,
- customer_last_name — фамилия,
- customer_phone — номер телефона,
- customer_email — адрес электронной почты,
- customer_zip — почтовый индекс,
- customer_city — город,
- customer_address — адрес в указанном городе.
При использовании платёжного метода Banks of India можно настраивать отображение страницы Payment Page с выбором метода оплаты.
По умолчанию банки, поддерживающие проведение оплат методом Banks of India, объединены в группу и отображаются одной кнопкой Banks of India, поэтому выбор банка осуществляется в два этапа.
Оплата через Payment Page с выбором банка на стороне сервиса провайдераПри использовании платёжного метода Banks of India с выбором банка на стороне сервиса провайдера сначала выбирается метод Banks of India на Payment Page, а затем выполняется выбор конкретного банка на стороне сервиса провайдера. В данном случае можно настраивать отображение Payment Page с предварительно выбранным платёжным методом Banks of India. Для этого необходимо передать код
Оплата через Payment Page с выбором банка на стороне Payment Pageonline-indian-banks
в параметре force_payment_method.При использовании платёжного метода Banks of India с выбором банка на стороне Payment Page сначала выбирается метод Banks of India среди прочих, а затем на следующей странице с перечнем банков выбирается конкретный банк. Существует несколько вариантов отображения страницы Payment Page с выбором метода оплаты:
- Отображение каждого банка группы отдельной кнопкой. Для этого необходимо передавать параметр split_banks со значением
true
в строке payment_methods_options.payment_methods_options={"online_indian_banks": {"split_banks": true}}
- Отображение кнопок конкретных банков (одного или нескольких). В списке методов может присутствовать метод Banks of India. Для этого необходимо передавать идентификаторы банков в параметре banks_id. Для отображения нескольких банков необходимо перечислять идентификаторы этих банков через запятую c пробелом.
payment_methods_options={"online_indian_banks": {"split_banks": true, "banks_id": [416, 415]}}
- Отображение только банков группы без других методов. Для этого используется предварительный выбор метода Banks of India. Необходимо передавать код платежного метода
online-indian-banks
в параметре force_payment_method. Пользователю открывается страница с выбором банков, минуя страницу с выбором метода оплаты. - Отображение сайта конкретного банка. Для этого используется предварительный выбор метода Banks of India. Необходимо передавать код платежного метода
online-indian-banks
в параметре force_payment_method и идентификатор банка banks_id в параметре payment_methods_options. Перенаправление пользователя на сайта банка осуществляется без подтверждения готовности оплатить, минуя страницы с выбором метода оплаты и с выбором банков.Рис.: Пример запроса на оплату с перенаправлением на сайт банка
{ payment_id: 'X03936', payment_amount: 200000, payment_currency: 'INR', project_id: 115, customer_id: 'customer123', customer_first_name: 'John', customer_last_name: 'Smith', customer_email: 'smith@example.com', customer_zip: '400009', customer_city: 'Mumbai', customer_address: '99, Chakla Street, Masjid Bunder (east)' force_payment_method: 'online-indian-banks', payment_methods_options={"online_indian_banks": {"banks_id": [416]}}, signature: "kUi2x9dKHAVNU0FYlSCQ9vySUkDJrOcZzUCwX6R\/ekpZhkIQg==" }
- Отображение каждого банка группы отдельной кнопкой. Для этого необходимо передавать параметр split_banks со значением
- Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех параметрах приведена в разделе Параметры открытия платежной формы Payment Page.
- После определения всех параметров необходимо составить подпись. Подробную информацию см. в Работа с подписью к данным.
Таким образом, корректный запрос на открытие платёжной формы с применением метода Banks of India должен содержать идентификаторы проекта и платежа, также валюту и сумму платежа, данные пользователя и подпись:
{ payment_id: 'ID_183', payment_amount: 10000, payment_currency: 'INR', project_id: 238, customer_id: 'customer123', customer_first_name: 'John', customer_last_name: 'Smith', customer_email: 'smith@example.com', customer_zip: '400009', customer_city: 'Mumbai', customer_address: '99, Chakla Street, Masjid Bunder (east)' signature: "hlhydUV+SmGJYhm6G.....5JuyamXS/BYQ1M2IUgBuVxa93HwzBbEjF9Veg==" }
Формат оповещений
Для оповещений о результатах оплат с применением метода Banks of India используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 239
была успешно проведена оплата в размере 10,00 INR
.
Рис.: Пример оповещения о проведении оплаты
{ "project_id": 239, "payment": { "id": "EP8550-ad59", "type": "purchase", "status": "success", "date": "2020-05-13T09:06:45+0000", "method": "India banks", "sum": { "amount": 1000, "currency": "INR" }, "description": "test" }, "customer": { "id": "345435435" }, "operation": { "id": 548, "type": "sale", "status": "success", "date": "2020-05-13T09:06:45+0000", "created_date": "2020-05-13T09:05:47+0000", "request_id": "7b0f630c3f2f395bba2738cf9086622bd4dd50bd3-00000001", "sum_initial": { "amount": 1000, "currency": "INR" }, "sum_converted": { "amount": 1000, "currency": "INR" }, "code": "0", "message": "Success", "provider": { "id": 2080, "payment_id": "15141-1589360772-25", "auth_code": "" } }, "signature": "rSV33iKYiOVpXctCvTGTg3...GLZny35xplogtGYT1w==" }
В следующем примере оплата была отклонена.
Рис.: Пример оповещения об отказе в проведении оплаты
{ "project_id": 239, "payment": { "id": "EP8550-ad59", "type": "purchase", "status": "decline", "date": "2020-05-13T09:06:45+0000", "method": "India banks", "sum": { "amount": 1000, "currency": "INR" }, "description": "test" }, "customer": { "id": "123" }, "operation": { "id": 548, "type": "sale", "status": "decline", "date": "2020-05-13T09:06:45+0000", "created_date": "2020-05-13T09:05:47+0000", "request_id": "7b0f630c3f2f395bba2738cf9086622bd4dd50bd3-00000002", "sum_initial": { "amount": 1000, "currency": "INR" }, "sum_converted": { "amount": 1000, "currency": "INR" }, "code": "20000", "message": "decline", "provider": { "id": 2080, "payment_id": "", "auth_code": "" } }, "signature": "rSV33iKYiOVpXctCvTGTg3...GLZny35xplogtGYT1g==" }
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
Оплаты через Gate
Общая информация
Для оплаты через Gate с использованием метода Banks of India со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ECommPay.
- Осуществить перенаправление пользователя на сайт банка (или на страницу выбора банка), поддерживающего работу с методом Banks of India.
- Принять оповещение о результате оплаты.
Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Gate с перенаправлением на сайт банка
Рис.: Проведение оплаты через Gate с перенаправлением на сайт банка
- Пользователь на стороне веб-сервиса инициирует оплату через один из банков, поддерживающих работу с методом Banks of India.
- От веб-сервиса на заданный URL ECommPay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис банка.
- На стороне банка выполняется обработка запроса на оплату.
- От сервиса банка к платёжной платформе передаются данные для перенаправления пользователя на сайт банка.
- От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя на сайт банка.
- Пользователь перенаправляется на сайт банка.
- Пользователь выполняет необходимые действия для оплаты на сайте банка.
- На стороне сервиса банка выполняется обработка платежа.
- Пользователю отображается результат оплаты на сайте банка.
- Пользователь перенаправляется к веб-сервису.
- От сервиса банка к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От веб-сервиса пользователю направляется результат оплаты.
Рис.: Проведение оплаты через Gate с выбором банка на стороне провайдера
Рис.: Проведение оплаты через Gate с выбором банка на стороне провайдера
- Пользователь на стороне веб-сервиса инициирует оплату через сервис провайдера.
- От веб-сервиса на заданный URL ECommPay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис провайдера.
- На стороне провайдера выполняется обработка запроса на оплату.
- От сервиса провайдера к платёжной платформе передаются данные для перенаправления пользователя на страницу выбора банка.
- От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя на страницу выбора банка.
- Пользователь перенаправляется на страницу выбора банка.
- Пользователь выбирает банк для оплаты.
- Пользователь перенаправляется на сайт выбранного банка.
- Пользователю отображается страница оплаты на сайте банка.
- Пользователь выполняет необходимые действия для оплаты на сайте банка.
- На стороне сервиса банка выполняется обработка платежа.
- Пользователю отображается результат оплаты на сайте банка.
- Пользователь перенаправляется к веб-сервису.
- От сервиса банка к сервису провайдера направляется уведомление о результате оплаты.
- От сервиса провайдера к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От веб-сервиса пользователю направляется результат оплаты.
Информация о формате запросов и параметрах инициации оплат методом Banks of India через Gate, а также о формате оповещений о результатах оплат приведена далее, общая информация о работе с API см. в разделе Работа с API.
Формат запросов
При работе с запросами на оплаты с применением метода Banks of India необходимо учитывать следующее:
- Должен использоваться запрос
/v2/payment/banks/india/sale
, отправляемый методом POST. Этот запрос относится к группе запросов /v2/payment/banks/{payment_method}/sale. - В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ECommPay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
- payment — объект, содержащий сведения о платеже:
- amount — сумма платежа в минорных единицах валюты,
- currency — валюта платежа в формате ISO-4217 alpha-3;
- customer — сведения о пользователе:
- id — идентификатор в рамках проекта,
- ip_address — используемый IP-адрес;
- account — объект, содержащий сведения о банковском счёте пользователя:
- bank_id — идентификатор банка. Данный параметр не является обязательным при использовании способа выбора банка на стороне сервиса провайдера;
- return_url — объект, содержащий URL для перенаправления пользователя в веб-сервис:
- success — URL для перенаправления пользователя при успешной оплате.
- general — объект, содержащий основные идентификационные сведения запроса:
- В зависимости от провайдера, обрабатывающего платёж, может потребоваться указывать данные пользователя. Если параметры отсутствуют в запросе, список недостающих параметров отправляется в оповещении на уточнение. Подробнее об уточнении параметров — в разделе Дополнение информации о платеже.
Рекомендуется использовать следующие объекты и параметры:
- customer — объект, содержащий сведения о пользователе:
- first_name — имя пользователя,
- last_name — фамилия пользователя,
- phone — номер телефона,
- email — адрес электронной почты,
- zip — почтовый индекс,
- city — город,
- address — адрес в указанном городе.
- customer — объект, содержащий сведения о пользователе:
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на оплату с применением метода Banks of India должен содержать идентификаторы проекта, пользователя и платежа, подпись, данные пользователя, валюту и сумму платежа, URL для перенаправления:
Рис.: Пример запроса на оплату
{ "general": { "project_id": 123, "payment_id": "ORDER_1558600157", "signature": "+K6jllym+PtObocZ...A4NcWxfWJTXdESkijfsBeR6bKROUsslA==" }, "customer": { "email": "waynen@example.com", "first_name": "John", "last_name": "Waynen", "phone": "123456789", "zip": "400009", "city": "Mumbai", "address": "99, Chakla Street, Masjid Bunder (east)", "ip_address": "1.2.3.4", "id": "customer1" }, "payment": { "amount": 1500, "currency": "INR" }, "return_url": { "success": "https://www.example.com" } }
Форматы данных для перенаправления пользователей
Для перенаправления пользователя от веб-сервиса на сайт банка (или на страницу выбора банка) необходимо принять оповещение от платёжной платформы, содержащее ссылку для перенаправления в параметре redirect_data.url и данные для отправки в теле запроса redirect_data.body, и использовать эти параметры при открытии HTML-страницы сайта методом, указанным в redirect_data.method.
Далее приведён фрагмент оповещения, содержащего данные для перенаправления.
"redirect_data": { "body": {...}, "method": "GET", "url": "https://example.com/payment/initialize/api/123" }
Формат оповещений
Для оповещений о результатах оплат с применением метода Banks of India используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 239
была успешно проведена оплата в размере 10,00 INR
.
Рис.: Пример оповещения о проведении оплаты
{ "project_id": 239, "payment": { "id": "EP8550-ad59", "type": "purchase", "status": "success", "date": "2020-05-13T09:06:45+0000", "method": "India banks", "sum": { "amount": 1000, "currency": "INR" }, "description": "test" }, "customer": { "id": "345435435" }, "operation": { "id": 548, "type": "sale", "status": "success", "date": "2020-05-13T09:06:45+0000", "created_date": "2020-05-13T09:05:47+0000", "request_id": "7b0f630c3f2f395bba2738cf9086622bd4dd50bd3-00000001", "sum_initial": { "amount": 1000, "currency": "INR" }, "sum_converted": { "amount": 1000, "currency": "INR" }, "code": "0", "message": "Success", "provider": { "id": 2080, "payment_id": "15141-1589360772-25", "auth_code": "" } }, "signature": "rSV33iKYiOVpXctCvTGTg3...GLZny35xplogtGYT1w==" }
В следующем примере оплата была отклонена.
Рис.: Пример оповещения об отказе в проведении оплаты
{ "project_id": 239, "payment": { "id": "EP8550-ad59", "type": "purchase", "status": "decline", "date": "2020-05-13T09:06:45+0000", "method": "India banks", "sum": { "amount": 1000, "currency": "INR" }, "description": "test" }, "customer": { "id": "123" }, "operation": { "id": 548, "type": "sale", "status": "decline", "date": "2020-05-13T09:06:45+0000", "created_date": "2020-05-13T09:05:47+0000", "request_id": "7b0f630c3f2f395bba2738cf9086622bd4dd50bd3-00000002", "sum_initial": { "amount": 1000, "currency": "INR" }, "sum_converted": { "amount": 1000, "currency": "INR" }, "code": "20000", "message": "decline", "provider": { "id": 2080, "payment_id": "", "auth_code": "" } }, "signature": "rSV33iKYiOVpXctCvTGTg3...GLZny35xplogtGYT1g==" }
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
Возвраты через Gate
Общая информация
Banks of India поддерживает проведение полных и частичных возвратов. Для проведения возврата через Gate с использованием метода Banks of India со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ECommPay и принять оповещение о результате. Полная схема проведения возврата представлена далее.
Рис.: Проведение возврата через Gate
- Пользователь запрашивает возврат.
- От веб-сервиса на заданный URL ECommPay передаётся запрос на проведение возврата через Gate.
- Gate перенаправляет запрос в платёжную платформу ECommPay для дальнейшей обработки.
- На стороне платёжной платформы ECommPay выполняются необходимые проверка и первичная обработка запроса.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробная информация представлена в разделе Формат ответа.
- Обработанный запрос передаётся в сервис провайдера.
- На стороне провайдера выполняется обработка платежа.
- От провайдера к платёжной платформе направляется оповещение о результате.
- От платёжной платформы к веб-сервису направляется оповещение о результате.
- От веб-сервиса пользователю направляется результат возврата (в соответствии с порядком работы веб-сервиса).
Информация о формате запросов и параметрах инициации возвратов методом Banks of India через Gate, а также о формате оповещений о результатах возвратов приведена далее, общая информация о работе с API представлена в разделе Работа с API.
Формат запросов
При работе с запросами на возврат с применением метода Banks of India необходимо учитывать следующее:
- Должен использоваться запрос
/v2/payment/banks/india/refund
, отправляемый методом POST. Этот запрос относится к группе запросов /v2/payment/banks/{payment_method}/refund. - В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ECommPay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Работа с подписью к данным);
- payment — объект, содержащий сведения о возврате :
- description — комментарий или описание возврата,
- amount — сумма возврата в минорных единицах валюты (обязательный при частичном возврате),
- currency — валюта возврата в формате ISO-4217 alpha-3 (обязательный при частичном возврате).
- general — объект, содержащий основные идентификационные сведения запроса:
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на возврат с применением данного метода должен содержать идентификаторы проекта и платежа, подпись и описание возврата:
Рис.: Пример запроса на возврат
{
"general": {
"project_id": 101,
"payment_id": "ECT_TEST_1572258898441234343232",
"signature": "NUpXRpdrU/rRcwEa/jQYoYbXA/YIc/dgeuncPmD/BJZGZvt59GbTSAUKHI/WrQ=="
},
"payment": {
"description":"test_refund"
}
Формат оповещений
Для оповещений о результатах возврата с применением метода Banks of India используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 197
был успешно проведён возврат в размере 350,00 INR
.
Рис.: Пример оповещения о проведении возврата
{ "project_id": 197, "payment": { "id": "TEST_554862", "type": "purchase", "status": "refunded", "date": "2020-09-09T10:02:18+0000", "method": "India banks", "sum": { "amount": 0, "currency": "INR" }, "merchant_refund_id": "TEST_554862", "description": "TEST_554862" }, "customer": { "id": "1", "phone": "1234567890" }, "operation": { "id": 90266010010271, "type": "refund", "status": "success", "date": "2020-09-09T10:02:18+0000", "created_date": "2020-09-09T09:46:14+0000", "request_id": "6b77b588d77d5c27be31be7b72bf9adf...b1c85eda238b73cac-00090267", "sum_initial": { "amount": 35000, "currency": "INR" }, "sum_converted": { "amount": 35000, "currency": "INR" }, "code": "0", "message": "Success", "provider": { "id": 1751, "payment_id": "4952688", "auth_code": "" } }, "signature": "WUZUy26FHZglsro9PYFr89suJAciQ...5Fev4NtHl56VGTgX9m/g==" }
В следующем примере возврат был отклонён, так как значение суммы в запросе на возврат больше суммы в оплате.
Рис.: Пример оповещения об отказе в проведении возврата
{ "project_id": 197, "payment": { "id": "TEST_554863", "type": "purchase", "status": "success", "date": "2020-09-09T10:02:18+0000", "method": "India banks", "sum": { "amount": 35000, "currency": "INR" }, "merchant_refund_id": "TEST_554863", "description": "TEST_554863" }, "customer": { "id": "1", "phone": "1234567890" }, "operation": { "id": 90266010010272, "type": "refund", "status": "decline", "date": "2020-09-09T10:02:18+0000", "created_date": "2020-09-09T09:46:14+0000", "request_id": "6b77b588d77d5c27be31be7b72bf9adf...b1c85eda238b73cac-00090268", "sum_initial": { "amount": 35000, "currency": "INR" }, "sum_converted": { "amount": 35000, "currency": "INR" }, "code": "3283", "message": "Refund amount more than init amount" } }, "signature": "WUZUy26FHZglsro9PYFr89suJAciQ...5Fev4NtHl56VGTgX9m/g==" }
Дополнительные материалы
Для организации работы с возвратами через Gate также могут быть полезны следующие материалы:
Выплаты через Gate
Общая информация
Для выплаты через Gate с использованием метода Banks of India со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ECommPay и принять оповещение о результате выплаты. Полная схема проведения выплаты представлена далее.
Рис.: Проведение выплаты через Gate
- Пользователь на стороне веб-сервиса инициирует выплату через Banks of India.
- От веб-сервиса на заданный URL ECommPay передаётся запрос на проведение выплаты через Gate.
- Запрос на проведение выплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис провайдера.
- На стороне провайдера выполняется обработка платежа.
- От провайдера к платёжной платформе направляется оповещение о результате.
- От платёжной платформы к веб-сервису направляется оповещение о результате.
- От веб-сервиса пользователю направляется результат выплаты.
Информация о формате запросов и параметрах инициации выплат методом Banks of India через Gate, а также о формате оповещений о результатах выплат приведена далее, общая информация о работе с API см. в разделе Работа с API.
Формат запросов
При работе с запросами на выплаты с применением метода Banks of India необходимо учитывать следующее:
- Должен использоваться запрос
/v2/payment/banks/india/payout
, отправляемый методом POST. Этот запрос относится к группе запросов /v2/payment/banks/{payment_method}/payout. - В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ECommPay при интеграции.
- payment_id — идентификатор платежа, уникальный в рамках проекта.
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным).
- payment — объект, содержащий сведения о платеже:
- amount — сумма платежа в минорных единицах валюты.
- currency — валюта платежа в формате ISO-4217 alpha-3.
- customer — объект, содержащий сведения о пользователе:
- id — идентификатор пользователя на стороне веб-сервиса.
- ip_address — используемый IP-адрес.
- first_name — имя пользователя.
- last_name — фамилия пользователя.
- phone — номер телефона.
- email — адрес электронной почты.
- address — адрес проживания.
- account — объект, содержащий сведения о счёте получателя:
- number — номер счёта.
- bank_code — код филиала банка в финансовой системе Индии (Indian Financial System Code, IFSC), для определения которого можно использовать официальный реестр; с примерами таких кодов можно ознакомиться в файле.
- bank_id — идентификатор банка (обязательность этого параметра зависит от провайдера, который проводит выплату, подробности следует уточнять у курирующего менеджера ECommPay).
- general — объект, содержащий основные идентификационные сведения запроса:
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на выплату с применением метода Banks of India должен содержать идентификаторы проекта и платежа, подпись, номер счёта и данные пользователя, валюту и сумму платежа, а также сведения о счёте получателя:
Рис.: Пример запроса на выплату
{ "general": { "project_id": 818, "payment_id": "ORDER_I1558600157", "signature": "+K6jllym+PtObocZ1yS...xfWJTXdESkijfsBeR6bKROUsslA==" }, "payment": { "amount": 150000, "currency": "INR" }, "customer": { "id": "24900", "ip_address": "1.2.3.4", "first_name": "John", "last_name": "Waynen", "phone": "16132354341", "email": "waynen@example.com", "address": "99, Chakla Street, Masjid Bunder (east)" }, "account": { "bank_code": "test_code", "bank_id": 401, "number": "5588994446666" } }
Формат оповещений
Для оповещений о результатах выплат с применением метода Banks of India используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 239
была успешно проведена выплата в размере 1000,00 INR
.
Рис.: Пример оповещения о проведении выплаты
{ "project_id": 239, "payment": { "id": "ORDER53", "type": "payout", "status": "success", "date": "2020-05-21T13:23:32+0000", "method": "India banks", "sum": { "amount": 100000, "currency": "INR" }, "description": "description" }, "account": { "number": "123456" }, "customer": { "id": "24901" }, "operation": { "id": 1386, "type": "payout", "status": "success", "date": "2020-05-21T13:23:32+0000", "created_date": "2020-05-21T13:23:28+0000", "request_id": "e48da2df266940ce5f534c84cae31237ca774b6fb-00000002", "sum_initial": { "amount": 100000, "currency": "INR" }, "sum_converted": { "amount": 100000, "currency": "INR" }, "code": "0", "message": "Success", "provider": { "id": 2080, "payment_id": "15141-1589360772-26", "auth_code": "" } }, "signature": "UvYafKv8g7aXBIqVVEWAl7KCF8y...Wt8F+7erV2ugNHq6Wv3lJE8Q==" }
В следующем примере выплата была отклонена.
Рис.: Пример оповещения об отказе в проведении выплаты
{ "project_id": 239, "payment": { "id": "ORDER54", "type": "payout", "status": "decline", "date": "2020-05-21T13:23:32+0000", "method": "India banks", "sum": { "amount": 1000, "currency": "INR" }, "description": "description" }, "account": { "number": "123456" }, "customer": { "id": "24900" }, "operation": { "id": 1386, "type": "payout", "status": "decline", "date": "2020-05-21T13:23:32+0000", "created_date": "2020-05-21T13:23:28+0000", "request_id": "e48da2df266940ce5fdc7ae31237ca774b6fb-00000001", "sum_initial": { "amount": 1000, "currency": "INR" }, "sum_converted": { "amount": 1000, "currency": "INR" }, "code": "20000", "message": "General decline", "provider": { "id": 2080, "payment_id": "", "auth_code": "" } }, "signature": "UvYafKv8g7aXBIqVVEWAl7KCF8y...Wt8F+7erV2ugNHq6Wv3lJE8Q==" }
Дополнительные материалы
Для организации работы с выплатами через Gate также могут быть полезны следующие материалы:
Выплаты через Dashboard (Old Dashboard)
- как единичную выплату — в этом случае для каждой выплаты необходимо указать доступные для данного метода валюту и сумму, выбрать метод и заполнить все поля, отображаемые в интерфейсе с учётом выбранного метода;
- в рамках массового платежа — в этом случае все параметры выплат необходимо задать в файле формата CSV с учётом требований, представленных в разделе Выплаты через Gate (кроме пункта о подписи).
Информация о проведении выплат отображается в разделе Платежи интерфейса Dashboard (Old Dashboard).
Более подробная информация о проведении выплат через Dashboard (Old Dashboard) представлена в разделе Проведение выплат.
Анализ результатов проведения платежей
Как и при работе с другими платёжными методами, которые предоставляет ECommPay, при использовании метода Banks of India доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.
Всю необходимую информацию можно получать и анализировать средствами Dashboard (Old Dashboard), в том числе с помощью аналитических панелей на вкладке Analytics.
Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:
- Dashboard (Old Dashboard) позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
- Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.
С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ECommPay.