diff --git a/partner-sc.js b/partner-sc.js
index 1ab9a74..ffa5348 100644
--- a/partner-sc.js
+++ b/partner-sc.js
@@ -23,6 +23,7 @@ var tasks = LRU(10000);
 process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
 
 var sleep_before_retry = 30000;
+var pendingResultCode = ['0005', '0012', '0068', '0090', '0063', '0018', '0096'];
 
 var logTag = __filename.split('/').reverse()[0];
 
@@ -291,7 +292,6 @@ function topupRequest(task) {
                             logger.info('New response message: ' + responseMessage);
                         }
 
-                        var pendingResultCode = ['0005', '0012', '0068', '0090', '0063', '0018', '0096'];
                         if (pendingResultCode.indexOf(resultCode) != -1) {
                             callbackReport(task['requestId'], '68', responseMessage);
 
@@ -515,6 +515,18 @@ function createHttpReportServer() {
         logger.info('Got reverse report from partner', {path: path, qs: qs});
         response.end('OK');
 
+        var requestId = qs.reffid;
+        var resultCode = qs.rescode;
+
+        if (requestId && resultCode && resulCode != '0') {
+            if (pendingResultCode.indexOf(resultCode) >= 0) {
+                callbackReport(requestId, '68', 'Got reverse report: ' + qs.msg);
+            } else {
+                callbackReport(requestId, '40', 'Got reverse report: ' + qs.msg);
+            }
+            return;
+        }
+
         var  trxid;
         try {
             trxid = qs.transid;