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

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

Документация сервиса 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
{ "outAmount": 300, "shop_params": [ { "name": "user_param_1", "value": "Параметр номер один" }, { "name": "user_param_2", "value": "Параметр номер два" }, ] "email": "[email protected]", "incCurr": "BankCard", "language": "ru", "isTest": false, "expirationDate": "2024-08-23T12:53Z", "merchant": { "id": "kz_split_01_shop_01", "comment": "Общее описание заказа" }, "splitMerchants": { { "id": "kz_split_01_shop_01", "InvoiceId": 123, "amount": "150", "receipt": { "items": [ { "name": "товар 1", "quantity" 2, "sum": 150, "tax": "none" } ] } }, { "id": "kz_split_02_shop_01", "amount": 150, "receipt": { "sno": "usn_income", "items": [ { "name": "товар 2", "quantity": 1, "sum": 150, "tax": "none" } ] } } ] }

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

Параметр

Значение

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.

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

 

items

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

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

 

name

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

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

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

 

quantity

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

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

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

 

sum

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

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

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

 

tax

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

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

«none» – без НДС;

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

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

 

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