На сайте при оформлении заказа создается несколько оплат.
Как понять почему при запросе CSaleOrder::GetList в PAY_SYSTEM_ID указывается то первая оплата, то вторая?
оплата создается так:
[CODE]
$paymentCollectionDop = $this->order->getPaymentCollection();
foreach ($paymentCollectionDop as $payment) {
$sum = $payment->getSum(); // сумма к оплате
$isPaid = $payment->isPaid(); // true, если оплачена
$psID = $payment->getPaymentSystemId(); // ID платежной системы
if(!$isPaid && $psID==5){
$service2 = \Bitrix\Sale\PaySystem\Manager::getObjectById(7);
$payment->setFields(array(
'PAY_SYSTEM_ID' => $service2->getField("PAY_SYSTEM_ID"),
'PAY_SYSTEM_NAME' => $service2->getField("NAME"),
'SUM' => $this->order->getPrice()-$sumK,
'CURRENCY' => $this->order->getCurrency(),
));
$payment5 = $paymentCollectionDop->createItem();
$paySystemService = \Bitrix\Sale\PaySystem\Manager::getObjectById(5);
$payment5->setFields(array(
'PAY_SYSTEM_ID' => $paySystemService->getField("PAY_SYSTEM_ID"),
'PAY_SYSTEM_NAME' => $paySystemService->getField("NAME"),
'SUM' => $sumK,
'CURRENCY' => $this->order->getCurrency(),
'PAID' => 'Y',
));
}
}
[/CODE]
получается что первая оплата ID=7, вторая ID=5, всегда в такой последовательности и оплата 5 в таком варианте всегда проставляется "оплачено".
Но в событии на момент оплаты заказа при вызове CSaleOrder::GetList получаю то
[CODE][PAY_SYSTEM_ID] => 5
[PAYED] => N[/CODE]
то
[CODE][PAY_SYSTEM_ID] => 7
[PAYED] => N[/CODE]