Document is not locked by other transactions. (For example, in a very rare case, if the payment run is trying to apply a payment to a specific invoice and you triggered another apply payment API call at that time, the payment run could skip the payment creation because it has been paid off by the api created payment already. )

Documents balance is not zero.

Documents Due date <= payment run target date.

Step 2. After payment run collects the documents, here are the payment validations.