From aa561d430c00d5fdea29a1942b957557a12cd278 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <gua@adhisimon.org> Date: Fri, 20 May 2016 15:17:30 +0700 Subject: [PATCH] sn --- partner-kospinjasa.js | 69 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 26 deletions(-) diff --git a/partner-kospinjasa.js b/partner-kospinjasa.js index d383868..cf4e922 100644 --- a/partner-kospinjasa.js +++ b/partner-kospinjasa.js @@ -108,111 +108,128 @@ function topupResponseHandler(task, response) { var st24rc = '68'; var st24message = response.outputParameter.resultDesc.$value; - if ( response.outputParameter.resultCode.$value == '001' ) { + var resultCode = parseInt(response.outputParameter.resultCode.$value); + var bit39 = parseInt(response.outputParameter.bit39.$value); + + if ( resultCode == 1 ) { // product disabled st24rc = '13'; } - else if ( response.outputParameter.resultCode.$value == '002' ) { + else if ( resultCode == 2 ) { // prodcode disable st24rc = '13'; } - else if ( response.outputParameter.resultCode.$value == '003' ) { + else if ( resultCode == 3 ) { // duplicate reff st24rc = '55'; } - else if ( response.outputParameter.resultCode.$value == '004' ) { + else if ( resultCode == 4 ) { // not enough balance st24rc = '40'; } - else if ( response.outputParameter.resultCode.$value == '005' ) { + else if ( resultCode == 5 ) { // username blocked st24rc = '40'; } - else if ( response.outputParameter.resultCode.$value == '006' ) { + else if ( resultCode == 6 ) { // not exists username st24rc = '40'; } - else if ( response.outputParameter.resultCode.$value == '011' ) { + else if ( resultCode == 11 ) { // invalid request st24rc = '40' } - else if ( response.outputParameter.resultCode.$value == '012' ) { + else if ( resultCode == 12 ) { // no route to host st24rc = '40' } - else if ( response.outputParameter.resultCode.$value == '013' ) { + else if ( resultCode == 13 ) { // invalid signature st24rc = '40' } - else if ( response.outputParameter.bit39.$value == '06' ) { + else if ( bit39 == 6 ) { st24rc = '40'; st24message = 'Error Transaksi ditolak karena terjadi error di H2H dengan response code diluar daftar ini. Silahkan hubungi H2H'; } - else if ( response.outputParameter.bit39.$value == '12' ) { + else if ( bit39 == 12 ) { st24rc = '40'; st24message = 'Invalid Transaction Transaksi ditolak karena flow transaksi tidak valid'; } - else if ( response.outputParameter.bit39.$value == '13' ) { + else if ( bit39 == 13 ) { st24rc = '13'; st24message = 'Invalid voucher nominal'; } - else if ( response.outputParameter.bit39.$value == '14' ) { + else if ( bit39 == 14 ) { st24rc = '14'; st24message = 'MSISDN tidak ditemukan'; } - else if ( response.outputParameter.bit39.$value == '30' ) { + else if ( bit39 == 30 ) { st24rc = '40'; st24message = 'Format Error'; } - else if ( response.outputParameter.bit39.$value == '31' ) { + else if ( bit39 == 31 ) { st24rc = '40'; st24message = 'Kode bank tidak terdaftar'; } - else if ( response.outputParameter.bit39.$value == '63' ) { + else if ( bit39 == 63 ) { st24rc = '40'; st24message = 'Reversal denied'; } - else if ( response.outputParameter.bit39.$value == '68' ) { + else if ( bit39 == 68 ) { st24rc = '68'; st24message = 'Transaksi sedang dalam proses'; } - else if ( response.outputParameter.bit39.$value == '69' ) { + else if ( bit39 == 69 ) { st24rc = '68'; st24message = 'Respon Ok lebih dari 24 detik'; } - else if ( response.outputParameter.bit39.$value == '70' ) { + else if ( bit39 == 70 ) { st24rc = '13'; st24message = 'Voucher out of stock'; } - else if ( response.outputParameter.bit39.$value == '79' ) { + else if ( bit39 == 79 ) { st24rc = '14'; st24message = 'Phone number is blocked by Telkomsel'; } - else if ( response.outputParameter.bit39.$value == '81' ) { + else if ( bit39 == 81 ) { st24rc = '14'; st24message = 'Phone number is expired'; } - else if ( response.outputParameter.bit39.$value == '89' ) { + else if ( bit39 == 89 ) { st24rc = '40'; st24message = 'Link to billing provider is down'; } - else if ( response.outputParameter.bit39.$value == '91' ) { + else if ( bit39 == 91 ) { st24rc = '40'; st24message = 'Database problem'; } - else if ( response.outputParameter.bit39.$value == '92' ) { + else if ( bit39 == 92 ) { st24rc = '40'; st24message = 'Unable to route transaction'; } - else if ( response.outputParameter.bit39.$value == '94' ) { + else if ( bit39 == 94 ) { st24rc = '40'; st24message = 'Duplicate reversal request'; } + else if ( resultCode == 0 && bit39 == 0) { + + var sn = ''; + + try { + sn = response.outputParameter.bit61.$value.substring(43); + } + except(e) { + sn = ''; + } + + st24message = 'SN=' + sn + '; ' + st24message; + st24rc = '00'; + } var message = response.outputParameter.resultCode.$value + " " + response.outputParameter.resultDesc.$value - + "; " + response.outputParameter.bit39.$value + + "; BIT39: " + response.outputParameter.bit39.$value ; if (response.outputParameter.resultDesc.$value != st24message) { -- 1.9.0