Kassa24

Обзор

Kassa24 — платёжный метод, который позволяет оплачивать наличными в терминалах Kassa24. Оплаты осуществляются через Payment Page и Gate.

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

Тип платёжного метода платежи в терминалах оплаты
Регионы использования KZ
Валюты платежей KZT
Конвертация валют
Оплаты +
Выплаты
Оплаты по сохранённым данным
Полные возвраты
Частичные возвраты
Опротестования
Особенности оплата осуществляется наличными в терминалах оплаты Kassa24
Организация и стоимость подключения по согласованию с курирующим менеджером ECommPay

Схема работы

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

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

Интерфейсы Суммы, KZT Время**
Payment Page CMS Plug-ins Gate Dashboard (Old Dashboard) минимум максимум базовое предельное
Оплаты + + 5,00 * *

* Информацию необходимо уточнять у курирующего менеджера ECommPay.

** Базовое и предельное время определяются следующим образом:
  • Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время, определяемое для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа.
  • Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус decline. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ECommPay.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    { payment_id: 'test_payment', 
      payment_amount: 1000, 
      payment_currency: 'KZT', 
      project_id: 238, 
      customer_id: 'customer1',
      signature: "KDHGuawttgeyo+52Kt8KU+Y1Y4HASCQ9OcZzUCwX6R\/ekpZhkIQg=="
    }

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

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

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

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

 { 
        "customer": {
            "id": "eDTptbsRAow="
        },
        "OperationFee": {
            "amount": 0,
            "currency": "KZT"
        },
        "payment": {
            "date": "2019-10-12T15:27:17+0000",
            "id": "11",
            "method": "kassa24",
            "status": "success",
            "sum": {
                "amount": 50000,
                "currency": "KZT"
            },
            "type": "purchase",
            "description": ""
        },
        "project_id": 138,
        "phone": "123456789",
        "operation": {
            "id": 8416000007811,
            "type": "sale",
            "status": "success",
            "date": "2019-10-12T15:27:17+0000",
            "created_date": "2019-10-12T15:23:15+0000",
            "request_id": "4f375660191b0d4ef7933284b373041286489-00008417",
            "sum_initial": {
                "amount": 50000,
                "currency": "KZT"
            },
            "sum_converted": {
                "amount": 50000,
                "currency": "KZT"
            },
            "code": "0",
            "message": "Success",
            "provider": {
                "id": 1114,
                "payment_id": "86315380",
                "auth_code": "",
                "date": "2019-10-12T21:26:01+0000"
            }
        },
        "signature": "BJs+ZQ2nCWxumoyEFAISS6jL5rQ0qmnWmCBPAc8BpUDbiWA7Z8+kN9NcpvTgtTA=="
}

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

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

 { 
        "customer": {
            "id": "eDTptbsRdas"
        },
        "OperationFee": {
            "amount": 0,
            "currency": "KZT"
        },
        "payment": {
            "date": "2019-10-12T15:27:17+0000",
            "id": "12",
            "method": "kassa24",
            "status": "decline",
            "sum": {
                "amount": 87900,
                "currency": "KZT"
            },
            "type": "purchase",
            "description": ""
        },
        "project_id": 138,
        "phone": "123456789",
        "operation": {
            "id": 8416000007811,
            "type": "sale",
            "status": "decline",
            "date": "2019-10-12T15:27:17+0000",
            "created_date": "2019-10-12T15:23:15+0000",
            "request_id": "4f375660191b0d4ef7933284b373041286489-00008418",
            "sum_initial": {
                "amount": 87900,
                "currency": "KZT"
            },
            "sum_converted": {
                "amount": 87900,
                "currency": "KZT"
            },
            "code": "20602",
            "message": "Time-out",
            "provider": {
                "id": 1114,
                "payment_id": "86315380",
                "auth_code": "",
                "date": "2019-10-12T21:26:01+0000"
            }
        },
        "signature": "BJs+ZQ2nCWxumoyEFAISS6jL5rQ0qmnWmCdsadqwDbiWA7Z8+kN9NcpvTgtTA=="
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

{
    "general": {
    "project_id": 138,
    "payment_id": "ID_184",
    "signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsaC6tajQVVLhNN5e7cV+VHq3LAWoXW\/9MTO8yJA=="
  },
  "customer": {
    "ip_address": "1.1.1.1",
    "phone": "16132354341",
    "id": "123"
    },
  "payment": {
    "amount": 1000,
    "currency": "KZT"
  }
}

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

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

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

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

 { 
        "customer": {
            "id": "eDTptbsRAow="
        },
        "OperationFee": {
            "amount": 0,
            "currency": "KZT"
        },
        "payment": {
            "date": "2019-10-12T15:27:17+0000",
            "id": "11",
            "method": "kassa24",
            "status": "success",
            "sum": {
                "amount": 50000,
                "currency": "KZT"
            },
            "type": "purchase",
            "description": ""
        },
        "project_id": 138,
        "phone": "123456789",
        "operation": {
            "id": 8416000007811,
            "type": "sale",
            "status": "success",
            "date": "2019-10-12T15:27:17+0000",
            "created_date": "2019-10-12T15:23:15+0000",
            "request_id": "4f375660191b0d4ef7933284b373041286489-00008417",
            "sum_initial": {
                "amount": 50000,
                "currency": "KZT"
            },
            "sum_converted": {
                "amount": 50000,
                "currency": "KZT"
            },
            "code": "0",
            "message": "Success",
            "provider": {
                "id": 1114,
                "payment_id": "86315380",
                "auth_code": "",
                "date": "2019-10-12T21:26:01+0000"
            }
        },
        "signature": "BJs+ZQ2nCWxumoyEFAISS6jL5rQ0qmnWmCBPAc8BpUDbiWA7Z8+kN9NcpvTgtTA=="
}

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

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

 { 
        "customer": {
            "id": "eDTptbsRdas"
        },
        "OperationFee": {
            "amount": 0,
            "currency": "KZT"
        },
        "payment": {
            "date": "2019-10-12T15:27:17+0000",
            "id": "12",
            "method": "kassa24",
            "status": "decline",
            "sum": {
                "amount": 87900,
                "currency": "KZT"
            },
            "type": "purchase",
            "description": ""
        },
        "project_id": 138,
        "phone": "123456789",
        "operation": {
            "id": 8416000007811,
            "type": "sale",
            "status": "decline",
            "date": "2019-10-12T15:27:17+0000",
            "created_date": "2019-10-12T15:23:15+0000",
            "request_id": "4f375660191b0d4ef7933284b373041286489-00008418",
            "sum_initial": {
                "amount": 87900,
                "currency": "KZT"
            },
            "sum_converted": {
                "amount": 87900,
                "currency": "KZT"
            },
            "code": "20602",
            "message": "Time-out",
            "provider": {
                "id": 1114,
                "payment_id": "86315380",
                "auth_code": "",
                "date": "2019-10-12T21:26:01+0000"
            }
        },
        "signature": "BJs+ZQ2nCWxumoyEFAISS6jL5rQ0qmnWmCdsadqwDbiWA7Z8+kN9NcpvTgtTA=="
}

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

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

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

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

Для метода Kassa24 доступно тестирование оплат через Payment Page и Gate.

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

При проведении тестовых платежей следует учитывать, что в запросах должен указываться идентификатор тестового проекта, а интерфейсы эмулятора платёжных форм Payment Page и Kassa24 могут отличаться от рабочих.

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

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

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

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

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

  1. Отправить в платёжную платформу корректный тестовый запрос на открытие Payment Page.
  2. Если в запросе не был указан метод kassa24 — выбрать метод Kassa24 на странице эмулятора.
  3. Указать в поле ввода произвольный номер телефона.
  4. Убедиться в отображении инструкции.
  5. Принять оповещение с информацией о результате оплаты (это оповещение отправляется по истечении 10 секунд после формирования страницы с инструкцией, отображаемой на шаге 4).

Подробная информация о проведении оплат с использованием метода Kassa24 через Payment Page представлена в пункте Оплаты через Payment Page.

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

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

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

Подробная информация о проведении оплат с использованием метода Kassa24 через Gate представлена в пункте Оплаты через Gate.

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

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

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

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

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

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