Eso ya te lo expliqué en el foro de MySQL.
Lo que debes hacer ahora es integrar esa consulta que te propuse (previamente probarla), a la llamada donde la vas a usar.
Sin ver todo el código, es posible que debas reescribir bastantes partes para hacer algo que te funcione bien, porque en todo tu código no veo ninguna parte donde estés consultando por los pagos de nada. Sólo veo llamadas para buscar el máximo ID en diferentes partes.