You can't easily get similar behaviour to curl -E (enforce use of local certificate) with QHttp.
The Qt default SSL configuration assumes no local certificate, and there does not seem to be an easy way to change this for QHttp.
The new class QNetworkAccessManager (introduced in 4.4) is the current recommendation for new development work.
To enforce use of a local .pem certificate, you need to build a QSslConfiguration using the required certificate, and you can construct a QNetworkRequest using this SSL configuration.
I haven't looked at the individual CC processors in any detail, but I assume from the earlier posts that the other payment processors don't require a pre-issued client certificate.
If that is the case, the other processing services should be happy with the default SSL configuration.
Or you can do it the hard way, simply using a raw QSslSocket constructed with the same SSL configuration
Another thing I keep idly wondering about is the best way to deal with third-party processors like Paypal or Google Checkout.
In the usual use of these, for example on a website shopping cart, you never get the CC details at all - just an authorization number and transaction reference.
As website orders are pre-paid before the order gets received, a quick and easy way to enter the payment details while processing the S/O would be useful.
I'm trying to think of a sensible way to incorporate this into a work flow, and I mention this here as they "feel" like they should go with CC processing from a user perspective.
Bright ideas welcome