diff --git a/config.sample.json b/config.sample.json
index 01d0a68..3bbb9cd 100644
--- a/config.sample.json
+++ b/config.sample.json
@@ -8,7 +8,8 @@
     "partner": {
         "url": "https://PLEASE_CHANGE_ME:6789/",
         "msisdn": "PLEASE_CHANGE_ME",
-        "pin": "PLEASE_CHANGE_ME"
+        "pin": "PLEASE_CHANGE_ME",
+        "use_sslv3": false
     },
     "remote_products": {
         "PLEASE_CHANGE_ME": "PLEASE_CHANGE_ME"
diff --git a/lib/partner.js b/lib/partner.js
index 57ef0b0..39a1748 100644
--- a/lib/partner.js
+++ b/lib/partner.js
@@ -3,6 +3,7 @@
 process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
 
 const url = require('url');
+const https = require('https');
 const xmlrpc = require('xmlrpc');
 
 const config = require('komodo-sdk/config');
@@ -13,6 +14,10 @@ const pull = require('komodo-sdk/gateway/pull');
 const st24 = require('./st24');
 const partnerRc = require('./partner-rc.json');
 
+if (config.partner.use_sslv3) {
+    https.globalAgent.options.secureProtocol = 'SSLv3_method';
+}
+
 function buy(task) {
     const partnerUrl = url.parse(config.partner.url);
     const clientOptions = {
@@ -42,10 +47,16 @@ function buy(task) {
     client.methodCall(xmlrpcMethod, [ params ], function (err, value) {
 
         if (err) {
-            let rc = '68';
+
             let msg = 'XMLRPC Client Error: ' + err;
+            let rc = '68';
 
-            if (error.code == 'ECONNREFUSED' || error.code == 'EHOSTUNREACH' || (error.code == 'ETIMEDOUT' && error.syscall == "connect")) {
+            if (
+                err.code === 'ECONNREFUSED'
+                || err.code === 'EHOSTUNREACH'
+                || (err.code === 'ETIMEDOUT' && err.syscall === "connect")
+                || (err.code === 'EPROTO' && err.syscall === "write")
+            ) {
                 rc = '91';
             }