Сплитование (разделение) платежей

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

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

Сплитование (разделение) платежей

Если в работе вашего магазина(ов) имеется необходимость распределять поступающие платежи между несколькими вашими магазинами или магазинами партнёров, то необходимо сделать Сплитование (разделение) платежа.

Внимание!

Данная услуга доступна только по предварительному согласованию. Для её подключения создайте запрос через свой Личный кабинет.

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

URL для запросов HTTP GET/POST:

В запросе передаются два параметра:

Параметр

Значение

Invoice

сам запрос на проведение операции оплаты и сплитования, в формате Json. Перед отправкой тело запроса необходимо URL-кодировать.

Signature

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

Пример Invoice
  
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
{ "outAmount": 700, "shop_params": [ { "name": "user_param_1", "value": "Параметр номер один" }, { "name": "user_param_2", "value": "Параметр номер два" }, ] "email": "testlab@test.ru", "incCurr": "BankCard", "language": "ru", "isTest": false, "expirationDate": "2024-08-23T12:53Z", "merchant": { "id": "ru_split_01_shop_01", "comment": "Общее описание заказа" }, "splitMerchants": { { "id": "ru_split_01_shop_01", "InvoiceId": 123, "amount": "ru_split_01_shop_01", "receipt": { "sno": "osn", "items": [ { "name": "товар 1", "quantity" 2, "sum": 400, "tax": "vat110", "payment_method": "full_payment", "payment_object": "commodity", "nomenclature_code": "1231" } { "name": "товар 2", "quantity" 1, "sum": 100, "tax": "vat120", "payment_method": "full_payment", "payment_object": "commodity", "nomenclature_code": "1232" } ] } }, { "id": "ru_split_02_shop_01", "amount": 200, "receipt": { "sno": "usn_income", "items": [ { "name": "товар 3", "quantity": 1, "sum": 200, "tax": "vat20", "payment_method": "full_prepayment", "payment_object": "commodity", "nomenclature_code": "123456" } ] } } ] }

Описание параметров

Параметр

Значение

outAmount

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

Сумма должна быть указана в рублях.

Число, разделитель — точка, например: 123.45, формат данных number.

Параметр является обязательным.

shop_params

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

 

name

Название дополнительного параметра, формат данных string. Параметр не является обязательным.

 

value

Значение дополнительного параметра, формат данных string. Параметр не является обязательным.

 

email

Email покупателя автоматически подставляется в платёжную форму ROBOKASSA.

Пользователь может изменить его в процессе оплаты, формат данных string.

Параметр не является обязательным.

incCurr

Предлагаемый по умолчанию способ оплаты. (Если не задано, то по умолчанию открывается оплата Банковской картой), формат данных string.

Параметр не является обязательным.

language

Язык общения с клиентом (в соответствии с ISO 3166-1). Определяет на каком языке будет страница ROBOKASSA, на которую попадёт покупатель.

Может принимать значения: en, ru. Если параметр не передан, то используются региональные настройки браузера покупателя. Для значений отличных от ru или en используется английский язык , формат данных string.

Параметр не является обязательным.

expirationDate

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

Дата передаётся в формате, рекомендованном стандартом ISO 8601 (YYYY-MM-DDThh:mm:ss.fffffffZZZZZ), где:

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+03).

Может принимать значения:

+hh:mm или — hh:mm — смещение относительно UTC (показывает, что указано локальное время, которое на данное число часов и минут опережает или отстает от UTC); символ «Z» (должен быть в верхнем регистре) означает, что момент времени представлен в UTC зоне (эквивалентно +00:00 и -00:00), формат данных string.

Параметр не является обязательным.

merchant

Блок мастер-магазина, формат данных object.

Параметр является обязательным.

 

id

Идентификатор Мастер-магазина, который инициирует операцию сплитования, формат данных string.

Параметр является обязательным.

 

comment

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

Максимальная длина — 100 символов. Эта информация отображается в интерфейсе ROBOKASSA и в Электронной квитанции, которую мы выдаём клиенту после успешного платежа, формат данных string.

Параметр не является обязательным.

splitMerchants
Информация о магазинах участниках сплита и долях сплита для каждого из них. В том числе и для Мастер-магазина, формат данных object.

Параметр является обязательным.

 

id

Идентификатор магазина-участника сплита, формат данных string.

Параметр является обязательным.

 

InvoiceId

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

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

 

amount

Требуемая к получению именно этим магазином сумма, его часть сплита.

Сумма должна быть указана в рублях.

Число, разделитель — точка, например: 123.45

Суммы передаются для всех магазинов в сплите.

Если одному из магазинов не требуется проводить зачисление, его доля в этом платеже нулевая, то в качестве значения суммы передаётся 0.00 , формат данных number.

Параметр является обязательным.

 

receipt

Номенклатура для формирования фискального чека, формат данных object.

Параметр не является обязательным.

 

sno

Система налогообложения. Может принимать значения:

«osn» – общая СН;

«usn_income» – упрощенная СН (доходы);

«usn_income_outcome» – упрощенная СН (доходы минус расходы);

«envd» – единый налог на вмененный доход;

«esn» – единый сельскохозяйственный налог;

«patent» – патентная СН.

Если этот параметр не передан, то в чеке будет указано значение по умолчанию из Личного кабинета, если же параметр передан, то именно эти значения параметра будут переданы в чек. , формат данных string.

Параметр не является обязательным.

 

items

Набор данных о товарных позициях чека, формат данных object.

Параметр является обязательным.

 

name

Наименование товара. Максимальная длина 128 символа.

Если в наименовании товара Вы используете специальные символы, например кавычки, то их обязательно необходимо экранировать, формат данных string.

Параметр является обязательным.

 

quantity

Количество/вес конкретной товарной позиции.

Десятичное число: целая часть не более 5 знаков, дробная часть не более 3 знаков. , формат данных number.

Параметр является обязательным.

 

sum

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

Десятичное положительное число: целая часть не более 8 знаков, дробная часть не более 2 знаков, формат данных number.

Параметр является обязательным.

 

tax

Налоговая ставка в ККТ.

Определяется для каждого вида товара по отдельности, но за все единицы конкретного товара вместе. Допустимые значения:

«none» – без НДС;

«vat0» – НДС по ставке 0%;

«vat10» – НДС чека по ставке 10%;

«vat110» – НДС чека по расчетной ставке 10/110;

«vat20» – НДС чека по ставке 20%;

«vat120» – НДС чека по расчетной ставке 20/120., формат данных string. Параметр является обязательным.

 

payment_method

Признак способа расчёта.

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

full_prepayment — предоплата 100%. Полная предварительная оплата до момента передачи предмета расчёта;

prepayment — предоплата. Частичная предварительная оплата до момента передачи предмета расчёта;

advance — аванс;

full_payment — полный расчёт. Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчёта;

partial_payment — частичный расчёт и кредит. Частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;

credit — передача в кредит. Передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;

credit_payment — оплата кредита. Оплата предмета расчёта после его передачи с оплатой в кредит (оплата кредита). Если этот параметр не передан, то в чеке будет указано значение по умолчанию из Личного кабинета, если же параметр передан, то именно эти значения параметра будут переданы в чек, формат данных string.

Параметр не является обязательным.

 

payment_object

Признак предмета расчёта.

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

commodity — товар. О реализуемом товаре, за исключением подакцизного товара (наименование и иные сведения, описывающие товар);

excise — подакцизный товар. О реализуемом подакцизном товаре (наименование и иные сведения, описывающие товар);

job — работа. О выполняемой работе (наименование и иные сведения, описывающие работу);

service — услуга. Об оказываемой услуге (наименование и иные сведения, описывающие услугу);

gambling_bet — ставка азартной игры. О приеме ставок при осуществлении деятельности по проведению азартных игр;

gambling_prize — выигрыш азартной игры. О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр;

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

lottery_prize — выигрыш лотереи. О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей;

intellectual_activity — предоставление результатов интеллектуальной деятельности. О предоставлении прав на использование результатов интеллектуальной деятельности или средств индивидуализации;

payment — платеж. Об авансе, задатке, предоплате, кредите, взносе в счет оплаты, пени, штрафе, вознаграждении, бонусе и ином аналогичном предмете расчета;

agent_commission — агентское вознаграждение. О вознаграждении пользователя, являющегося платежным агентом (субагентом), банковским платежным агентом (субагентом), комиссионером, поверенным или иным агентом;

composite — составной предмет расчета. О предмете расчета, состоящем из предметов, каждому из которых может быть присвоено значение выше перечисленных признаков;

another — иной предмет расчета. О предмете расчета, не относящемуся к выше перечисленным предметам расчета;

property_right – имущественное право;

non-operating_gain – внереализационный доход;

insurance_premium – страховые взносы;

sales_tax – торговый сбор;

resort_fee – курортный сбор. Если этот параметр не передан, то в чеке будет указано значение по умолчанию из Личного кабинета, если же параметр передан, то именно эти значения параметра будут переданы в чек, формат данных string.

Параметр не является обязательным.

 

nomenclature_code

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

 

Пример для отправки запроса методом GET