MySQL trigger düzgün çalışmıyor

BEGIN
    DECLARE debt_amount DECIMAL(10, 2);
    
    -- Ödeme durumu güncellenmiş mi kontrol et
    IF NEW.odeme_durumu != OLD.odeme_durumu THEN
        -- Ödeme durumu 1 (ödendi) yapılmışsa borçtan düş
        IF NEW.odeme_durumu = 1 THEN
            SET debt_amount = -(SELECT liste_tutar FROM satis_liste_kayit WHERE id = NEW.id);
        -- Ödeme durumu 0 (ödenmemiş) ise borca ekle
        ELSE
            SET debt_amount = (SELECT liste_tutar FROM satis_liste_kayit WHERE id = NEW.id);
        END IF;
        
        -- Müşteri borcunu güncelle
        UPDATE musteri_borc
        SET borc_tutari = borc_tutari + debt_amount
        WHERE musteri_id = NEW.musteri_id;
    END IF;
END

Kod satis_liste_kayit tablosunda bir update olduğunda çalışıyor.
Bu sql tetikleyici kodum ödeme durumunda bir değişiklik olduğunda müşteri borcunu güncelliyor ama sıkıntı şurada ödeme durumunu 1 yaptığımda (ödendi) borçtan liste tutarını düşüyor ama 0 yapınca (ödenmedi) borca o tutarı eklemiyor. Sorun nerede ?

muhtemelen burası hiçbir zaman else’e girmiyor. sorun burada diye düşünüyorum fakat database şemanızı bilmediğimden bir şey söylemek zor ne yazık ki

Php olarak api’ye yazdım ayni kodu çalıştı o sekilde çözdüm.