Files
ABSDEV/Modules/Licensing/Resources/views/admin/paddle-reconciliation.blade.php
2026-10-12 15:18:07 +01:00

23 lines
1.3 KiB
PHP

@extends('licensing::admin.layout')
@section('title', 'Paddle Reconciliation')
@section('content')
<h1>Paddle Reconciliation</h1>
<p class="muted">Read-only comparison of the 20 most recent Paddle-linked licences against Paddle {{ $environment }}. This page never changes subscriptions, licences or webhooks.</p>
@if (! $configured)
<div class="card"><strong>Paddle API not configured.</strong><p>Set <code>SONARDESK_PADDLE_API_KEY</code> and <code>SONARDESK_PADDLE_ENVIRONMENT</code> in your local environment, then clear configuration cache. No API calls were made.</p></div>
@endif
<div class="table-wrap"><table><thead><tr><th>Licence</th><th>Subscription</th><th>Local status</th><th>Paddle status</th><th>Comparison</th></tr></thead><tbody>
@forelse ($rows as $row)
<tr>
<td><a href="{{ route('administration.sonardesk.licenses.show', $row['license']) }}">{{ $row['license']->license_key_last4 ?? $row['license']->id }}</a></td>
<td>{{ $row['license']->external_subscription_id }}</td>
<td>{{ $row['license']->subscription_status ?? '—' }}</td>
<td>{{ $row['remote_status'] ?? '—' }}</td>
<td><span class="pill">{{ $row['result'] }}</span>@if ($row['detail']) <span class="muted">{{ $row['detail'] }}</span> @endif</td>
</tr>
@empty
<tr><td colspan="5">No Paddle-linked licences found in the local database.</td></tr>
@endforelse
</tbody></table></div>
@endsection