PaymentID: it’s just and ID to proof that a certain transaction is actually done by the sender: It is optional and visible to everybody on the blockchain.
ViewKey: it is a 2nd private key that can only see the transactions without the ability of to spend funds.