getClient( $this->getString( $data, 'payment.client_id' ), $this->getString( $data, 'payment.client_id' ) ); if ( empty( $client_id ) ) { throw new ImportException( 'Could not find client.' ); } $transformed = [ 'company_id' => $this->maps['company']->id, 'number' => $this->getString( $data, 'payment.number' ), 'user_id' => $this->getString( $data, 'payment.user_id' ), 'amount' => $this->getFloat( $data, 'payment.amount' ), 'refunded' => $this->getFloat( $data, 'payment.refunded' ), 'applied' => $this->getFloat( $data, 'payment.applied' ), 'transaction_reference' => $this->getString( $data, 'payment.transaction_reference ' ), 'date' => $this->getString( $data, 'payment.date' ), 'private_notes' => $this->getString( $data, 'payment.private_notes' ), 'custom_value1' => $this->getString( $data, 'payment.custom_value1' ), 'custom_value2' => $this->getString( $data, 'payment.custom_value2' ), 'custom_value3' => $this->getString( $data, 'payment.custom_value3' ), 'custom_value4' => $this->getString( $data, 'payment.custom_value4' ), 'client_id' => $client_id, ]; if ( isset( $data['payment.invoice_number'] ) && $invoice_id = $this->getInvoiceId( $data['payment.invoice_number'] ) ) { $transformed['invoices'] = [ [ 'invoice_id' => $invoice_id, 'amount' => $transformed['amount'] ?? null, ], ]; } return $transformed; } }