- Работа с заказом в Битрикс D7
- Заказ (Sale\Order)
- Корзина заказа (Sale\Basket)
- Свойства заказа (Sale\PropertyValueCollection)
- Оплаты заказа (Sale\PaymentCollection)
- Пример оформления заказа в D7
- Оплаты
- Получение
- Добавление
- Редактирование
- Удаление
- Получение конкретной оплаты
- Получение суммы оплаты
- Получение состояния: оплачено или нет
- Получение оплаченной суммы по заказу
- Возврат средств
- Получение объекта платежной системы
- Получение списка доступных платежных систем с учетом настроенных ограничений
- Пользовательские комментарии
- Работа с оплатой заказа в Bitrix D7
- Работа с заказом в Битрикс D7
- Заказ (Sale\Order)
- Корзина заказа (Sale\Basket)
- Свойства заказа (Sale\PropertyValueCollection)
- Оплаты заказа (Sale\PaymentCollection)
- Bitrix получить способ оплаты заказа
- Начальные требования
- У нас часто спрашивают, сколько нужно заплатить
- Баллы опыта
- Тесты и сертификат
- Для преподавания оффлайн
- Если нет интернета
- Как проходить учебный курс?
Работа с заказом в Битрикс D7
Начиная с 16 версии используется новая версия ядра магазина Битрикс, являющаяся частью ядра Битрикс D7. Многое описанное здесь может работать и в переходной версии 15.5. Все классы для работы с магазином собраны в модуле sale, поэтому для работы примером используем use для пространства модуля интернет-магазина.
Заказ (Sale\Order)
Заказ представляет собой объект класса Bitrix\Sale\Order. Нужно запомнить, что пока не вызван метод save() этот объект необязательно связан с сохранённым заказом. Также пока вы не вызовете save(), изменения в заказе не будут сохранены в базе данных.
Существующий заказ можно получить следующим образом:
Поля заказа можно получить короткими вызовами:
Также любое поле по имени можно получить так:
Список доступных полей можно получить, вызвав $order->getAvailableFields().
Заказ имеет связь один-ко-многим с несколькими объектами в виде коллекций — коллекция товаров в корзине (Sale\Basket), коллекция отгрузок (Sale\ShipmentCollection), коллекция оплат (Sale\PaymentCollection) и коллекция свойств заказа (Sale\PropertyValueCollection).
Самый простой способ получить список способов доставки и оплаты — короткие вызовы:
Чтобы получить список примененных к заказу скидок, нужно вызвать:
В массиве $discountData[‘DISCOUNT_LIST’] содержится список скидок, в $discountData[‘COUPON_LIST’] содержится список купонов. Т.к. скидки можно отключать в админке, следует проверять поле APPLY: если Y — скидка/купон применёны, если N — были отключены менеджером.
Корзина заказа (Sale\Basket)
Про работу с корзиной была отдельная статья, привязать и получить корзину заказа можно так:
Свойства заказа (Sale\PropertyValueCollection)
Свойства заказа — объекты Bitrix\Sale\PropertyValue — собраны в коллекции propertyCollection
Получить значения всех свойств и группы свойств можно так:
У многих свойств заказа есть определенное встроенное назначение (атрибуты IS_EMAIL, IS_PAYER, IS_LOCATION, IS_LOCATION4TAX, IS_PROFILE_NAME, IS_ZIP, IS_PHONE, IS_ADDRESS). Такие свойства можно получить следующими методами:
Получить значение свойства по ID:
В любом случае получаем значение свойства — экземпляр класса Bitrix\Sale\PropertyValue. Из него мы можем получить значение свойства:
И информацию о самом свойстве:
Чтобы изменить значение свойства следует вызвать метод setValue и сохранить сущность
Оплаты заказа (Sale\PaymentCollection)
Из коллекции оплат также можно получить информацию об оплате, что и из объекта заказа. Оплата с внутреннего счета также считается одной из оплат:
Коллекция содержит объекты оплаты Sale\Payment с информацией об оплатах:
Оплатить или вернуть оплату можно методами setPaid(), setReturn():
Инициировать оплату (вывести шаблон оплаты: форму, кнопку и т.п.) можно следующим образом:
Пример оформления заказа в D7
Для примера приведу простейший код оформления заказа с комментариями
Источник
Оплаты
Внимание! Оплаты всегда связаны с заказом. Использовать метод \Bitrix\Sale\Payment::save() для сохранения категорически запрещается. При изменении оплаты может произойти изменение связанных сущностей, которые не будут сохранены. Необходимо выполнять сохранение через заказ: \Bitrix\Sale\Order::save() . Помимо всего этого в одной из ближайших версий вызов \Bitrix\Sale\Payment::save() будет генерировать ошибку уровня E_WARNING .
Получение
- Работа с коллекцией
- Работа с массивом
Помимо объектов есть возможность напрямую обращаться к базе через метод \Bitrix\Sale\PaymentCollection::getList($parameters) , либо \Bitrix\Sale\Payment::getList($parameters) . Оба этих метода работают аналогично.
Методы всегда возвращают объект Bitrix\Main\DB\Result , из которого можно получить данные с помощью метода fetch().
Параметр | Описание | С версии |
---|---|---|
$parameters | Массив, структура которого полностью соответствует структуре ORM’ного getList. |
Добавление
- Вариант 1:
- Вариант 2:
- Вариант 3:
Редактирование
Изменить данные в оплате можно через методы:
В обоих случаях результатом работы метода является объект класса \Bitrix\Sale\Result .
Список доступных для редактирования полей:
Удаление
Возвращает объект типа \Bitrix\Sale\Result .
Получение конкретной оплаты
Получение суммы оплаты
Получение состояния: оплачено или нет
Возвращает true или false .
Получение оплаченной суммы по заказу
Возврат средств
Метод принимает единственный параметр, значения которого могут быть следующие:
- ‘Y’ — при возврате на внутренний счет;
- ‘P’ — при возврате через платежную систему(если она поддерживает данный функционал);
- ‘N’ — при отмене возврата.
Возвращает объект типа \Bitrix\Sale\Result . При выполнении возврата Вам не требуется делать каких-то дополнительных операций вроде вызова методов API платежной системы для выполнения возврата. Система все сделает сама. При попытке выполнить возврат через платежную систему, которая его не поддерживает, будет возвращена ошибка.
Получение объекта платежной системы
Результатом работы метода является объект класса \Bitrix\Sale\PaySystem\Service .
Получение списка доступных платежных систем с учетом настроенных ограничений
Параметры | Описание | С версии |
---|---|---|
$payment | Объект оплаты. | |
$mode | Одно из двух значений:
По умолчанию: \Bitrix\Sale\Services\Base\RestrictionManager::MODE_CLIENT . В режиме клиента возвращается список только тех платежных систем, которые попадают под ограничения. |
В режиме менеджера возвращается полный список платежных систем (системы, которые не подают под ограничения, имеют ключ RESTRICTED ).
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Источник
Работа с оплатой заказа в Bitrix D7
В обновлённом ядре Bitrix D7 функционал работы с заказами был существенно изменён. Немного ранее мы рассматривали работу со свойствами заказа посредством использования возможностей обновленного ядра D7. В данном посту мы поговорим про работу с функционалом оплаты заказов через API.
Об этом уже говорилось на нашем сайте, и не будет лишним повторить, что в ядре D7 реализована концепция ORM, свойственная для объектно-ориентированных языков программирования. Эта концепция включает в себя такое понятие как «коллекция», которая представляет из себя «умный» массив. Работа с ним оптимизирует групповые операции с объектами одного типа. Так к примеру, для реализации отдельного функционала сайта реализованы отведённые коллекции, с которыми мы можем работать по правилам ООП.
В данном посту вы рассмотрим возможности использования коллекции оплаты заказа Sale\PaymentCollection. Давайте создадим объект заказа, с которым мы и будем далее работать.
В переменную $order был помещён объект существующего заказа. Для работы с данными оплаты заказа, обращаемся к коллекции оплаты заказа Sale\PaymentCollection.
После создания объекта коллекции оплаты, мы можем получать информацию об оплате текущего заказа, а также его параметры.
Возможности системы позволяют содержать множество записей об оплатах. Это означает что с этими записями мы можем работать так же и в цикле. Каждая итерация цикла будет передавать объект оплаты Sale\Payment, который даёт возможность работы с данными оплаты.
Как получать данные оплаты мы рассмотрели, теперь самое время попробовать изменить параметры. Для этого мы попробует установить флаг оплаты, и возврата с помощью методов setPaid() и setReturn().
Как мы знаем метод оплаты может иметь какую-либо форму с кнопкой оплаты. Для инициализации данной формы мы можем использовать следующий код:
Таким образом, при создании заказа создаётся запись оплаты, с неоплаченным статусом. После транзакции покупателем статус оплаты должен меняться для подтверждения операции оплаты. Всё это делается в конкретном интерфейсе сайта. Пользуясь примерами, вы можете работать с оплатами заказа удобным для вас способом.
Источник
Работа с заказом в Битрикс D7
Заказ (Sale\Order)
Существующий заказ получить:
Получить поля заказа:
Получить поле по имени:
Список доступных полей можно получить, вызвав $order->getAvailableFields().
Заказ имеет связь один-ко-многим с несколькими объектами в виде коллекций — коллекция товаров в корзине (Sale\Basket), коллекция отгрузок (Sale\ShipmentCollection), коллекция оплат (Sale\PaymentCollection) и коллекция свойств заказа (Sale\PropertyValueCollection).
Самый простой способ получить список способов доставки и оплаты — короткие вызовы:
Чтобы получить список примененных к заказу скидок, нужно вызвать:
В массиве $discountData[‘DISCOUNT_LIST’] содержится список скидок, в $discountData[‘COUPON_LIST’] содержится список купонов. Т.к. скидки можно отключать в админке, следует проверять поле APPLY: если Y — скидка/купон применёны, если N — были отключены менеджером.
Корзина заказа (Sale\Basket)
Привязать и получить корзину заказа:
Свойства заказа (Sale\PropertyValueCollection)
Свойства заказа — объекты Bitrix\Sale\PropertyValue — собраны в коллекции propertyCollection
Получить значения всех свойств и группы свойств:
У многих свойств заказа есть определенное встроенное назначение (атрибуты IS_EMAIL, IS_PAYER, IS_LOCATION, IS_LOCATION4TAX, IS_PROFILE_NAME, IS_ZIP, IS_PHONE, IS_ADDRESS). Такие свойства можно получить следующими методами:
Получить значение свойства по ID:
В любом случае получаем значение свойства — экземпляр класса Bitrix\Sale\PropertyValue. Из него мы можем получить значение свойства:
И информацию о самом свойстве:
Чтобы изменить значение свойства следует вызвать метод setValue и сохранить сущность
Оплаты заказа (Sale\PaymentCollection)
Из коллекции оплат также можно получить информацию об оплате, что и из объекта заказа. Оплата с внутреннего счета также считается одной из оплат:
Коллекция содержит объекты оплаты Sale\Payment с информацией об оплатах:
Оплатить или вернуть оплату можно методами setPaid(), setReturn():
Инициировать оплату (вывести шаблон оплаты: форму, кнопку и т.п.):
Источник
Bitrix получить способ оплаты заказа
Курс предназначен для администраторов интернет-магазинов, работающих на базе системы «1С-Битрикс: Управление сайтом». Изучение курса необходимо при работе с продуктом редакции Малый бизнес и выше при организации торговых операций через Интернет.
Поэтому, если у вас нет возможности обновить продукт и/или выполнить конвертацию, то описание работы с модулем Интернет-магазин смотрите в курсе Магазин до конвертации (до версии 15.0).
Кроме того, доступны для скачивания в формате CHM следующие материалы с описанием старого функционала магазина:
Курс Администратор. Бизнес завершает группу административных курсов по Bitrix Framework.
Начальные требования
Необходимый минимум знаний для изучения курса:
- базовые навыки компьютерной грамотности и навыков работы с ОС Windows;
- базовые знания о WWW и организации доступа к веб-серверу;
- знание системы в рамках курса Контент-менеджер Мы считаем, что вы этот курс уже прошли и знаете многое о Битриксе. Поэтому подсказок во всплывающих окнах будет намного меньше, чем в курсе Контент-менеджер.
Подробнее. , чтобы банально не путаться в интерфейсе. - знание системы в рамках курса Администратор. Базовый Мы считаем, что вы этот курс уже прошли и знаете многое об администрировании «1С-Битрикса». Поэтому подсказок во всплывающих окнах будет намного меньше, как и объяснений о том где и как выполнять общие задачи администрирования.
Неплохо было бы иметь базовые навыки установки и администрирования *nix-систем.
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов — ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:
уроке.
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат — это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Тесты и сертификат
После изучения курса вам будет предложено пройти тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.
На каждой странице курса авторизованный на сайте посетитель может дать комментарий к содержимому страницы. Комментарий — не форум, там не ведётся обсуждений или разъяснений. Это инструмент для сообщений нам об ошибках, неточностях. Для отправки комментария воспользуйтесь расположенной в правом нижнем углу окна браузера кнопкой: |
Для преподавания оффлайн
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 2 дня (16 академических часов).
Если нет интернета
Скачать материалы курса в формате EPUB. Файлы формата EPUB Чем открыть файл на
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла — от 08.11.2021.
Как проходить учебный курс?
Источник