new: show payment-specific confirmation for check/wire orders
Display a tailored confirmation message when the customer pays by check or wire transfer, including a warning about the 30-day cancellation policy. The payment type is passed as a query parameter so the message survives page reloads. - Add ``getOrderConfirmedByCheckContent()`` and ``getOrderConfirmedByWireContent()`` to ``Contents`` repository - Flash ``payment_type`` through redirect query parameter - Add migration inserting content rows (id 10, 11) - Update confirmed view with green checkmark and warning icon
This commit is contained in:
@@ -88,7 +88,9 @@ class OrderController extends Controller
|
|||||||
}
|
}
|
||||||
OrderMails::sendOrderConfirmed($order->id);
|
OrderMails::sendOrderConfirmed($order->id);
|
||||||
|
|
||||||
return redirect()->route('Shop.Orders.confirmed');
|
return redirect()->route('Shop.Orders.confirmed', [
|
||||||
|
'payment_type' => $data['payment_type'],
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('Shop.Orders.order');
|
return view('Shop.Orders.order');
|
||||||
@@ -97,9 +99,18 @@ class OrderController extends Controller
|
|||||||
public function confirmed()
|
public function confirmed()
|
||||||
{
|
{
|
||||||
ShopCart::clear();
|
ShopCart::clear();
|
||||||
|
$paymentType = request('payment_type');
|
||||||
$content = Contents::getOrderConfirmedContent();
|
$content = Contents::getOrderConfirmedContent();
|
||||||
|
$paymentLabel = match ($paymentType) {
|
||||||
|
'2' => 'chèque',
|
||||||
|
'3' => 'virement',
|
||||||
|
default => null,
|
||||||
|
};
|
||||||
|
|
||||||
return view('Shop.Orders.confirmed', ['content' => $content]);
|
return view('Shop.Orders.confirmed', [
|
||||||
|
'content' => $content,
|
||||||
|
'payment_label' => $paymentLabel,
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPdf($uuid)
|
public function getPdf($uuid)
|
||||||
|
|||||||
@@ -41,6 +41,16 @@ class Contents
|
|||||||
return self::get(5)->text ?? 'Votre commande a été confirmée';
|
return self::get(5)->text ?? 'Votre commande a été confirmée';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getOrderConfirmedByCheckContent()
|
||||||
|
{
|
||||||
|
return self::get(10)->text ?? 'Votre commande a bien été enregistrée, elle vous sera expédiée dès réception de votre chèque.';
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getOrderConfirmedByWireContent()
|
||||||
|
{
|
||||||
|
return self::get(11)->text ?? 'Votre commande a bien été enregistrée, elle vous sera expédiée dès réception de votre virement.';
|
||||||
|
}
|
||||||
|
|
||||||
public static function getPayboxConfirmedContent()
|
public static function getPayboxConfirmedContent()
|
||||||
{
|
{
|
||||||
return self::get(6)->text ?? 'Merci pour votre règlement. Votre commande sera traitée sous peu.';
|
return self::get(6)->text ?? 'Merci pour votre règlement. Votre commande sera traitée sous peu.';
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
DB::table('shop_contents')->insert([
|
||||||
|
[
|
||||||
|
'id' => 10,
|
||||||
|
'text' => '<p>Votre commande a bien été enregistrée, elle vous sera expédiée dès réception de votre chèque.</p><p class="mt-3 text-warning"><i class="fa fa-exclamation-triangle mr-1"></i> Sans réception de votre paiement au bout de 30 jours, votre commande sera annulée.</p>',
|
||||||
|
'created_at' => now(),
|
||||||
|
'updated_at' => now(),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'id' => 11,
|
||||||
|
'text' => '<p>Votre commande a bien été enregistrée, elle vous sera expédiée dès réception de votre virement.</p><p class="mt-3 text-warning"><i class="fa fa-exclamation-triangle mr-1"></i> Sans réception de votre paiement au bout de 30 jours, votre commande sera annulée.</p>',
|
||||||
|
'created_at' => now(),
|
||||||
|
'updated_at' => now(),
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
DB::table('shop_contents')->whereIn('id', [10, 11])->delete();
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -4,8 +4,20 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12 text-center py-5">
|
||||||
|
<i class="fa fa-check-circle text-success" style="font-size: 5rem;"></i>
|
||||||
|
<div class="mt-4" style="font-size: 1.2rem;">
|
||||||
{!! $content !!}
|
{!! $content !!}
|
||||||
</div>
|
</div>
|
||||||
|
@if($payment_label ?? false)
|
||||||
|
<div class="mt-3" style="font-size: 1.1rem;">
|
||||||
|
Votre commande a bien été enregistrée, elle vous sera expédiée dès réception de votre {{ $payment_label }}.
|
||||||
|
</div>
|
||||||
|
<div class="mt-3" style="font-size: 1.1rem;">
|
||||||
|
<i class="fa fa-exclamation-triangle text-warning mr-1"></i>
|
||||||
|
Sans réception de votre paiement au bout de 30 jours, votre commande sera annulée.
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
Reference in New Issue
Block a user