Создание заказа средствами шаблона с любой страницы магазина (купить в 1 клик)

Создание заказа в данном случае можно осуществить, отправив POST-запрос с определенными полями на /fast_checkout.json.

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

Принимает все те же поля, что и оформление заказа, т.е.:

client[email] e-mail покупателя
client[name] имя покупателя
client[phone] телефон (если в настройках поля включена проверка формата, то она будет действовать и при оформлении заказа через fast_checkout.json), обязательное поле
order[delivery_variant_id] id способа доставки (можно взять шаблонизатором через массив account.delivery_variants), обязательное поле
order[payment_gateway_id] id способа оплаты (можно взять шаблонизатором через массив account.payment_gateways), обязательное поле

 

Все собственные поля, созданные в разделе Настройки - Оформление заказа также можно отправить. Но их нельзя взять шаблонизатором, это значит что прописывать их в форме для fast_checkout нужно жестко с использованием их идентификаторов. Привязка способов оплаты к способам доставки также учитывается, т.е. если отправить в форме способ оплаты, который не привязан к отправленному вместе с ним способу оплаты, то заказ создан не будет.

Привязка способов доставки к регионам так же действует при таком оформлении заказа.

Все поля, отмеченные в разделе Настройки - Оформление заказа как обязательные, являются обязательными и в случае оформления заказа через fast_checkout.

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

 

Для создания заказа требуется хотя бы один товар, способ доставки, способ оплаты и заполнение всех полей, указанных как обязательные (по умолчанию это имя покупателя и телефон).

Ответ success-контроллера будет содержать поля:

location
  URL страницы успешного оформления
order
  объект-заказ, далее перечислены его составляющие
accepted_at
  когда принят (т.е. переведен в статус в обработке), вернет null для нового заказа
account_id
  id магазина в системе InSales
client
  объект-покупатель, далее поля этого объекта
bonus_points
  кол-во накопленных бонусных баллов
client_group_id
  id группы покупателя (если зарегистрирован)
created_at
  когда создан покупатель
email
  e-mail
fields_values
  свои поля покупателя
id
  ID покупателя
ip_addr
  IP адрес, с которого сделан заказ
middlename
  отчество
name
  имя
phone
  телефон
registered
  зарегистрирован (true или false)
subscribe
  подписан ли на новости магазина (true/false)
surname
  фамилия
updated_at
  когда изменен (изменены контактные данные или группа покупателя)
comment
  комментарий к заказу
cookies
  массив сохраненных cookie
created_at
  когда создан заказ
current_location
  страница входа
delivered_at
  время доставки
delivery_date
  дата доставки
delivery_description
  описание способа доставки
delivery_from_hour
  время доставки с...
delivery_price
  стоимость доставки
delivery_title
  название способа доставки
delivery_to_hour
  время доставки по...
delivery_variant_id
  id способа доставки
discount
  величина скидки
discounts
  массив скидок (на момент написания статьи скидка у только что созданного заказа может быть только одна)
fields_values
  свои поля заказа
financial_status
  статус оплаты (pending/paid)
first_current_location
  страница входа при первом посещении сайта
first_referer
  источник первого посещения
fulfillment_status
  статус заказа (new/accepted/approved/dispatched/delivered/declined/returned)
full_delivery_price
  стоимость доставки с учетом скидки
id
  id заказа
items_price
  стоимость товаров в заказе
key
  ключ заказа (32-значный хеш в URL'е страницы заказа)
margin
  величина наценки на способ оплаты
number
  номер заказа в магазине
order_changes
  объект изменений заказа, для нового заказа будет содержать только его создание
order_lines
  состав заказа - массив его позиций, далее описаны каждый из объектов-позиций
0
  первый объект-позиция
created_at
  дата создания позиции (равна дате создания заказа)
full_sale_price
  цена позиции с учетом скидки
full_total_price
  стоимость позиции с учетом скидки
id
  id позиции
order_id
  id заказа
product_id
  id товара, соответствующий позиции
quantity
  количество позиции
reserved_quantity
  резерв
sale_price
  цена позиции
sku
  артикул
title
  название
total_price
  стоимость позиции
updated_at
  когда изменена
variant_id
  id модификации, соответствующей позиции
weight
  вес
paid_at
  когда оплачен, для только что созданного заказа вернет null
payment_description
  описание способа оплаты
payment_gateway_id
  id способа оплаты
payment_title
  название способа оплаты
referer
  источник текущего посещения
shipping_address
  объект-адрес доставки, далее составляющие этого объекта
address
  поле Адрес
city
  город
country
  страна
fields_values
  свои поля адреса
full_delivery_address
  полный адрес (страна, город, регион, свои поля, само поле адрес)
full_name
  полное имя получателя ('Фамилия' + 'Имя' + 'Отчество')
middlename
  отчество получателя
name
  имя получателя
phone
  телефон получателя
state
  регион
surname
  фамилия получателя
zip
  почтовый индекс
total_price
  итоговая стоимость заказа
updated_at
  когда обновлен

 

Пример использования - в файле. Приведен код кнопки купить в один клик для размещения на странице товара в магазине с переходом на страницу оформленного заказа в случае успеха.

Полезная статья?
Остались вопросы?
Отправь тикет в техподдержку!
Недавно просмотренные статьи