Платежный шлюз - это сервис, который помогает нам совершать денежную транзакцию в Интернете, он принимает кредитные карты, дебетовые карты, интернет-банкинг и другие способы оплаты от клиента для выполнения транзакции. Службы платежных шлюзов шифруют конфиденциальную информацию, такую как номера карт, CVV, пароли, пин-коды и т. д. Они интегрированы с платформами электронной коммерции для совершения и получения платежей. С ростом цифровых платежей на платформах электронной коммерции мы должны предоставлять клиентам безопасные и удобные платежные шлюзы, которые могут выдерживать высокие нагрузки без каких-либо сбоев в работе. Некоторыми из распространенных примеров платежных шлюзов являются Paypal, Paytm, Razor pay, Instamojo и т. д.
Терминология:
- Торговец (Merchant): это лицо или компания, которые продают товар или услугу, они могут быть поставщиком услуг, продавцом товара, магазином электронной коммерции и т. д. Они принимают онлайн-платежи для своего бизнеса;
- Банк-эквайер (Acquiring bank): это банк продавца, когда клиент платит через платежный шлюз, сумма зачисляется в банк-эквайер;
- Банк-эмитент (Issuing bank): это банк клиента, когда продавец получает платеж, сумма вычитается из банка-эмитента;
- Транзакция: это платеж, сделанный в кассе платежного шлюза. Он генерирует уникальный идентификатор, который называется идентификатором транзакции;
- Авторизация: платежный шлюз отправляет запросы авторизации на счет клиента (банк-эмитент) для вычета суммы. Запрос авторизации может быть отклонен или одобрен банком-эмитентом;
- Аутентификация - это метод, с помощью которого банк проверяет личность клиента, совершающего платеж, это может быть CVV, OTP, PIN-код, пароль и т. д.
Поток транзакций платежного шлюза
- Клиент выбирает товар или услугу и получает страницу оплаты;
- Он вводит данные своей карты, такие как номер, CVV, срок действия и т. д. Эта информация надежно передается платежному шлюзу;
- Платежный шлюз шифрует данные карты и выполняет проверку на мошенничество, прежде чем отправить данные в банк-эквайер;
- Банк-эквайер надежно отправляет информацию в схемы карт, выполняет еще одну проверку на мошенничество и отправляет ее в банк-эмитент;
- Банк-эмитент проводит еще одну проверку на мошенничество и авторизует транзакцию. Сообщение об одобрении/отклонении отправляется Эквайреру через карточные схемы;
- Платежный шлюз получает это сообщение о принятии/отклонении, которое передает сообщение продавцу. Если платеж одобрен, Эквайрер получает платеж от банка-эмитента и вносит средства на счет продавца.
Предварительные условия (prerequisites) для тестирования платежного шлюза
- Соберите тестовые данные для тестовых дебетовой/кредитной карте;
- Соберите информацию, связанную с типом платежного шлюза, который мы собираемся протестировать;
- Определите параметры для тестирования производительности;
- Соберите информацию о кодах ошибок, которые могут возникнуть в платежном шлюзе, чтобы мы знали, возникла ли ошибка с нашей стороны или она связана с платежным шлюзом;
- Настройте среду Sandbox для проверки платежных систем без фактической оплаты.
Виды тестирования платежного шлюза
- Functional Testing: мы проводим функциональное тестирование для новых или непопулярных систем. Это жизненно важно, поскольку гарантирует, что система полностью функциональна и ее функции работают должным образом. Это помогает проверить как приложение, так и шлюз;
- Security testing: гарантирует, что платежный шлюз защищает данные, которые он обрабатывает во время оплаты. Он защищает систему от кибератак, хакеров и других уязвимостей безопасности. Мы должны убедиться, что мы заботимся о конфиденциальной информации, предоставленной клиентом;
- Performance testing: гарантирует, что приложение не выйдет из строя, если большое количество пользователей отправят платеж одновременно. Этот тип тестирования имеет решающее значение, особенно во время больших распродаж или праздничных сезонов;
- Integration testing: обычно платформа электронной коммерции или любое другое приложение, требующее оплаты, нуждается в интегрированном в систему платежном шлюзе. Интеграционное тестирование гарантирует, что платежный шлюз легко интегрируется с веб-сайтом продавца. Здесь мы проверяем размещение заказа, обработку платежей, подтверждение заказа, т.е. полный поток транзакций.
Примеры тест-кейсов:
- Functional:
- Каждый вариант оплаты можно выбрать, в текстовые поля можно печатать;
- Сохраненная кредитная/дебетовая карта доступна на странице оплаты;
- Можно установить карту по умолчанию;
- Клиент получает соответствующее уведомление по электронной почте и текст после успешного/неудачного платежа;
- Платежный шлюз перенаправляет обратно в приложение после завершения платежа;
- Правильно рассчитываются сумма, налоги, скидки, кредиты магазина и т. д.;
- Система меняет формат валюты и языка по запросу пользователя;
- Платеж не проходит, если какое-либо обязательное поле пусто;
- Поведение системы при отключении интернета во время оплаты;
- Поведение системы если сессия заканчивается;
- Проверка двойной оплаты;
- Проверка различных комбинаций действительных и недействительных данных для номера карты + срока действия + CVV;
- Проверка работоспособности при наличии расширений браузера, например, блокировщиков рекламы;
- Каждый вариант оплаты направляется в соответствующий поток платежей (payment flow).
- Performance:
- Работоспособность платежного шлюза, когда несколько пользователей одновременно пытаются совершить транзакцию;
- Быстро ли реагирует процессор;
- Соответствует ли время, необходимое для того, чтобы приложение достигло платежного шлюза, требованиям;
- Зачислена ли та же сумма клиенту во время возврата, а также проверьте сроки возврата в соответствии с положениями и условиями;
- Обновляются ли детали транзакции в базе данных в правильном формате.
- UI:
- labels и boxes видны;
- Номер карты маскируется астерисками при вводе;
- Логотип/название компании платежного шлюза видны;
- Все варианты оплаты видны;
- Цветовая схема соответствует спецификациям;
- Правильные сообщения отображаются при успешном/неудачном платеже;
- Разделы промокод, подарочная карта, купон видны;
- Все ошибки или опечатки пользователя выделены красным цветом.
- Security:
- Реквизиты карты маскируются;
- Конфиденциальная информация шифруется;
- Приложение защищено от межсайтового скриптинга, спуфинга и т. д.;
- Онлайн-транзакция происходит по безопасному каналу, такому как HTTPS;
- Проверьте все настройки предотвращения мошенничества/безопасности приложения.
- Клиент получает одноразовый код (OTP) при инициировании транзакции со своих банковских реквизитов;
- Также проверьте тот же сценарий с несколькими картами, привязанными к разным телефонным номерам в одной учетной записи.
Источники:
Доп. материал: