I just ran into this same problem in my testing environment as well (luckily my live payments are going through). I fixed it by changing:
public PayPalAPI(string specialAccount = "")
{
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls;
to
public PayPalAPI(string specialAccount = "")
{
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
They disabled support for SSL3 a while ago: https://www.paypal.com/uk/webapps/mpp/ssl-security-update, specifically stating
Ensure you are connecting to PayPal endpoints using TLS 1.0 or 1.2
(not all API endpoints currently support TLS 1.1).
Their latest update (thx for the comment update from @awesome) states:
PayPal is updating its services to require TLS 1.2 for all HTTPS
connections. At this time, PayPal will also require HTTP/1.1 for all
connections... To avoid any disruption of service, you must verify that your systems are ready for this change by June 17, 2016
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…