Code Duplication    Length = 6-8 lines in 2 locations

src/Message/Concerns/HasGatewaySpecificFields.php 2 locations

@@ 54-61 (lines=8) @@
51
        $gatewaySpecificFieldsData = $this->getGatewaySpecificFields();
52
        $gatewaySpecificFieldsConfig = Arr::get($this->gatewaySpecificFieldsConfig, $gateway);
53
        if ($gatewaySpecificFieldsData && $gatewaySpecificFieldsConfig) {
54
            foreach ($gatewaySpecificFieldsConfig['required'] as $field) {
55
                $value = Arr::get($gatewaySpecificFieldsData, $field);
56
                if (!is_null($value)) {
57
                    Arr::set($data, 'gateway_specific_fields.' . $gateway . '.' . $field, $value);
58
                } else {
59
                    throw new InvalidRequestException("Missing gateway specific field: $field.");
60
                }
61
            }
62
            foreach ($gatewaySpecificFieldsConfig['optional'] as $field) {
63
                $value = Arr::get($gatewaySpecificFieldsData, $field);
64
                if (!is_null($value)) {
@@ 62-67 (lines=6) @@
59
                    throw new InvalidRequestException("Missing gateway specific field: $field.");
60
                }
61
            }
62
            foreach ($gatewaySpecificFieldsConfig['optional'] as $field) {
63
                $value = Arr::get($gatewaySpecificFieldsData, $field);
64
                if (!is_null($value)) {
65
                    Arr::set($data, 'gateway_specific_fields.' . $gateway . '.' . $field, $value);
66
                }
67
            }
68
        }
69
70
        return $data;