Two aspects come to light which are probably giving you errors.
1) In your code ( and I assume that it works ok for you), you have left out the End Sub line and the name of the new code needs to go above End Sub of your code.
2) You are taking data from six cells in the source sheet whereas the code I supplied takes data from only three cells based on your opening post. Hence you need to resize columns 1 - 6 in the destination sheet.
Thus, the codes together should look as follows:-
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Dim num As Integer
num = Range("J7").Value
num = num + 1
Range("J7").Value = num
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Set WS1 = Worksheets("Payment Sheet")
Set WS2 = Worksheets("Payment Log")
Application.ScreenUpdating = False
NextRow = WS2.Cells(Rows.Count, 1).End(xlUp).Row + 1
WS2.Cells(NextRow, 1).Resize(1, 6).Value = Array(WS1.Range("J7"), WS1.Range("I8"), WS1.Range("E15"), WS1.Range("E19"), WS1.Range("E17"), WS1.Range("G2"))
Application.ScreenUpdating = True
They can be placed together in the one module. You may have to re-assign the PrintForm sub to your button.