- Karten-Update ohne Abbuchung via PAYONE creditcardcheck/pseudocardpan (AboPaymentMethodService, CardUpdateResult/CreditCardCheckData-DTOs) - Eingabe nur durch Abo-Inhaber: CRM- und Portal-Formular + zeitlich begrenzter Berater→Kunde-Link (AboCardUpdateLink + Mail) - Änderungshistorie in user_abo_card_changes, Anzeige im Admin-Abo-Detail - Admin: Abo löschen (destroy) inkl. Test - Portal-Fix: myOrderCreate wirft 404 statt TypeError bei ungültiger ID - VIP-Sichtbarkeitstests für Einmalartikel-Fenster ergänzt - Enthält bereits die Freeze-Guards für den Stripe-Notbetrieb (Folge-Commit) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
20 lines
828 B
PHP
20 lines
828 B
PHP
@extends('portal.layouts.public')
|
|
|
|
@section('content')
|
|
<div style="max-width: 640px; margin: 0 auto;">
|
|
<h4 class="font-weight-bold mb-3">{{ __('abo.update_card_title') }}</h4>
|
|
|
|
@include('portal.abo._payment_method_form', [
|
|
'user_abo' => $user_abo,
|
|
'formAction' => route('abo_card_update_store', [$token]),
|
|
'backUrl' => \App\Services\Util::getMyMivitaPortalUrl(),
|
|
])
|
|
|
|
<div class="alert alert-light border mt-3 text-center">
|
|
<p class="mb-2 text-muted">{{ __('abo.card_update_portal_hint') }}</p>
|
|
<a href="{{ \App\Services\Util::getMyMivitaPortalUrl() }}" class="btn btn-secondary btn-sm">
|
|
<i class="ion ion-md-home mr-1"></i>{{ __('abo.card_update_to_portal') }}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
@endsection
|