Платежный шлюз сбербанка что это
Перейти к содержимому

Платежный шлюз сбербанка что это

  • автор:

Онлайн оплата (платежный шлюз Сбербанка)

Оплата происходит через авторизационный сервер Процессингового центра Банка с использованием Банковских кредитных карт следующих платежных систем:

Инструкция по оплате

Шаг 1: Нажмите кнопку «Оплата» (в меню сверху).

Нажмите кнопку «Оплата»(в меню сверху).

Шаг 2: Введите номер договора и сумму к оплате.

Обязательно выберите, номер договора, введите сумму к оплате и выберите способ оплаты Любая банковская карта. Необходимо указать e-mail, на указаный почтовый ящик мы отправим квитанцию об оплате.

Шаг 3: После ввода всех данных, Вы будете перенаправлены на платежный шлюз ПАО “Сбербанк России” для ввода реквизитов Вашей карты.

Вы перенаправлены на платежный шлюз ПАО “Сбербанк России” для ввода реквизитов Вашей карты.

  • Cоединение с платежным шлюзом и передача информации осуществляется в защищенном режиме с использованием протокола шифрования SSL.
    Настоящий сайт поддерживает 256-битное шифрование. Конфиденциальность сообщаемой персональной информации обеспечивается ПАО СБЕРБАНК. Введенная информация не будет предоставлена третьим лицам за исключением случаев, предусмотренных законодательством РФ. Проведение платежей по банковским картам осуществляется в строгом соответствии с требованиями платежных систем МИР, JCB Int., Visa Int. и MasterCard Europe Sprl.
  • Приготовьте карту заранее, поскольку на оформление платежа отводится ограниченное количество времени — 10 минут. Если Вам не хватит выделенного на оплату времени или в случае отказа в авторизации карты Вы сможете повторить процедуру оплаты.

Шаг 4: Введите данные карты.

Введите данные карты

  • номер вашей кредитной карты,
  • срок окончания действия вашей кредитной карты, месяц/год,
  • CVV код для карт Visa / CVC код для Master Card / CAV код для JCB (3 последние цифры на полосе для подписи на обороте карты),
  • имя владельца карты (впишите его так, как оно указано на карте).
  • Если на вашей карте код CVV / CVC / CAV отсутствует, то, возможно, карта не пригодна для CNP транзакций (т.е. таких транзакций, при которых сама карта не присутствует, а используются её реквизиты), и вам следует обратиться в банк для получения подробной информации.
  • В случае если Ваш банк поддерживает технологию безопасного проведения интернет-платежей Verified By Visa, MasterCard Secure Code и J/Secure для проведения платежа также может потребоваться ввод специального пароля. Способы и возможность получения паролей для совершения интернет-платежей Вы можете уточнить в банке, выпустившем карту.
  • Нажмите кнопку “Оплатить”, Вы будете перенаправлены обратно на сайт, на страницу статуса заказа.
  • Если Вы перешли на страницу для оформления оплаты онлайн, но решили изменить способ оплаты, необходимо позвонить оператору, назвать номер своего заказа и указать другой способ оплаты.
  • Возврат денежных средств, осуществляется по заявлению Пользователя. Заявление о возврате денежных средств рассматривается Администратором в срок 3 (три) рабочих дня. Возврат переведенных средств, производится на Ваш банковский счет в течение 5—30 рабочих дней (срок зависит от Банка, который выдал Вашу банковскую карту).

Шаг 5: Завершите платеж и сохраните чек об оплате.

Привет! Этот сайт использует файлы cookie для хранения данных. Продолжая использовать сайт, вы даете свое согласие на работу с этими файлами.

Платежный шлюз: что такое и как он работает

Электронная коммерция считается растущим из года в год сектором экономики, приносящим отличные результаты как для покупателей, так и для продавцов. Одним из основных критериев ее существования являются выгодные способы оплаты в интернете, но для их применения на сайте должен быть включен платежный шлюз.

Давайте рассмотрим функции шлюза, разберемся, как они работают и как выбрать и установить подобные инструменты.

Что такое платежный шлюз

Платежный шлюз — это набор программных средств, обеспечивающих способ оплаты на сайте и автоматическую передачу платежной информации от покупателя к компании-эквайеру. Такой мост между пользователями сайтов и организациями обеспечивает транзакции с банками либо операторами электронных денег.

По сравнению с платежными системами, шлюзы не взаимодействуют с денежными средствами. Они функционируют только как связующий элемент. Благодаря особому программному обеспечению шлюз передает необходимые данные клиентов покупателям.

Осуществляются подобные операции мгновенно и автоматически. Платежные шлюзы способствуют беспрепятственному осуществлению транзакций путем шифрования и обмена конфиденциальных данных между веб-сайтами, мобильными устройствами и банковскими структурами, либо электронными кошельками.

