Hi Brian,
The problem is that the "Invoice + Payment" transaction is a specific kind of the "Invoice" one, which uses the OINV.IsICT value to differentiate both kinds ; and luckily for us, this value is not visible (so nor updatable) from the DI.
Your only solution, is to book a regular invoice and a regular payment... And to take care of the PaymentGroupCode property, since this is it which will force or not the use of a transaction (Invoice) or the other (Invoice + payment).
In case you continue in this direction, be aware that handling manually transaction to cancel the invoice if for any reason posting the payment fails, will do nothing (so you'll have to post manually a cancellation document).
Regards,
Eric