getProductDetails
Escape hatch: returns the raw ProductDetails for callers that need fields not surfaced by the typed helpers (e.g. one-time purchase metadata, full subscription offer list with all base plans).
Return
The cached ProductDetails, or null if not loaded.