json([ 'ok' => true, 'redirect_url' => $this->service->getRedirectUrl(), ]); } public function create(int $paymentId): JsonResponse { $result = $this->service->createPayment($paymentId); return response()->json(['ok' => true] + $result); } public function execute(PaypalExecuteRequest $request): JsonResponse { $payload = $request->validated(); $this->service->executePayment( (string) $payload['payer_id'], $payload['paypal_payment_id'] ?? null ); return response()->json(['ok' => true]); } public function cancel(): JsonResponse { $this->service->cancelPayment(); return response()->json([ 'ok' => true, 'message' => 'Payment was canceled.', ]); } }