fix: avoid duplicate payload validation function