RBK Bank KZ

Обзор

RBK Bank — платёжный метод, который позволяет пользователям совершать оплаты через интернет-банкинг RBK Bank. Для работы с этим методом доступно проведение оплат через Payment Page и Gate.

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

Тип платёжного метода Интернет-банкинг
Регионы использования Казахстан
Валюты платежей EUR, KZT, RUB, USD
Конвертация валют На стороне ECommPay
Оплаты +
Выплаты
Оплаты по сохранённым данным
Полные возвраты
Частичные возвраты
Опротестования
Особенности Оплата со стороны пользователя должна быть завершена в течение 7 суток с момента получения ссылки для перенаправления
Организация и стоимость подключения По согласованию с курирующим менеджером ECommPay

Схема работы

В проведении отдельного платежа с использованием метода RBK Bank задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ECommPay, а также технические средства сервиса RBK Bank.

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

Интерфейсы Суммы
Payment Page CMS Plug-ins Gate Dashboard (Old Dashboard) Минимум Максимум
Оплаты + + 5,00 KZT

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

Проведение оплат с использованием метода RBK Bank выполняется с перенаправлением пользователей в сервис RBK Bank.

Рис.: Оплата через Payment Page



Рис.: Оплата через Gate



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

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

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

Для оплаты через Payment Page с использованием метода RBK Bank со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ECommPay и принять оповещение о результате оплаты. При этом метод RBK Bank можно сделать предварительно выбранным (подробнее — в разделе Предварительный выбор платёжного метода). Полная схема проведения оплаты представлена далее.



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

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

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

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

При формировании запросов на открытие платёжной формы с применением метода RBK Bank необходимо учитывать следующее:

  1. Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
    • project_id — идентификатор проекта, полученный от ECommPay при интеграции;
    • payment_id — идентификатор платежа, уникальный в рамках проекта;
    • payment_amount — сумма платежа в минорных единицах валюты;
    • payment_currency — валюта платежа в формате ISO-4217 alpha-3;
    • customer_id — идентификатор пользователя уникальный в рамках проекта.
  2. Валютой платежа могут быть EUR, KZT, RUB, USD.
  3. Для предварительного выбора метода RBK Bank необходимо указывать код платёжного метода в параметре force_payment_methodrbk.
  4. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех параметрах приведена в разделе Параметры открытия платежной формы Payment Page.
  5. После определения всех параметров необходимо составить подпись. Подробнее — в разделе Работа с подписью к данным.

Таким образом, корректный запрос на оплату с применением метода RBK Bank должен содержать идентификаторы проекта, пользователя и платежа, подпись, сумму и валюту платежа:

EPayWidget.run(
    { project_id: 198, 
      payment_id: 'X03936',
      payment_amount: 10000, 
      payment_currency: 'KZT, 
      customer_id: 'customer1',   
      signature: "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y1Y4HASCQ9vySODJr...=="
    }
)

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

Для оповещений о результатах оплат с применением метода RBK Bank используется стандартный формат, описание которого представлено в разделе Оповещения.

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

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

