diff --git a/pom.xml b/pom.xml
index b34f638..e24bae6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -325,7 +325,7 @@
com.unicenta
unicenta-plugins
- 1.1
+ 1.2-SNAPSHOT
com.gluonhq
diff --git a/src/main/java/com/unicenta/pos/config/JPanelConfigPayment.java b/src/main/java/com/unicenta/pos/config/JPanelConfigPayment.java
index 0e7391c..dfd6084 100644
--- a/src/main/java/com/unicenta/pos/config/JPanelConfigPayment.java
+++ b/src/main/java/com/unicenta/pos/config/JPanelConfigPayment.java
@@ -52,6 +52,7 @@ public class JPanelConfigPayment extends javax.swing.JPanel implements PanelConf
initPayments("Not defined", new ConfigPaymentPanelEmpty());
initPayments("external", new ConfigPaymentPanelEmpty());
initPayments("PaymentSense", new ConfigPaymentPanelEmpty());
+ initPayments("Teya", new ConfigPaymentPanelEmpty());
// Lector de tarjetas.
jcboCardReader.addItem("Not defined");
@@ -277,6 +278,12 @@ public class JPanelConfigPayment extends javax.swing.JPanel implements PanelConf
emvConfigPanel.setVisible(Boolean.TRUE);
jcboCardReader.setSelectedItem("EMV");
jcboCardReader.setEnabled(Boolean.FALSE);
+
+ }
+ else if (comboValue(jcboPaymentGateway.getSelectedItem()).equals("Teya")) {
+ emvConfigPanel.setVisible(Boolean.FALSE);
+ jcboCardReader.setSelectedItem("EMV");
+ jcboCardReader.setEnabled(Boolean.FALSE);
}
else {
emvConfigPanel.setVisible(Boolean.FALSE);
diff --git a/src/main/java/com/unicenta/pos/payment/PaymentGatewayFac.java b/src/main/java/com/unicenta/pos/payment/PaymentGatewayFac.java
index 0ef0c94..c0a8f55 100644
--- a/src/main/java/com/unicenta/pos/payment/PaymentGatewayFac.java
+++ b/src/main/java/com/unicenta/pos/payment/PaymentGatewayFac.java
@@ -39,6 +39,8 @@ public class PaymentGatewayFac {
return new PaymentGatewayExt();
case "PaymentSense":
return new PaymentGatewayPaymentSense();
+ case "Teya":
+ return new PaymentGatewayTeya();
default:
return null;
}
diff --git a/src/main/java/com/unicenta/pos/payment/PaymentGatewayTeya.java b/src/main/java/com/unicenta/pos/payment/PaymentGatewayTeya.java
new file mode 100644
index 0000000..b2f1c1a
--- /dev/null
+++ b/src/main/java/com/unicenta/pos/payment/PaymentGatewayTeya.java
@@ -0,0 +1,80 @@
+// uniCenta oPOS - Touch Friendly Point Of Sale
+// Copyright (c) 2009-2018 uniCenta & previous Openbravo POS works
+// https://unicenta.com
+//
+// This file is part of uniCenta oPOS
+//
+// uniCenta oPOS is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// uniCenta oPOS is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with uniCenta oPOS. If not, see .
+
+package com.unicenta.pos.payment;
+
+import com.unicenta.plugins.Application;
+import com.unicenta.plugins.common.AppContext;
+import com.unicenta.pos.util.RoundUtils;
+import lombok.extern.slf4j.Slf4j;
+
+import java.awt.*;
+
+@Slf4j
+public class PaymentGatewayTeya implements PaymentGateway {
+
+ /** Creates a new instance of PaymentGatewayExt */
+ public PaymentGatewayTeya() {
+ }
+
+ Window getPaymentWindow() {
+ for (Window window : Window.getWindows()) {
+ if (window.isActive()) {
+ return window;
+ }
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @param payinfo
+ */
+ @Override
+ public void execute(PaymentInfoMagcard payinfo) {
+
+ int timer = 0;
+ int timeout = 180;
+
+ double roundedValue = RoundUtils.round(payinfo.getTotal());
+
+ new Application().teyaTransaction(roundedValue, getPaymentWindow());
+
+ while (!AppContext.getTeyaSuccessfulPayment()) {
+ try {
+ log.info("uniCenta-oPos: waiting for payment to complete ....");
+ Thread.sleep(1000);
+ timer += 1;
+ if (timer > timeout) break;
+ } catch (InterruptedException e) {
+ log.error(e.getMessage());
+ }
+ }
+
+ payinfo.setCardName("Teya");
+ payinfo.setVerification("Chip and Pin");
+ payinfo.setChipAndPin(true);
+ payinfo.paymentOK(
+ "Teya",
+ "Teya",
+ "Teya"
+ );
+
+ }
+}