How to Save boolean properly on Playerprefs?

I want to make a shop system if I buy the items, the items will be saved on Playerprefs, no need to buy again when I restart or re-open the game, for that I already make it to setInt but I don’t know when I call getInt. I tried to call it in the start method with a new int index but it doesn’t work.
This my script

for store the itemsType

public class m_ShopItem 
    public Sprite theIcon;
    public int price;
    public bool isBuyed;

Then I make it list

public List<m_ShopItem> ShopItemsList = new List<m_ShopItem>();
 (SerializeField) GameObject ShopPanel;
    (SerializeField) Transform theContent;
    GameObject g;
    Button buyBtn;
    public GameObject itemTemplate;

    private void Start()

        for (int i = 0; i < ShopItemsList.Count; i++)

            g = Instantiate(itemTemplate, theContent);
            g.transform.GetChild(0).GetComponent<Image>().sprite = ShopItemsList(i).theIcon;
            g.transform.GetChild(1).GetComponent<TextMeshProUGUI>().text = ShopItemsList(i).price.ToString();
            buyBtn = g.transform.GetChild(2).GetComponent<Button>();
            if (ShopItemsList(i).isBuyed)
            ShopItemsList(i).isBuyed = PlayerPrefs.GetInt("isBuyed") == 1 ? true : false;// i call it Get here 
            buyBtn.AddEventListener(i, OnShopItemBtnClicked);
    void OnShopItemBtnClicked(int itemIndex)
        if (m_shopManager.Instance.HasEnoughCoins(ShopItemsList(itemIndex).price))
            //purchase Item
            ShopItemsList(itemIndex).isBuyed = true;
            PlayerPrefs.SetInt("isBuyed", ShopItemsList(itemIndex).isBuyed ? 1 : 0); // SetThe Int here when button clicked and buy the item

            //disable the button
            buyBtn = theContent.GetChild(itemIndex).GetChild(2).GetComponent<Button>();

            //add avatar
            Debug.Log("You don't have enough coins!!");

    void DisableBuyButton()
        buyBtn.interactable = false;
        buyBtn.transform.GetChild(0).GetComponent<Text>().text = "PURCHASED";

but the result is the same I have to rebuy when going to the main menu or restart the game.

Can anyone tell me what’s wrong with my script?