Каждый шлюз работает по одному принципу: на сайте клиент хочет оплатить конкретный продукт или услугу, нажимает на соответствующую кнопку. После ввода информации по банковской карте она передается шлюзом вместе с суммой платежа и немедленно предлагает авторизацию одновременно у покупателя и в международной системе, управляющей картой, например: Visa, Mastercard, МИР.

Как работает платежный шлюз

  • Клиент размещает заказ в Интернете и хочет оплатить его банковской картой.
  • При нажатии на кнопку оплаты онлайн открывается страница с формой для ввода данных его карты.
  • После того как покупатель ввел данные, они передаются в платежный шлюз вместе с информацией о сумме платежа.
  • Далее шлюз отправляет запрос на авторизацию эквайеру и, опять же, запрос направляется в платежную систему, управляющую картой.
  • Там должны подтвердить, что карта действительно работает и что транзакция не считается мошеннической.
  • Если карта имеет защиту 3D Secure, клиент попадает на страницу с полем для ввода пароля. Если пароль введен правильно, банк-эмитент отправляет извещение в платежную систему.
  • Также шлюзом осуществляется оповещение пользователя о сумме, которая должна быть списана с его счета.
  • В свою очередь банк-эмитент проверяет наличие необходимой суммы на балансе карты клиента и высылает квитанцию о переводе в международную систему.

Таким образом, в случае благополучного проведения транзакции продавец получает уведомление в течение получаса, и в это же время со счета клиента списывается целевая сумма. Сразу после списания сумма покупки зачисляется на банковский счет продавца.

Преимущества платежного шлюза

  • Гибкость опций для индивидуальных потребностей бизнеса и экономия для компаний: вся программная и аппаратная часть процесса гарантируется шлюзом.
  • Безопасность транзакций благодаря усовершенствованному шифрованию данных. В результате современные шлюзы работают в соответствии с международным стереотипом безопасности PCI DSS. Сюда входят номера банковских карт, CVV-коды и т. д. Образ шифрования — это протокол шифрования SSL. Данные о клиентах получает только эквайер.
  • Осуществление круглосуточных переводов привлекает определенный сегмент пользователей и расширяет возможности для бизнеса.
  • Система предотвращения мошенничества имеет механизмы для предотвращения спорных операций. Это системы прогнозирования и анализа рисков, которые гарантируют дополнительную безопасность продавцам и покупателям.
  • Скорость выполнения множества функций во время транзакций позволяет клиенту чувствовать себя комфортно. Для него платежи производятся достаточно быстро, с четким результатом и без лишнего ожидания.
  • Простая интеграция для владельцев сайтов, которые заинтересованы в простых и удобных способах оплаты.

Требования платежного шлюза

  • Сервисы должны работать на основе современных протоколов шифрования данных. Это необходимо для защиты от несанкционированных транзакций и обеспечения сохранности данных клиентов и торговцев. Провайдеры платежных предложений должны гарантировать SSL-шифрование и возможность использования цифровых подписей, работать в соответствии со стандартами PCI DSS, проверять IP и проводить верификацию с помощью SMS, звонка или иным способом.
  • Условия правовой совместимости. У платежного шлюза должна быть возможность предоставления услуг в странах продавцов и выгодные варианты оплаты для клиентов, включая портал, поддерживающий различные виды валют.
  • Различные форматы и инструменты анализа. В результате маркетологи следуют процедурам, чтобы сделать заранее подготовленный выбор.
  • Проверка географического положения с возможностью оплаты по биометрическим данным и идентификация личности плательщика с проверкой адреса держателя карты и т. д.
  • Удобство для деловых пользователей и сотрудников компании, имеющих дело с деньгами и веб-сайтами, а также надлежащая скорость обработки транзакций, поскольку у клиентов нет желания ждать в течение нескольких дней до подтверждения оплаты.

Для многих в приоритете комфорт в использовании. Это особенно касается простоты настроек и дизайна. Но есть и другие аспекты. К ним относится регистрация и вход в систему, услуги шлюза по подбору сайтов, ежемесячная плата и монетизация.

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

Как выбрать платежный шлюз

При использовании сервиса для своего сайта необходимо выбрать для начала тип шлюза. Традиционные платежные шлюзы включают в себя торговые счета. Они работают напрямую с банком и получают минимальную комиссию. Это стандартный банковский счет, который имеет два вида оплаты.

При этом продавец не имеет прямого доступа к управлению иностранной валютой. После ее получения она обрабатывается через банковский перевод и отправляется продавцу. Такая транзакция может занять несколько дней. Если вы используете традиционный метод, помните, что его регистрация является более сложной. Требуется настройка и оплата счетов, а интеграция самого инструмента осуществляется через API.

Различают три способа оплаты.

  • Перенаправление является наиболее доступным методом оформления заказов, который оптимально подойдет для нового либо небольшого сайта, так как он надежный и не требует сложных настроек. Экран оформления заказа может демонстрировать личный бренд, отображая персональный логотип.
  • Способ оформления оплаты прямо на сайте. Для защиты данных покупателя сайт обязан соответствовать правилам PCI, для чего понадобятся дополнительные ресурсы вместе с определенными техническими знаниями.
  • Проверка с оплатой непосредственно по месту будет рациональной для более глобальной коммерции при реализации больших объемов. Все, начиная с планирования заказов и заканчивая обработкой платежей, осуществляется через торговую систему. При этом сторонний сервис переводит покупателя для проведения сделок за пределы площадки. Однако вы этого не заметите, так как размещенная на хостинге страница оплаты выглядит идентично вашему сайту. Платежи проходят быстро и безопасно, но предполагается сложная инфраструктура с рядом обязательств и наличием сертификата SSL.

Обзор платежного шлюза Enot.io

API нашего платежного сервиса Enot позволяет осуществлять перевод платежей, создавать возвраты, определять статус транзакции и т. д. Система данного шлюза отличается следующими особенностями:

  • Более 10 способов оплаты с удобной формы оплаты.
  • Интеграция с помощью API с поддержкой 24/7. Можно приступать к работе сразу же после модерации магазина или сайта.
  • Готовые платежные решения для популярных CMS: WordPress Woocommerce, Joomla, DLE, Xenforo, Opencart.
  • Принимает иностранные платежи и банковские карты. Клиенты могут платить в любой точке мира.
  • Безопасность по стандартам PCI DSS.
  • Круглосуточная поддержка.

Как легко подключить наш платежный шлюз на сайт

Чтобы выполнить пункты пошагово, необходимо следующее:

  • Зарегистрироваться на сайте.
  • Добавить проект и пройти его модерацию.
  • Интегрировать модуль оплаты на свой сайт.
  • Принимать платежи.

Заключение

Одним из основных моментов успешного процветания электронной коммерции являются выгодные условия оплаты заявок. Платежные шлюзы — это инструменты для настройки способов оплаты через веб-сайт, связывающие клиентов и покупателей. Выбирайте этот метод, если вы осуществляете основные платежи (например, банковскими картами) и не готовы к сложным интеграциям.

Что такое платежный шлюз? Сравнение 5 платежных шлюзов 2020

Платежный шлюз — это сервис, который авторизует и обрабатывает платежи по дебетовым/кредитным картам для онлайн-мерчантов и традиционных розничных, оффлайн торговцев. Платежный шлюз способствует бесперебойному прохождению таких транзакций, шифруя конфиденциальные данные и передавая их между платежным порталом (веб-сайт или мобильное устройство) и банком/процессором платежей.

Принцип работы платежного шлюза

В общем и целом, платежные шлюзы облегчают связь между вашим веб-сайтом или специализированным магазином, обработчиком платежей и банком, выпустившим кредитную карту, используемую для совершения покупки. Безопасность является основным компонентом всех платежных шлюзов, поэтому каждая транзакция, которая происходит между мерчантом и банком-эмитентом, шифруется для защиты конфиденциальной финансовой информации.

Хотя процесс транзакции занимает всего несколько секунд, в течение этого короткого промежутка времени выполняется несколько шагов. Как только клиент получает запрос на защищенную страницу оплаты и размещает заказ, данные по транзакции (номер кредитной карты, дата, CVV код) шифруются и отправляются вашему процессору платежей через шлюз. Процессор платежей связывается с банком-эмитентом кредитной карты и получает обратную связь в форме подтверждения или отклонения транзакции. Затем ответ передается на платежный шлюз, который передает его на ваш сайт. Наконец, информация интерпретируется и генерируется соответствующий ответ. Если сделка была одобрена, продавец выполняет заказ.

5 широко используемых платежных шлюзов в 2020

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

Authorize.Net

image

Authorize.Net — это шлюз для онлайн-платежей, позволяющий мелким и средним онлайн-магазинам принимать платежи по кредитным картам и электронным чекам с веб-сайтов и автоматически вносить средства на свой банковский счет.

Компания принимает различные виды бизнеса и предоставляет услуги как мерчантам, так и отдельным пользователям, имея универсальный кард-ридер, который можно подключить к компьютеру или мобильному устройству для приема платежей «на ходу». Authorize.Net также обеспечивает проведение платежей для десятков предварительно интегрированных сторонних систем продаж.

Так же, компания предоставляет MO/TO платежи. Эта функция идеально подходит для мерчантов, которые принимают заказы от своих клиентов по почте или телефону.

Authorize.Net проводит платежи для США, Канады, Великобритании, Австралии.

Комиссии Authorize.Net

Основная плата за транзакцию составляет 2.9% + 0.3$. Кроме того, присутствует ряд дополнительных сборов, которые включают:

  • Плату за настройку шлюза — 49$.
  • Ежемесячный фиксированный платеж — 25$.
  • Плата за чарджбэк — 25$.

WePay

image

