catalog->all()) ->map(function (array $addon, string $key) use ($provider): array { $priceId = $provider === CheckoutSession::PROVIDER_PAYPAL ? ($addon['price'] ?? null ? 'paypal' : null) : ($addon['variant_id'] ?? null); return [ 'key' => $key, 'label' => $addon['label'] ?? null, 'price_id' => $priceId, 'increments' => $addon['increments'] ?? [], 'price' => $addon['price'] ?? null, 'currency' => $addon['currency'] ?? 'EUR', ]; }) ->filter(fn (array $addon) => ! empty($addon['price_id'])) ->values() ->all(); return response()->json(['data' => $addons]); } }