Просмотров: 27133
Дата последнего изменения: 28.07.2023
Татьяна Старкова
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
1
2
3
4
5
Недоступно в лицензиях:
Старт, Стандарт
В уроке мы рассмотрим, как средствами API продукта разделить на части оплату в уже существующем заказе. Допустим, у нас есть заказ с идентификатором 21, а его документ оплаты имеет идентификатор 22:
Составим код, с помощью которого оплата будет разбита на 2 части.
В первую очередь загружаем заказ из базы и получаем коллекцию оплат:
Затем из коллекции выбираем оплату, которую необходимо изменить (напомним, что у нас она имеет идентификатор 22):
$payment = $paymentCollection->getItemById(22);
Сумму данной оплаты заменяем, например, на величину стоимости одной из позиций заказа (у нас это 1979 рублей):
$payment->setField('SUM', 1979);
Добавляем новую оплату. Минимальный набор полей при создании оплаты - это платежная система (идентификатор и название платежной системы) и сумма. Для примера будем использовать платежную систему
Сбербанк
с идентификатором 7.
Создать объект оплаты можно двумя способами:
передать объект платежной системы в параметре, из которого возьмется вся необходимая информация: