Здравствуйте!
Пишу API фиксирующее факт поступления оплаты от Яндекс-кассы в bitrix
Нашёл Вот такой метод CSaleOrder::PayOrder($orderId, "Y"); - он рабочий, при этом: 1)в документации написано что он устаревеший; 2) через него не смотря на то что факт оплаты в админке bitrix отмечается, не указывается оплаченная сумма. То есть появляется зелёная индикация оплаты, но написано что оплачено 0 рублей.
Пробую сделать то же самое через Order, сейчас имею примерно следующее:
$order = Order::load($orderId);//$orderId - это номер закааз
$collection = $order->getPaymentCollection();// Получаем коллекцию по оплатам
foreach ($collection as $payment) {// Перебираем коллекцию в цикле
$payment->setField('SUM', 1000);// Для искомой оплаты устанавливаем сумму которую оплатил клиент(в этом моменте я не уверен, возможно логика не такая)
}
Далее по идее заказ нужно сохранить, но при вызове $order->save(); появляется ошибка, ругается на BastekItem not found
Верная ли логика?
Искомый результат, чтобы: 1)в оплатах появилась оплата с корректной суммой; 2) статус заказа был - оплачено; 3) чтобы в заказе рядом с статусом оплачено выводилась корректная оплаченная сумма.
Вопрос так же поднимался на Тостере по ссылке
Пишу API фиксирующее факт поступления оплаты от Яндекс-кассы в bitrix
Нашёл Вот такой метод CSaleOrder::PayOrder($orderId, "Y"); - он рабочий, при этом: 1)в документации написано что он устаревеший; 2) через него не смотря на то что факт оплаты в админке bitrix отмечается, не указывается оплаченная сумма. То есть появляется зелёная индикация оплаты, но написано что оплачено 0 рублей.
Пробую сделать то же самое через Order, сейчас имею примерно следующее:
$order = Order::load($orderId);//$orderId - это номер закааз
$collection = $order->getPaymentCollection();// Получаем коллекцию по оплатам
foreach ($collection as $payment) {// Перебираем коллекцию в цикле
$payment->setField('SUM', 1000);// Для искомой оплаты устанавливаем сумму которую оплатил клиент(в этом моменте я не уверен, возможно логика не такая)
}
Далее по идее заказ нужно сохранить, но при вызове $order->save(); появляется ошибка, ругается на BastekItem not found
Верная ли логика?
Искомый результат, чтобы: 1)в оплатах появилась оплата с корректной суммой; 2) статус заказа был - оплачено; 3) чтобы в заказе рядом с статусом оплачено выводилась корректная оплаченная сумма.
Вопрос так же поднимался на Тостере по ссылке
Моё резюме и мои контакты на SuperJob ->
Верефицированный WMID 274708912937 ->
Верефицированный WMID 274708912937 ->