getHeader('x-listener-secret'); $expectedSecret = getenv('NOTIFICATION_INGEST_SECRET') ?: 'secure_ingest_key_for_android_bridge_listener'; if ($secret !== $expectedSecret) { Response::forbidden('Invalid listener secret.'); } $body = $request->getBody(); $result = SuperQiParserService::processIngestedNotification($body); if (!$result['success']) { Response::error($result['message'] ?? 'Ingestion failed', 400); } Response::success($result, 'Notification ingested and processed.'); } /** * POST /api/v1/payments/swiftpay-webhook */ public function swiftPayWebhook(Request $request): void { // Handle SwiftPayIQ transaction webhook $payload = $request->getBody(); Response::success(['status' => 'received'], 'Webhook processed.'); } }