Use latest stability build:

implementation 'com.dvmms:dejapay:2.0.22'

Transport Types

External

These transport types are using for creating a DejavooTerminal. This is necessary to connect to the terminal as an external device
public DejavooTerminal(IDejavooTransport transport)

ProxyTransport

public ProxyDejavooTransport(String tpn, String path, String authKey, String registerId, int timeoutSeconds) {
    super(path, new ProxyWebPaymentApiClient(path, timeoutSeconds, timeoutSeconds));
    this.authKey = authKey;
    this.registerId = registerId;
    this.tpn = tpn;
}

public ProxyDejavooTransport(String tpn, String path, String authKey, String registerId) {
    this(tpn, path, authKey, registerId, 800);
}

URLs for SPIN proxy

https://spinpos.net/spin - Production environment

https://test.spinpos.net/spin -  Stage environment

BluetoothTransport

public BluetoothDejavooTransport(Context context, String tpn, String macAddress, boolean security, String password, String registerId, String authKey, int timeoutSeconds) {
    this.tpn = tpn;
    this.macAddress = macAddress;
    this.security = security;
    this.password = password;
    this.bluetoothService = BluetoothService.getInstance(context);
    this.registerId = registerId;
    this.authKey = authKey;
    this.logger = new FakeLogger();
    this.timeoutSeconds = timeoutSeconds;
}

public BluetoothDejavooTransport(Context context, String tpn, String macAddress, boolean security, String password) {
    this(context, tpn, macAddress, security, password, "1", "", 120);
}

public BluetoothDejavooTransport(Context context, String tpn, String macAddress, boolean security, String password, int timeoutSeconds) {
    this(context, tpn, macAddress, security, password, "1", "", timeoutSeconds);
}

WifiDejavooTransport

public WifiDejavooTransport(String tpn, String scheme, String host, Integer port) {
    this(tpn, scheme, host, port, 800);
}

public WifiDejavooTransport(String tpn, String scheme, String host, Integer port, String authKey) {
    this(tpn, scheme, host, port, 800, authKey);
}

public WifiDejavooTransport(String tpn, String scheme, String host, Integer port, int timeoutSeconds) {
    this(tpn, scheme, host, port, timeoutSeconds, "");

}

public WifiDejavooTransport(String tpn, String scheme, String host, Integer port, int timeoutSeconds, String authKey) {
    super(
            getPath(scheme, host, port),
            new WifiWebPaymentApiClient(getPath(scheme, host, port), timeoutSeconds, timeoutSeconds)
    );
    this.tpn = tpn;
    this.authKey = authKey;
}

800 - timeout in Seconds

Internal

The following classes are used to connect to the terminal as an internal device: