1. Бизнес схемы
Взаимодействие системы IntellectMoney, Интернет-магазина и Пользователя (Покупателя) происходит по следующей схеме:
- Пользователь (Покупатель) заполняет платежную форму (п.4.2.1, Табл.2) на сайте Интернет-магазина.
Интернет-магазин отправляет запрос на оплату в систему IntellectMoney с передачей данных платежной формы, и перенаправляет Пользователя (Покупателя) на сайт IntellectMoney.
IntellectMoney запрашивает у Пользователя (Покупателя) подтверждение правильности полученных данных.
Пользователь (Покупатель) подтверждает данные.
Если Пользователь (Покупатель) выбрал мгновенную оплату, IntellectMoney сразу же принимает платеж Пользователя (Покупателя). Если выбрана оплата отложенным платежом, шаг 5 не производится.
IntellectMoney выводит сообщение о завершении процедуры оплаты, перенаправляет Пользователя (Покупателя) на сайт Интернет-магазина и сообщает о завершении процедуры оплаты ( URL удачного платежа , п.4.1, Табл.1)
Если выбрана отложенная оплата, Пользователь (Покупатель) асинхронно оплачивает покупку, сделанную в Интернет-магазине.
В порядке общей очереди, IntellectMoney обрабатывает все имеющиеся платежи и в асинхронном режиме сообщает Интернет-магазину о факте поступления средств на его счет ( URL оповещения о платеже , п.4.2.1, Табл.2).
2. Общая информация
Система IntellectMoney.Merchant предоставляет Интернет-магазинам (далее продавец) возможность оплачивать покупки Пользователями (далее покупатель) разными способами, например со счета в системе ИнтеллектМани, банковской картой, денежным переводом, терминальным или банковским платежом.
Покупатель формирует заказ на сайте продавца, выбирает способ оплаты через ИнтеллектМани и переходит на сайт IntellectMoney.Merchant, где покупателю выставляется счет к оплате (далее СКО) на основе данных полученных с сайта продавца. Каждая покупка имеет счет к оплате (далее СКО) это уникальный номер в системе, начинающийся с 3 и состоящий из 10 цифр и имеющий срок годности (максимально 6 месяц с момента создания) и сумму покупки.
Оплата СКО
Продавец может выбрать какие способы оплаты будут доступны покупателю. СКО покупатель может оплатить несколькими платежами.
Если после зачисления платежа на СКО не полностью подтверждено, то оно считается частично подтвержденным. Частично подтвержденное СКО может аннулировать покупатель из ЛК или сайта мерчанта. При аннулировании счета все средства зачисленные на СКО, зачисляются на счет покупателя. Если покупатель не зарегистрирован в системе то на указанный емайл на сайте мерчанта создается счет, в этом случае покупатель может воспользоваться сдачей, зарегистрировавшись в системе указав в качестве логина емайл указанный в СКО.
Если после зачисления платежа на СКО остаются средства, создается два платежа, «итоговый» создается на сумму СКО,- он зачисляется магазину на счет за вычетом комиссии ИнтеллектМани и «сдача» создается на сумму переплаты и зачисляется на счет покупателя. После создания «итогового» платежа СКО становится подтвержденным. Пользователь может продолжать делать платежи на такое СКО, при этом все средства будут уходить в сдачу покупателя.
Срок годности СКО
У СКО есть срок годности это параметр, который продавец передает на сайт мерчанта вместе с суммой покупки. Если продавец не передал срок годности, то ИнтеллектМани выставляет время жизни СКО 6 месяцев с момента создания покупки. В момент окончания срока действия СКО частично подтвержденное СКО переводит все деньги в сдачу покупателя. Если СКО было заморожено, то все деньги переводятся на счет продавца за вычетом комиссии ИнтеллектМани.
В случае попадания денежных средств плательщика на отмененный СКО средства попадают в сдачу плательщика.
Холдирование
Продавец может настроить работу СКО в режиме «холдирования». Для настройки данного режима достаточно передать параметры holdMode, expireDate и holdTime , а также необходимо включить в настройках магазина параметр «Принимать только уникальные ID покупки».
Данный режим используется для заморозки счета СКО. В основном данный режим удобно использовать в случае, если пользователи интернет магазина часто оплачивают банковскими картами. Выписав СКО в режиме холдирования и оплатив с банковской карты, сумма на банковской карте не списывается, а блокируется, само СКО при полной оплате не изменит своё состояние, до установленного времени холдирования, но может сменить состояние по запросу магазина. Либо отменить СКО, в этом случае денежные средства, которые были на СКО, вернутся пользователю. Если происходит подтверждение денежные средства зачисляются магазину.
При отмене СКО магазином заблокированная сумма на банковской карте возвращается обратно, а все другие средства будут списаны в сдачу. Например, покупатель выписал СКО на 100 рублей, с терминала он оплатил 30 рублей, а остальную сумму он оплатил с банковской карты. Магазин или покупатель аннулировали СКО, в сдачу покупателю будет зачислено 30 рублей, а 70 рублей вернется на банковскую карту. В случае оплаты СКО способами отличными от банковских карт, при отмене СКО денежные средства возвращаются пользователю на счёт.
Максимальная дата холдирования СКО 119 часов (4 дня 23 часа) с момента оплаты. Если до даты действия СКО продавец не отправит в систему ИнтеллектМани запрос на аннулирование или зачисление СКО, то СКО будет автоматически зачислен на счёт магазина или вернется на счёт покупателю (в зависимости от в личном кабинете) автоматически.
Пользователь (Покупатель) выбирает в Интернет-магазине товар, магазин подсчитывает сумму Заказа и посылает запрос на оплату к системе IntellectMoney. IntellectMoney принимает платеж от Пользователя (Покупателя) и сообщает Интернет-магазину о получении платежа.
Платежи принимаются системой IntellectMoney с помощью безопасного протокола передачи данных SSL.
Интерфейсы системы IntellectMoney позволяют Интернет-магазинам мгновенно узнавать о принятых платежах, а также о факте получения отложенных платежей.
3. Последовательность приема платежей системой IntellectMoney через интернет-магазин
Взаимодействие системы IntellectMoney, интернет-магазина и пользователя (покупателя) происходит по следующей схеме:
- Покупатель выбирает товар на веб-сайте интернет-магазина;
- Интернет-магазин создает заказ (покупку), формирует и выводит покупателю “Форму запроса платежа” для отправки его на оплату в IntellectMoney (п.4.2.1, Таблица 2, Пример 1).
- Пользователь (покупатель) переходит на веб-сайт IntellectMoney, выбирает способ оплаты (из заданных параметром preference в “Форме запроса платежа” (в случае если он задан), или из всех возможных (если не задан). Вводит идентификационные данные: E-mail, или логин/пароль (если есть).
- Система IntellectMoney создает счет к оплате (СКО) на основе данных полученных из “Формы запроса платежа”.
- Информация о созданном (выставленном) СКО и способе его оплаты выводится покупателю.
- Система IntellectMoney отправляет уведомление интернет-магазину о создании СКО через “Форму оповещения о платеже” (п.4.2.2, Таблица 3, Пример 2) с полем paymentStatus = 3 (создан СКО).
- Покупатель оплачивает покупку одним из доступных способов.
- Если при создании покупки интернет-магазин в “Форме запроса платежа” не указал (не передал) параметр holdMode, то далее выполнение продолжается с шага 10 немедленно зачисляя средства на счет интернет-магазина.
В противном случае (задан параметр holdMode) система IntellectMoney отправляет уведомление интернет-магазину о создании СКО через “Форму оповещения о платеже” (п.4.2.2, Таблица 3, Пример 2) с полем paymentStatus = 6 (необходимая сумма заблокирована на СКО, ожидается запрос на списание или разблокировку средств или истечение срока блокировки). - Интернет-магазин отправляет запрос системе IntellectMoney о действии с заблокированными средствами через “Форму запроса зачисления или разблокировки средств” (п.4.2.3, Таблица 4, Пример 3) с параметром action = Refund (для разблокировки средств (возврата пользователю), или ToPaid (для зачисления средств на счет интернет-магазина).
- В соответствии с запросом пришедшем на шаге 9 система IntellectMoney зачисляет средства на счет интернет-магазина, или аннулирует СКО и возвращает средства пользователю.
Если интернет-магазин не отправлял запрос в соответствии с шагом 9, то по истечении срока блокировки средств на СКО система IntelectMoney автоматически зачисляет средства на счет интернет-магазина, или возвращает средства пользователю, в зависимости от настроек магазина в личного кабинете. - Система IntellectMoney отправляет уведомление интернет-магазину об оплате СКО, или аннулировании (только в случае с блокировкой средств) СКО через “Форму оповещения о платеже” (п.4.2.2, Таблица 3, Пример 2) с полем paymentStatus = 5 (СКО полностью подтвержден, деньги переведены на счет интернет-магазина), paymentStatus = 4 (СКО аннулирован, деньги возвращены пользователю), paymentStatus = 7 (СКО частично подтвержден, в этом случае будет передана сумма которая уже подтверждена), paymentStatus=8 (СКО был полностью оплачен и по нему был совершен возврат).
4. Интерфейсы
4.1. Регистрационные данные интернет-магазина
Перед тем как принимать данные с помощью системы IntellectMoney, помимо регистрации в системе, интернет-магазин должен настроить ряд параметров, регулирующих порядок приема платежей и оповещения об изменении состояния платежа, и информацию показываемую пользователям при совершении покупки.
Для сайта интернет-магазина в системе хранится свой набор значений. Страница в личном кабинете юр. лица для редактирования параметров кликнуть на ссылку "Редактировать" выбранного магазина. Необходимо заполнить поля, а так же правильно выбрать счет, на который будут зачисляться платежи. Для удобства тестирования протокола, вам нужно выбрать счет с тестовой валютой (тст.). После удачного тестирования, необходимо перейти на счет с рублевой валютой.
Вторым шагом необходимо настроить протокол "ИнтеллектМани". На странице https://www.intellectmoney.ru/ru/enter/ps_organization_shop/ нужно перейти в настройки протокола кликнув на ссылку "ИнтеллектМани" у настраиваемого магазина. Перечень параметров протокола и их назначение приведен в Таблице 1:
Таблица 1. Перечень параметров протокола
Название параметра | Формат | Описание |
URL информирования о платеже (Result URL) | до 512 символов | URL (на веб-сайте интернет-магазина), на который система IntellectMoney посылает HTTP/S POST запросы о совершении платежа. Если интернет-магазин не определил этот URL, он не будет оповещаться системой о совершенных платежах. URL должен начинаться с префикса “http://” или “https://”. |
Секретный ключ (Secret Key) | до 32 символов | Строка символов, используемая для подписи данных передаваемых системой ИнтеллектМани магазину. Эта строка используется для повышения надежности идентификации высылаемого оповещения. Содержание строки известно только системе IntellectMoney и интернет-магазину! |
Высылать Secret Key на Result URL | Если используется защищенное соединение с магазином (https), то можно использовать "секретный ключ" в качестве удостоверения что данные отправлены от ИнтеллектМани. |
|
BackURL | до 512 символов | Адрес, на который будет перенаправлен пользователь (покупатель) после выставления счета в случае если пользователь выбрал “оффлайн” способ оплаты (например: терминалы). |
Режим отладки | Чекбокс | Рекомендуется включить на время разработки модуля, реализующего протокол. Позволяет разработчику получать информацию об ошибках в расширенном варианте, с предлагаемыми вариантами их решения. После переключения магазина в боевой режим, параметр отключить. |
4.2. Формы HTML
Для передачи информации между сайтом интернет-магазина и системой IntellectMoney используются HTML-формы:
Форма запроса платежа - генерируется веб-сайтом интернет-магазина для формирования запроса на создание (выставление) СКО (счета к оплате) для оплаты покупки в системе IntellectMoney. Передается через веб-браузер пользователя (покупателя).
Форма оповещения о платеже - генерируется системой IntellectMoney для оповещения интернет-магазина о создании или изменении статуса СКО. Оповещение передается без использования веб-браузера пользователя (покупателя) на веб-сайт интернет-магазина.
Форма запроса зачисления, или разблокировки средств - генерируется интернет-магазином для запроса разблокировки средств (возврата пользователю), или зачисления средств на счет интернет-магазина в системе IntellectMoney. Используется в случае, если при создании СКО была задана дата блокировки (холдирования) средств на СКО. Запрос передается без использования веб-браузера пользователя (покупателя) на веб-сайт IntellectMoney.
4.2.1. Форма запроса платежа
Эта форма передает запрос с веб-сайта интернет-магазина в систему IntellectMoney через веб-браузер пользователя (покупателя). Она должна иметь следующие атрибуты и поля:
Action
-
https://merchant.intellectmoney.ru/ru/
Method - POST, GET
Мультиязычная страница оплаты Expand source
Https://merchant.intellectmoney.ru/ru/ - Русский язык https://merchant.intellectmoney.ru/en/ - Английский язык https://merchant.intellectmoney.ru/de/ - Немецкий язык https://merchant.intellectmoney.ru/fr/ - Французский язык https://merchant.intellectmoney.ru/es/ - Испанский язык https://merchant.intellectmoney.ru/pt/ - Португальский язык https://merchant.intellectmoney.ru/it/ - Итальянский язык https://merchant.intellectmoney.ru/jp/ - Японский язык https://merchant.intellectmoney.ru/bg/ - Болгарский язык
Таблица 2.1 Поля формы запроса платежа
Название | Имя поля HTML формы | Обязательный | Описание |
ID магазина | eshopId | Да | https://www.intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID" |
orderId | Да | ||
Назначение платежа | serviceName | Нет | |
Сумма платежа | recipientAmount | Да | Сумма платежа, которую Интернет-магазин желает получить от пользователя (покупателя). Сумма должна быть больше нуля, дробная часть отделяется точкой, два знака после точки. Максимальная длина - 10 цифр вместе с десятичными знаками. |
Валюта платежа | recipientCurrency | Да | Валюта платежа. Может принимать значения:
Внимание : USD и EUR можно передавать только для платежей посредством банковской карты (preference=bankCard). Подробную информацию о подключении иностранных валют Вы можете получить у Вашего персонального менеджера.
Внимание! При использовании валюты RUB и RUR счета можно выставлять только на email на который не зарегистрирована организация. |
Имя Пользователя | userName | Нет | Полное имя пользователя (покупателя). Вводится самим пользователем (покупателем). |
E-mail пользователя | user_email | Нет | Email пользователя (покупателя). Вводится самим покупателем. Максимальная длина – 255 символов. |
Адрес удачного платежа | successUrl | Нет | Адрес, на который будет перенаправлен пользователь (покупатель) в случае успешной оплаты Максимальная длина - 512 символов. |
Адрес возврата в интернет-магазин | backUrl | Нет | Адрес, на который будет перенаправлен пользователь (покупатель) в случае клика по ссылке "Вернуться в магазин" на странице оплаты Максимальная длина - 512 символов. |
Способы оплаты для пользователя – переход сразу на страницу ввода реквизитов | preference | Нет | Способы оплаты, которые будут доступны для выбора при оплате покупки. В случае указания одного параметра пользователь будет перенаправлен на страницу ввода реквизитов. (при задании параметра bankCard и указании email пользователя, пользователь перейдет сразу к вводу номера банковской карты, при этом счёт уже будет создан. В случае, если не указан email ,то пользователь будет перенаправлен на страницу ввода email) Возможные значения (при выборе нескольких они разделяются запятой): Оплата со счета IntellectMoney - inner; Банковская карта Visa/MasterCard - bankCard; Внимание! Если передать параметр preference или lmi_pay_method при запросе платежа, то будут отображаться только переданные способы оплаты, даже если все остальные включены. Например есть передать preference=BankCard, то пользователь сразу попадет на страницу ввода реквизитов карты. Если нажать на кнопку "Изменить способ оплаты", то пользователь вернется на страницу выборов оплаты, но буден показан только способ оплаты банковской картой. . |
Включение режима холдирования | holdMode | Нет | Отвечает за включение режима холдирования, и может принимать три состояния:
Также необходимо включить в параметр «Принимать только уникальные ID покупки». |
Срок существования СКО | expireDate | Нет | Дата и время, по достижению, которых оплатить счёт в системе IntellectMoney станет не возможно. Передавать в формате “yyyy-MM-dd HH:mm:ss”. |
Срок холдирования денежных средств | holdTime | Нет | Время, через которое захолдированные (замороженные) денежные средства будут зачислены на счёт магазина или возвращены покупателю, измеряется в часах. Целое число от 0 до 119 часов. |
Данные по чеку
| merchantReceipt | Нет | Параметр является обязательным для магазинов с включенной онлайн-кассой |
Компактный дизайн | frame | Нет | При передаче значения 1 платежная страница будет выведена в компактном дизайне |
Дополнительные параметры интернет-магазина | Нет | Все поля формы, имеющие в названии префикса "UserField_N", "UserFieldName_N" (где N порядковый номер), обрабатываются системой IntellectMoney автоматически и передаются на сайт интернет-магазина. Максимальная длина всех дополнительных полей в сумме - 4000 символов. |
|
Подпись для преданных данных | hash | Нет | Алгоритм формирования описан в разделе . Важно: Для операций по расписанию алгоритм формирования подписи описан в разделе " ". Параметр является обязательным при включении параметра «Требовать HASH» в настройках магазина. |
Тип рекуррентной операции | Тип операции рекарринга принимает одно значение - "Activate ". Данной командой карта регистрируется в цепочке платежей. Дальше, для всех операций с этой картой, нужно передавать оплаченный счет(Номер Счёта К Оплате) в поле recurringSourceInvoiceId, остальные операции над выставленными счетами проводятся системой в автоматическом режиме без участия пользователя. Передавая данный параметр, Вы привязываете карту, которой оплатил покупатель, к номеру СКО по которому производилась оплата. |
||
ShortPan пластиковой карты 2 | shortPan | Короткий номер пластиковой карты (первая и четыре последние цифры пластиковой карты), которой был оплачен счет. |
|
Страна 2 | country | Страна, в которой была выпущена пластиковая карта. 2 |
|
Банк эмитент 2 | bank | Банк, выпустивший пластиковую карту. 2 |
|
IP адрес 2 | ipAddress | IP адрес пользователя, совершившего оплату счета. 1 |
|
Секретный ключ | secretKey | Значение Секретный ключ, известное только интернет-магазину и системе IntellectMoney. Передается, если включена функция "Отправлять секретный ключ". Это поле будет пустым, если параметр "URL Оповещение о платеже" не обеспечивает секретность (используется протокол HTTP, а не HTTPS). |
|
Контрольная подпись | hash | Контрольная подпись оповещения о выполнении платежа, которая используется для проверки целостности полученной информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе " ". |
|
Параметры интернет-магазина | Определяется интернет-магазином | Все поля, переданные с веб-сайта интернет-магазина в "Форме запроса платежа", имеющие префикс " UserField_N" , "UserFieldName_N" (где N порядковый номер) |
|
Состояние операции по расписанию | reccurringState | Отображает состояние операции по расписанию для данного платежа. |
Пример 2.
Форма оповещения о платеже Expand source
... ... ...