Commit aa561d430c00d5fdea29a1942b957557a12cd278
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) { |