admin: Verlauf protokolliert den Gang zur Stripe-Zahlung
Neuer ActivityType "Zur Zahlung": Der StripeCheckoutService vermerkt zentral in allen vier Checkout-Erzeugern (Abo, Einzel-PM, Depublikation, Credit-Topup), wenn ein User zu Stripe weitergeleitet wird — mit Art und Referenz in den Metadaten. Der Abschluss war bereits abgedeckt (Webhook: "Zahlung eingegangen" mit Rechnungsnummer/Betrag, Abo-Events als "Abo", Wallet-Aufladungen als "Credit-Aufladung"). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
37e543e69a
commit
5bf9f846a6
3 changed files with 72 additions and 4 deletions
|
|
@ -8,6 +8,7 @@ use App\Models\ContactMessage;
|
|||
use App\Models\PressRelease;
|
||||
use App\Models\User;
|
||||
use App\Models\WithdrawalRequest;
|
||||
use App\Services\Billing\StripeCheckoutService;
|
||||
use App\Services\PressRelease\PressReleaseService;
|
||||
use Database\Seeders\RolesAndPermissionsSeeder;
|
||||
use Illuminate\Auth\Events\Login;
|
||||
|
|
@ -139,3 +140,17 @@ test('a mail to an unknown address is recorded with the address as actor label',
|
|||
expect($event->user_id)->toBeNull()
|
||||
->and($event->actor_label)->toBe('extern@example.com');
|
||||
});
|
||||
|
||||
test('a checkout redirect is recorded in the activity log', function () {
|
||||
$user = User::factory()->create(['name' => 'Kauf Karla']);
|
||||
|
||||
app(StripeCheckoutService::class)
|
||||
->recordCheckoutStarted($user, 'Abo „Business" (monatlich)', ['kind' => 'subscription', 'interval' => 'monthly']);
|
||||
|
||||
$event = ActivityEvent::query()->where('type', ActivityType::CheckoutStarted->value)->sole();
|
||||
|
||||
expect($event->user_id)->toBe($user->id)
|
||||
->and($event->description)->toContain('zur Zahlung weitergeleitet')
|
||||
->and($event->description)->toContain('Abo „Business" (monatlich)')
|
||||
->and($event->meta['kind'])->toBe('subscription');
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue