Every time I stop the play mode the credits are not saved

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class CashSistem : MonoBehaviour
{
    public GameObject CashDisplay;
    public  int CashValue;
    public static int TotalCash ;
     


    void start()
    {
       TotalCash = PlayerPrefs.GetInt("TotalCash");
        PlayerPrefs.Save();
    }

    void Update()
    {
        CashDisplay.GetComponent<Text>().text = "" + CashValue;
        CashValue = TotalCash;
        PlayerPrefs.SetInt("TotalCash", TotalCash);
    }

    private void OnTriggerEnter(Collider other)
    {
        if(other.gameObject.tag == "Player")
        {
            TotalCash += 1000;          
        }
    }   
}

You should do save in OnDestroy() instead of Start().

Start() is Only called after the first time of OnEnable() function. You can google about Unity ExcutionOrder。

Beside calling Save in Start makes no sense, currently “start” is not called at all because it has to be Start in order for Unity to call it. A method calls start would not be called by Unity automatically.