WePay — это решение для онлайн-платежей, которое было разработано для обеспечения оптимальных условий оплаты для своих пользователей. Компания тесно сотрудничает с платформами, предоставляя полностью интегрированные платежные услуги и услуги по управлению рисками, чтобы пользователи могли предоставлять сквозные пользовательские интерфейсы, которые они хотят, не принимая на себя ненужные накладные расходы.

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

WePay проводит платежи для США, Канады, Великобритании.

Комиссии WePay
  • Плата за транзакцию составляет 2.9% + 0.3$.
  • Для ACH платежей — 1% + 0.3$.
  • Плата за чарджбэк — 15$.

Skrill

image

Skrill является одним из самых популярных платежных шлюзов во всем мире, который максимально нацелен на лучшем обслуживании клиентов. Компания является одним из платежных сервисов, который позволяет мерчантам обслуживать своих клиентов более эффективно, не беспокоясь о задержках платежей.

Skrill начал предоставлять свои услуги по электронным платежам в 2001 году. Компания завоевала мировой рынок и на данный момент его клиентами являются одни из лучших брендов в мире. Благодаря инновационным решениям и возможностям, Skrill предоставляет услуги клиентам из различных индустрий.

Компания так же имеет в своем распоряжении престижные награды, такие как Deloitte Technology Fast 50 Award, EGP B2B Award и ряд других, что делает ее вполне заслуживающей доверия организацией.

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

Комиссии Skrill

За отправку денег на другой кошелек Skrill взимается комиссия в размере 1,9% от отправленной суммы, при этом сумма сбора ограничивается эквивалентом 20 евро. Вы также платите комиссию за конвертацию валюты в размере 3,99% по оптовому курсу Skrill.

Комиссия за вывод средств составляет:

  • MasterCard — 4.99%.
  • Visa — 7.5%.
  • Bank Transfer — 5.5 EUR.

PaySpace

image

PaySpace международный провайдер платежей который работает в сфере B2B. Компания предлагает свои услуги мерчантам малого, среднего и крупного бизнесам и работает как с low-risk, так и с high-risk индустриями. Компания успешно разработала оригинальное программное обеспечение для предотвращения мошенничества и продолжает наращивать свой опыт, осваивая новые рынки и расширяя список решений для обработки платежей.

Кроме того, PaySpace довольно гибок и может предложить своим клиентам настраиваемую платежную среду для удовлетворения конкретных потребностей ваших клиентов.

К преимуществам компании можно отнести:

  • Рекуррентные платежи.
  • Возможность осуществлять выплаты на карту любого банка мира.
  • Эффективное решение для предотвращения мошенничества.
  • Более 150 альтернативных способов оплаты, как локальных так и глобальных
  • Возможность процессить любую валюту, в том числе биткоин.

PaySpace также предоставляет функцию оспаривания чарджбеков, что позволяет сэкономить время и деньги мерчантов.

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

Комиссии PaySpace

Плата за транзакцию начинается от 1.2% + 0.3$. Так же присутствует комиссия за чарджбэк 20$.

2Checkout

image

2Checkout — одна из ведущих глобальных платежных платформ, которая позволяет компаниям принимать онлайн и мобильные платежи от покупателей по всему миру, с локализованными вариантами оплаты и множеством возможностей, предназначенных как для мерчантов, так и для отдельных клиентов.

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

Среди доступных 2Checkout методов оплаты: MasterCard, Visa, Discover, American Express, Diners Club, JCB, дебетовые карты и Paypal. Имея глобальную покрытие на более чем 200 рынках, 2Checkout предоставляет локализованные опции, позволяя мерчантам настраивать платформу по мере необходимости, для продажи на языке и валюте клиента, а также предоставлять локализованные варианты оплаты, предлагаемые на этом рынке.

Компания имеет сертификат PCI DSS Level 1 и использует собственные алгоритмы для обнаружения мошенничества. 2Checkout, также, использует токенизацию для обеспечения безопасности во время проведения транзакций.

Комиссии 2Checkout

Компания предлагает своим клиентам комиссию в размере 2,9% + 0.3$ для предприятий, оборот которых составляет менее 50 000 долларов США в месяц на картах. За международные транзакции взимается дополнительный сбор в размере 1%.

Комиссия за чарджбэк составляет 20$.

  • платежный шлюз
  • платежные системы
  • обзоры

Как подключить платежный шлюз на примере Сбера

Привет, меня зовут Евгений Думчев, я разработчик в DD Planet. Сегодня хочу поделиться опытом подключения платежного шлюза Сбера, чем мы занимались в рамках одного из проектов. Кажется, это будет полезная история, ведь в нынешние непростые времена многие из нас задумываются о том, чтобы открыть свой «маленький свечной заводик» – какой-нибудь небольшой бизнес на черный день. Тортики там печь, платы паять, в общем, что-нибудь, что бы обеспечило дополнительный доход. Раньше для коммерции подобных сайд-проектов не требовалось ничего, кроме условного Пейпала (к тому же он расширял географию продаж). А теперь волей-неволей приходится задумываться об отечественных решениях для проведения оплат.

