Payment type doesnt show for clients unless

I have set up three payments types ( Credit Card, Bank Transfer, Cash). Default for invoices is bank transfer.
I’ve set up PAYPAL Express.

I sent an invoice to a client without changing bank transfer as the payment type in the invoice (Save invoice, email invoice)

A client went to pay the invoice using the pay online option.
The invoice threw an issue with missing headers and unable to load Global payment options class.

I tested the process using an invoice created for myself.

When the invoice is viewed there is no payment options in the payment option drop down box.

On changing the payment type in the invoice, then reloading it as the client there is now a payment option (paypal) and the form now submits when data is added.

The form takes you to Pay Pal whch makes you fill out the cc number, expiry, cvs etc again (already filled out on form in invoiceplane).

I think there are two errors:
1 - No payment options unless credit card is explicitly set as payment option in invoice - where as it should show options without having to have credit card as default payment.
2 - The forms are not passing info to paypal as far as I can see.