Hi,
The 500 error is expected: that box takes Apache directives, not the value of the header. A raw "default-src 'self' ..." line is not a directive, so Apache refuses to serve the site. To set it there, it has to be:
<IfModule mod_headers.c>
Header always set Content-Security-Policy "default-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com; frame-src 'self' https://*.paypal.com; connect-src 'self' https://*.paypal.com; img-src 'self' data: https://*.paypal.com https://*.paypalobjects.com"
</IfModule>
Before that, here is what your website answers right now:
content-security-policy: default-src 'self' 'unsafe-inline'
x-content-security-policy: default-src 'self' 'unsafe-inline'
content-security-policy-report-only: script-src 'self' 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com; frame-src 'self' https://*.paypal.com, then connect-src with 'self' https://*.paypal.com; img-src 'self' data: https://*.paypal.com https://*.paypalobjects.com; default-src 'self' 'unsafe-inline'; frame-ancestors 'self'
So two things on the plugin side:
1. Your rows are sent as "report-only", which only asks the browser to report violations and blocks nothing, and allows nothing either. In the CSP tab of the plugin, set "Report Only" to No.
2. The frame-src row contains a piece of my sentence. Its value must be only 'self' https://*.paypal.com, and connect-src has to be a row of its own with the value 'self' https://*.paypal.com.
And the main point: the header actually enforced is still the old one, and it comes from your server, not from the plugin. When a page carries two enforced policies, the browser applies both and keeps the strictest, so PayPal stays blocked even once the plugin is set correctly. That old value has to be changed, not doubled with a second header. It is the one sent twice, under content-security-policy and under the old name x-content-security-policy, so look for those two names in your .htaccess files, and either replace the value with the full one above, or remove those lines and let the plugin send the policy alone.
Also, did you get to change "Block accidental payments" to "No, allow multiple payments per invoice ID" in your PayPal account? That one was refusing about three payments out of four in the log you sent.