/** * Parse the given string containing 21 into a Transaction21-object * * @param string $coda21_line * @return Transaction21 */ public function parse($coda21_line) { $coda21 = new Transaction21(); $coda21->sequence_number = codaStr2Data($coda21_line, 2, 4); $coda21->sequence_number_detail = codaStr2Data($coda21_line, 6, 4); $coda21->bank_reference = codaStr2Data($coda21_line, 10, 21); $negative = substr($coda21_line, 31, 1) == "1" ? -1 : 1; $coda21->amount = codaStr2Data($coda21_line, 32, 15) * $negative / 1000; $coda21->valuta_date = coda2Date(codaStr2Data($coda21_line, 47, 6)); $coda21->transaction_code = codaStr2Data($coda21_line, 53, 8); $coda21->transaction_code_type = codaStr2Data($coda21->transaction_code, 0, 1); $coda21->transaction_code_family = codaStr2Data($coda21->transaction_code, 1, 2); $coda21->transaction_code_operation = codaStr2Data($coda21->transaction_code, 3, 2); $coda21->transaction_code_category = codaStr2Data($coda21->transaction_code, 5, 3); $coda21->has_structured_message = codaStr2Data($coda21_line, 61, 1) == "1" ? TRUE : FALSE; if ($coda21->has_structured_message) { $coda21->structured_message_type = substr($coda21_line, 62, 3); $coda21->structured_message_full = substr($coda21_line, 65, 50); $coda21->structured_message = $this->parse_structured_message($coda21->structured_message_full, $coda21->structured_message_type); } else { $coda21->message = trim_space(substr($coda21_line, 62, 53)); } $coda21->transaction_date = coda2Date(codaStr2Data($coda21_line, 115, 6)); $coda21->statement_sequence_number = codaStr2Data($coda21_line, 121, 3); $coda21->globalization_code = codaStr2Data($coda21_line, 124, 1); return $coda21; }
/** * Parse the given string containing 33 into a Transaction33-object * * @param string $coda33_line * @return object */ public function parse($coda33_line) { $coda33 = new \Codelicious\Coda\Data\Raw\Transaction33(); $coda33->sequence_number = trim(substr($coda33_line, 2, 4)); $coda33->sequence_number_detail = trim(substr($coda33_line, 6, 4)); $coda33->message = trim_space(substr($coda33_line, 10, 90)); return $coda33; }
/** * Parse the given string containing 23 into a Transaction23-object * * @param string $coda23_line * @return object */ public function parse($coda23_line) { $coda23 = new \Codelicious\Coda\Data\Raw\Transaction23(); $coda23->sequence_number = trim(substr($coda23_line, 2, 4)); $coda23->sequence_number_detail = trim(substr($coda23_line, 6, 4)); $coda23->other_account_number_and_currency = trim(substr($coda23_line, 10, 37)); $coda23->other_account_name = trim(substr($coda23_line, 47, 35)); $coda23->message = trim_space(substr($coda23_line, 82, 43)); return $coda23; }
/** * Parse the given string containing 22 into a Transaction22-object * * @param string $coda22_line * @return object */ public function parse($coda22_line) { $coda22 = new Transaction22(); $coda22->sequence_number = trim(substr($coda22_line, 2, 4)); $coda22->sequence_number_detail = trim(substr($coda22_line, 6, 4)); $coda22->message = trim_space(substr($coda22_line, 10, 53)); $coda22->client_reference = trim(substr($coda22_line, 63, 35)); $coda22->other_account_bic = trim(substr($coda22_line, 98, 11)); $coda22->transaction_type = trim(substr($coda22_line, 112, 1)); $coda22->iso_reason_return_code = trim(substr($coda22_line, 113, 4)); $coda22->category_purpose = trim(substr($coda22_line, 117, 4)); $coda22->purpose = trim(substr($coda22_line, 121, 4)); return $coda22; }
/** * Parse the given string containing 31 into a Transaction31-object * * @param string $coda31_line * @return object */ public function parse($coda31_line) { $coda31 = new \Codelicious\Coda\Data\Raw\Transaction31(); $coda31->sequence_number = trim(substr($coda31_line, 2, 4)); $coda31->sequence_number_detail = trim(substr($coda31_line, 6, 4)); $coda31->bank_reference = trim(substr($coda31_line, 10, 21)); $coda31->transaction_code = trim(substr($coda31_line, 31, 8)); $coda31->has_structured_message = substr($coda31_line, 39, 1) == "1" ? TRUE : FALSE; if ($coda31->has_structured_message) { $coda31->structured_message_type = substr($coda31_line, 40, 3); $coda31->structured_message_full = substr($coda31_line, 43, 70); $coda31->structured_message = $this->parse_structured_message($coda31->structured_message_full, $coda31->structured_message_type); } else { $coda31->message = trim_space(substr($coda31_line, 40, 73)); } return $coda31; }