Параметры скрипта

Документация сервиса

Документация сервиса Robokassa

Описание параметров скрипта (модуля) Robokassa

В данном разделе описаны все параметры используемые в скриптах Robokassa. Рассмотрим, какие параметры и переменные используются в скриптах и какие значения для них могут быть использованы. А также, что из всего этого нужно и для чего.

Скачать примеры скрипта:

Параметр

Значение

MerchantLogin

Идентификатор магазина в Robokassa, который вы придумали при создании магазина.

OutSum

Требуемая к получению сумма (буквально — стоимость заказа, сделанного клиентом). Формат представления — число, разделитель — точка, например: 123.45. Сумма должна быть указана в рублях.

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

Description

Описание покупки, можно использовать только символы английского или русского алфавита, цифры и знаки препинания. Максимальная длина — 100 символов. Эта информация отображается в интерфейсе Robokassa на платежной странице и в личном кабинете. Корректность отображения зависит от необязательного параметра Encoding

SignatureValue

Контрольная сумма — хэш, число в 16-ричной форме и любом регистре (0-9, A-F), рассчитанное методом указанным в Технических настройках магазина. Рассчитывается по базе, содержащей следующие параметры, разделенные символом : с добавлением Пароль#1 — (этот пароль Вы придумали, на этапе заполнения раздела Технические настройки):

Если параметр InvId был передан
MerchantLogin:OutSum:InvId:Пароль#1

Если параметр InvId передан не был
MerchantLogin:OutSum::Пароль#1

Внимание!

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

Необязательные параметры

Если Вы не планируете делать сложный скрипт или страницу оплаты, то можно сразу перейти к разделу «Простейший магазин без формирования уникального номера счета».

Параметр

Значение

IncCurrLabel

Предлагаемый способ оплаты. Тот вариант оплаты, который Вы рекомендуете использовать своим покупателям (если не задано, то по умолчанию открывается оплата Банковской картой). Если параметр указан, то покупатель при переходе на сайт Robokassa попадёт на страницу оплаты с выбранным способом оплаты.

Внимание!

Пользователь может изменить способ в процессе оплаты.

InvId

Номер счета в магазине. Необязательный параметр, но мы настоятельно рекомендуем его использовать. Значение этого параметра должно быть уникальным для каждой оплаты. Может принимать значения от 1 до 2147483647 (2 - 1).

Если значение параметра пустое, или равно 0, или параметр вовсе не указан, то при создании операции оплаты ему автоматически будет присвоено уникальное значение.

Внимание!

Используйте данную возможность только в очень простых магазинах, где не требуется какого-либо контроля оплаты. Если параметр передан, то он должен быть включён в расчёт контрольной суммы
(SignatureValue).

Culture

Язык общения с клиентом (в соответствии с ISO 3166-1). Определяет на каком языке будет страница Robokassa, на которую попадёт покупатель. Если параметр не передан, то используются региональные настройки браузера покупателя. Для значений отличных от ru или en используется английский язык.

Возможные значения:

en

– Английский

ru

– Русский

Encoding

Кодировка, в которой отображается страница Robokassa. По умолчанию: Windows-1251. Этот же параметр влияет на корректность отображения описания покупки (Description) в интерфейсе Robokassa, и на правильность передачи Дополнительных пользовательских параметров, если в их значениях присутствует язык отличный от английского.

Email

Если параметр передан, то email покупателя автоматически подставляется в платёжную форму Robokassa.

ExpirationDate

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

Дата и время передаются в формате по стандарту ISO 8601:
YYYY-MM-DDThh:mm:ss.fffffff;ZZZZZ

Например:
2010-02-11T16:07:11.6973153+03:00

Содержит параметры:

YYYY

Год, 4 цифры

MM

Месяц, 2 цифры

DD

День месяца, 2 цифры (от 01 до 31)

T

Латинский символ «T» в верхнем регистре

hh

Часы, 2 цифры (24-часовой формат, от 00 до 23)

mm

Минуты, 2 цифры (от 00 до 59)

ss

Секунды, 2 цифры (от 00 до 59)

fffffff

Дробные части секунд. от 1 до 7 цифр

ZZZZZ

Описатель временной зоны. Должен быть в верхнем регистре. Означает, что момент времени представлен в UTC зоне (эквивалентно +00:00 и -00:00). Смещение -hh:mm или +hh:mm относительно UTC показывает, что указано локальное время, которое на данное число часов и минут опережает или отстает от UTC

OutSumCurrency

Способ указать валюту, в которой магазин выставляет стоимость заказа. Этот параметр нужен для того, чтобы избавить магазин от самостоятельного пересчета по курсу. Является дополнительным к обязательному параметру OutSum. Если этот параметр присутствует, то переданное значение будет автоматически сконвертировано в Российские рубли.
Если передается параметр OutSumCurrency, то он должен быть включен в расчет контрольной суммы (SignatureValue). В этом случае база для расчёта будет выглядеть так: MerchantLogin:OutSum:InvId:OutSumCurrency:Пароль#1

Возможные значения:

USD

– Доллар

EUR

– Евро

KZT

– Тенге

UserIp

Передача этого параметра (Ip конечного пользователя) желательна для усиления безопасности, предотвращению фрода и противодействию мошенникам. Этот параметр пользователь передает при оплате. При расчете контрольной суммы UserIp ставится перед Пароль#1 (кроме использования параметра Receipt ).

Внимание!

Если этот параметр передан, то он должен быть встроен в расчет контрольной суммы

SignatureValue.

Например: MerchantLogin:OutSum:InvId :UserIp:Пароль#1

Дополнительные пользовательские параметры

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

вы собираетесь создавать магазин, в котором предусмотрено большое количество товаров, разделов и типов товара;

ваш сайт будет предоставлять разнообразные услуги, не похожие друг на друга;

на одном сайте работают несколько ресурсов;

и самое распространённое — вам нужно использовать дополнительную идентификацию ваших клиентов, например, знать его ID или Логин.

При завершении операции оплаты, мы будем возвращать вам эти дополнительные параметры. Формироваться они должны следующим образом:

Всегда начинаться с:

Shp_;, SHP_;, shp_,

Как может выглядеть:

Shp_1=1 Shp_1=2 , Shp_oplata=1 Shp_oplata=2 , Shp_login=Vasya , Shp_name=Вася , Shp_url=https://robokassa.com/

Например:

MerchantLogin:OutSum:InvId:Пароль#1:Shp_id=126:Shp_login=Vasya .

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

Внимание!

Очень важно, чтобы все параметры были отсортированы в алфавитном порядке.

Например: Shp_login=Vasya:Shp_name=Вася:Shp_oplata=1

Если в значении пользовательского параметра используются русские символы (Shp_name=Вася), то значение этого параметра перед использованием в строке для подсчета контрольной суммы и отправкой его формой необходимо URL-кодировать. Если Вы осуществляете GET запрос, то значение этого параметра необходимо еще раз URL-кодировать непосредственно перед формированием ссылки запроса на инициализацию оплаты. В сумме строка может содержать до 2048 знаков.

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