MarkSaleAsPaidController
extends AbstractController
in package
Mobile endpoint marking a deferred sale as paid, delegating the business rules (rights, fund consistency) to the dedicated service.
Table of Contents
Methods
- __invoke() : JsonResponse
- Records the settlement of a deferred sale.
Methods
__invoke()
Records the settlement of a deferred sale.
public
__invoke(Sale $sale, Request $request, DeferredSalePaymentService $paymentService) : JsonResponse
Parameters
- $sale : Sale
-
Sale to settle (resolved by its id).
- $request : Request
-
JSON request possibly containing "payment_method".
- $paymentService : DeferredSalePaymentService
-
Service holding the settlement logic.
Attributes
- #[Route]
- '/api/sales/{id}/mark-paid'
- $name: 'api_sale_mark_paid'
- $methods: ['POST']
Return values
JsonResponse —Updated payment status; 401 if unauthenticated, 403/422 depending on the reason for refusal.