diff --git a/partner-datacell.js b/partner-datacell.js
index 53f0e05..c378241 100644
--- a/partner-datacell.js
+++ b/partner-datacell.js
@@ -129,17 +129,42 @@ function topupResponseHandler(body, request_id) {
             response_code = '40';
         }
         
-        
         if (message.indexOf('Nomor tujuan salah') >= 0) {
             response_code = '14';
         } else if (message.indexOf('*GAGAL, transaksi yang sama sudah ada dalam 10 menit') >= 0) {
             response_code = '55';
+        } else if (message.indexOf('SUKSES SN Operator:') >= 0) {
+            response_code = '00';
+            var sn = parseSN(message);
+            if (!sn) {
+                
+                try {
+                    sn = result.datacell.trxid[0].trim();
+                }
+                catch(err) {
+                    sn = '';
+                }
+            }
+            message = 'SN=' + sn + '; ' + message;
         }
         
         callbackReport(request_id, response_code, message);
     });
 }
 
+function parseSN(message) {
+    var results = message.match(/SN Operator: .+ SN Kami/);
+    if (!results || results.length <= 0) {
+        return '';
+    }
+    
+    var result = results[0];
+    result = result.replace('SN Operator:');
+    result = result.replace('SN Kami');
+    result = result.trim();
+    return result;
+}
+
 function createServer() {
 
     var httpServer = http.createServer(function(req, res) {