@extends('layouts.app')
@section('title', 'KSeF – Status faktur w sesji')
@php
$statusResult = $statusResult ?? session('ksef_session_status_result') ?? null;
$statusError = $statusError ?? session('ksef_session_status_error') ?? null;
$sessionRef = $statusResult['sessionReference'] ?? '';
$continuationToken = $statusResult['continuationToken'] ?? '';
$invoices = $statusResult['invoices'] ?? [];
$rawJson = $statusResult['raw'] ?? null;
@endphp
@section('content')
KSeF – Status faktur w sesji
Tu możesz podejrzeć listę faktur przesłanych w danej sesji online (po kroku wysyłki faktury),
wraz z ich statusami wg KSeF.
KSeF udostępnia stronicowanie przez continuationToken.
{{-- Błąd --}}
@if (!empty($statusError))
Błąd: {{ $statusError }}
@endif
{{-- Formularz sprawdzania statusu --}}
@if (!empty($statusResult))
{{-- Podsumowanie strony --}}
Wynik zapytania
- Numer sesji
-
{{ $sessionRef }}
- HTTP status
-
{{ $statusResult['statusCode'] ?? 'n/a' }}
- continuationToken
-
@if($continuationToken)
{{ $continuationToken }}
@else
brak (to może być ostatnia strona)
@endif
{{-- Lista faktur w tej stronie --}}
Faktury w tej stronie odpowiedzi:
@if (empty($invoices))
Brak faktur na tej stronie (albo sesja pusta).
@else
| # |
invoiceReferenceNumber |
status |
message / description |
receivedAt / createdAt |
@foreach ($invoices as $idx => $inv)
@php
// invoiceReferenceNumber (numer faktury w sesji)
$invRefNum = $inv['invoiceReferenceNumber']
?? $inv['referenceNumber']
?? $inv['elementReferenceNumber']
?? '(brak)';
// status może być stringiem albo strukturą
$rawStatus = $inv['status']
?? $inv['invoiceStatus']
?? '(?)';
if (is_array($rawStatus) || is_object($rawStatus)) {
$statusDisplay = json_encode($rawStatus, JSON_UNESCAPED_UNICODE);
} else {
$statusDisplay = (string) $rawStatus;
}
// message / description też bywa tablicą
$rawMsg = $inv['message']
?? $inv['description']
?? $inv['errorMessage']
?? '';
if (is_array($rawMsg) || is_object($rawMsg)) {
$msgDisplay = json_encode($rawMsg, JSON_UNESCAPED_UNICODE);
} else {
$msgDisplay = (string) $rawMsg;
}
// timestamp / receivedAt / createdAt
$ts = $inv['receivedAt']
?? $inv['createdAt']
?? $inv['timestamp']
?? '';
@endphp
| {{ $idx+1 }} |
{{ $invRefNum }}
|
{{ $statusDisplay }}
|
{{ $msgDisplay }}
|
{{ $ts }}
|
@endforeach
@endif
{{-- surowy JSON do debug --}}
Surowa odpowiedź (JSON)
{{ json_encode($rawJson, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) }}
@if($continuationToken)
Uwaga: Jest continuationToken. Możesz wkleić go w formularzu,
żeby pobrać kolejną stronę.
@else
Brak continuationToken. To wygląda jak ostatnia strona wyników 🎉
@endif
@endif
@endsection