Hi fogma, Some suggestions... Keep an eye on https://twitter.com/stripestatus when you're having problems, and for a while after, to see if they acknowledge api-server problems.
curl -sSI https://api.stripe.com as that should connect on TCP port 443 and give a 401 Unauthorized error. Can you consistently get that, or does Stripe start refusing the TCP connection after a few attempts?
The Connection refused is at the TCP level, before api.strip.com has seen the /v1/charges URL you're trying to access, so it either isn't those parameters that's causing the problem, or you're seeing a curl error from some secondary attempt to connect after the first has had problems, and the error message is misleading you. IIRC curl stacks error messages and so reporting them can work through the list rather than just report one of them.
Trace the network packets with
sudo tcpdump -s 3000 -w stripe.pkt host api.stripe.com and then inspect stripe.pkt afterwards, either with tcpdump again, or Wireshark on another machine, to see, based on timestamps, if the TCP connections are as you expect.