Тестирование платежного шлюза (Payment Gateway)
Last updated
Last updated
Платежный шлюз - это сервис, который помогает нам совершать денежную транзакцию в Интернете, он принимает кредитные карты, дебетовые карты, интернет-банкинг и другие способы оплаты от клиента для выполнения транзакции. Службы платежных шлюзов шифруют конфиденциальную информацию, такую как номера карт, 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) при инициировании транзакции со своих банковских реквизитов;
Также проверьте тот же сценарий с несколькими картами, привязанными к разным телефонным номерам в одной учетной записи.
Источники:
Доп. материал: