@extends('layouts/layoutMaster')
@php
$epaycoRejectionModal = session('epayco_rejection_modal');
@endphp
@section('title', 'Verificacion')
@section('page-style')
@endsection
@section('page-script')
@include('partials.epayco-inline-checkout')
@endsection
@section('content')
@php
$statusMeta = match ((string) $profile->verification_status) {
'verified' => $profile->hasActiveVerification()
? ['label' => 'Verificado', 'class' => 'success', 'description' => 'Tu insignia esta activa y ya puedes usar handle premium y foto de perfil.']
: ['label' => 'Vencida', 'class' => 'warning', 'description' => 'Tu verificacion vencio. Compra una nueva vigencia para recuperar insignia, handle y foto.'],
'payment_pending' => ['label' => 'En revision', 'class' => 'warning', 'description' => 'Tu pago y tus documentos estan en proceso. Si ePayco ya aprobo el cobro, ahora solo falta la revision manual del equipo.'],
'rejected' => ['label' => 'Rechazada', 'class' => 'danger', 'description' => 'La ultima solicitud fue rechazada. Revisa el motivo y vuelve a intentarlo.'],
default => ['label' => 'Sin verificacion', 'class' => 'secondary', 'description' => 'Activa la verificacion para obtener insignia, handle personalizado y foto de perfil.'],
};
$publicHandle = $profile->slug ?: 'm-xxxxxxx';
$suggestedHandle = \Illuminate\Support\Str::slug((string) ($profile->business_name ?: auth()->user()?->display_name ?: 'tu-grupo')) ?: 'tu-grupo';
$baseAmount = (int) (collect($verificationPlans)->min('amount_cop') ?? 0);
$hasPendingVerificationRequest = $latestRequest?->status === \App\Models\VerificationRequest::STATUS_PENDING;
$hasPendingCheckout = $hasPendingVerificationRequest && $latestPayment?->isPending();
$hasApprovedPaymentAwaitingReview = $hasPendingVerificationRequest && $latestPayment?->status === \App\Models\ProfileVerificationPayment::STATUS_APPROVED;
$purchaseLocked = ! $canSubmitVerification || ! $epayco['is_configured'] || $hasApprovedPaymentAwaitingReview;
$lastReviewedBy = $latestRequest?->reviewedBy?->display_name ?? $latestPayment?->reviewedBy?->display_name;
$verificationErrors = $errors->hasAny([
'verification',
'plan_code',
'id_document',
'identity_proof',
'notes',
]);
@endphp
@include('content.mariachi.partials.account-settings-nav')
@if(session('status'))
{{ session('status') }}
@endif
@if($errors->any() && ! $verificationErrors)
Hay errores de validacion.
@foreach($errors->all() as $error)
{{ $error }}
@endforeach
@endif
Verificacion del proveedor
{{ $statusMeta['label'] }}
{{ $statusMeta['description'] }}
URL publica actual:
/@{{ $publicHandle }}
@if($profile->hasActiveVerification())
· Vigente hasta {{ $profile->verification_expires_at?->format('Y-m-d') ?: 'sin fecha definida' }}
@endif
Precio base
${{ number_format($baseAmount, 0, ',', '.') }}
COP desde el plan más corto
Incluye insignia
Se muestra en tu perfil publico cuando el admin aprueba pago y documentos.
Handle premium + foto
Solo los perfiles verificados pueden elegir un /@handle corto y subir su foto de perfil.
Revision manual
Subes cedula y prueba visual del grupo. ePayco confirma el cobro y luego el admin valida identidad y marca.
Estado reciente
Ultimo pago
{{ $latestPayment?->statusLabel() ?: 'Sin registro' }}
Ultima solicitud
{{ $latestRequest?->status ?: 'Sin solicitud' }}
Enviado
{{ $latestRequest?->submitted_at?->format('Y-m-d H:i') ?: '-' }}
Revisado por
{{ $lastReviewedBy ?: '-' }}
@if(! $epayco['is_configured'])
ePayco no está configurado en este momento. No podrás continuar al checkout hasta completar las llaves del entorno.
@elseif($profile->hasActiveVerification())
Tu verificacion ya esta activa. La insignia, el handle premium y la foto de perfil seguiran disponibles hasta {{ $profile->verification_expires_at?->format('Y-m-d') ?: 'nuevo aviso' }}.
@elseif($hasApprovedPaymentAwaitingReview)
ePayco ya aprobó el cobro de tu verificación. Ahora tu solicitud y tus documentos están en revisión manual.
@elseif($hasPendingCheckout)
Ya existe un checkout ePayco pendiente para esta verificación. Puedes retomarlo con el mismo plan o esperar a que termine antes de cambiarlo.
@elseif($latestRequest?->status === \App\Models\VerificationRequest::STATUS_REJECTED)
La ultima verificacion fue rechazada.
{{ $latestRequest->rejection_reason ?: 'Revisa los documentos y vuelve a intentar.' }}
@endif
@if($verificationErrors)
No pudimos enviar la verificacion.
@foreach($errors->all() as $error)
{{ $error }}
@endforeach
@endif
@foreach($verificationPlans as $plan)
{{ $plan['name'] }}
{{ $plan['duration_months'] }} mes(es)
@if($plan['duration_months'] === 12)
Mayor vigencia
@endif
${{ number_format((int) $plan['amount_cop'], 0, ',', '.') }}
COP pago unico por el periodo seleccionado
Insignia verificada en tu perfil publico
Edicion del handle premium /@custom
Desbloqueo de foto de perfil
Revision manual de identidad y marca
@php
$isCurrentPendingPlan = $hasPendingCheckout && $latestPayment?->plan_code === $plan['code'];
$buttonLabel = 'Pagar con ePayco';
if ($hasApprovedPaymentAwaitingReview) {
$buttonLabel = 'Documentos en revision';
} elseif ($hasPendingCheckout) {
$buttonLabel = $isCurrentPendingPlan ? 'Continuar pago en ePayco' : 'Pago pendiente en otro plan';
} elseif ($latestRequest?->status === \App\Models\VerificationRequest::STATUS_REJECTED || $latestPayment?->status === \App\Models\ProfileVerificationPayment::STATUS_REJECTED) {
$buttonLabel = 'Reintentar con ePayco';
}
$isDisabled = $purchaseLocked || ($hasPendingCheckout && ! $isCurrentPendingPlan);
@endphp
{{ $buttonLabel }}
@endforeach
@if($profile->hasActiveVerification())
@else
Tu perfil hoy usa una URL automática. Cuando la verificación quede aprobada podrás cambiarla por una personalizada.
URL actual
/@{{ $publicHandle }}
Ejemplo premium: /@{{ $suggestedHandle }}
@endif
Plan enviado
{{ $latestPayment?->plan_code ?: '-' }}
Monto
{{ $latestPayment ? '$'.number_format((int) $latestPayment->amount_cop, 0, ',', '.').' COP' : '-' }}
Checkout
{{ $latestPayment?->checkout_reference ?: '-' }}
Transaccion
{{ $latestPayment?->provider_transaction_id ?: '-' }}
Observaciones
{{ $latestRequest?->notes ?: '-' }}
Motivo rechazo
{{ $latestRequest?->rejection_reason ?: $latestPayment?->rejection_reason ?: '-' }}
@if($epaycoRejectionModal)
Motivo reportado
{{ $epaycoRejectionModal['reason'] ?? 'ePayco no aprobó la transacción.' }}
Referencia
{{ $epaycoRejectionModal['reference'] ?? '-' }}
Transacción
{{ $epaycoRejectionModal['provider_reference'] ?? 'Sin confirmar' }}
{{ $epaycoRejectionModal['retry_hint'] ?? 'Cierra este aviso y vuelve a intentarlo.' }}
@endif
@endsection