fix: refactor model, fix bags in background payment