Commit aa561d430c00d5fdea29a1942b957557a12cd278

Authored by Adhidarma Hadiwinoto
1 parent 13e965f4e1
Exists in master

sn

Showing 1 changed file with 43 additions and 26 deletions Side-by-side Diff

partner-kospinjasa.js
... ... @@ -108,111 +108,128 @@ function topupResponseHandler(task, response) {
108 108 var st24rc = '68';
109 109 var st24message = response.outputParameter.resultDesc.$value;
110 110  
111   - if ( response.outputParameter.resultCode.$value == '001' ) {
  111 + var resultCode = parseInt(response.outputParameter.resultCode.$value);
  112 + var bit39 = parseInt(response.outputParameter.bit39.$value);
  113 +
  114 + if ( resultCode == 1 ) {
112 115 // product disabled
113 116 st24rc = '13';
114 117 }
115   - else if ( response.outputParameter.resultCode.$value == '002' ) {
  118 + else if ( resultCode == 2 ) {
116 119 // prodcode disable
117 120 st24rc = '13';
118 121 }
119   - else if ( response.outputParameter.resultCode.$value == '003' ) {
  122 + else if ( resultCode == 3 ) {
120 123 // duplicate reff
121 124 st24rc = '55';
122 125 }
123   - else if ( response.outputParameter.resultCode.$value == '004' ) {
  126 + else if ( resultCode == 4 ) {
124 127 // not enough balance
125 128 st24rc = '40';
126 129 }
127   - else if ( response.outputParameter.resultCode.$value == '005' ) {
  130 + else if ( resultCode == 5 ) {
128 131 // username blocked
129 132 st24rc = '40';
130 133 }
131   - else if ( response.outputParameter.resultCode.$value == '006' ) {
  134 + else if ( resultCode == 6 ) {
132 135 // not exists username
133 136 st24rc = '40';
134 137 }
135   - else if ( response.outputParameter.resultCode.$value == '011' ) {
  138 + else if ( resultCode == 11 ) {
136 139 // invalid request
137 140 st24rc = '40'
138 141 }
139   - else if ( response.outputParameter.resultCode.$value == '012' ) {
  142 + else if ( resultCode == 12 ) {
140 143 // no route to host
141 144 st24rc = '40'
142 145 }
143   - else if ( response.outputParameter.resultCode.$value == '013' ) {
  146 + else if ( resultCode == 13 ) {
144 147 // invalid signature
145 148 st24rc = '40'
146 149 }
147   - else if ( response.outputParameter.bit39.$value == '06' ) {
  150 + else if ( bit39 == 6 ) {
148 151 st24rc = '40';
149 152 st24message = 'Error Transaksi ditolak karena terjadi error di H2H dengan response code diluar daftar ini. Silahkan hubungi H2H';
150 153 }
151   - else if ( response.outputParameter.bit39.$value == '12' ) {
  154 + else if ( bit39 == 12 ) {
152 155 st24rc = '40';
153 156 st24message = 'Invalid Transaction Transaksi ditolak karena flow transaksi tidak valid';
154 157 }
155   - else if ( response.outputParameter.bit39.$value == '13' ) {
  158 + else if ( bit39 == 13 ) {
156 159 st24rc = '13';
157 160 st24message = 'Invalid voucher nominal';
158 161 }
159   - else if ( response.outputParameter.bit39.$value == '14' ) {
  162 + else if ( bit39 == 14 ) {
160 163 st24rc = '14';
161 164 st24message = 'MSISDN tidak ditemukan';
162 165 }
163   - else if ( response.outputParameter.bit39.$value == '30' ) {
  166 + else if ( bit39 == 30 ) {
164 167 st24rc = '40';
165 168 st24message = 'Format Error';
166 169 }
167   - else if ( response.outputParameter.bit39.$value == '31' ) {
  170 + else if ( bit39 == 31 ) {
168 171 st24rc = '40';
169 172 st24message = 'Kode bank tidak terdaftar';
170 173 }
171   - else if ( response.outputParameter.bit39.$value == '63' ) {
  174 + else if ( bit39 == 63 ) {
172 175 st24rc = '40';
173 176 st24message = 'Reversal denied';
174 177 }
175   - else if ( response.outputParameter.bit39.$value == '68' ) {
  178 + else if ( bit39 == 68 ) {
176 179 st24rc = '68';
177 180 st24message = 'Transaksi sedang dalam proses';
178 181 }
179   - else if ( response.outputParameter.bit39.$value == '69' ) {
  182 + else if ( bit39 == 69 ) {
180 183 st24rc = '68';
181 184 st24message = 'Respon Ok lebih dari 24 detik';
182 185 }
183   - else if ( response.outputParameter.bit39.$value == '70' ) {
  186 + else if ( bit39 == 70 ) {
184 187 st24rc = '13';
185 188 st24message = 'Voucher out of stock';
186 189 }
187   - else if ( response.outputParameter.bit39.$value == '79' ) {
  190 + else if ( bit39 == 79 ) {
188 191 st24rc = '14';
189 192 st24message = 'Phone number is blocked by Telkomsel';
190 193 }
191   - else if ( response.outputParameter.bit39.$value == '81' ) {
  194 + else if ( bit39 == 81 ) {
192 195 st24rc = '14';
193 196 st24message = 'Phone number is expired';
194 197 }
195   - else if ( response.outputParameter.bit39.$value == '89' ) {
  198 + else if ( bit39 == 89 ) {
196 199 st24rc = '40';
197 200 st24message = 'Link to billing provider is down';
198 201 }
199   - else if ( response.outputParameter.bit39.$value == '91' ) {
  202 + else if ( bit39 == 91 ) {
200 203 st24rc = '40';
201 204 st24message = 'Database problem';
202 205 }
203   - else if ( response.outputParameter.bit39.$value == '92' ) {
  206 + else if ( bit39 == 92 ) {
204 207 st24rc = '40';
205 208 st24message = 'Unable to route transaction';
206 209 }
207   - else if ( response.outputParameter.bit39.$value == '94' ) {
  210 + else if ( bit39 == 94 ) {
208 211 st24rc = '40';
209 212 st24message = 'Duplicate reversal request';
210 213 }
  214 + else if ( resultCode == 0 && bit39 == 0) {
  215 +
  216 + var sn = '';
  217 +
  218 + try {
  219 + sn = response.outputParameter.bit61.$value.substring(43);
  220 + }
  221 + except(e) {
  222 + sn = '';
  223 + }
  224 +
  225 + st24message = 'SN=' + sn + '; ' + st24message;
  226 + st24rc = '00';
  227 + }
211 228  
212 229 var message =
213 230 response.outputParameter.resultCode.$value
214 231 + " " + response.outputParameter.resultDesc.$value
215   - + "; " + response.outputParameter.bit39.$value
  232 + + "; BIT39: " + response.outputParameter.bit39.$value
216 233 ;
217 234  
218 235 if (response.outputParameter.resultDesc.$value != st24message) {