В примерах использована авторизация под администратором и выполнение функций с правами клиента. О способах авторизации вы можете узнать в статье взаимодействие через API.
Глоссарий
cart — новая корзина. Каждый клиент имеет одну корзину для каждого провайдера. Например, клиент относится к одному провайдеру, значит он имеет одну корзину и все позиции, которые он заказывает, попадают в эту корзину.
lineitem.id — позиция новой корзины.
order — заказ — одна или несколько позиций из корзины, для которых создаётся платёж.
Добавление позиции в корзину
API нового заказа похож на API старого заказа, поэтому значения дополнений и параметров передаются аналогично, дополнительные и отличающиеся параметры описаны ниже в таблице.
Для типов продукта SSL и Домен используйте функции вида {ITEMTYPE}.order.param. Чтобы добавить в корзину эти услуги через API с помощью быстрого заказа, используйте API старого заказа с параметрами clicked_button=quickbasket и force_use_new_cart=on.
Имя
Описание
Значение
Пример
func *
Функция заказа
v2.{ITEMTYPE}.order.param
{ITEMTYPE} — внутреннее имя типа продукта
func=v2.soft.order.param
func=v2.vds.order.param
func=v2.dedic.order.param
order_period *
Период заказа
Принимает одно из следующих значений:
1 — месяц
3 — 3 месяца
6 — 6 месяцев
12 — год
24 — 2 года
36 — 3 года
order_period=1
pricelist *
Идентификатор тарифного плана
Целочисленное значение
pricelist=111
sok *
Подтверждение операции
ok
sok=ok
clicked_button *
Подтип операции
order
clicked_button=order
autoprolong
Включить автопродление
Флаг
Принимает одно из следующих значений:
on
off
autoprolong=on
datacenter
Идентификатор дата-центра, в котором будет открываться услуга
Целочисленное значение
datacenter=2
force_use_new_cart
Включить использование новой корзины
Флаг
Принимает одно из следующих значений:
on
off
force_use_new_cart=on
out
Формат ответа
Принимает одно из следующих значений:
xml
xjson
devel
text
out=xml
addon_{ADDON_PRICELIST_ID}
Значение дополнения
Значение зависит от настройки дополнения в тарифном плане
Дополнения тарифного планапо API передаются через параметр addon_. Например, addon_5=10, где
5 — код дополнения,
10 — значение.
Чтобы найти код дополнения, перейдите вПродукты → Тарифные планы → кнопка Конфиг. → полеId
addon_12=126
skipbasket
Включить оплату услуги с лицевого счёта без помещения в корзину
Перейдя по ссылке клиент окажется в корзине с выбранной позицией (lineitem.id) и её стоимостью и сможет перейти к оплате заказанной позиции либо продолжить покупки.
Используйте этот вариант взаимодействия, если:
для оплаты необходим плательщик, но клиент ещё не создавал его. При оформлении заказа клиент укажет все необходимые данные для плательщика через интерфейс биллинговой платформы;
необходимо подтверждение телефона или почты перед оплатой. При оформлении заказа клиенту будет предложено пройти верификацию.
Активация бесплатной позиции
Активировать бесплатную позицию можно двумя путями: указать skipbasket=on при заказе услуги либо воспользоваться запросом:
Для получения ссылки на оплату необходимо создать и подтвердить заказ выбранных позиций (lineitem).
Имя
Описание
Значение
Пример
func *
Функция создания заказа для выбранных позиций
cartorder.create.confirm
func=cartorder.create.confirm
elid *
Позиции (lineitem), выбранные для заказа
Список целочисленных значений
разделитель ','
elid=105,106,107
sok *
Подтверждение операции
ok
sok=ok
Способ оплаты *
paymethod_id или storedmethod_id
Обратите внимание!
Параметры взаимоисключающие, укажите в запросе только один из них
paymethod_id — идентификатор метода оплаты. Для метода оплаты могут требоваться дополнительные параметры, например, для ЮKassa нужно указать payment_method
Укажите paymethod_id=0, чтобы в качестве метода оплаты использовать лицевой счёт
paymethod_id=15
storedmethod_id=455
profile_id
Идентификатор плательщика
Указывается, если плательщик требуется для выбранного метода оплаты
Целочисленное значение
profile_id=42
store_paymethod
Если параметр принимает значение "on" и метод оплаты поддерживает возможность сохранить выбранный метод оплаты, то для клиента метод этой оплаты будет сохранён