cordova-plugin-netcontroll-integration-getnet 1.0.104

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,611 @@
1
+ package cordova.plugin.netcontroll.integration.getnet;
2
+
3
+ import static android.app.Activity.RESULT_OK;
4
+ import static androidx.core.app.ActivityCompat.startActivityForResult;
5
+
6
+ import static cordova.plugin.netcontroll.integration.getnet.NetControllHelpers.parseObjToJsonSrtring;
7
+
8
+ import org.apache.cordova.CallbackContext;
9
+ import org.apache.cordova.CordovaInterface;
10
+ import org.apache.cordova.CordovaPlugin;
11
+ import org.apache.cordova.CordovaWebView;
12
+
13
+ import org.json.JSONArray;
14
+ import org.json.JSONException;
15
+ import org.json.JSONObject;
16
+
17
+
18
+ import com.getnet.posdigital.PosDigital;
19
+ import com.getnet.posdigital.printer.AlignMode;
20
+ import com.getnet.posdigital.printer.FontFormat;
21
+ import com.getnet.posdigital.printer.IPrinterCallback;
22
+ import com.getnet.posdigital.printer.IPrinterService;
23
+ import com.google.gson.Gson;
24
+
25
+
26
+ // import androidx.annotation.NonNull;
27
+ import android.app.Activity;
28
+ import android.content.Context;
29
+ import android.content.Intent;
30
+ import android.graphics.Bitmap;
31
+ import android.net.Uri;
32
+ import android.os.Bundle;
33
+ import android.os.RemoteException;
34
+
35
+ //Json Serialize
36
+
37
+
38
+ //Bitmap
39
+
40
+ //GetNet
41
+
42
+
43
+ // import getNet.providers.ActiveApplicationProvider;
44
+ // import getNet.providers.BaseTransactionProvider;
45
+ // import getNet.providers.TransactionProvider;
46
+ // import getNet.providers.CancellationProvider;
47
+ // import getNet.providers.ReversalProvider;
48
+
49
+ // import getNet.application.GetNetStart;
50
+
51
+ // import getNet.application.interfaces.GetNetCallbackInterface;
52
+ // import getNet.application.interfaces.GetNetActionCallback;
53
+
54
+ // import getNet.application.enums.ErrorsEnum;
55
+ // import getNet.application.enums.InstalmentTransactionEnum;
56
+ // import getNet.application.enums.TypeOfTransactionEnum;
57
+ // import getNet.application.enums.Action;
58
+ // import getNet.application.enums.ReceiptType;
59
+ // import getNet.application.enums.TransactionStatusEnum;
60
+
61
+ // import br.com.getNet.posandroid.providers.PosPrintProvider;
62
+ // import br.com.getNet.posandroid.providers.PosTransactionProvider;
63
+ // import br.com.getNet.posandroid.providers.PosPrintReceiptProvider;
64
+
65
+ // import getNet.database.transaction.TransactionObject;
66
+ // import getNet.database.transaction.TransactionDAO;
67
+
68
+
69
+ // import getNet.user.UserModel;
70
+ // import getNet.utils.GetNet;
71
+
72
+
73
+ public class GetNetSumni {
74
+ // private BaseTransactionProvider transactionProvider;
75
+
76
+ //Cordova/Java Params
77
+ private Activity mActivity;
78
+ private Context mContext;
79
+ private CordovaInterface mCordova;
80
+ private CordovaWebView webView;
81
+
82
+ private PosDigital.BindCallback bindCallback;
83
+ // private static int PAYMENT_REQUEST_CODE = 890001;
84
+ private final int PAYMENT_REQUEST_CODE = 1001;
85
+ private final String ARG_RESULT = "result";
86
+ private final String ARG_RESULT_DETAILS = "resultDetails";
87
+ private final String ARG_AMOUNT = "amount";
88
+ private final String ARG_TYPE = "type";
89
+ private final String ARG_INPUT_TYPE = "inputType";
90
+ private final String ARG_INSTALLMENTS = "installments";
91
+ private final String ARG_NSU = "nsu";
92
+ private final String ARG_BRAND = "brand";
93
+
94
+ // public static int REQUEST_CODE = 10001;
95
+
96
+
97
+ // private void testarIntent() {
98
+ // try {
99
+ // Bundle bundle = new Bundle();
100
+ // bundle.putString("amount", "000000001000");
101
+ // bundle.putString("currencyPosition", "CURRENCY_AFTER_AMOUNT");
102
+ // bundle.putString("currencyCode", "986");
103
+ // this.startIntent(bundle, "getnet://pagamento/v1/checkstatus");
104
+ //// CordovaPlugin paymentResultCordovaPlugin = new CordovaPlugin() {
105
+ //// @Override
106
+ //// public void onActivityResult(int requestCode, int resultCode, Intent data) {
107
+ //// String teste = "";
108
+ ////// if (requestCode == REVERSAL_REQUEST_CODE) {
109
+ ////// if (resultCode == RESULT_OK) {
110
+ ////// if (data != null) {
111
+ ////// Gson gson = new Gson();
112
+ ////// Payment payment = RedePayments.getPaymentFromIntent(data);
113
+ ////// if (payment.getStatus() == PaymentStatus.AUTHORIZED) {
114
+ ////// callbackContext.success(gson.toJson(payment));
115
+ ////// } else if (payment.getStatus() == PaymentStatus.FAILED) {
116
+ ////// callbackContext.success(gson.toJson(payment));
117
+ ////// } else if (payment.getStatus() == PaymentStatus.DECLINED) {
118
+ ////// callbackContext.success(gson.toJson(payment));
119
+ ////// }
120
+ ////// }
121
+ ////// } else if (resultCode == RESULT_CANCELED) {
122
+ ////// callbackContext.error("Operação cancelada pelo usuário");
123
+ ////// }
124
+ ////// } else {
125
+ ////// callbackContext.error("Estorno result não encontrado");
126
+ ////// }
127
+ //// }
128
+ //// };
129
+ // } catch (Exception error1) {
130
+ //// callbackContext.error("Result - GetNet - Sumni - InitializeSdk: " + "Error Detail: " + error1);
131
+ // }
132
+ //
133
+ // }
134
+
135
+
136
+ public void initialize(CordovaInterface cordova, CordovaWebView webView) {
137
+ this.webView = webView;
138
+ mActivity = cordova.getActivity();
139
+ mContext = this.webView.getContext();
140
+ mCordova = cordova;
141
+ }
142
+
143
+ public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
144
+ String callbackContextMessageBase = "Result GetNet Sumni P2 - " + action + ": ";
145
+ if (action.equals("InitializeSdk")) {
146
+ JSONObject params = args.getJSONObject(0);
147
+ try {
148
+ this.bindCallback = new PosDigital.BindCallback() {
149
+ @Override
150
+ public void onError(Exception e) {
151
+ if (PosDigital.getInstance().isInitiated()) {
152
+ PosDigital.unregister(mContext);
153
+ }
154
+ connectPosDigitalService();
155
+ }
156
+
157
+ @Override
158
+ public void onConnected() {
159
+ callbackContext.success(callbackContextMessageBase + "Success");
160
+ }
161
+
162
+ @Override
163
+ public void onDisconnected() {
164
+ callbackContext.error("DESCONECTADO");
165
+ }
166
+ };
167
+ this.connectPosDigitalService();
168
+ return true;
169
+ } catch (Exception error) {
170
+ callbackContext.error(callbackContextMessageBase + "Error Detail: " + error);
171
+ }
172
+ return false;
173
+ } else if (action.equals("IniciarTransacao")) {
174
+ try {
175
+ JSONObject params = args.getJSONObject(0);
176
+
177
+ String automacaoId = params.getString("automacaoId");
178
+ String tipoTransacao = params.getString("tipoTransacao");
179
+ String valor = params.getString("valor");
180
+ int tipoParcelamento = params.getInt("tipoParcelamento");
181
+
182
+
183
+ String numeroParcelas = params.getString("parcelas");
184
+
185
+ Bundle bundle = new Bundle();
186
+ bundle.putString("callerId", automacaoId);
187
+ bundle.putString("paymentType", tipoTransacao);
188
+ bundle.putString("amount", valor);
189
+ bundle.putBoolean("allowPrintCurrentTransaction", false);
190
+
191
+ switch (tipoTransacao) {
192
+ case "credit":
193
+ if (!numeroParcelas.equals("0") && !numeroParcelas.equals("1")) {
194
+ if (tipoParcelamento == 1) {
195
+ bundle.putString("creditType", "creditMerchant");
196
+ } else {
197
+ bundle.putString("creditType", "creditIssuer");
198
+ }
199
+ }
200
+ bundle.putString("installments", numeroParcelas);
201
+ break;
202
+ default:
203
+ break;
204
+ }
205
+
206
+ CordovaPlugin intentResultCordovaPlugin = new CordovaPlugin() {
207
+ @Override
208
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
209
+ try {
210
+ if (RESULT_OK == resultCode && PAYMENT_REQUEST_CODE == requestCode) {
211
+ GetNetPaymentResult resultPayment = new GetNetPaymentResult();
212
+
213
+ resultPayment.result = data.getStringExtra("result");
214
+ resultPayment.resultDetails = data.getStringExtra("resultDetails");
215
+ resultPayment.amount = data.getStringExtra("amount");
216
+ resultPayment.callerId = data.getStringExtra("callerId");
217
+ resultPayment.nsu = data.getStringExtra("nsu");
218
+ resultPayment.nsuLastSuccesfullMessage = data.getStringExtra("nsuLastSuccesfullMessage");
219
+ resultPayment.cvNumber = data.getStringExtra("cvNumber");
220
+ resultPayment.type = data.getStringExtra("type");
221
+ resultPayment.brand = data.getStringExtra("brand");
222
+ resultPayment.inputType = data.getStringExtra("inputType");
223
+ resultPayment.installments = data.getStringExtra("installments");
224
+ resultPayment.gmtDateTime = data.getStringExtra("gmtDateTime");
225
+ resultPayment.nsuLocal = data.getStringExtra("nsuLocal");
226
+ resultPayment.authorizationCode = data.getStringExtra("authorizationCode");
227
+ resultPayment.cardBin = data.getStringExtra("cardBin");
228
+ resultPayment.cardLastDigits = data.getStringExtra("cardLastDigits");
229
+ resultPayment.extraScreensResult = data.getStringExtra("extraScreensResult");
230
+ resultPayment.cardholderName = data.getStringExtra("cardholderName");
231
+ resultPayment.automationSlip = data.getStringExtra("automationSlip");
232
+ resultPayment.printMerchantPreference = data.getStringExtra("printMerchantPreference");
233
+ resultPayment.orderId = data.getStringExtra("orderId");
234
+ resultPayment.pixPayloadResponse = data.getStringExtra("pixPayloadResponse");
235
+ resultPayment.refundCvNumber = data.getStringExtra("refundCvNumber");
236
+ resultPayment.refundOriginTerminal = data.getStringExtra("refundOriginTerminal");
237
+ resultPayment.refundTransactionDate = data.getStringExtra("refundTransactionDate");
238
+ resultPayment.refunded = data.getStringExtra("refunded");
239
+
240
+ if (resultPayment.result.equals("0")) {
241
+ callbackContext.success(parseObjToJsonSrtring(resultPayment));
242
+ } else {
243
+ callbackContext.error(parseObjToJsonSrtring(resultPayment));
244
+ }
245
+ }
246
+ } catch (Exception e) {
247
+ throw new RuntimeException(e);
248
+ }
249
+ }
250
+ };
251
+ this.startIntent(bundle, "getnet://pagamento/v3/payment", PAYMENT_REQUEST_CODE, intentResultCordovaPlugin);
252
+ return true;
253
+ } catch (Exception error) {
254
+ callbackContext.error(callbackContextMessageBase + "Error Detail: " + error);
255
+ }
256
+ return false;
257
+ } else if (action.equals("CancelarTransacao")) {
258
+ try {
259
+ JSONObject params = args.getJSONObject(0);
260
+ String jsonStr = params.getString("transactionObject");
261
+ Gson gson = new Gson();
262
+ GetNetPaymentResult transacaoCancelar = gson.fromJson(jsonStr, GetNetPaymentResult.class);
263
+ Bundle bundle = new Bundle();
264
+ bundle.putString("amount", transacaoCancelar.amount);
265
+ bundle.putString("cvNumber", transacaoCancelar.cvNumber);
266
+ bundle.putBoolean("allowPrintCurrentTransaction", false);
267
+
268
+ CordovaPlugin intentResultCordovaPlugin = new CordovaPlugin() {
269
+ @Override
270
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
271
+ try {
272
+ if (RESULT_OK == resultCode && PAYMENT_REQUEST_CODE == requestCode) {
273
+ GetNetPaymentResult resultPayment = new GetNetPaymentResult();
274
+ resultPayment.result = data.getStringExtra("result");
275
+ resultPayment.resultDetails = data.getStringExtra("resultDetails");
276
+ resultPayment.amount = data.getStringExtra("amount");
277
+ resultPayment.callerId = data.getStringExtra("callerId");
278
+ resultPayment.nsu = data.getStringExtra("nsu");
279
+ resultPayment.nsuLastSuccesfullMessage = data.getStringExtra("nsuLastSuccesfullMessage");
280
+ resultPayment.cvNumber = data.getStringExtra("cvNumber");
281
+ resultPayment.type = data.getStringExtra("type");
282
+ resultPayment.brand = data.getStringExtra("brand");
283
+ resultPayment.inputType = data.getStringExtra("inputType");
284
+ resultPayment.installments = data.getStringExtra("installments");
285
+ resultPayment.gmtDateTime = data.getStringExtra("gmtDateTime");
286
+ resultPayment.nsuLocal = data.getStringExtra("nsuLocal");
287
+ resultPayment.authorizationCode = data.getStringExtra("authorizationCode");
288
+ resultPayment.cardBin = data.getStringExtra("cardBin");
289
+ resultPayment.cardLastDigits = data.getStringExtra("cardLastDigits");
290
+ resultPayment.extraScreensResult = data.getStringExtra("extraScreensResult");
291
+ resultPayment.cardholderName = data.getStringExtra("cardholderName");
292
+ resultPayment.automationSlip = data.getStringExtra("automationSlip");
293
+ resultPayment.printMerchantPreference = data.getStringExtra("printMerchantPreference");
294
+ resultPayment.orderId = data.getStringExtra("orderId");
295
+ resultPayment.pixPayloadResponse = data.getStringExtra("pixPayloadResponse");
296
+ resultPayment.refundCvNumber = data.getStringExtra("refundCvNumber");
297
+ resultPayment.refundOriginTerminal = data.getStringExtra("refundOriginTerminal");
298
+ resultPayment.refundTransactionDate = data.getStringExtra("refundTransactionDate");
299
+ resultPayment.refunded = data.getStringExtra("refunded");
300
+
301
+ if (resultPayment.result.equals("0")) {
302
+ callbackContext.success(parseObjToJsonSrtring(resultPayment));
303
+ } else {
304
+ callbackContext.error(parseObjToJsonSrtring(resultPayment));
305
+ }
306
+ }
307
+ } catch (Exception e) {
308
+ throw new RuntimeException(e);
309
+ }
310
+ }
311
+ };
312
+ this.startIntent(bundle, "getnet://pagamento/v1/refund", PAYMENT_REQUEST_CODE, intentResultCordovaPlugin);
313
+ return true;
314
+ } catch (Exception error) {
315
+ callbackContext.error(callbackContextMessageBase + "Error Detail: " + error);
316
+ }
317
+ return false;
318
+ } else if (action.equals("ReimprimirUltimo")) {
319
+ try {
320
+ JSONObject params = args.getJSONObject(0);
321
+ Bundle bundle = new Bundle();
322
+ CordovaPlugin intentResultCordovaPlugin = new CordovaPlugin() {
323
+ @Override
324
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
325
+ try {
326
+ if (RESULT_OK == resultCode && PAYMENT_REQUEST_CODE == requestCode) {
327
+ GetNetPaymentResult resultPayment = new GetNetPaymentResult();
328
+ resultPayment.result = data.getStringExtra("result");
329
+ resultPayment.resultDetails = data.getStringExtra("resultDetails");
330
+ resultPayment.amount = data.getStringExtra("amount");
331
+ resultPayment.callerId = data.getStringExtra("callerId");
332
+ resultPayment.nsu = data.getStringExtra("nsu");
333
+ resultPayment.nsuLastSuccesfullMessage = data.getStringExtra("nsuLastSuccesfullMessage");
334
+ resultPayment.cvNumber = data.getStringExtra("cvNumber");
335
+ resultPayment.type = data.getStringExtra("type");
336
+ resultPayment.brand = data.getStringExtra("brand");
337
+ resultPayment.inputType = data.getStringExtra("inputType");
338
+ resultPayment.installments = data.getStringExtra("installments");
339
+ resultPayment.gmtDateTime = data.getStringExtra("gmtDateTime");
340
+ resultPayment.nsuLocal = data.getStringExtra("nsuLocal");
341
+ resultPayment.authorizationCode = data.getStringExtra("authorizationCode");
342
+ resultPayment.cardBin = data.getStringExtra("cardBin");
343
+ resultPayment.cardLastDigits = data.getStringExtra("cardLastDigits");
344
+ resultPayment.extraScreensResult = data.getStringExtra("extraScreensResult");
345
+ resultPayment.cardholderName = data.getStringExtra("cardholderName");
346
+ resultPayment.automationSlip = data.getStringExtra("automationSlip");
347
+ resultPayment.printMerchantPreference = data.getStringExtra("printMerchantPreference");
348
+ resultPayment.orderId = data.getStringExtra("orderId");
349
+ resultPayment.pixPayloadResponse = data.getStringExtra("pixPayloadResponse");
350
+ resultPayment.refundCvNumber = data.getStringExtra("refundCvNumber");
351
+ resultPayment.refundOriginTerminal = data.getStringExtra("refundOriginTerminal");
352
+ resultPayment.refundTransactionDate = data.getStringExtra("refundTransactionDate");
353
+ resultPayment.refunded = data.getStringExtra("refunded");
354
+
355
+ if (resultPayment.result.equals("0")) {
356
+ callbackContext.success(parseObjToJsonSrtring(resultPayment));
357
+ } else {
358
+ callbackContext.error(parseObjToJsonSrtring(resultPayment));
359
+ }
360
+ }
361
+ } catch (Exception e) {
362
+ throw new RuntimeException(e);
363
+ }
364
+ }
365
+ };
366
+ this.startIntent(bundle, "getnet://pagamento/v1/reprint", PAYMENT_REQUEST_CODE, intentResultCordovaPlugin);
367
+ return true;
368
+ } catch (Exception error) {
369
+ callbackContext.error(callbackContextMessageBase + "Error Detail: " + error);
370
+ }
371
+ return false;
372
+ } else if (action.equals("ObterInformacaoTerminal")) {
373
+ try {
374
+ JSONObject params = args.getJSONObject(0);
375
+ Bundle bundle = new Bundle();
376
+ CordovaPlugin intentResultCordovaPlugin = new CordovaPlugin() {
377
+ @Override
378
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
379
+ try {
380
+ if (RESULT_OK == resultCode && PAYMENT_REQUEST_CODE == requestCode) {
381
+ GetNetTerminalInfoResult terminalInfoResult = new GetNetTerminalInfoResult();
382
+ terminalInfoResult.result = data.getStringExtra("result");
383
+ terminalInfoResult.ec = data.getStringExtra("ec");
384
+ terminalInfoResult.numserie = data.getStringExtra("numserie");
385
+ terminalInfoResult.numlogic = data.getStringExtra("numlogic");
386
+ terminalInfoResult.version = data.getStringExtra("version");
387
+ terminalInfoResult.cnpjEC = data.getStringExtra("cnpjEC");
388
+ terminalInfoResult.nomeEC = data.getStringExtra("nomeEC");
389
+ terminalInfoResult.razaoSocialEC = data.getStringExtra("razaoSocialEC");
390
+ terminalInfoResult.cidadeEC = data.getStringExtra("cidadeEC");
391
+
392
+ if (terminalInfoResult.result.equals("0")) {
393
+ callbackContext.success(parseObjToJsonSrtring(terminalInfoResult));
394
+ } else {
395
+ callbackContext.error(parseObjToJsonSrtring(terminalInfoResult));
396
+ }
397
+ }
398
+ } catch (Exception e) {
399
+ throw new RuntimeException(e);
400
+ }
401
+ }
402
+ };
403
+ this.startIntent(bundle, "getnet://pagamento/v1/getinfos", PAYMENT_REQUEST_CODE, intentResultCordovaPlugin);
404
+ return true;
405
+ } catch (Exception error) {
406
+ callbackContext.error(callbackContextMessageBase + "Error Detail: " + error);
407
+ }
408
+ return false;
409
+ } else if (action.equals("ConsultaStatus")) {
410
+ try {
411
+ JSONObject params = args.getJSONObject(0);
412
+ String jsonStr = params.getString("transactionObject");
413
+ Gson gson = new Gson();
414
+ GetNetPaymentResult transacaoConsulta = gson.fromJson(jsonStr, GetNetPaymentResult.class);
415
+ Bundle bundle = new Bundle();
416
+ bundle.putString("callerId", transacaoConsulta.callerId);
417
+ bundle.putBoolean("allowPrintCurrentTransaction", false);
418
+ CordovaPlugin intentResultCordovaPlugin = new CordovaPlugin() {
419
+ @Override
420
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
421
+ try {
422
+ if (RESULT_OK == resultCode && PAYMENT_REQUEST_CODE == requestCode) {
423
+ GetNetPaymentResult resultPayment = new GetNetPaymentResult();
424
+ resultPayment.result = data.getStringExtra("result");
425
+ resultPayment.resultDetails = data.getStringExtra("resultDetails");
426
+ resultPayment.amount = data.getStringExtra("amount");
427
+ resultPayment.callerId = data.getStringExtra("callerId");
428
+ resultPayment.nsu = data.getStringExtra("nsu");
429
+ resultPayment.nsuLastSuccesfullMessage = data.getStringExtra("nsuLastSuccesfullMessage");
430
+ resultPayment.cvNumber = data.getStringExtra("cvNumber");
431
+ resultPayment.type = data.getStringExtra("type");
432
+ resultPayment.brand = data.getStringExtra("brand");
433
+ resultPayment.inputType = data.getStringExtra("inputType");
434
+ resultPayment.installments = data.getStringExtra("installments");
435
+ resultPayment.gmtDateTime = data.getStringExtra("gmtDateTime");
436
+ resultPayment.nsuLocal = data.getStringExtra("nsuLocal");
437
+ resultPayment.authorizationCode = data.getStringExtra("authorizationCode");
438
+ resultPayment.cardBin = data.getStringExtra("cardBin");
439
+ resultPayment.cardLastDigits = data.getStringExtra("cardLastDigits");
440
+ resultPayment.extraScreensResult = data.getStringExtra("extraScreensResult");
441
+ resultPayment.cardholderName = data.getStringExtra("cardholderName");
442
+ resultPayment.automationSlip = data.getStringExtra("automationSlip");
443
+ resultPayment.printMerchantPreference = data.getStringExtra("printMerchantPreference");
444
+ resultPayment.orderId = data.getStringExtra("orderId");
445
+ resultPayment.pixPayloadResponse = data.getStringExtra("pixPayloadResponse");
446
+ resultPayment.refundCvNumber = data.getStringExtra("refundCvNumber");
447
+ resultPayment.refundOriginTerminal = data.getStringExtra("refundOriginTerminal");
448
+ resultPayment.refundTransactionDate = data.getStringExtra("refundTransactionDate");
449
+ resultPayment.refunded = data.getStringExtra("refunded");
450
+
451
+ if (resultPayment.result.equals("0")) {
452
+ callbackContext.success(parseObjToJsonSrtring(resultPayment));
453
+ } else {
454
+ callbackContext.error(parseObjToJsonSrtring(resultPayment));
455
+ }
456
+ }
457
+ } catch (Exception e) {
458
+ throw new RuntimeException(e);
459
+ }
460
+ }
461
+ };
462
+ this.startIntent(bundle, "getnet://pagamento/v1/checkstatus", PAYMENT_REQUEST_CODE, intentResultCordovaPlugin);
463
+ return true;
464
+ } catch (Exception error) {
465
+ callbackContext.error(callbackContextMessageBase + "Error Detail: " + error);
466
+ }
467
+ return false;
468
+ } else if (action.equals("ImpressaoTextoNetPrint")) {
469
+ JSONObject params = args.getJSONObject(0);
470
+ try {
471
+ String dados = params.getString("dados");
472
+ String html = cordova.plugin.netcontroll.integration.getnet.NetControllPrinter.ConverterTextoImpressoToHtml(dados);
473
+ cordova.plugin.netcontroll.integration.getnet.NetControllPrinter.ConverterHtmlToBitmap(html, mContext, bitmapResult -> {
474
+ try {
475
+ Bitmap dadosImg = bitmapResult;
476
+ IPrinterService printerService = PosDigital.getInstance().getPrinter();
477
+ printerService.init();
478
+ printerService.addImageBitmap(AlignMode.CENTER, dadosImg);
479
+ printerService.addText(AlignMode.LEFT, " ");
480
+ printerService.addText(AlignMode.LEFT, " ");
481
+ printerService.addText(AlignMode.LEFT, " ");
482
+ printerService.addText(AlignMode.LEFT, " ");
483
+ printerService.print(new IPrinterCallback.Stub() {
484
+ @Override
485
+ public void onSuccess() throws RemoteException {
486
+ callbackContext.success(html);
487
+ }
488
+
489
+ @Override
490
+ public void onError(int i) throws RemoteException {
491
+ String errorMessage = "666";
492
+
493
+ switch (i) {
494
+ case 0:
495
+ errorMessage = "OK";
496
+ break;
497
+ case 1:
498
+ errorMessage = "PRINTING";
499
+ break;
500
+ case 3:
501
+ errorMessage = "ERROR_OVERHEAT";
502
+ break;
503
+ case 4:
504
+ errorMessage = "ERROR_BUFOVERFLOW";
505
+ break;
506
+ case 5:
507
+ errorMessage = "ERROR_PARAM";
508
+ break;
509
+
510
+ case 10:
511
+ errorMessage = "ERROR_LIFTHEAD";
512
+ break;
513
+ case 11:
514
+ errorMessage = "ERROR_LOWTEMP";
515
+ break;
516
+ case 12:
517
+ errorMessage = "ERROR_LOWVOL";
518
+ break;
519
+ case 13:
520
+ errorMessage = "ERROR_MOTORERR";
521
+ break;
522
+ case 15:
523
+ errorMessage = "ERROR_NO_PAPER";
524
+ break;
525
+ case 16:
526
+ errorMessage = "ERROR_PAPERENDING";
527
+ break;
528
+ case 17:
529
+ errorMessage = "ERROR_PAPERJAM";
530
+ break;
531
+ default:
532
+ errorMessage = "UNKNOW";
533
+ break;
534
+ }
535
+
536
+
537
+ callbackContext.error("ImpressaoTextoNetPrint error: Ao imprimir: " + errorMessage);
538
+ }
539
+ });
540
+ } catch (RemoteException e) {
541
+ throw new RuntimeException(e);
542
+ }
543
+ });
544
+ return true;
545
+ } catch (Exception error) {
546
+ callbackContext.error(callbackContextMessageBase + "Error Detail: " + error);
547
+ }
548
+ return false;
549
+ }
550
+ return false;
551
+ }
552
+
553
+
554
+ // Helpers
555
+ private void connectPosDigitalService() {
556
+ PosDigital.register(mContext, bindCallback);
557
+ }
558
+
559
+ private void startIntent(Bundle bundle, String deeplink, int requestCode, CordovaPlugin intentResultCordovaPlugin) {
560
+ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(deeplink));
561
+ if (bundle != null) {
562
+ intent.putExtras(bundle);
563
+ }
564
+ mCordova.startActivityForResult(intentResultCordovaPlugin, intent, requestCode);
565
+ }
566
+
567
+ public class GetNetPaymentResult {
568
+
569
+ public String result;
570
+ public String resultDetails;
571
+ public String amount;
572
+ public String callerId;
573
+ public String nsu;
574
+ public String nsuLastSuccesfullMessage;
575
+ public String cvNumber;
576
+ public String type;
577
+ public String brand;
578
+ public String inputType;
579
+ public String installments;
580
+ public String gmtDateTime;
581
+ public String nsuLocal;
582
+ public String authorizationCode;
583
+ public String cardBin;
584
+ public String cardLastDigits;
585
+ public String extraScreensResult;
586
+ public String cardholderName;
587
+ public String automationSlip;
588
+ public String printMerchantPreference;
589
+ public String orderId;
590
+ public String pixPayloadResponse;
591
+ public String refundCvNumber;
592
+ public String refundOriginTerminal;
593
+ public String refundTransactionDate;
594
+ public String refunded;
595
+
596
+ }
597
+
598
+ public class GetNetTerminalInfoResult {
599
+ public String result;
600
+ public String ec;
601
+ public String numserie;
602
+ public String numlogic;
603
+ public String version;
604
+ public String cnpjEC;
605
+ public String nomeEC;
606
+ public String razaoSocialEC;
607
+ public String cidadeEC;
608
+ }
609
+
610
+ }
611
+