Интеграция с платформой
В этом подразделе представлены ответы на вопросы о подключении к платформе и настройке и тестировании различной функциональности.
Payment Card Industry Data Security Standard (PCI DSS) — это стандарт по надлежащей защите данных платёжных карт. Он разработан Советом по стандартам безопасности индустрии платёжных карт (PCI SSC) и устанавливает требования для всех организаций, применяющих в своей деятельности обработку, хранение или передачу данных платёжных карт. Соблюдать требования этого стандарта обязаны все стороны, задействованные в проведении платежей с использованием платёжных карт — без соблюдения этих требований проводить такие платежи нельзя.
Обычно при подключении к платёжной платформе мерчанту предоставляется доступ сначала к тестовой среде, а после — к рабочей. Чтобы протестировать основные сценарии работы без проведения реальных платежей и выводить в свет настроенные и проверенные решения.
Для этого специалисты технической поддержки EtoPlatezhi создают и настраивают в платформе два проекта взаимодействия с подключаемым веб-сервисом — тестовый и рабочий, с отдельным идентификатором для каждого из них. И как раз при смене в запросах этого идентификатора (project_id) происходит магия — всё тестовое превращается в настоящее. Поскольку и адреса для приёма запросов, и наборы параметров в тестовой и рабочей средах идентичны, важно не путать идентификаторы проектов и обращаться с ними должным образом.
По умолчанию создаётся один тестовый проект, но при необходимости можно запросить у технической поддержки дополнительные. Также стоит учитывать, что в тестовой среде ограничено количество платёжных методов и сценариев работы. Подробности можно найти в соответствующих разделах о тестировании при прямом использовании платёжных карт (Тестовые карты).
Все тестовые платежи, как и настоящие, учитываются в платформе, и информация о них отображается в интерфейсе Dashboard, а используемые при тестировании реквизиты платёжных инструментов обрабатываются и защищаются, как и реальные, но никаких реальных списаний средств при этом не выполняется. Поэтому при тестировании можно получать полноценное представление о работе с платежами и не бояться использовать разные данные, в том числе данные реальных платёжных карт.
И да, что же такое среда в каждом из этих случаев? Это совокупность внутренних программных компонентов платформы, которые в одном случае сконфигурированы для эмулирования процессов проведения платежей, а в другом — для их реального проведения. Вот и всё :)
Платёжная платформа EtoPlatezhi устроена таким образом, что для каждого из её интерфейсов используется свой базовый адрес.
Это важно учитывать в тех случаях, когда, например, для одних действий используется Payment Page, а для других — Gate.Так, для формирования токена через Payment Page и проведения выплаты по этому токену через Gate потребуются два запроса на два разных адреса: https://paymentpage.etoplatezhi.ru (при необходимости — https://paymentpage.etoplatezhi.com) и https://api.etoplatezhi.ru. А для получения через Data API информации о балансе средств после проведения этой выплаты — запрос на третий адрес: https://data.etoplatezhi.ru/v1. Такое изобилие адресов, конечно, может вызвать путаницу, но всё-таки мы верим, что оно вполне поддаётся пересчёту и осмыслению.
Информация о базовых адресах, структурах запросов и прочих особенностях каждого из интерфейсов нашей платформы представлена в описании работы с этими интерфейсами, а полный список адресов для программных и пользовательских действий выглядит следующим образом:
https://api.etoplatezhi.ruдля взаимодействия через Gate. Например, адрес для запроса на получение статуса платежа выглядит какhttps://api.etoplatezhi.ru/v2/payment/status. Подробная информация о работе с запросами к Gate API представлена в разделе Формат запроса.https://paymentpage.etoplatezhi.ru(при необходимости —https://paymentpage.etoplatezhi.com) для взаимодействия через Payment Page. Например, GET-запрос на проведение платежа выглядит какGET /payment?payment_currency=EUR&project_id=42&payment_amount=1000&... HTTP/1.1 Host: https://paymentpage.etoplatezhi.ru. Подробная информация о работе с запросами к Payment Page API представлена в разделе Формат запроса.https://data.etoplatezhi.ru/v1для взаимодействия через Data API. Например, адрес для запроса на получение балансов выглядит какhttps://data.etoplatezhi.ru/v1/balance/get. Подробная информация о работе с запросами к Data API представлена в разделе Использование Data API для Dashboard.- dashboard.etoplatezhi.ru для доступа сотрудников мерчантов к веб-интерфейсу Dashboard.
Платёж в контексте платформы — некоторая цельная история одного расчёта между мерчантом и пользователем. При этом в рамках одного платежа может происходить как однократное движение денежных средств (от пользователя к мерчанту при оплате или в обратную сторону при выплате), так и неоднократное (например, при оплате с последующим возвратом или при серии списаний в рамках одной оплаты). Платёж считается завершённым, когда завершены расчёты между мерчантом и пользователем в рамках оказания соответствующей услуги (и соответствующей исходной заявки мерчанта на проведение платежа). И, как и в жизни, может менять конечное состояние: например, оплата может быть успешно проведённой (success), а спустя некоторое время — частично возвращённой (partially refunded).
Операция в контексте платформы — это однократное действие над денежными средствами в рамках проведения платежа. Это может быть, в частности, блокировка средств для их последующего списания, само списание, возврат или выплата. Для проведения одного платежа, с учётом его специфики, могут требоваться как одна, так и множество операций, но в любом случае такое разделение помогает контролировать расчёты на уровне цельных историй-платежей и конкретных действий-операций.
Для каждого платежа в платформе используется его идентификатор (payment_id), который задаётся со стороны мерчанта, передаётся в запросах в платёжную платформу и однозначно идентифицирует платёж в рамках проекта. Такие идентификаторы могут состоять из цифр, букв латинского алфавита и других символов в кодировке UTF-8 и не должны превышать 255 знаков: например, payment-123 или cosmoshop.sale_456. При получении корректного запроса в платформе регистрируется платёж и инициируется выполнение операции по этому платежу. Каждой операции в платформе присваивается идентификатор (operation_id), уникальный в рамках платформы. Эти идентификаторы передаются в оповещениях и отображаются в интерфейсе Dashboard.
Также следует учитывать, что у платежа и операции могут отличаться статусы, например у платежа со статусом refunded операция возврата будет иметь статус success. Подробнее о различиях и особенностях этих понятий можно почитать в разделе Проведение платежей.
Давайте уточним:
- Оплата — это платёж с переводом денег от пользователя к мерчанту. Оплатой может быть покупка товаров и услуг, внесение предоплаты за бронирование, платёж по подписке и так далее. И оплаты могут быть как разовыми, так и повторяющимися. А ещё по ним могут выполняться возвраты.
- Возврат — это операция возвращения от мерчанта к пользователю денег по проведённой оплате. Возвратом может быть, например, отмена бронирования или возвращение товара. И возвраты могут быть на всю сумму оплаты (полными) или на часть суммы (частичными).
- Выплата — это платёж с переводом денег от мерчанта к пользователю. Выплатой может быть получение пользователем выигрыша, бонуса или компенсации расходов и так далее.
Проведение оплат возможно через любой из доступных в платёжной платформе интерфейсов. Выплаты и возвраты в платёжной платформе осуществляются через Gate API и Dashboard.
Если кратко, то отличия в том, насколько быстро списываются деньги и насколько легко и быстро их потом можно полностью или частично вернуть пользователю.
Смысл оплаты в одну стадию в том, что деньги списываются без задержек — с той скоростью, с которой это осуществляется на уровне платёжных систем. Это удобно для оплаты товаров и фактически оказанных услуг, когда сумма оплаты уже определена и не подлежит изменению. Если же после проведения такой оплаты надо вернуть деньги пользователю, для этого требуется выполнить полный или частичный возврат средств. Подробная информация о проведении этих оплат представлена в разделе Оплата в одну стадию.
Смысл оплаты в две стадии в том, что деньги сначала блокируются и позднее, при подтверждении, списываются или возвращаются пользователю — с учётом того, какой оказывается итоговая сумма оказанных услуг. Это удобно при разных видах бронирования и аренды, сервисов с предоплатой и страховыми взносами и так далее. Списание заблокированных средств в таких случаях может выполняться по подтверждающему запросу мерчанта или по истечению заданного времени. Если же необходимо вернуть средства пользователю, то до списания это можно сделать через отмену блокировки, а после списания — через возврат, как и в случаях с оплатами в одну стадию. Подробная информация об их проведении представлена в разделе Оплата в две стадии.
При выборе варианта, наиболее подходящего для конкретного вида бизнеса, всегда можно обращаться за консультациями к курирующему менеджеру EtoPlatezhi.