"callbackBody": {
        "customer": {
            "id": "4027204",
            "phone": "77014806380"
        },
        "payment": {
            "date": "2019-06-14T09:23:35+0000",
            "id": "10010074112",
            "method": "bankrbk24",
            "status": "success",
            "sum": {
                "amount": 1000000,
                "currency": "KZT"
            },
            "type": "purchase",
            "description": "10010074112"
        },
        "project_id": 593,
        "operation": {
            "id": 27985000002817,
            "type": "sale",
            "status": "success",
            "date": "2019-06-14T09:23:35+0000",
            "created_date": "2019-06-14T09:15:24+0000",
            "request_id": "a4f792c8832f9f62",
            "sum_initial": {
                "amount": 1000000,
                "currency": "KZT"
            },
            "sum_converted": {
                "amount": 1000000,
                "currency": "KZT"
            },
            "provider": {
                "id": 1117,
                "payment_id": "50416966",
                "date": "2019-06-14T15:23:26+0000",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "Ws8tFx+owp+74CRVtZE1X7Xa2x8SfJht2EpS2uD3AGCC...=="
    }

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

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

 "callbackBody": {
        "project_id": 532,
        "payment": {
            "id": "2123292",
            "type": "purchase",
            "status": "decline",
            "date": "2019-09-10T11:59:17+0000",
            "method": "bankrbk24",
            "sum": {
                "amount": 500000,
                "currency": "KZT"
            },
            "description": ""
        },
        "customer": {
            "id": "1",
            "phone": "79017525555"
        },
        "operation": {
            "id": 49705000001895,
            "type": "sale",
            "status": "decline",
            "date": "2019-09-10T11:59:17+0000",
            "created_date": "2019-09-03T11:49:14+0000",
            "request_id": "a05a1b72966a05a8226b68fadea",
            "sum_initial": {
                "amount": 500000,
                "currency": "KZT"
            },
            "sum_converted": {
                "amount": 500000,
                "currency": "KZT"
            },
            "provider": {
                "id": 1117,
                "payment_id": "70953275",
                "auth_code": ""
            },
            "code": "20602",
            "message": "Time-out"
        },
        "signature": "+acXy66J1d7wLCbHHJv7DyPFF5i8f1jb4bWtub...=="
    }

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

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

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

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

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

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

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



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

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

Информация о формате запросов и параметрах инициирования оплат через Gate при работе с методом RBK Bank, а также о форматах данных для перенаправления пользователей и о формате оповещений о результатах оплат приведена далее; общая информация о работе с API — в разделе Работа с API.

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

При формировании запросов на оплату с применением метода RBK Bank необходимо учитывать следующее:

  1. Должен использоваться запрос /v2/payment/online-banking/bankrbk24/sale, отправляемый методом POST. Этот запрос относится к группе запросов через интернет-банкинг /v2/payment/online-banking/{payment_method}/sale.
  2. В запросе должны использоваться следующие объекты и параметры:
    • general — объект, содержащий основные идентификационные сведения запроса:
      • project_id — идентификатор проекта, полученный от ECommPay при интеграции;
      • payment_id — идентификатор платежа, уникальный в рамках проекта;
      • signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
    • customer — объект, содержащий сведения о пользователе:
      • id — идентификатор, уникальный в рамках проекта,
      • ip_address — используемый IP-адрес,
      • phone — номер телефона;
    • payment — объект, содержащий сведения о платеже:
      • amount — сумма платежа в минорных единицах валюты,
      • currency — валюта платежа в формате ISO-4217 alpha-3.
  3. Валютой платежа могут быть EUR, KZT, RUB, USD.
  4. Дополнительно могут использоваться любые другие параметры, указанные в спецификации.

Таким образом, корректный запрос на оплату с применением метода RBK Bank должен содержать идентификаторы проекта и платежа, подпись, сумму и валюту платежа, данные пользователя:

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

{
    "general": {
      "project_id": 198,
      "payment_id": payment_id,
      "signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipT...=="
    },
    "payment": {
      "amount": 3000000,
      "currency": "KZT"
      },
    "customer": {
      "ip_address": "1.1.1.1",
      "phone": "79017525555",
      "id": "customer123"
   }
}

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

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

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

  "redirect_data": {
                    "body": {
                        "lifetime": 86400,
                        "id": 50416966
                    },
                    "encrypted": [],
                    "url": "https://www.bankrbk24.kz/Authorize/Login"
        }

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

Для оповещений о результатах оплат с применением метода RBK Bank используется стандартный формат, описание которого представлено в разделе Оповещения.

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

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

"callbackBody": {
        "customer": {
            "id": "4027204",
            "phone": "77014806380"
        },
        "payment": {
            "date": "2019-06-14T09:23:35+0000",
            "id": "10010074112",
            "method": "bankrbk24",
            "status": "success",
            "sum": {
                "amount": 1000000,
                "currency": "KZT"
            },
            "type": "purchase",
            "description": "10010074112"
        },
        "project_id": 593,
        "operation": {
            "id": 27985000002817,
            "type": "sale",
            "status": "success",
            "date": "2019-06-14T09:23:35+0000",
            "created_date": "2019-06-14T09:15:24+0000",
            "request_id": "a4f792c8832f9f62",
            "sum_initial": {
                "amount": 1000000,
                "currency": "KZT"
            },
            "sum_converted": {
                "amount": 1000000,
                "currency": "KZT"
            },
            "provider": {
                "id": 1117,
                "payment_id": "50416966",
                "date": "2019-06-14T15:23:26+0000",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "Ws8tFx+owp+74CRVtZE1X7Xa2x8SfJht2EpS2uD3AGCC...=="
    }

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

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

 "callbackBody": {
        "project_id": 532,
        "payment": {
            "id": "2123292",
            "type": "purchase",
            "status": "decline",
            "date": "2019-09-10T11:59:17+0000",
            "method": "bankrbk24",
            "sum": {
                "amount": 500000,
                "currency": "KZT"
            },
            "description": ""
        },
        "customer": {
            "id": "1",
            "phone": "79017525555"
        },
        "operation": {
            "id": 49705000001895,
            "type": "sale",
            "status": "decline",
            "date": "2019-09-10T11:59:17+0000",
            "created_date": "2019-09-03T11:49:14+0000",
            "request_id": "a05a1b72966a05a8226b68fadea",
            "sum_initial": {
                "amount": 500000,
                "currency": "KZT"
            },
            "sum_converted": {
                "amount": 500000,
                "currency": "KZT"
            },
            "provider": {
                "id": 1117,
                "payment_id": "70953275",
                "auth_code": ""
            },
            "code": "20602",
            "message": "Time-out"
        },
        "signature": "+acXy66J1d7wLCbHHJv7DyPFF5i8f1jb4bWtub...=="
    }

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

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

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

Как и при работе с другими платёжными методами, которые предоставляет ECommPay, при использовании метода RBK Bank доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.

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

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

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

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