/** * Set payment model duplicated fields values from array. * Makes sure, that field is in the array. * For amount type field validates if value is correct. * * @param OxpsPaymorrowOxPayment|oxPayment $oPayment * @param array $aParams * * @return OxpsPaymorrowOxPayment|oxPayment */ protected function _setDuplicatedFields($oPayment, $aParams) { $aDuplicatedFields = (array) $this->_aDuplicatedPaymentFields; foreach ($aDuplicatedFields as $sFieldName => $sType) { $sField = sprintf('%s__%s', $oPayment->getCoreTableName(), $sFieldName); if (!isset($aParams[$sField]) and $sFieldName != 'oxchecked') { continue; } $this->_setDuplicatedField($oPayment, $sFieldName, $sType, $aParams, $sField); } return $oPayment; }