4. Опции работы с API
Данное API допускает различные варианты использования, которые могут быть комбинированы между собой, в соответствии с потребностями ТСП.
4.1 По типу инициации платежа
В зависимости от того, какой тип интеграции предполагается на стороне ТСП, следует использовать один из трёх методов инициации платежа:
- frontend-метод
JS-API– открытие всплывающего платёжного виджета непосредственно на странице сайта
Этот метод наиболее универсальный и не содержит ограничений. В большинстве случаев вам будет удобнее использовать JS API платёжного виджета.
- backend-метод
create_payment_form– с переадресацией плательщика на URL платёжного шлюза Миксплат
Этот метод подходит вам, если параметры платежа определены только на стороне бэкенда и не передаются на фронтенд вашего сайта.
- низкоуровневый метод
create_payment– для межсерверного взаимодействия, без переадресации плательщика на форму Миксплат
Для использования данного метода ТСП требуется обязательное наличие действующего сертификата PCIDSS, выданного аккредитованным удостоверяющим центром сертификации.
Сертификат безопасности PCIDSS означает, что в ТСП должен проводиться на ежегодной основе аудит программного кода и процессов разработки с участием независимых лицензированных центров выдачи сертификатов, поддержка хостинга должна проводиться лицензированными организациями, в штате должны быть специалисты по безопасности. Если приём платежей на стороне ТСП не предполагает данных инвестиций - используйте
JS-API, описаннный выше.
Способы оплаты "онлайн-банкинг" и "электронные кошельки" не могут быть использованы в методе create_payment, они доступны только в JS-API и методе create_payment_form
Допустимо использовать оба метода параллельно: например,create_paymentдля инициации платежей по мобильной коммерции иcreate_payment_formдля приёма платежей по картам и онлайн-банкам, но это потребует программирования на стороне ТСП корректного разветвления сценариев для плательщика.
Все три метода инициации оплаты передадут статус исполнения платежа на скрипт ТСП в унифицированном формате посредством метода payment_status.
4.2 По способу оплаты
Платёжный шлюз Миксплат поддерживает различные варианты способов оплаты, приведённые в разделе 6.8. Вы можете их использовать в тестовом режиме test=1 сразу после регистрации проекта, но для запуска в эксплуатацию все способы оплаты требуют предварительного согласования в банках и операторах связи.
Вы можете произвести подключение доступных способов оплаты для вашего проекта через ЛК Миксплат в разделе меню "Настройки платёжных методов".
Конкретный способ оплаты может задаваться параметром payment_method (см. раздел 6.8) при создании платежа.
4.3 По этапности платежа
Данное разделение поддерживается только для способа оплаты card (банковские карты). В остальных способах всегда используется одноэтапный платёж. По умолчанию создается одноэтапный платеж.
-
Одноэтапная оплата выполняется одной командой (
JS-APIилиcreate_payment_form), при которой происходит немедленное списание средств со счёта плательщика в пользу ТСП. Одноэтапный платёж не может быть отменён или изменён после его инициации. Списанные средства могут быть полностью или частично возвращены на карту покупателя при помощи команды "возврат платежа", методrefund_payment. -
Двухэтапная оплата предусматривает последовательное использование двух отдельных методов API на предавторизацию средств и на их последующее списание. Предавторизация означает резервирование средств на банковской карте плательщика в размере суммы платежа, которыми он не сможет воспользоваться.
Для предавторизации используется один из стандартных методов инициации платежа:JS-APIилиcreate_payment_formс параметромpayment_scheme=double.
Для завершения платежа используется метод подтверждения платежаconfirm_payment(см. раздел 3.5.1)
Двухэтапная схема оплаты удобна в случаях, когда оплата производится до момента точного подтверждения наличия товаров или до проверки возможности оказать услугу. При отсутствии товара в момент платежа, ТСП может изменить заказ и подтвердить только часть авторизованной суммы (установив другое значение параметра amount в методе confirm_payment).
Обратите внимание: у ТСП есть 5 дней, чтобы подтвердить платёж методом confirm_payment и тем самым осуществить списание средств в свою пользу. Если это не будет сделано – платёж будет отменён, денежные средства разблокируются и вернутся плательщику.
В случае, если продажа товара или оказание услуги оказывается невозможным полностью, то резервирование незавершённого двухэтапного платежа можно отменить. Отмена платежа отличается от возврата тем, что отменённый платёж не будет фигурировать в выписках, денежные средства со счёта плательщика не списываются, резервирование разблокируется и денежные средства плательщику становятся доступны в полном объёме. Возврат платежа, напротив, подразумевает две встречные операции: сначала списание средств в пользу ТСП, затем выплата плательщику суммы возврата со счёта ТСП, зачисление средства занимает от 3 до 7 дней в зависимости от банка плательщика.
Отмена резервирования осуществляется командой cancel_payment. После выполнения команды cancel_payment зарезервированные деньги снова будут доступны плательщику.
Мы настойчиво не рекомендуем обрабатывать двухэтапные платежи вручную в связи с высоким риском пропустить максимальный срок подтверждения платежа, что приведёт к его автоматической отмене. В большинстве случаев целесообразно использовать одноэтапную оплату и частичные возвраты из ЛК при необходимости.
4.4 По периодичности
Миксплат поддерживает возможность как разовых, так и рекуррентных (периодических) платежей. Схема оплаты по рекуррентам (регулярные подписки, списания по событию и т.д.) заранее согласовывается с менеджером Миксплат.
-
Разовая оплата подразумевает однократное списание средств с плательщика. В случае отсутствия необходимой суммы будет передан статус ошибки "недостаточно средств", и операция завершается.
-
Подписка используется для периодических сервисов, например, для благотворительных проектов, где с плательщика списываются регулярно определённые суммы. Параметры подписки задаются в настройках проекта в ЛК. Для того, чтобы создать платёж по подписке, в
JS-APIилиcreate_payment_formследует передатьrecurrent_payment=1. Подписка будет подключена при условии настроенного профиля подписки в ЛК. -
Рекуррентная оплата – первый платёж в обычном режиме и дальнейшая возможность безакцептного списания средств (метод
create_recurrent_payment) в произвольный момент в будущем по инициативе ТСП. Пример использования – автопополнение лицевого счёта пользователя в ТСП при балансе близком к нулю. Профиль рекуррентов также устанавливается менджером Миксплат в настройках проекта.
В случае подписки и рекуррентов нотификации payment_status будут содержать параметр recurrent_id, который связывает отдельные платежи в одну цепочку.
4.5 По схеме получения статусов
Данные об успешности/неуспешности прохождении оплаты по заданному payment_id могут быть получены ТСП одним из двух способов:
-
нотификации о статусах платежей – передаются как запросы от Миксплат на скрипт-обработчик на стороне ТСП (метод
payment_status), или -
ТСП самостоятельно запрашивает статусы платежей у Миксплат (метод
get_payment_status).
Вы можете параллельно использовать методы payment_status и get_payment_status, результаты будут идентичны.
Например, в случае, если обработчик на стороне ТСП был неисправен длительное время и статусы платежей были утеряны, вы можете получить статусы платежей повторно методом get_payment_status.
4.6 По схеме передачи чеков
54-ФЗ обязует все ТСП при продаже товаров и услуг передавать кассовые чеки в ОФД. Вы можете передавать в ОФД чеки:
- самостоятельно
- через Миксплат
В обоих случаях в запросах иницииации платежа (см. раздел 3.1) следует добавить JSON-параметр items, содержащий информацию о товарах и услугах. В соответствии с настройками в ЛК может быть настроена передача этих данных в ОФД и автоматическое формирование чека.
Общая схема работы онлайн-кассы через Миксплат:
- ТСП при создании платежа передаёт в Миксплат данные для чека: наименование товаров, количество, стоимость.
- Покупатель оплачивает товары через форму Миксплат.
- Миксплат отправляет информацию в облачный сервис онлайн-касс (АТОЛ, Orange Data, МодульКасса и др.) с идентификационными данными ТСП.
- Облачный сервис онлайн-касс отправляет данные в ОФД.
- ОФД регистрирует чек в ФНС и отправляет электронную версию покупателю на e-mail.
- Миксплат отправляет ТСП уведомление о проведённом платеже.
Что нужно сделать: Арендуйте ККТ (Контрольно-Кассовый Терминал) и получите идентификационные данные у одного из наших партнёров:
- АТОЛ
- Бизнес.ру
- Эвотор
- OFD.ru (Ferma)
- КОМТЕТ Касса
- Orange Data
- CloudKassir (только ФФД 1.2)
- DigitalKassa (только ФФД 1.2)
- Первый ОФД (только ФФД 1.2)
Настройте параметры вашей кассы в разделе "фискализация" в личном кабинете Миксплат. Начните передавать данные для формирования чека в объекте items (см. раздел 3.7). После этого передача фискальных данных будет происходить автоматически для всех платежей.