Платежный шлюз – как раз такое решение. И оно на самом деле очень простое, любой посетитель Хабра, скорее всего, сможет его развернуть, достаточно хотя бы примерно представлять устройство REST API. В этой статье я расскажу, как подключить и настроить шлюз от Сбера – но в принципе эта инструкция пригодится со шлюзом от любого банка.

Терминология

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

Эквайринг – сервис, позволяющий принимать оплату за товары и услуги с банковских карт с помощью платежных терминалов.

Интернет-эквайринг – то же, но через платежные шлюзы в интернете (сайты, социальные сети, мессенджеры). В отличие от не совсем легальной схемы «переведите мне на карту», которой часто пользуются совсем маленькие предприниматели, здесь все делается вбелую.

Банк-эквайер – банк, реализующий и эксплуатирующий платежный шлюз. Он не всегда очевиден, если шлюз предоставляет третья сторона.

Банк-эмитент – банк, выпустивший карту клиента.

Мерчант – магазин, обладающий доступом к платежному шлюзу и его админке. Для банка это учетная запись конкретного торгово-сервисного предприятия.

Как работает платежный шлюз? С точки зрения пользователя – просто. Набрал корзину, нажал «купить», перешел на сайт, ввел данные карты и CVC и нажал кнопку «оплатить». Для банка цепочка чуть длиннее – после «оплатить» банк делает запрос в платежную систему (сейчас в РФ – в национальную НСПК), эта платежная система делает запрос к банку-эмитенту, тот сообщает, может ли пользователь оплатить и проводит обычную транзакцию. Дальше ответ идет в платежную систему, затем в платежный шлюз, и оттуда уже получает ответ страница магазина.

С чего начать подключение платежного шлюза? Для начала стоит изучить, какие вообще существуют интернет-эквайринги, их условия и способы подключения. Обычно эта информация есть на сайте банка-эквайера. Затем выбрать и подписать соглашение, есть разные способы это сделать, конкретно у Сбера удобнее всего использовать сервис «Сбер бизнес», там все понятно и есть персональный консультант.

Требования к сайту мерчанта

Интернет-магазин должен осуществлять деятельность в соответствии с законодательством РФ. Есть определенные запрещенные виды деятельности и товаров: порнография, подделки, любой алкоголь, редкие экзотические животные, казино и т.д. Не стоит пытаться сделать ширму – сайт вроде как продает тортики, а на самом деле к тортикам прикладывается алкоголь, потому что это неизбежно вскроется. Также не должно быть ссылок и баннеров на подозрительные сайты.

Перечень товаров и услуг должен соответствовать роду деятельности, сообщенному в банк. При подключении вы описываете, что будете продавать, и именно это должно присутствовать на витрине магазина.

Сайт не должен располагаться на бесплатных серверах, потому что это небезопасно. Как правило, требуется доступ по https; в реальности это требование иногда можно обойти, но надо договариваться с платежным шлюзом – разрешение дают не всегда. Для тестовой среды достаточно http.

Есть отдельный список обязательной к размещению информации. Например, рядом с кнопкой «оплатить» должны быть разъяснены все основные моменты, связанные с покупкой:

  • Сведения о местонахождении организации, адрес для корреспонденции, ИНН, контактные номера телефонов и email, по которым покупатель сможет связаться с мерчантом.
  • Сведения о процедуре покупки, способах оплаты, вариантах доставки, условиях возврата и обмена товара или услуги.
  • Информация о том, что делать, если возникли проблемы с оплатой
  • Сведения об обработке персональных данных при оплате.

Для соответствия федеральному закону 54 «Об обязательном применении онлайн-касс для интернет-магазинов» у мерчанта должен быть заключен договор с оператором фискальных данных (ОФД), который их хранит, обрабатывает, передает их в налоговую и формирует чек. Если такого нет, то можно подключить один из тех, с которыми уже есть интеграция у Сбера – АТОЛ, КОМТЕТ Касса, OFD.ru, Цифровая касса и пр. Нюансы разных ОФД лучше изучить заранее. Запрос в ОФД идет после того, как клиент произвел оплату – либо это делает шлюз, если использовать ОФД от Сбера, либо это должен делать сам магазин, если у него подключен свой.

Все эти требования проверяются при подключении шлюза к продакшн-среде. Когда вы готовы выйти в свет, представитель банка-эквайера зайдет на тестовый сайт и либо попросит что-то исправить, либо подключит продакшн.

Как будем интегрироваться?

