Что такое робокасса и как она работает
Инструкции
Универсальное решение для подключения интернет-эквайринга внутри мобильного приложения от сервиса Robokassa. Быстрое подключение, не требует сторонних библиотек.
Подробно рассказываем обо всех этапах и условиях подключения этой услуги.
Уведомления – важный элемент в цепочке продаж, ускоряющий и упрощающий процесс. В этом материале мы рассказываем, как подключить оповещения о поступающих платежах.
Если вы еще не разобрались в вопросе и выбираете метод фискализации, обязательно прочитайте эту статью. Она поможет с выбором оптимального способа.
Вы можете принимать платежи, обходясь без интеграции. В этой статье мы описываем, как это происходит.
Вы можете получать информацию об оплате и настроить уведомления о статусе заказов для своих клиентов.
Описываем все условия для юридических лиц и ИП – коротко и по существу.
Бывает, что доступ к Личному кабинету необходим нескольким сотрудникам. Здесь мы расскажем все о доступе для нескольких человек.
У нас совсем немного требований к сайтам, и все они имеют прямое отношение к безопасности и закону. Однако, свои требования есть и у наших партнеров по приему платежей.
Если вы впервые столкнулись с нашей бесплатной торговой площадкой, рекомендуем изучить эту статью – она позволит быстро понять, что это такое, и подходит ли Robo.market вам.
Чаще всего ошибки происходят из-за некорректных настроек. Мы всегда поможем решить вопрос и все починить – а в этой статье мы отразили все ошибки, объясняя, что они означают.
С чего начать, как разобраться с полями? На самом деле, все просто – особенно, если следовать нашей инструкции.
Здесь вы найдете три варианта подключения, а также список модулей, с которыми работает наш сервис.
Начало работы: регистрация и старт приёма платежей
Заполнение анкеты
После регистрации Личного кабинета необходимо заняться анкетой. Для этого нажмите «Заполнить анкету» в списке действий на главной странице Личного кабинета.
Если у вас ИП или ООО, надо указать данные банковского счета и заполнить анкету юридического лица. После заполнения анкеты останется только загрузить сканы уставных документов в раздел «Документы и шаблоны» Личного кабинета.
После внесения необходимой информации нажмите кнопку «Продолжить».
Создание магазина
Переходим к созданию магазина. Здесь важно понимать, что под «магазином» подразумевается не только торговая точка в Сети, продающая товары. В это понятие входят онлайн-гипермаркеты, странички с hand-made товарами, площадки с онлайн-курсами и даже единственным билетом на платный вебинар. Если вы предлагаете любые платные товары или услуги, для Robokassa вы – владелец магазина, даже если вы торгуете в социальных сетях.
Подключение сайта
Технические настройки
Онлайн-касса и чеки
Согласно Федеральному закону №54 почти все предприниматели обязаны передавать данные о продажах покупателю и в ФНС. В разделе «Фискализация» можно выбрать одно из нескольких решений этого вопроса: «Робочеки», «Облачное», «Самостоятельное» и «Кассовое».
У каждого есть свои особенности, но, если у нас небольшой бизнес, оптимальными будут «Робочеки». С ними онлайн-касса не понадобится совсем: мы сами выбьем за вас и первый, и второй (он необходим при любом варианте предоплаты) чек – и отправим их адресатам.
Если по каким-либо причинам вы решите сменить решение, всегда можно нажать на кнопку “Перейти с текущего” в нужной карточке и следовать инструкциям.
Активация магазина
Процедура активации магазина начинается с момента внесения всех необходимых документов в Личном кабинете и заполнения всей необходимой информации на подключаемом ресурсе, указанной в разделе » Требования к вашему сайту «.
Для активации вывода нужно будет отправить 1 тестовый рубль по нашим реквизитам в разделе «Документы и шаблоны». Если платеж прошел без проблем, мы откроем вывод средств в течение суток.
Лайфхак
Робокасса – описание, инструкция по использованию
Робокасса — это простой в использовании интегратор платёжных систем. Данный сервис обеспечивает прием платежей в пользу предпринимателей от заказчиков, позволяя при этом использовать практически все популярные электронные валюты, включая также Яндекс.Деньги, Вконтакте, Вебмани и многие другие платёжные системы, которые работают на территории РФ. Также с ее помощью может быть осуществлён перевод средств с платежных карт, мобильных счетов, либо же проведена оплата через терминалы.
Сегодня все больше магазинов, да и частных клиентов переходят на работу именно с этим интегрированным сервисом. Давайте же рассмотрим детально, что он собой представляет, а также, как им управлять.
Что такое Робокасса?
Робокасса в отношениях между покупателем и продавцом является сервисом посредническим. Система работает с лицами физическими, давая им возможность выводить средства на электронные счета, а также с юридическими, которые имею возможность полученные суммы выводить на расчётный счет. Данная возможность открыта для всех в системе зарегистрированных юридических лиц, включая ИП. Необходимо лишь в ходе подключения к ресурсу указать, в качестве кого вы хотите завести аккаунт, и система будет работать с нужными вам опциями.
Система обеспечивает защиту соединения при переводе средств, благодаря чему данные о платеже остаются тайной для посторонних лиц. Для эффективной работы с данной системой каждому пользователю предлагается создать личный кабинет, в котором он сможет отслеживать собственные платежи, выводить деньги и по необходимости формировать отчет об операциях (что особенно важно для интернет-магазинов). Кроме того, каждая оплата может быть зафиксирована квитанцией в данной системе.
Подключение к сервису Робокасса занимает всего несколько минут. Система позволяет пользователям регистрироваться как физическое или же юридическое лицо. Каждый вариант предусматривает свои опции работы.
Для его успешного прохождения важно лишь корректно ввести данные.
Робокасса – регистрация, вход и оплата
Робокасса очень проста в работе. Для такого чтобы собственный магазин подключить к такому сервису, достаточно зарегистрироваться в системе как юридическое лицо и далее следовать таким весьма несложным шагам:
Когда через 3 дня вам придет подтверждение от сотрудников сервиса, уберите обозначение «Тестовый режим» и работайте с системой в обычном ритме.
Для того же чтобы вам не приходилось постоянно заходить на страничку Робокассы, подключите рассылки данных о приходе сумм на ваш телефон. Так вы будете знать о каждой проведенной оплате, даже не заходя в систему.
Оплата заказов для клиента сервиса проводится значительно проще. Ему на портале магазина нужно выбрать Робокассу как систему, через которую он хочет сделать оплату, сформировав корзину с покупками. Автоматически он будет переведен на сайт самого платежного сервиса, где ему останется только выбрать титульную валюту, в которой он будет работать. Если он правильно внесет платежные реквизиты, в течение нескольких минут оплата будет проведена, о чем будут уведомлены все участники сделки.
ROBOKASSA. Описание интерфейсов
Общее описание сервиса
ROBOKASSA Моментальный старт продаж для малого бизнеса. Решение всех проблем с 54-ФЗ одной кнопкой. Быстрое подключение, легкая интеграция, более 30 способов оплат в рамках единого договора, в том числе Apple Pay, SamsungPay
Основные шаги по созданию и активации магазина
Регистрация и активация в системе ROBOKASSA
Если решение о подключении принято, начните с Регистрации по любой форме юридического лица, в том числе ИП, ООО, ЗАО, ОАО. А также НКО, БАНК, ФГУП, РНКО и т.д. и т.п. (только резиденты РФ и Казахстана).
Регистрация нового клиента
Создайте аккаунт в системе на главной странице нашего сайта по ссылке: «Подключить магазин». После перехода откроется страница
Порядок заполнения полей Необходимо указать Страна
Выберите, где регистрируетесь, Россия или Казахстан.
Выберите одно из значений: Юридическое лицо, Индивидуальный предприниматель.
Идентификатор клиента служит общим идентификатором для всех сотрудников компании. Это написанное на латинице название магазина или название компании, управляющей несколькими магазинами.
Логин — это персональный Идентификатор конкретного сотрудника, имеющего доступ к Вашему Личному кабинету клиента сервиса ROBOKASSA. По Логину система определяет роль сотрудника в компании и предоставляет доступ к той или иной информации. Вход в систему возможен по Логину в сочетании с правильным Идентификатором клиента. При создании Личного кабинета клиента по умолчанию создаётся сотрудник с ролью Администратор и соответствующими правами. По умолчанию для него предлагается Логин — admin, который Вы сразу можете изменить на любой другой по своему выбору. Роли и права доступа для остальных сотрудников раздаются только сотрудником с установленной ролью Администратор.
Будьте внимательны при раздаче прав уровня Администратора.
На этот адрес будет выслана информация для входа в Личный кабинет. И этот же E-mail будет использоваться для восстановления доступа к учётной записи Администратора в случае необходимости.
Пароль будет создан автоматически и выслан на E-Mail Администратора вместе с остальными регистрационными данными.
Авторизация и Заполнение основных регистрационных данных
Используя Идентификатор клиента и Логин, заданные Вами при регистрации, и высланный на E-Mail пароль, авторизуйтесь в Личном кабинете клиента.
После авторизации можно задать свой пароль для доступа в Личный кабинет (заменить автоматически сгенерированный), если у Вас есть такая необходимость. Это делается так:
Прочие регистрационные данные
Следующие шаги пока можно пропустить, и сразу перейти к созданию магазина.
Раздел Настройки
Рекомендуем Вам сразу заполнить Ваши данные и контактную информацию в разделе Настройки.
Обязательные поля Обязательными для заполнения являются поля: Полное имя, ФИО
Этот пункт необходимо указать для сотрудника, который будет фигурировать в качестве Подписанта.
Официальная должность лица, указанная в документе, подтверждающем право подписи.
Адрес электронной почты сотрудника.
Номер телефона сотрудника.
Документ, подтверждающий право подписи. Например: Устав, Доверенность, Договор передачи полномочий.
Указывается при условии, что данный сотрудник будет подписывать официальные документы, фигурировать в данных Вашего юридического лица в качестве подписанта.
Дополнительный адрес электронной почты.
Учётная запись Skype.
Адрес сотрудника, например, домашний.
Дополнительная информация о сотруднике, которую Вы хотите сохранить.
Для юридического лица/Кредитной/Благотворительной/Религиозной организации
Заполните информацию о Вашей организации.
Регистрационные данные Тип собственности
Выберите нужный тип собственности из предложенного списка.
Введите КПП, 9 цифр.
Укажите дату внесения записи о регистрации юридического лица/ИП в единый государственный реестр юридических лиц/ индивидуальных предпринимателей.
Общие контакты (телефон и факс) Вашей организации и E-Mail бухгалтерии для отправки электронных документов.
Если адреса в Вашей организации совпадают, то заполняется только один блок, остальные не требуются.
Адрес официальной регистрации, адрес местонахождения постоянно действующего исполнительного органа юридического лица.
Фактический адрес – место, где Ваша компания в действительности осуществляет свою профессиональную деятельность.
Адрес, по которому Ваша компания планирует получать корреспонденцию.
Для бюджетной организации
Если Вы зарегистрированы как бюджетная организация, то укажите дополнительную информацию.
Обязательные параметры Лицевой счет
Номер лицевого счета бюджетных средств.
КБК бюджетной организации.
Общероссийский классификатор территорий муниципальных образований.
В данный список попадают только сотрудники у которых заполнены поля: ФИО, ФИО (в род. падеже), Должность и Наименование документа, подтверждающего право подписи.
В данный список попадают только сотрудники у которых заполнены поля: ФИО, Основной E-mail и Телефон.
Для Индивидуального предпринимателя
Если Вы Индивидуальный предприниматель, то укажите дополнительную информацию.
Обязательные параметры ФИО
Укажите полное имя, ФИО.
Укажите дату рождения в формате ДД.ММ.ГГ.
Укажите место Вашего рождения (как в паспорте).
Укажите серию и номер паспорта, кем и когда выдан.
Укажите серию и номер свидетельства о регистрации физического лица в качестве индивидуального предпринимателя.
Укажите дату выдачи свидетельства в случае если свидетельство оформлено по форме Р61003.
Заполните информацию о Вашей организации.
Обязательные параметры для нерезидентов Полное наименование в латинской транскрипции
Название компании с использованием транслитерации, если наименование компании на русском языке или на языке с нелатинскими символами.
Регистрационный номер в стране регистрации (цифро-буквенный код длиной не более 15 символов).
Код налогоплательщика в стране регистрации или его аналог.
Общие контакты (телефон и факс) Вашей организации для связи с нами и E-Mail бухгалтерии для отправки электронных документов.
Адрес официальной регистрации, адрес местонахождения постоянно действующего исполнительного органа юридического лица в стране регистрации.
Наименование на русском языке (если имеется).
Идентификационный номер налогоплательщика на территории РФ.
Контактные данные, по которым мы сможем обращаться по различным вопросам в процессе работы.
Адрес официальной регистрации на территории РФ.
Фактический адрес – место, где представительство в действительности находится на территории РФ.
Для физического лица
Способы вывода средств В разделе: «Настройки» – «Способы вывода средств» указываются возможные способы вывода для Ваших средств и их реквизиты.
Выберите новый способ из списка или создайте новый нажатием кнопки «Добавить способ вывода средств ».
Заполните необходимые данные. Например, если выбран банковский счет:
Выберите тип счёта
Придумайте удобное и запоминающееся название для счёта. По этому названию Вы сможете его быстро идентифицировать среди других Ваших счетов.
БИК банка, в котором открыт Ваш расчётный счёт.
Корреспондентский счёт банка, в котором открыт Ваш расчётный счёт.
Расчётный счёт должен состоять из 20 цифр и начинаться с: 30111, 30231, 40201, 40406, 40501, 40502, 40503, 40601, 40602, 40603, 40701, 40702, 40703 или 40802.
Создание магазина
Создать первый магазин можно либо на Главной странице Вашего Личного кабинета клиента либо в разделе «Мои магазины» нажатием кнопки «Добавить новый». В дальнейшем, магазины можно создавать только в разделе «Мои магазины». На открывшейся странице необходимо заполнить все поля, в соответствии с их назначением и требованиями.
Технические настройки
Вы можете быстро перейти к настройкам конкретного магазина из общего списка, который виден как на главной странице, так и в разделе Мои магазины, с помощью кнопки «Настройки магазина», представленной в виде иконки (см. картинку).
Теперь Вам нужно перейти к настройке Технического взаимодействия, либо передать эту задачу техническому специалисту, отвечающему за работу Вашего сайта. Раздел Технические настройки Вашего магазина необходимо заполнять в соответствии с нашей Технической документацией или требованиями CMS, на которой Вы работаете. В этом разделе Вы указываете основные параметры взаимодействия нашей системы с Вашим сайтом.
Активация
После выполнения всех вышеописанных действий и настройки скрипта ROBOKASSA на Вашем сайте Вы можете направить нам запрос на Активацию Магазина для приёма платежей. Данный запрос отправляется из Настроек Вашего магазина (раздел Мои магазины – магазин который необходимо активировать), по кнопке « Запрос на активацию » :
Но если Вами не заполнены какие-то важные разделы, информация из которых будет использоваться в работе, то в настройках магазина будет присутствовать напоминание об этом, а кнопка « Запрос на активацию » не будет отображаться.
Деактивировать магазин можно только по запросу в Службу Поддержки ROBOKASSA.
Готовое решение для оплаты на сайте
Robokassa предоставляет возможность поставить на свой сайт кнопку/ссылку для оплаты товара через Robokassa. Кнопка может быть как с фиксированной суммой (опция «Оплатить»), так и с произвольной суммой.
Для настройки такой кнопки/ссылки зайдите в раздел Кнопка/ссылка на сайт в Технических настройках магазина. Выберите способ перехода к оплате. Проставьте нужную сумму оплаты. Добавьте описание и/или номенклатуру заказа, если нужно.
Скопируйте код и вставьте его на свой сайт.
При клике на кнопку «Оплатить» плательщик будет перенаправлен на платежную страницу Robokassa.
Виджеты и модули оплаты
Здесь Вы можете ознакомиться с готовыми модулями под различные CMS и торговые платформы.
Все наши официальные модули также доступны для скачивания на платформе GitHub.
Официальные модули ROBOKASSA
AMO CRM
Виджеты и модули оплаты сторонних разработчиков
Модуль приема пожертвований для благотворительных организаций с поддержкой периодических (рекуррентных) платежей Онлайн Лейка.
Модуль приема платежей Robokassa для Appthemes
Модуль приема платежей Robokassa для BNOVO. Облачная система управления отелем, хостелом, апартаментами
Модуль приема платежей Robokassa для Osclass. Osclass – бесплатный скрипт доски объявлений
База знаний Платформы LP
Модуль приема платежей Robokassa для UKIT. Robokassa – UKIT
Модуль приема платежей Robokassa для Megagroup CMS S3
Модуль приема платежей Robokassa для Sellios
Модуль приема платежей Robokassa для 5CMS
Модуль приема платежей Robokassa для CMS Invision Community
Модуль приема платежей Robokassa для FormDesigner.ru
Модуль приема пожертвований через Robokassa Приход.ру. Robokassa – прием пожертвований
Модуль для приема платежей Robokassa для сервиса для автоматизации инфобизнеса с поддержкой периодических (рекуррентных) платежей
Интеграция сервиса учета Финолог с Робокассой. Прием платежей и импорт транзакций из Робокассы в Финолог.
Модуль приема платежей Robokassa для stepFORM.io
Демонстрационные магазины
Оплата заданной суммы
На странице сайта продавца размещается код, формирующий кнопку для перехода на оплату через ROBOKASSA. При нажатии на эту кнопку покупатель будет перенаправлен на сайт ROBOKASSA для совершения платежа на указанную продавцом сумму.
Пример подобной кнопки с заданной суммой находится ниже. Будьте внимательны, если Вы введете данные вашего платежного средства, то сможете провести настоящую операцию оплаты в адрес нашего демонстрационного магазина:
Корзина покупок | |||
Кол-во (шт.) | Цена (руб.) | Сумма (руб.) | |
Техническая документация по ROBOKASSA | 1 | 6,00 | 6,00 |
Техническая документация по Robo.market | 1 | 5,00 | 5,00 |
11,00 |
Ознакомиться с примерами кода, описанием используемых параметров и их значений, Вы можете здесь.
Выбрать готовый модуль под свою CMS или торговую платформу, Вы можете здесь.
Оплата произвольной суммы
В случае если нужно предоставить покупателям возможность самостоятельно указывать сумму оплаты (например, для пополнения счетов или внесения пожертвований), Вы можете разместить на сайте форму с полем для ввода суммы. Вы можете также указать сумму, которая будет предлагаться в этой форме по умолчанию.
Пример подобной формы с возможностью ввода суммы находится ниже. Будьте внимательны, если Вы введете данные вашего платежного средства, то сможете провести настоящую операцию оплаты в адрес нашего демонстрационного магазина:
Ознакомиться с примерами кода, описанием используемых параметров и их значений, Вы можете здесь.
Выбрать готовый модуль под свою CMS или торговую платформу, Вы можете здесь.
Оплата с помощью iFrame
В случае, если нужно предоставить покупателям возможность проводить оплату непосредственно на сайте магазина, можно использовать iFrame (дизайн кнопки задаётся магазином):
Интерфейс оплаты
Код кассы с одной кнопкой «Оплатить»
Предварительно магазин должен сохранить у себя передаваемую информацию (номер счёта, сумма, дата формирования и дополнительные параметры, если они используются). Адрес для отправки запроса на проведение оплаты: https://auth.robokassa.ru/Merchant/PaymentForm/FormMS.js
Результатом является изображенная на иллюстрации форма:
Варианты кнопок Вы можете увидеть здесь.
Параметры запроса: MerchantLogin, OutSum, InvId, Description и SignatureValue.
База для расчёта контрольной суммы: MerchantLogin:OutSum:InvId:Пароль#1
MerchantLogin:OutSum:InvId :Пароль#1 :Shp_login= Vasya :Shp_oplata= 1
Подробное описание всех использованных параметров и их значений можно посмотреть здесь. Обратите внимание, что приведённый пример предполагает, что в Технических настройках магазина выбран алгоритм расчёта хэша MD5.
Оплата произвольной суммы
В случае, если нужно предоставить покупателям возможность самостоятельно указывать сумму оплаты (например, для пополнения счетов или внесения пожертвований), Вы можете разместить на сайте форму с полем ввода суммы. Вы можете также указать сумму, которая будет предлагаться в форме по умолчанию.
На странице оплаты сайта продавца размещается код, выполняющий запрос на сайт ROBOKASSA. ROBOKASSA возвращает в качестве ответа на запрос html код формы:
Примеры кода для сайта:
Параметр OutSum в этом варианте не участвует. Вместо него используется: DefaultSum — сумма, отображаемая (предлагаемая для оплаты) в форме по умолчанию. В отличие от OutSum, DefaultSum не участвует в расчёте контрольной суммы SignatureValue.
База для расчёта контрольной суммы SignatureValue, будет выглядеть так:»$mrh_login::$inv_id:$mrh_Пароль#1″.
Обратите внимание, что вместо параметра OutSum пустое место.
Подробное описание всех использованных параметров и их значений можно посмотреть здесь.
Пример кода с использованием всех параметров
Пример кода на PHP, для установки на сайте.
Подробное описание всех использованных параметров и их значений можно посмотреть здесь. Обратите внимание, что приведённый пример предполагает, что в Технических настройках магазина выбран алгоритм расчёта хэша MD5.
Варианты кнопок и форм
Вы можете выбрать размер и внешний вид кнопки оплаты или формы ввода суммы. Ниже приведены возможные варианты кнопок и форм, а также URL-ы, которые нужно использовать для получения соответствующей кнопки/формы.
Варианты кнопки оплаты
Варианты формы со вводом суммы
iFrame
iFrame-версия платёжной страницы используется клиентом в том случае, если ему необходимо, чтобы пользователь производил оплату на сайте магазина без перехода на сайт сервиса ROBOKASSA.
Во все наши официальные модули уже интегрирована поддержка iFrame.
Дизайн кнопки оплаты может быть задан интернет-магазином. Использование данной функции предполагает небольшую настройку программного кода на стороне интернет магазина.
Важное уточнение! При работе через iFrame перенаправление покупателя на Success URL после совершения оплаты или на Fail URL при отказе от оплаты не происходит поскольку покупатель не уходит с сайта продавца, а всё время остаётся на нём. Уведомление магазину на Result URL в случае успешной оплаты отправляется как и всегда.
Для непосредственного запуска iFrame, в страницу оплаты необходимо вставить скрипт:
ВАЖНО! Разместить данный скрипт необходимо рядом с кнопкой оплаты (обычно это основной массив сайта в тэге ).
Формируем запрос из привычных параметров.
Рекомендации для разработчиков приложений под iOS
При разработке мобильного приложения, которое будет использовать нашу платёжную форму через встроенный браузер, мы настоятельно рекомендуем использовать компонент WkWebView.
Подробнее про него можно прочитать здесь.
Important
Starting in iOS 8.0 and OS X 10.10, use WKWebView to add web content to your app. Do not use UIWebView or WebView.
Если же, Вы планируете разработку с компонентом UIWebView, то работоспособность нашей платёжной формы в вашем мобильном приложении мы гарантировать не можем.
Оповещение об оплате на ResultURL
ResultURL предназначен для получения Вашим сайтом оповещения об успешном платеже в автоматическом режиме.
В случае успешного проведения оплаты ROBOKASSA делает запрос на ResultURL (см. раздел Технические настройки) с указанием параметров OutSum, InvId и SignatureValue.
Данные всегда передаются в кодировке UTF-8.
Сумма, оплаченная покупателем (та самая сумма, которую Вы прислали в ROBOKASSA на страницу оплаты).
Номер счета в магазине.
Комиссия Robokassa за совершение операции. Комиссия удерживается согласно тарифу клиента. Таким образом из суммы, оплаченной покупателем (параметр OutSum) вычитается комиссия Robokassa, и на расчетный счет поступит сумма OutSum минус Fee.
База для расчёта контрольной суммы: OutSum:InvId:Пароль#2 — если Вы не передавали пользовательские параметры, и: OutSum:InvId:Пароль#2:[Пользовательские параметры].
Например: если Вы передали нам параметры с вот такими значениями:
— то база для расчёта контрольной суммы будет выглядеть так: 100.26:450009:Пароль#2:Shp_login=Vasya:Shp_oplata=1.
Про Пароль#2 можно можно прочитать в разделе Технические настройки.
Ваш скрипт, находящийся по ResultURL, обязан проверить равенство полученной контрольной суммы и контрольной суммы, рассчитанной Вашим скриптом по параметрам, полученным от ROBOKASSA, а не по локальным данным магазина.
Если контрольные суммы совпали, то Ваш скрипт должен ответить ROBOKASSA, чтобы мы поняли, что Ваш скрипт работает правильно и повторное уведомление с нашей стороны не требуется. Результат должен содержать текст OK и параметр InvId. Например, для номера счёта 5 должен быть возвращён вот такой ответ: OK5.
Если в настройках в качестве метода отсылки данных был выбран E-Mail, то в случае успешного проведения оплаты ROBOKASSA отправит Вам письмо на электронный адрес, указанный в поле ResultURL, со всеми выше перечисленными параметрами.
Цена: OutSum
inv_id: InvId
Метод оплаты: PaymentMethod
[Пользовательские параметры]
С уважением,
Проект ROBOKASSA
Переадресация пользователя при успешной оплате на SuccessURL
В случае успешного исполнения платежа Покупатель сможет перейти по адресу, указанному Вами в Технических настройках, там же Вы указали метод (GET или POST).
Переход пользователя по данному адресу с корректными параметрами (правильной Контрольной суммой) означает, что оплата Вашего заказа успешно выполнена.
Однако для дополнительной защиты желательно, чтобы факт оплаты проверялся скриптом, исполняемым при переходе на ResultURL, или путем запроса XML-интерфейса получения состояния оплаты счета, и только при реальном наличии счета с номером InvId в БД магазина.
На самом деле, переход пользователя по ссылке SuccessURL – это формальность, которая нужна только для того, чтобы пользователь вернулся обратно к Вам и получил информацию о том, что он сделал всё правильно, и его заказ ждёт его там-то и там-то. Проводить подтверждение оплаты у себя по базе и все остальные действия, связанные с выдачей покупки, Вам нужно при получении уведомления на ResultURL, потому что именно на него ROBOKASSA передаёт подтверждающие данные об оплате в автоматическом режиме (т. е. в любом случае и без участия пользователя).
Параметры, передающиеся при переходе OutSum
Сумма, оплаченная покупателем (та самая, которую Вы прислали в ROBOKASSA, на страницу оплаты).
Номер счета в магазине.
База для расчёта контрольной суммы: OutSum:InvId:Пароль#1 – если Вы не передавали пользовательские параметры, и: OutSum:InvId:Пароль#1:[Пользовательские параметры].
Например: если Вы передали нам параметры с вот такими значениями:
– то база для расчёта контрольной суммы будет выглядеть так: 100.26:450009:Пароль#1:Shp_login=Vasya:Shp_oplata=1.
Про Пароль#1 можно можно прочитать в разделе Технические настройки.
Контрольная сумма считается от значений, пришедших в запросе без каких-либо преобразований, округления и т. п. Это сделано для того, чтобы рассчитанное значение Контрольной суммы не зависело от способов округления, используемых магазином, форматов представления чисел, разделителей целой и дробной части и т. д.
Язык, использовавшийся при совершении оплаты. В соответствии с ISO 3166-1.
Переадресация пользователя при отказе от оплаты на FailURL
В случае отказа от исполнения платежа Покупатель перенаправляется по данному адресу.
Необходимо для того, чтобы Продавец мог, например, разблокировать заказанный товар на складе. При отказе от оплаты, магазину на FailURL методом, выбранным при регистрации, будут переданы параметры:
Параметры, передающиеся при отказе от оплаты OutSum
Сумма, оплаченная покупателем (та самая, которую Вы прислали в ROBOKASSA, на страницу оплаты).
Номер счета в магазине.
Язык, использовавшийся при совершении оплаты. В соответствии с ISO 3166-1.
Типовые ошибки интерфейса оплаты Код ошибки: 23
» Тестовый платёж не может быть создан. У магазина отсутствуют настройки тестовых параметров. «
Данная ошибка означает, что для попытки инициализации оплаты в тестовой среде у вас не заполнены необходимые пункты в блоке «Параметры проведения тестовых платежей» в закладке «Технические настройки».
» Магазин не активирован »
Ошибка возникает в двух случаях:
» Магазин не найден »
Ошибка возникает в том случае, когда в технических настройках на вашем сайте вы некорректно указали Идентификатор магазина. Найти его можно в разделе «Мои магазины» вашего ЛК, открыв нужный магазин. В закладке «Технические настройки» будет поле «Идентификатор магазина». Значение данного поля нужно скопировать и корректно прописать в настройках вашего сайта.
» Неверный параметр Signature «
Проверьте скрипт, отвечающий за инициализацию оплаты, а именно ту часть, которая формирует Signature по формуле, состоящей из переменных. Самые распространенные неточности, из-за которых может неверно считаться данный параметр:
ВАЖНО: Если вы используете тестовую среду ROBOKASSA, передавая параметр IsTest=1 или включив его галочкой в настройках вашего модуля/бота, то необходимо использовать ТОЛЬКО ТЕСТОВУЮ пару технических паролей (см. закладку «Технические настройки» в Карточке магазина).
» Неверный параметр счёта «
Проверьте правильность передаваемых как обязательных, так и необязательных параметров счета.
» Неверная сумма платежа »
Ошибка возникает по причине того, что при переадресации клиента на платежную страницу сервиса ROBOKASSA для выставления счета, вы не передаете нам сумму, на которую необходимо исполнить платеж. Либо передаете сумму равную 0.
» Время отведённое на оплату счёта истекло »
Ошибка показывает, что время отведённое на проведение платежа этим способом истекло.
Ознакомиться с имеющимися временными ограничениями по способам оплаты Вы можете здесь.
» Услуга рекуррентных платежей не разрешена магазину «
Функция проведения рекуррентных платежей сначала должна быть согласована и подключена для вашего магазина нашими менеджерами. В противном случае платежи с подобной надстройкой работать не будут.
» Неверные параметры для инициализации рекуррентного платежа «
Некорректные параметры указаны при инициализации рекуррентного платежа. Сверьтесь с соответствующим разделом нашей технической документации и проверьте настройки рекуррентных платежей у себя на сайте.
» Повторная оплата счета с тем же номером невозможна «
В момент формирования запроса на инициализацию оплаты вы передаете нам значение параметра InvId (номер заказа/счета), которое уже использовалось вами прежде. Этот параметр должен принимать с каждой переадресацией в сервис ROBOKASSA уникальное значение. Ошибка показывает, что один из клиентов уже оплатил данный номер заказа ранее, а сейчас вы переадресуете к нам другого плательщика, выставляя ему тот же номер счета. Поправьте момент с изменением значения параметра InvId.
» Ошибка на старте операции «
При инициализации оплаты в системе произошла ошибка, вследствие которой платеж был отменен, не стартовав. Просьба инициировать оплату еще раз. При неудаче обратитесь в нашу поддержку.
» Тестовый номер счета не может быть использован для проведения оплаты «
«Ошибка конвертации валюты»
В параметре OutSumCurrency передано недопустимое значение, отличное от USD, EUR и KZT.
» Внутренние ошибки сервиса «
В случае возникновения данных ошибок, просьба обратиться в поддержку нашего сервиса ROBOKASSA через раздел «Поддержка» вашего личного кабинета.
Описание параметров скрипта (модуля) ROBOKASSA
В данном разделе описаны все параметры используемые в скриптах ROBOKASSA.
По этим ссылкам Вы можете скачать архивы с примерами реализации скрипта, на нескольких языках программирования:
Описание переменных, параметров и значений
Рассмотрим, какие параметры и переменные используются в скриптах и какие значения для них могут быть использованы. А также, что из всего этого нужно и для чего.
Без них ничего работать не будет!
Сумма должна быть указана в рублях.
Но, если стоимость товаров у Вас на сайте указана, например, в долларах, то при выставлении счёта к оплате Вам необходимо указывать уже пересчитанную сумму из долларов в рубли. См. необязательный параметр OutSumCurrency.
Это очень важный параметр, который обеспечивает безопасность при прохождении платежа и целостность передаваемых данных. Корректное его составление гарантирует, что злоумышленник не сможет подделать какие-либо данные в операции оплаты.
Если Вы не планируете делать сложный скрипт или страницу оплаты, то можно сразу перейти к разделу Простейший магазин без формирования уникального номера счета.
Предлагаемый способ оплаты. Тот вариант оплаты, который Вы рекомендуете использовать своим покупателям (если не задано, то по умолчанию открывается оплата Банковской картой ). Если параметр указан, то покупатель при переходе на сайт ROBOKASSA попадёт на страницу оплаты с выбранным способом оплаты.Например:
Пользователь может изменить его в процессе оплаты.
Доступные значения для параметра IncCurrLabel — Alias валют, Вы можете получить с использованием соответствующего интерфейса описанного в разделе: XML интерфейсы. Интерфейс получения списка валют.
Номер счета в магазине. Необязательный параметр, но мы настоятельно рекомендуем его использовать.
Используйте данную возможность только в очень простых магазинах, где не требуется какого-либо контроля оплаты.
Если параметр передан, то он должен быть включён в расчёт контрольной суммы (SignatureValue)
Язык общения с клиентом (в соответствии с ISO 3166-1). Определяет на каком языке будет страница ROBOKASSA, на которую попадёт покупатель. Может принимать значения: en, ru.
Если параметр не передан, то используются региональные настройки браузера покупателя. Для значений отличных от ru или en используется английский язык.
Срок действия счета. Этот параметр необходим, чтобы запретить пользователю оплату позже указанной магазином даты при выставлении счета. Следует обратить внимание, что в некоторых случаях, если оплата производится в оффлайне, например через терминал или в салоне связи, то оплата может произойти и позже указанного срока действия счета.
Дата передаётся в формате, рекомендованном стандартом ISO 8601 (YYYY-MM-DDThh:mm:ss.fffffffZZZZZ), где:
Способ указать валюту, в которой магазин выставляет стоимость заказа. Этот параметр нужен для того, чтобы избавить магазин от самостоятельного пересчета по курсу. Является дополнительным к обязательному параметру OutSum. Если этот параметр присутствует, то OutSum показывает полную сумму заказа, конвертированную из той валюты, которая указана в параметре OutSumCurrency, в рубли по курсу ЦБ на момент оплаты. Принимает значения: USD, EUR и KZT.
Если передается параметр OutSumCurrency, то он должен быть включен в расчет контрольной суммы (SignatureValue). В этом случае база для расчёта будет выглядеть так: MerchantLogin:OutSum:InvId:OutSumCurrency:Пароль#1
Передача этого параметра (Ip конечного пользователя) желательна для усиления безопасности, предотвращению фрода и противодействию мошенникам. Этот параметр пользователь передает при оплате. При расчете контрольной суммы UserIp ставится перед Пароль#1 (кроме использования параметра Receipt).
Если этот параметр передан, то он должен быть встроен в расчет контрольной суммы SignatureValue.
Дополнительные пользовательские параметры
Они также относятся к необязательным параметрам, но несут совершенно другую смысловую нагрузку. Это такие параметры, которые ROBOKASSA никак не обрабатывает, но всегда возвращает магазину в ответных вызовах.
То при старте операции оплаты Вы можете передавать всю эту информацию.
При завершении операции оплаты, мы будем возвращать Вам эти дополнительные параметры. Формироваться они должны следующим образом:
Всегда начинаться с: Shp_; SHP_; shp_
Выглядеть они могут так: Shp_1=1;Shp_1=2 — или так: Shp_oplata=1;Shp_oplata=2 — или вот так: Shp_login=Vasya; Shp_name=Вася.
Например: MerchantLogin:OutSum:InvId:Пароль#1:Shp_id=126:Shp_login=Vasya
При получении уведомлений от ROBOKASSA, Вы (Ваши скрипты) сможете использовать их по своему усмотрению. Например, принять решение куда перенаправить покупателя на Вашем сайте.
Очень важно, чтобы все параметры были отсортированы в алфавитном порядке.
Shp_login=Vasya:Shp_name=Вася :Shp_oplata=1 (l – n – o)
Если в значении пользовательского параметра используются русские символы (Shp_name=Вася), то значение этого параметра перед использованием в строке для подсчета контрольной суммы и отправкой его формой необходимо URL-кодировать. Если Вы осуществляете GET запрос, то значение этого параметра необходимо еще раз URL-кодировать непосредственно перед формированием ссылки запроса на инициализацию оплаты.
В сумме строка может содержать до 2048 знаков.
Каждый из этих параметров ОБЯЗАТЕЛЬНО должен быть включён в подсчёт контрольной суммы (SignatureValue). Как при старте операции, так и при её завершении. Все параметры должны быть обязательно отсортированы в алфавитном порядке.
Периодические платежи
Некоторым магазинам необходимо получать от пользователей повторяющиеся платежи — например оплату за периодические издания, ежемесячные подписки на новости и т.д. Для упрощения проведения таких платежей предусмотрен специальный сценарий.
Важно! Данная услуга доступна только по предварительному согласованию. Для её подключения создайте запрос через свой Личный кабинет.
На первом этапе пользователь производит обычный платеж по выставленному счету, но помимо всех остальных параметров необходимо передать еще один специальный параметр Recurring, указывающий, что в дальнейшем платеж будет периодически повторяться. После успешной оплаты такого счета с помощью банковской карты, магазин получает возможность периодически повторять платеж уже без участия пользователя. Для этого магазин делает запросы на специальный URL (https://auth.robokassa.ru/Merchant/Recurring), передавая обычные параметры и указывая номер счета, оплаченного на первом этапе.
ГОТОВЫЙ ПЛАТЕЖНЫЙ МОДУЛЬ ОТ НАШИХ ПАРТНЕРОВ
Воспользуйтесь готовым решением от нашего партнера «AINOX.RU» — это облачный платежный модуль для Robokassa с поддержкой рекуррентных платежей. С помощью Ainox вы можете запустить платежи по подписке за 15 минут, без программиста и даже без сайта.
Зарегистрируйтесь по этой ссылке и получите 30 дней пробного периода бесплатную поддержку и помощь в настройке «под ключ».
Магазин передает это параметр в вызове, направляемом на URL https://auth.robokassa.ru/Merchant/Recurring и указывает в нем номер счета первого платежа в серии повторяющихся платежей. Кроме того, в этом вызове передаются обычные обязательные и необязательные параметры, со следующими исключениями:
Пример запроса с PreviousInvoiceID:
Сплитование (разделение) платежей
Важно! Данная услуга доступна только по предварительному согласованию. Для её подключения создайте запрос через свой Личный кабинет.
В случае проведения платежа, который должен быть распределён между несколькими магазинами к стандартному запросу на проведение платежа добавляется параметр – Split
В этом параметре передается информация о магазинах, участвующих в платеже, и распределении суммы платежа по ним.
Информация о магазинах передается в виде списка через запятую:
По каждому магазину передается три параметра:
Формат передачи информации по магазину:
идентификатор_магазина:сумма:номер_счета
Параметры Идентификатор магазина
Передается в виде 123.45, с разделителем целой и дробной части “.” точка.
Суммы передаются для всех магазинов в платеже.
Если одному из магазинов не требуется проводить зачисление, его доля в этом платеже нулевая, то в качестве значения суммы передаётся 0.00
Важно! Общая сумма всех передаваемых значений сумм в сплите должна быть равна значению параметра OutSum
Если параметр номер счета отсутствует, то символ-разделитель “:” все равно должен быть указан.
Если в основном запросе на проведение платежа передаётся параметр InvId, то идентичное значение должно быть указано для Мастер магазина.
Примеры передачи данных
Split= master :225.50:12345,shop2:20.00:,shop3:10.34:
Пример использования параметра Split в запросе:
Фискализация для клиентов Robokassa.
В соответствии с требованием Закона РФ, все без исключения операции с использованием электронных средств платежа должны проходить через специализированную контрольно-кассовую технику, и данные о них должны передаваться через операторов фискальных данных в налоговую инспекцию в режиме реального времени.
Передача фискальных данных при использовании официальных виджетов и модулей оплаты:
Вам необходимо выполнить простые настройки модуля на стороне сайта. Это встроенная функция, после ее настройки вся необходимая информация для чека будет передаваться из карточек товара вашего интернет-магазина (актуально для официальных модулей для Битрикс24, InSales, WordPress WooCommerce, OpenCart, Joomla, VirtueMart, 1С-Битрикс).
WIX: товарная номенклатура передаётся по умолчанию, без каких-либо дополнительных настроек.
Amo CRM : необходимо выполнить настройку модуля во вкладке «Настройки платежа» и включить фискализацию чеков, после чего наименования товаров и услуг будут передаваться в чек из счёта, который будет создан в новой сделке.
МойСклад: необходимо выполнить настройку модуля во вкладке «Платежи» и включить фискализацию чеков. После этого наименования товаров и услуг будут передавать в чек из счёта, который будет создан во вкладке «Счета покупателям».
Передача номенклатуры при использовании виджетов и модулей оплаты сторонних разработчиков:
Передача номенклатуры в рамках «самописного» сайта:
Если вы разрабатываете сайт самостоятельно, то передача номенклатуры осуществляется посредством передачи дополнительного параметра в запросе на проведение платежа.
Обращаем Ваше внимание, что для решений Робочеки и Облачное в чеке не может быть более ста товарных позиций.
В этом параметре передается информация о перечне товаров/услуг, количестве, цене и ставке налога по каждой позиции.
Формат параметра – json. Максимальное количество символов в запросе json, составляет 30000 символов.
Пример передаваемого значения параметра:
Параметр включается в контрольную подпись запроса (после номера счета магазина и после UserIp (Ip конечного пользователя) ). Например: MerchantLogin:OutSum:InvId:Receipt:Пароль#1.
Внимание! Поле sum содержит полную стоимость за все единицы данного товара вместе, учитывая (если есть) скидки, бонусы и специальные/премиальные цены на отдельные единицы товара (например, третий товар за половину стоимости или за пять единиц товара скидка 12%).
Внимание! В связи с тем, что значение этого параметра может иметь большую длину, мы рекомендуем передавать запросы с этим параметром только методом POST, во избежание превышения максимальной длины строки запроса.
ВАЖНО! Значение параметра Receipt перед использованием в строке для подсчета контрольной суммы и отправкой его формой необходимо URL-кодировать.
ВАЖНО! Параметр Receipt не участвует в контрольной сумме, при уведомлении платежа ResultURL.
Необязательное поле, если у организации имеется только один тип налогообложения.
Перечисление со значениями:
Массив данных о позициях чека.
Согласно требованиям ФФД ограничение по количеству от 1 до 100.
Обязательное поле. Наименование товара. Строка, максимальная длина 128 символа. Если в наименовании товара Вы используете специальные символы, например кавычки, то их обязательно необходимо экранировать.
Обязательное поле. Полная сумма в рублях за все количество данного товара с учетом всех возможных скидок, бонусов и специальных цен.
Десятичное положительное число: целая часть не более 8 знаков, дробная часть не более 2 знаков.
Обязательное поле. Количество/вес конкретной товарной позиции.
Десятичное число: целая часть не более 5 знаков, дробная часть не более 3 знаков.
Признак способа расчёта.
Возможные значения параметра:
Этот параметр необязательный. Если этот параметр не передан клиентом, то в чеке будет указано значение параметра по умолчанию из Личного кабинета, если же параметр передан клиентом, то именно эти значения параметра будут переданы в чек.
Признак предмета расчёта.
Возможные значения параметра:
Это поле устанавливает налоговую ставку в ККТ. Определяется для каждого вида товара по отдельности, но за все единицы конкретного товара вместе.
Параметр является обязательным только для тех магазинов, которые продают товары подлежащие обязательной маркировке.
Код маркировки расположен на упаковке товара, рядом со штрих-кодом или в виде QR-кода.
Подробное описание типов маркировки находится здесь.
Эти параметры вы сможете увидеть в чеке из раздела «Операции и возвраты» вашего личного кабинета.
После чего кликнуть на «найти чек».
Формирование второго чека
В связи с переходом на новый формат передачи фискальных данных в ФНС (формат 1.1), начиная с 01.07.2019 магазины, осуществляющие расчеты с признаками способа расчета «аванс», «предоплата», «предоплата 100%» обязаны после доставки товаров (оказания услуг) выдавать покупателю итоговый кассовый чек на общую сумму всех внесенных покупателем авансовых платежей (предоплат).
По закону, при проведении операций с методом оплаты «аванс», «предоплата» и «предоплата 100%» необходимо формировать второй чек. Вы можете сделать это в Личном кабинете Robokassa (раздел «Операции и возвраты»). Конструктор итогового чека в личном кабинете выглядит следующим образом:
Если модуль, на котором создан ваш сайт, входит в число наших официальных, и в нем есть такая функция, вы сможете менять статус заказа прямо в нем, а второй чек будет отправляться автоматически.
ВАЖНО:
Для формирования второго чека необходимо сформировать запрос в формате Json.
Основные параметры запроса соответствуют параметрам первого фискального чека.
Помимо этого необходимо добавить дополнительные обязательные параметры:
Идентификатор для второго чека, любое число (не должен совпадать с OriginId ).
Значение только целое число.
Номер заказа магазина ( InvId), по которому уже есть чек и для которого выбивается второй чек.
Значение только целое число.
Типа чека. Может принимать только одно значение «sell«.
Адрес сайта, на котором осуществлена продажа. Значение строка.
Итоговая сумма чека в рублях.
Десятичное положительное число: целая часть не более 8 знаков, дробная часть не более 2 знаков.
Признак способа расчёта.
Данные о покупателе.
Cодержит любое из полей или все поля одновременно:
Тип и сумма платежа или чека.
Содержит:
Должен принимать значение:
«2» – предварительная оплата (зачет аванса и (или) предыдущих платежей).
Тип и сумма налога.
Содержит:
«none» – без НДС;
«vat0» – НДС по ставке 0%;
«vat10» – НДС чека по ставке 10%;
«vat110» – НДС чека по расчетной ставке 10/110;
«vat20» – НДС чека по ставке 20%;
«vat120» – НДС чека по расчетной ставке 20/120.
Последовательность формирования запроса в BASE64URL для второго чека
Внимание! Все запросы отправляются только в кодировке UTF8
и стираем на конце все знаки =, если имеются.
Если в результате кодирования в base64 присутствуют символы «+» или «/», то необходимо произвести замену «+» на «-» и «/» на «_», прежде чем использовать полученный результат.
Ответ на запрос создания чека
Статус получения данных от Клиента, может принимать значения:
Описание результата обработки чека.
Получение статуса чека
Для того чтобы узнать результат формирования фискального чека, необходимо создать запрос вида:
Внимание! Все запросы отправляются только в кодировке UTF8
Рассчитывается по базе: — (этот пароль Вы придумали, на этапе заполнения раздела Технические настройки.
и кодируем это все в md5 :
Теперь этот md5 снова в base64:
Статус регистрации чека. Может принимать значения:
Описание результата формирования чека.
Набор фискальных данных, полученный от ФНС.
Содержит:
Сервис отправки SMS
Сервис SMS-сообщений поможет быстро и оперативно получать информацию о поступлении оплаты в Ваш магазин, а также передавать информацию для Ваших клиентов – сообщать о порядке прохождения и формирования заказа. После каждой покупки, совершённой в Вашем магазине, ROBOKASSA предоставляет возможность отправить 3 SMS-сообщения покупателю.
Для подключения сервиса SMS-рассылок информирования об оплате заказа в магазине следует:
Для подключения сервиса SMS-рассылок для информирования покупателей следует:
SMS-сообщения могут быть отправлены только в том случае, если у Вас на балансе хватает денежных средств для осуществления отправки.
строка, содержащая Ваш Идентификатор магазина в Личном кабинете клиента на сайте ROBOKASSA.
строка, содержащая номер телефона в международном формате без символа «+» (79051234567).
строка в кодировке UTF-8 длиной до 128 символов, содержащая текст отправляемого SMS.
строка, содержащая электронную подпись подпись — хеш, рассчитываемый при отправке SMS-сообщения. Алгоритм расчёта расчёта хеша см. в Технических настройках магазина. Электронная подпись рассчитывается от строки содержащей следующие параметры, разделенные символом ‘:’ login:phone:message:Пароль#1, где Пароль#1 — этот тот пароль, который Вы придумали на этапе заполнения раздела Технические настройки).
Допустим, необходимо отправить SMS для магазина с логином demo_merchant на номер 79051234567 с текстом «All work fine!».
Пароль#1 находится в Личном кабинете клиента в Технических настройках данного магазина ( у клиента может быть несколько магазинов). Например, значение Пароль#1 будет Password1drowssaP.
Таким образом строка для подписи будет выглядеть как demo_merchant:79051234567:All work fine!:Password1drowssaP. Подпись MD5 такого запроса будет следующей: 6f0ed2dbb08da5a50124a3ee0581a7f6. Подпись SHA1 будет: 271f256595a8adc63438a3d75e14c20bc3fabe85.
Описание возвращаемых данных result
значение логического типа, указывающее на общий успех или неуспех обработки запроса.
Обращаем ваше внимание, что этот параметр никак не связан с с ResultURL!
целочисленное значение, указывающее на количество SMS, д оступное после этого запроса (данное значение заполняется только в случае успешного исполнения запроса).
целочисленное значение кода ошибки обработки (0 – успешная обработка).
текстовое описание возникшей в процессе обработки запроса ошибки.
Запрос можно считать успешно исполненным если поле result = true и errorCode = 0.
Пример запроса методом HTTP GET
Уведомления
Уведомления предназначены для информирования владельца магазина о поступившей оплате за заказ.
Для подключения Уведомлений перейдите в
Подпишитесь на Уведомления в Telegram или браузере.
и получайте мгновенное Уведомление об оплаченном заказе:
XML интерфейсы
Общая информация
XML интерфейсы предназначены для создания развёрнутого интерфейса ROBOKASSA, со всевозможными информационными блоками для клиентов Вашего магазина/сайта, а также для построения более глубокой системы взаимодействия Вашего магазина/сайта с ROBOKASSA.
Запросы к интерфейсам можно отправлять методом HTTP GET или HTTP POST, либо их можно использовать как методы XML web-сервиса:
Ответ на запрос, переданный методом HTTP GET/POST, возвращается в формате XML-документа. Документ имеет следующую структуру:
integer string Запрошенные данные (возвращаются только в случае успешного выполнения запроса) Required data
Элемент Result содержит информацию о результате выполнения запроса:
Информация о результате в элементе Result Code
Результат выполнения запроса. В случае успешного выполнения – 0, в противном случае код ошибки. Если во время выполнения запроса произошла ошибка, то в ответе не будет содержаться дополнительных элементов с запрашиваемыми данными.
Текстовое описание результата выполнения запроса.
Общие коды ошибок
Общие коды ошибок, которые могут возвращаться всеми запросами:
Интерфейс получения списка валют
Возвращает список валют, доступных для оплаты заказов указанного магазина/сайта.
Используется для указания значений параметра IncCurrLabel, также используется для отображения доступных вариантов оплаты непосредственно на Вашем сайте, если Вы желаете дать больше информации своим клиентам.
Язык для локализованных значений в ответе (названий валют, методов оплаты и т. д.).
Формат ответа для запросов HTTP GET/POST
Группы валют; могут использоваться для более удобного отображения валют в пользовательском интерфейсе.
Текстовое описание группы.
Валюты, входящие в группу.
Интерфейс получения списка доступных способов оплаты
Возвращает список способов оплаты, доступных для оплаты заказов указанного магазина/сайта.
Используется для отображения доступных способов оплаты непосредственно на Вашем сайте, если Вы желаете дать больше информации своим клиентам. Основное отличие от Списка валют – здесь не показывается детальная информация по всем вариантам оплаты, здесь отображаются группы/методы оплаты.
Язык для локализованных значений в ответе (названий валют, методов оплаты и т. д.).
Формат ответа для запросов HTTP GET/POST
Доступные способы оплаты.
Код способа оплаты.
Текстовое описание способа оплаты.
Интерфейс получения состояния оплаты счета
Возвращает детальную информацию о текущем состоянии и реквизитах оплаты.
Необходимо помнить, что операция инициируется не в момент ухода пользователя на оплату, а позже – после подтверждения его платежных реквизитов, т.е. Вы вполне можете не находить операцию, которая по Вашему мнению уже должна начаться.
Номер счета магазина, целое число.
Пример запроса методом HTTP GET
Формат ответа для запросов HTTP GET/POST
Текущее состояние оплаты.
Код текущего состояния операции оплаты счета. Возможные значения:
От пользователя ещё не поступила оплата по выставленному ему счёту или платёжная система, через которую пользователь совершает оплату, ещё не подтвердила факт оплаты.
Оплата не была произведена. Покупатель отказался от оплаты или не совершил платеж, и операция отменилась по истечении времени ожидания. Либо платёж был совершён после истечения времени ожидания. В случае возникновения спорных моментов по запросу от продавца или покупателя, операция будет перепроверена службой поддержки, и в зависимости от результата может быть переведена в другое состояние.
Операция перешла в состояние зачисления средств на баланс продавца. В этом статусе платёж может задержаться на некоторое время. Если платёж «висит» в этом состоянии уже долго (более 20 минут), это значит, что возникла проблема с зачислением средств продавцу.
Полученные от покупателя средства возвращены на его счёт (кошелёк), с которого совершалась оплата.
Внештатная остановка. Произошла внештатная ситуация в процессе совершения операции (недоступны платежные интерфейсы в системе, из которой/в которую совершался платёж и т.д.) Или операция была приостановлена системой безопасности. Операции, находящиеся в этом состоянии, разбираются нашей службой поддержки в ручном режиме.
Платёж проведён успешно, деньги зачислены на баланс продавца, уведомление об успешном платеже отправлено продавцу.
Дата/время ответа на запрос.
Дата/время последнего изменения состояния операции.
Информация об операции оплаты счета.
Валюта, которой платил клиент.
Сумма, оплаченная клиентом, в единицах валюты IncCurrLabel.
Номер счёта (кошелёк, номер банковской карты) клиента в платежной системе, через которую производилась оплата.
Способ оплаты, выбранный клиентом.
Код способа оплаты.
Валюта, в которой получает средства магазин.
Сумма, зачисленная на счет магазина, в единицах валюты OutCurrLabel.
Формат данных типа дата/время
Дата/время передаются в формате, рекомендованном стандартом ISO 8601 (YYYY-MM-DDThh:mm:ss.fffffff;ZZZZZ), где:
Например: 2010-02-11T16:07:11.6973153+03:00
Виды магазинов
Простейший магазин без формирования уникального номера счета
Такой магазин не может каким-либо способом контролировать процесс получения платежей и Вам, скорее всего, придется в ручном режиме проставлять статусы оплаты заказов в магазине и отгружать товар покупателям.
Основная схема работы магазина:
В разделе Технические настройки необходимо заполнить поля:
Для такого магазина и скрипт необходим самый простой. В принципе необходим даже не скрипт, а ссылка для перехода на совершение оплаты.
Рассмотрим процедуру создания такой ссылки по шагам:
Воспользуемся шаблоном запроса для перехода на оплату:
https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=[значение]&OutSum=[значение]&Description=[значение]&SignatureValue=[значение]
Заменим [значение] соответствующими данными, (подробнее можно почитать тут).
Например, для исходных данных:
MerchantLogin = demo
(идентификатор Вашего магазина из раздела Технические настройки)
OutSum = 11
(cтоимость товара у Вас на сайте, рубли)
Description = Покупка в демо магазине
В результате получаем ссылку:
https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=demo&OutSum=11&Description=Покупка в демо магазине&SignatureValue=[значение]
В полученной ссылке отсутствует только последнее значение – SignatureValue. Его необходимо вычислить.
Строка данных, от которой его считают выглядит так:
MerchantLogin:OutSum::Пароль #1
– подставляем в неё соответствующие значения и получаем:
[Пароль #1] – это пароль, придуманный Вами при заполнении раздела Технические настройки.
Обратите внимание,что обязательный параметр InvId присутствует в подсчете SignatureValue, хотя и с пустым значением.
Для вычисления Контрольной суммы, SignatureValue, по алгоритму MD5 можно использовать один из on-line калькуляторов, например,
Собираем готовую ссылку для размещения на Вашем сайте:
(По этой ссылке Вы можете совершить настоящий платёж на 11 рублей в нашем Демонстрационном магазине.)
В результате всех этих действий Вы получите ссылку для размещения на своём сайте без какого-либо дополнительного программирования. И начинайте принимать платежи.
Магазин формирующий уникальный номер счета
Схема работы магазина:
Цена: стоимость заказа
inv_id: номер заказа
Метод оплаты: метод, которым был оплачен заказ
shp_.
С уважением,
Проект ROBOKASSA
В разделе Технические настройки следует прописать:
Для такого магазина необходим несложный скрипт.
Рассмотрим процедуру создания такой ссылки по шагам.
Воспользуемся шаблоном запроса для перехода на оплату.
В работе рекомендуется использовать самый простой текстовый редактор – Блокнот.
Получаем ссылку вида:
https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=demo&OutSum=11&InvoiceID=0&Description=Покупка в демо магазине&SignatureValue=$crc
В результате всех этих действий Вы получите ссылку для размещения на своём сайте, без какого-либо дополнительного программирования. И можете начинать принимать платежи.
Магазин с применением всех интерфейсов
Использование всех возможностей ROBOKASSA, таких как Дополнительные пользовательские параметры и XML-интерфейсы, позволит Вам настроить максимально глубокую интеграцию между нашей системой и Вашим интернет-магазином. Это позволит обеспечить большую гибкость в использовании ROBOKASSA, и позволит Вам обслуживать своих клиентов на качественно новом уровне.
XML-интерфейсы позволяют предварительно получать курсы валют ROBOKASSA и список принимаемых валют, рассчитывать как сумму к получению магазином, так и сумму к оплате для покупателя. Что значительно расширяет Ваши возможности по построению удобного пользовательского интерфейса Вашего сайта.
Также Вы можете в любой момент времени проверить состояние оплаты заказа. Это даст Вам большую стабильность и повышенную безопасность. К примеру, Ваша система может перед автоматической выдачей товара проверять состояние оплаты заказа непосредственно у ROBOKASSA.
А передача Дополнительных пользовательских параметров, даёт Вам возможность настроить работу своего сайта с максимальным комфортом для Ваших клиентов и сотрудников. Так использование этих параметров позволит Вам распределить денежные потоки внутри своего ресурса относительно тех вариантов услуг или товаров, которые Вы продаёте.
Ещё один вариант использования этих параметров – это дополнительная идентификация Ваших клиентов, что очень часто бывает необходимо для корректного зачисления платежа.
Ручная обработка заказов
Зарегистрироваться на нашем сайте www.robokassa.ru.
После создания магазина, в разделе Технические настройки нужно прописать два пароля (обязательное условие).
В полях ResultURL нужно выбрать метод отсылки данных E-Mail и указать электронный почтовый адрес, на который Вы планируете получать уведомления об успешных платежах, для дальнейшей обработки их Вашими менеджерами.
Больше никаких дополнительных настроек не требуется, при условии, что Вы планируете работать только в ручном режиме.
Некоторые особенности, которые необходимо учитывать при отправке пользователя на совершение оплаты.
Если у Вас на сайте товары представлены в единственном экземпляре, и при формировании заказа товар резервируется под конкретного покупателя на какой-то промежуток времени, то Вам необходимо учесть следующие моменты:
Если говорить более подробно, то:
Есть ещё одна категория ситуаций, на которую следует обратить внимание – о плату пользователь произвёл, но либо после истечения времени ожидания (обычно электронными валютами), либо система, через которую проводилась оплата, не прислала нам подтверждения этой оплаты, и у нас она отменилась по истечение срока ожидания, либо платёж был совершён с ошибкой, и требуется дополнительная идентификация и корректировка платежа в ручном режиме.
После чего клиент сообщает, что он оплатил, но ничего не получил. И начинает искать свои деньги и товар.
Это может произойти в тот же день, спустя несколько часов, или спустя несколько месяцев.
Если оплата действительно подтверждена, ROBOKASSA предпримет все необходимые действия, завершит платёж и отправит Вам оповещение об этом. Соответственно произойти это может спустя продолжительное количество времени. Обычно, не более суток, но иногда задержка может быть существенной.
Работа в тестовом режиме. Отладка, проверка, настройка.
Тестовый режим предназначен для отладки взаимодействия между магазином и сервисом ROBOKASSA и особенно полезен для магазина, который еще не был активирован.
(Тестовый режим так же может быть использован и после активации магазина)
Тестовая среда представляет из себя интерфейс «платёжных страниц» ROBOKASSA, но без возможности провести оплату. Она позволяет отладить процесс оплаты.
Для работы в тестовом режиме обязателен параметр IsTest.
Внимание! Для работы в тестовом режиме используется специальный тестовый набор паролей, не совпадающих с основными рабочими паролями Вашего магазина. Они прописываются в специальном блоке в Технических настройках Вашего магазина. Это делается для обеспечения безопасности Вашего интернет-магазина, чтобы злоумышленник не имел возможности «обмануть» Ваш интернет-магазин.
Интерфейс оплаты
Для того, что бы со стороны магазина инициировать тестовую операцию оплаты, в скрипт к остальным параметрам необходимо добавить параметр IsTest со значением 1.
Если данный параметр вообще отсутствует, или в качестве значения параметра IsTest передан 0, или значение параметра пусто, то такой запрос не считается тестовым и происходит инициализация обычной операции оплаты.
Инициализация тестовой оплаты через магазин
Рассмотрим подробно тестирование оплаты через свой магазин с помощью модифицированного скрипта:
Здесь уже заменены [значение] соответствующими данными, (подробнее можно почитать тут), следует проделать аналогичные шаги для Вашего тестируемого магазина:
MerchantLogin = Test1999
(идентификатор магазина из раздела Технические настройки);
Pass1 = Пароль#1
(Пароль#1 из тестовых настроек);
InvId = 678678
OutSum = 100
(cтоимость товара, рубли);
Description = Товары для животных
(тестовый параметр, указатель на тестовую оплату);
Процесс тестовой оплаты
Предложенный способ оплаты можно изменить. Кликнув по одному из предложенный сбоку страницы вариантов.
Выбрав любой другой. Например:
После того, как Вы нажмёте кнопку «Оплатить», Вы попадёте на специальную страницу тестовой оплаты где можно выбрать один из двух возможных вариантов завершения платежа: «Успешно» или «Ошибка«.
После успешной оплаты на Ваш Result URL будет отправлено уведомление об успешно прошедшей оплате, а клиент попадет на страницу успешной оплаты.
Пример неуспешной тестовой оплаты:
Обратите внимание, что тестовые оплаты не отображаются в поиске операций в Личном кабинете клиента.
Пример кода на PHP с параметром IsTest
Примеры
Скачать архив с примерами реализации кода, можно здесь.
Формирование URL переадресации пользователя на оплату
Получение уведомления об исполнении операции (ResultURL)
Проверка параметров в скрипте завершения операции (SuccessURL)
Формирование URL переадресации пользователя на оплату
Получение уведомления об исполнении операции (ResultURL)
Проверка параметров в скрипте завершения операции (SuccessURL)
Форма оплаты с вводом произвольной суммы и номенклатурой
ASP.NET
Формирование URL переадресации пользователя на оплату
Получение уведомления об исполнении операции (ResultURL)
Проверка параметров в скрипте завершения операции (SuccessURL)
Требования к сайту магазина со стороны платёжных систем
Требования к сайту магазина со стороны платёжной системы WebMoney
Требования к магазину от GooglePay
Ознакомьтесь с условиями пользовательского соглашения GooglePay по ссылке.
Условия указанного соглашения действуют полностью при использовании услуги в рамках сервиса ROBOKASSA.
Рекомендации по бухгалтерскому учету
Для разъяснения некоторых вопросов рекомендуем ознакомиться с документом по ссылке.