feat: Complete checkout overhaul with Stripe PaymentIntent integration and abandoned cart recovery

This commit is contained in:
Codex Agent
2025-10-07 22:25:03 +02:00
parent dd5545605c
commit aa8c6c67c5
38 changed files with 1848 additions and 878 deletions

View File

@@ -0,0 +1,50 @@
{
"login_failed": "Invalid email or password.",
"login_success": "You are now logged in.",
"registration_failed": "Registration failed.",
"registration_success": "Registration successful proceed with purchase.",
"already_logged_in": "You are already logged in.",
"failed_credentials": "Wrong credentials.",
"header": {
"login": "Login",
"register": "Register",
"home": "Home",
"packages": "Packages",
"blog": "Blog",
"occasions": {
"wedding": "Wedding",
"birthday": "Birthday",
"corporate": "Corporate Event"
},
"contact": "Contact"
},
"login": {
"title": "Login",
"username_or_email": "Username or Email",
"email": "Email Address",
"email_placeholder": "your@email.com",
"password": "Password",
"password_placeholder": "Your password",
"remember": "Stay logged in",
"forgot": "Forgot password?",
"submit": "Login"
},
"register": {
"title": "Register",
"name": "Full Name",
"username": "Username",
"email": "Email Address",
"password": "Password",
"password_confirmation": "Confirm password",
"first_name": "First Name",
"last_name": "Last Name",
"address": "Address",
"phone": "Phone Number",
"privacy_consent": "I agree to the privacy policy and accept the processing of my personal data.",
"submit": "Register"
},
"verification": {
"notice": "Please verify your email address.",
"resend": "Resend email"
}
}

View File

@@ -0,0 +1,52 @@
<?php
return [
'welcome' => [
'subject' => 'Welcome to Fotospiel, :name!',
'greeting' => 'Welcome to Fotospiel, :name!',
'body' => 'Thank you for your registration. Your account is now active.',
'username' => 'Username: :username',
'email' => 'Email: :email',
'verification' => 'Please verify your email address to access the admin panel.',
'footer' => 'Best regards,<br>The Fotospiel Team',
],
'purchase' => [
'subject' => 'Purchase Confirmation - :package',
'greeting' => 'Thank you for your purchase, :name!',
'package' => 'Package: :package',
'price' => 'Price: :price €',
'activation' => 'The package is now activated in your tenant account.',
'footer' => 'Best regards,<br>The Fotospiel Team',
],
'abandoned_checkout' => [
'subject_1h' => 'Your :package Package is Waiting for You',
'subject_24h' => 'Reminder: Complete Your Purchase',
'subject_1w' => 'Last Chance: Your Saved Package',
'greeting' => 'Hello :name,',
'body_1h' => 'You recently started purchasing our :package package but haven\'t completed it yet. Your cart is reserved for you.',
'body_24h' => 'Reminder: Your :package package has been waiting for 24 hours. Complete your purchase now and secure all the benefits.',
'body_1w' => 'Final reminder: Your :package package has been waiting for a week. This is your last chance to complete the purchase.',
'cta_button' => 'Continue Now',
'cta_link' => 'Or copy this link: :url',
'benefits_title' => 'Why buy now?',
'benefit1' => 'Quick checkout in 2 minutes',
'benefit2' => 'Secure payment with Stripe',
'benefit3' => 'Instant access after payment',
'benefit4' => 'Secure 10% discount',
'footer' => 'Best regards,<br>The Fotospiel Team',
],
'contact' => [
'subject' => 'New Contact Request',
'body' => 'Contact request from :name (:email): :message',
],
];