Возможные способы интеграции по возрастанию уровня автоматизации:

  • выставление счета через ЛК Сбера. Можно обойтись без собственного сайта, просто заходим, получаем ссылку и отправляем ее клиенту. Если у нас продаж три-четыре в день, это нормально.
  • платежная кнопка, она есть у Сбера. По сути это скрипт с токеном, минус такого подхода – ловкий вредитель может подправить скрипт в браузере и поменять, например, сумму платежа. Это небезопасная история, ее лучше не использовать.
  • готовый плагин для CMS. У Сбера есть из коробки возможность подключить такой способ оплаты. Не самый продвинутый, но работает.
  • API. Можно использовать WSDL (SOAP) или REST, нам кажется удобнее REST, потому что он проще и гибче, плюс данные передаются в JSON, а не в XML.

API Сбера

Итак, мы подключились и готовы отправлять запросы к шлюзу. Для начала надо знать, что существует три вида платежей:

  • одностадийный, когда клиент заходит на страницу оплаты, вводит данные карты, и деньги моментально списываются;
  • с предавторизацией, т.н. «холдирование» средств: клиент вводит данные на странице оплаты, но деньги не списываются, а замораживаются, и для списания позже надо сделать отдельный запрос. Это делается, например, в сервисах проката: привязывается карта, на ней замораживается какая-то сумма, а когда услуга завершается, списывается столько, сколько было реально использовано. Преимущество холдирования – быстрый возврат средств на карту. С одностадийным платежом возврат средств, если день закончился, занимает до месяца. Кроме того, при возврате банк оставляет себе комиссию, поэтому их лучше минимизировать;
  • автоплатежи, как правило, какие-то подписки. Мы создаем один заказ на оплату, пользователь знакомится с условиями подписки и разово ее подтверждает. Больше ему ничего делать не нужно, а мы должны будем хранить связку («биндинг») и дальше делать регистрацию заказа через нее.

Итак, главный запрос API – Регистрация заказа на оплату или Регистрация заказа с предавторизацией: мы отправляем API некий набор данных (см. ниже), шлюз в ответ присылает id заказа и ссылку на оплату.

Из остальных запросов стоит отметить:

  • Завершение оплаты заказа, нужен для оплат с предавторизацией;
  • Отмена оплаты, тоже работает с холдированными оплатами;
  • Возврат средств – используется, когда было проведено фактическое списание (возвращать, кстати, можно неполную сумму);
  • Возврат средств по устаревшему заказу сроком более 2 лет;
  • Статус заказа – по этому запросу можем понять, что произошло у пользователя, ведь после регистрации заказа на оплату он ушел на страницу шлюза и мы не знаем, что там происходит. Провел ли он оплату?
  • Проверка наличия у карты 3DS (если ее нет, то по идее можно проводить оплату даже не заходя на шлюз);
  • Отмена неоплаченного заказа – иногда может оказаться полезным. Заказ на оплату живет определенное количество времени (это можно указать, например, 30 минут). Но в некоторых бизнесах надо иметь возможность отменить заказ преждевременно, например, если сумма изменилась в течение этих 30 минут;
  • Сведения о кассовом чеке – стоит учесть, что чек доступен не сразу, надо периодически повторять запрос;
  • Запросы активации, деактивации и прочие действия с привязанными картами.

Параметры регистрации заказа на оплату

По умолчанию API ждет в теле запроса поля userName , password , orderNumber , amount и returnUrl . Первые два – логин и пароль мерчанта. Номер заказа создается и хранится в бэкенде магазина, как его создавать, мы решаем сами, но он всегда должен быть уникальный. Сумма платежа в минимальных единицах валюты (копейки, центы и т.д.). returnUrl – куда вернуть клиента со страницы шлюза. В урле можно передать сколько угодно параметров, чтобы вернуться на полезную страницу, например, с обновленным балансом лицевого счета или информацией о заказе.

Опциональные поля надо подключать через службу поддержки, написав соответствующий запрос. В Сбере это единственный способ – никаких галочек в ЛК нет. К опциональным полям относятся:

  • currency – валюта платежа;
  • failUrl – если у нас есть страница про неуспешную оплату, ее можно засунуть сюда;
  • description – описание заказа в свободной форме;
  • clientId – id клиента в базе магазина;
  • jsonParams – дополнительные параметры. Мы их используем в ситуации, когда надо проводить оплаты на разные расчетные счета, и чтобы их разнести и в дальнейшем понимать, что было оплачено и какой формировать чек, вставляем в это поле уникальные идентификаторы;
  • sessionTimeoutSecs – срок жизни сессии оплаты. По идее, у всех шлюзов есть значения по умолчанию, но лучше всегда передавать это значение самостоятельно, чтобы точно знать, что сессия не зависнет навсегда;
  • bindingId – уникальный идентификатор связки постоянного пользователя с картой;
  • features – булевые параметры из определенного набора готовых значений, например, провести оплату без перехода на страницу оплаты ( AUTO_PAYMENT )
  • email , phone – лучше тоже подключить и передавать, потому что после проведения оплаты Сбер умеет направлять уведомление на электронную почту клиента.

В ответе шлюз возвращает строку orderId и ссылку на страницу оплаты formUrl .

Архитектура клиент-серверного взаимодействия

В качестве примера архитектуры возьмем один из наших проектов. Он чуть сложнее, чем базовый магазин: здесь платежи зачисляются нескольким мерчантам, представленным небольшим фиксированным списком. Для каждого мерчанта был написан свой микросервис со своей базой, и для общения со шлюзом используется отдельный сервис SberAPI.

Итак, клиент (веб-страница или мобильное приложение) делает запрос на бэкенд, в какой-то из микросервисов. У каждого из них есть своя база, он заполняет параметры для регистрации заказа и дальше делает запрос на SberAPI, который также хранит данные по оплате и созданным заказам. Получив запрос, SberAPI обогащает его дополнительными параметрами (юзернейм и пароль нашего мерчанта, у которого есть учетная запись в банке), сохраняет заказ и делает запрос в Сбер.
Сбер возвращает id заказа и ссылку, это тоже сохраняется, после чего передается в микросервис, который может что-то с информацией сделать и затем вернет все в клиентское приложение, где уже откроется полученная ссылка на оплату.

Дальше надо как-то сообщить клиенту, успешно он оплатил или нет. Узнать это можно двумя способами: отправив запрос или же получив запрос от самого шлюза через опцию «Обратный вызов» (Callback, о нем ниже). Для ошибок у Сбера есть целая страница с кодами, рекомендованным и фактическим текстом ошибки. Рекомендованный надо показать пользователю, а фактический может содержать специфическую информацию типа «банковская карта замечена в мошеннических операциях».

Помимо того, что выдается в клиентском интерфейсе, надо сохранить информацию о результате проведения операции в бэкенд (в нашем случае – и в базу микросервиса, и в базу SberAPI). Такое дублирование мы сделали, потому что микросервис должен уметь быстро показывать историю операций клиенту, а сервис шлюза хранит ее на случай возможных ошибок, требующих обращения в службу поддержки Сбера.

Обратный вызов

Уведомление обратного вызова, оно же callback-уведомление, подключается через службу поддержки. Такие уведомления бывают двух типов: без контрольной суммы (не рекомендуется, потому что любой пользователь, зная url нашего сервиса, может делать туда запросы) и с контрольной суммой (симметричная или асимметричная криптография). Сбер предлагает примеры криптоалгоритмов на php и Java, они вполне понятные, их нетрудно переписать на нужный язык (в нашем случае это был C#).

Если нужен, вот наш работающий алгоритм на C#:

public bool VerifyRequestSignature(IQueryCollection requestQueryParams, string certificatePublicKey) < var checksum = requestQueryParams["checksum"].ToString().ToLower(); if (string.IsNullOrEmpty(checksum)) return false; var data = string.Join(string.Empty, requestQueryParams .Where(q =>!q.Key.IgnoreCaseEquals("checksum") && !q.Key.IgnoreCaseEquals("sign_alias")) .OrderBy(q => q.Key) .Select(q => $";;")); using var sha512 = SHA512.Create(); var hashedData = sha512.ComputeHash(Encoding.UTF8.GetBytes(data)); using var x509Cert = new X509Certificate2(Convert.FromBase64String(certificatePublicKey)); using var rsa = x509Cert.GetRSAPublicKey(); var signature = checksum .Where((item, index) => index % 2 == 0) .Select((item, index) => $"") .Select(str => Convert.ToByte(str, 16)) .ToArray(); return rsa.VerifyHash(hashedData, signature, HashAlgorithmName.SHA512, RSASignaturePadding.Pkcs1); > 

Итак, чтобы callback работал, нужно создать свой API, к которому будет стучаться Сбер c запросами, содержащими данные об операции, начиная с orderId. При обращении Сбер ожидает получить ответ 200, если приходит что-то другое, он делает еще несколько попыток с интервалом 10 минут.

Когда платежный шлюз производит редирект по нашему returnUrl, он параллельно делает запрос на наш бэкенд по callback-урлу, указанному в ЛК Сбера. Времени хватает, чтобы по callback-урлу актуализировать статус заказа на оплату и отобразить корректную информацию пользователю. Но в реальности бывают случаи, когда запрос по callback приходит позже или вовсе не приходит. Например, в нашем опыте был случай, когда во время ночных технических работ на стороне Сбера отчеты о проведенных платежных операциях не пришили через callback, и мы мы не могли вовремя актуализировать статус некоторых заказов. Поэтому надо иметь запасной план – собственно, сам Сбер рекомендует опрашивать их сервис по каждому проведенному платежу.

Таким образом, дополнительно к callback-обработке, статус заказа на оплату нужно актуализировать и на запросах от нашего клиентского приложения, которые выполняются после того, как мы вернулись в приложение по returnUrl. И периодически их актуализировать – это дает дополнительную надежность и гарантию хранения информации по заказам на оплату в актуальном состоянии. Для этого мы используем планировщик, который периодически прогрессивным способом (сперва раз в минуту, потом каждые десять минут и т.д.) опрашивает API банка о проведенной операции. Не стоит стучаться туда постоянно, может сработать ddos-защита, но вообще подобные запросы помогают. Например, пока мы работали только через callback, пользователь ждал статуса около 30 секунд, когда стали актуализировать заказы на оплату по запросам с клиентского приложения или планировщика – время снизилось до секунды.

Как хранить данные об операциях

Наиболее удобный и предпочтительный способ хранения – документоориентированная СУБД. Запрос на создание заказа и оплату содержит большой набор параметров, а ответ – еще больше, в нем три уровня данных, и раскладывать все это в реляционную СУБД – затратная операция. А в noSQL базе можно просто сохранить пришедший JSON, не пытаясь его распарсить. Мы используем MongoDB, но можно выбрать и другую СУБД, позволяющую хранить и обрабатывать данные в json формате.

В Mongo все это выглядит как-то так:

Данные стоит хранить в трех коллекциях:

  • коллекция заказов, в которой хранятся параметры запроса, результат выполнения запроса, статус и опциональные параметры;
  • коллекция связок (bindings) по картам пользователя (чтобы быстро показывать их клиенту);
  • callback уведомления от Сбера и время, когда они пришли.

Работа с маркетплейсами

Особенность маркетплейсов в том, что на них можно набрать в одну корзину товаров от разных поставщиков, причем сам список поставщиков не постоянен. Как же продавцы получат деньги, если все запросы на регистрацию заказа идут от одного мерчанта – маркетплейса? В случае Сбера есть специальные запросы API: запрос распределения платежа по конечным получателям и возврат статуса перечисления платежей поставщикам.

Пример: пользователь купил десять товаров от десяти разных поставщиков, платеж прошел. Через некоторое время Сбер делает запрос информации о том, как нужно распределить этот платеж. Приходит id платежа, а мы должны предоставить детализацию заказа, сколько кому надо перевести. Надо учитывать, что Сбер может повторить этот запрос, и мы должны будем вернуть тот же самый ответ. После того, как шлюз распределит платеж по расчетным счетам, он сделает еще один callback-запрос, сообщающий, что деньги успешно разошлись.

Техническая поддержка

В целом, поддержка Сбера скорее помогает, чем нет, но делает она это не слишком быстро и не всегда с первого раза. Как правило, алгоритм такой: пишешь вопрос, в течение получаса отвечают – либо по существу, либо просят подождать еще два часа. После чего история может повториться, затянуться, и в конце концов вопрос через пару недель будет автоматически закрыт без ответа.

Когда ответ приходит, он не всегда отличается содержательностью. Придется снова спрашивать, при этом вы попадете на нового сотрудника, который снова даст столь же полезный ответ.

Например, у нас ушло два дня на то, чтобы получить корректный ключ для расшифровки подписи. Я переписал алгоритм шифрования на C# – там все просто, занимает пару часов. Но когда начали тестировать с предоставленным ключом, он не работал. Пошли к поддержке узнать, в чем дело, – и после нескольких часов ожидания получили ссылки на те же самые страницы с алгоритмами на php и Java, которые я переписал (и которые, разумеется, были упомянуты в вопросе). Пришлось ставить php и Java, чтобы точно понять, что проблема в ключе и, в конце концов, получить его правильный вариант.

Еще одну историю пришлось решать почти три месяца, но она была связана с особенностью проекта, где присутствовало несколько мерчантов, а клиенты были одни и те же и, соответственно, хотели привязать одну карту для оплаты всех услуг. В этом случае был обнаружен баг на стороне шлюза, пришлось много общаться, в том числе и с лидами проекта от Сбера, а проблему закрывать собственными костылями. В конце концов, баг шлюза был поправлен, но наше решение к тому времени уже работало.

Тем не менее, стоит признать, что поддержка Сбера работает – просто не нужно ожидать чудес и мгновенного решения всех проблем.

Сертификаты

Как известно, Сбер под санкциями, и у него недавно протухли международные сертификаты безопасности. Значит, придется ставить сертификаты от НУЦ Минцифры (обратите внимание, лучше ставить именно сертификаты для бэкенда по ссылке, а не клиентские сертификаты с Госуслуг и прочих мест – хотя в нашем случае хватило и их). Они потребуются сервису, который непосредственно обращается к шлюзу – если он работает в докер-контейнере, значит, прокидываем их туда.

Для покупателей же Сбер, к счастью, подготовил лазейку в виде «альтернативных доменов платежных страниц», сертифицированных в Let’s Encrypt. Чтобы их подключили именно вам, надо написать в поддержку. Насколько долго и надежно это будет работать – никто не знает, но хотя бы пока можно не утруждать клиентов установкой «отечественных браузеров» и «сертификатов Минцифры».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *