From 3635f9a32585d74908c33b2b8805d5f1f3cf5c3e Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Mon, 26 Jul 2021 15:42:36 +0200 Subject: [PATCH 01/14] Some documentation improvements and changes to run tests and examples on v2 (still need to add the new v2 parameters to the SDK) --- examples/android/app/build.gradle | 2 +- examples/jre/readme.md | 9 +++++++++ .../jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java | 2 +- examples/jre/src/main/resources/readme.md | 1 + src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java | 2 +- 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/examples/android/app/build.gradle b/examples/android/app/build.gradle index 81d4ee2..a7cbb70 100644 --- a/examples/android/app/build.gradle +++ b/examples/android/app/build.gradle @@ -19,5 +19,5 @@ dependencies { implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.fiskaly.sdk:fiskaly-sdk:1.2.200-android' - implementation files('libs/com.fiskaly.client-android-all-v1.2.200.aar') + implementation files('libs/com.fiskaly.client-android-all-v1.2.400.aar') } diff --git a/examples/jre/readme.md b/examples/jre/readme.md index b64b49c..ada7d53 100644 --- a/examples/jre/readme.md +++ b/examples/jre/readme.md @@ -14,6 +14,15 @@ $ ./gradlew build ## Run example +First, set environment variables `FISKALY_API_KEY` and `FISKALY_API_SECRET` to your API key and secret: + +```bash +export FISKALY_API_KEY=yourAPIkey + export FISKALY_API_SECRET=yourAPIsecret + ``` + + Next, run the sample: + ```bash $ ./gradlew run ``` diff --git a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java index 382c295..c99a80b 100644 --- a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java +++ b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java @@ -7,7 +7,7 @@ public static void main(String[] args) throws Exception { final String apiKey = System.getenv("FISKALY_API_KEY"); final String apiSecret = System.getenv("FISKALY_API_SECRET"); final FiskalyHttpClient client = - new FiskalyHttpClient(apiKey, apiSecret, "https://kassensichv.io/api/v1"); + new FiskalyHttpClient(apiKey, apiSecret, "https:// kassensichv.fiskaly.dev/api/v2"); final FiskalyHttpResponse response = client.request("GET", "/tss"); System.out.println(response); } diff --git a/examples/jre/src/main/resources/readme.md b/examples/jre/src/main/resources/readme.md index cc2a9cc..9c2108d 100644 --- a/examples/jre/src/main/resources/readme.md +++ b/examples/jre/src/main/resources/readme.md @@ -6,3 +6,4 @@ First, go to https://developer.fiskaly.com/downloads and download the client lib - Put `com.fiskaly.client-linux-amd64-vX.Y.Z.so` into `linux-x86-64/` - Put `com.fiskaly.client-windows-386-vX.Y.Z.so` into `win32-x86/` - Put `com.fiskaly.client-windiws-amd64-vX.Y.Z.so` into `win32-x86-64/` +- Put `com.fiskaly.client-darwin-amd64-vX.Y.Z.dylib` into `darwin/` and rename it to `libcom.fiskaly.client-darwin-amd64-vX.Y.Z.dylib` diff --git a/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java b/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java index 67b2751..36c9faa 100644 --- a/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java +++ b/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java @@ -19,7 +19,7 @@ public class FiskalyHttpClientTest { public FiskalyHttpClient createClient() throws IOException, URISyntaxException, FiskalyHttpTimeoutException, FiskalyClientException, FiskalyHttpException { - return new FiskalyHttpClient(API_KEY, API_SECRET, "https://kassensichv.io/api/v1"); + return new FiskalyHttpClient(API_KEY, API_SECRET, "https:// kassensichv.fiskaly.dev/api/v2"); } @Test From 3189c753ca5dc429c215bec0c0e0939256205dfe Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Wed, 28 Jul 2021 15:01:45 +0200 Subject: [PATCH 02/14] Removed space from URL Fixed crash from trying to access x-request-id in v2 Added mice url parameter for v2 --- .../com/fiskaly/sdk/FiskalyHttpClient.java | 21 +++++++++++++++---- .../sdk/factories/ExceptionFactory.java | 11 +++++++++- .../sdk/params/ParamCreateContext.java | 8 ++++++- .../fiskaly/sdk/FiskalyHttpClientTest.java | 2 +- 4 files changed, 35 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/fiskaly/sdk/FiskalyHttpClient.java b/src/main/java/com/fiskaly/sdk/FiskalyHttpClient.java index 5c0fb2a..cf396bc 100644 --- a/src/main/java/com/fiskaly/sdk/FiskalyHttpClient.java +++ b/src/main/java/com/fiskaly/sdk/FiskalyHttpClient.java @@ -25,12 +25,13 @@ public FiskalyHttpClient( final String email, final String password, final String organizationId, - final String environment) + final String environment, + final URI miceUrl) throws IOException, FiskalyHttpTimeoutException, FiskalyClientException, FiskalyHttpException { final ParamCreateContext params = new ParamCreateContext( - apiKey, apiSecret, baseUrl, email, password, organizationId, environment); + apiKey, apiSecret, baseUrl, email, password, organizationId, environment,miceUrl); final JsonRpcRequest request = new JsonRpcRequest("create-context", params); final JsonRpcResponse response = doInvoke(request, ResultCreateContext.class); @@ -45,13 +46,19 @@ public FiskalyHttpClient( final String password) throws IOException, FiskalyHttpTimeoutException, FiskalyClientException, FiskalyHttpException { - this(apiKey, apiSecret, baseUrl, email, password, "", ""); + this(apiKey, apiSecret, baseUrl, email, password, "", "", null); } public FiskalyHttpClient(final String apiKey, final String apiSecret, final URI baseUrl) throws IOException, FiskalyHttpTimeoutException, FiskalyClientException, FiskalyHttpException { - this(apiKey, apiSecret, baseUrl, "", "", "", ""); + this(apiKey, apiSecret, baseUrl, "", "", "", "", null); + } + + public FiskalyHttpClient(final String apiKey, final String apiSecret, final URI baseUrl, final URI miceUrl) + throws IOException, FiskalyHttpTimeoutException, FiskalyClientException, + FiskalyHttpException { + this(apiKey, apiSecret, baseUrl, "", "", "", "",miceUrl); } public FiskalyHttpClient(final String apiKey, final String apiSecret, final String baseUrl) @@ -59,6 +66,12 @@ public FiskalyHttpClient(final String apiKey, final String apiSecret, final Stri FiskalyHttpTimeoutException { this(apiKey, apiSecret, new URI(baseUrl)); } + + public FiskalyHttpClient(final String apiKey, final String apiSecret, final String baseUrl, final String miceUrl) + throws IOException, URISyntaxException, FiskalyHttpException, FiskalyClientException, + FiskalyHttpTimeoutException { + this(apiKey, apiSecret, new URI(baseUrl), new URI(miceUrl)); + } public ResultVersion version() throws FiskalyHttpException, FiskalyHttpTimeoutException, FiskalyClientException, diff --git a/src/main/java/com/fiskaly/sdk/factories/ExceptionFactory.java b/src/main/java/com/fiskaly/sdk/factories/ExceptionFactory.java index 6585179..24955f0 100644 --- a/src/main/java/com/fiskaly/sdk/factories/ExceptionFactory.java +++ b/src/main/java/com/fiskaly/sdk/factories/ExceptionFactory.java @@ -8,6 +8,7 @@ import com.google.gson.Gson; import java.io.IOException; import net.iharder.Base64; +import java.util.*; public abstract class ExceptionFactory { private static final Gson GSON = GsonFactory.createGson(); @@ -17,7 +18,15 @@ private ExceptionFactory() {} public static FiskalyHttpException buildHttpException(final JsonRpcResponse response) throws IOException { final ErrorData errorData = GSON.fromJson(GSON.toJson(response.error.data), ErrorData.class); - final String requestId = (String) errorData.response.headers.get("x-request-id").get(0); + String requestId = null; + //request id is in x-request-id header in v1, request-id in v2. + List requestIds = errorData.response.headers.get("x-request-id"); + if (requestIds == null) { + requestIds = errorData.response.headers.get("request-id"); + } + if (requestIds != null) { + requestId = (String)requestIds.get(0); + } final String decodedBody = new String(Base64.decode(errorData.response.body), "UTF-8"); final FiskalyApiError errorBody = GSON.fromJson(decodedBody, FiskalyApiError.class); diff --git a/src/main/java/com/fiskaly/sdk/params/ParamCreateContext.java b/src/main/java/com/fiskaly/sdk/params/ParamCreateContext.java index 67060e8..09760c6 100644 --- a/src/main/java/com/fiskaly/sdk/params/ParamCreateContext.java +++ b/src/main/java/com/fiskaly/sdk/params/ParamCreateContext.java @@ -6,6 +6,7 @@ public class ParamCreateContext { public final String apiKey; public final String apiSecret; public final URI baseUrl; + public final URI miceUrl; public final String email; public final String password; public final String organizationId; @@ -18,7 +19,8 @@ public ParamCreateContext( final String email, final String password, final String organizationId, - final String environment) { + final String environment, + final URI miceUrl) { if (email == null || email.isEmpty()) { if (apiKey == null || apiKey.isEmpty()) { throw new IllegalArgumentException("Missing or empty \"apiKey\" parameter"); @@ -41,6 +43,7 @@ public ParamCreateContext( throw new IllegalArgumentException("Missing or empty \"baseUrl\" parameter"); } this.baseUrl = baseUrl; + this.miceUrl = miceUrl; this.email = email == null ? "" : email; this.password = password == null ? "" : password; @@ -71,6 +74,9 @@ public String toString() { + '\'' + ", baseUrl=" + baseUrl + + '\'' + + ", miceUrl=" + + miceUrl + '}'; } } diff --git a/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java b/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java index 36c9faa..b0ae81e 100644 --- a/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java +++ b/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java @@ -19,7 +19,7 @@ public class FiskalyHttpClientTest { public FiskalyHttpClient createClient() throws IOException, URISyntaxException, FiskalyHttpTimeoutException, FiskalyClientException, FiskalyHttpException { - return new FiskalyHttpClient(API_KEY, API_SECRET, "https:// kassensichv.fiskaly.dev/api/v2"); + return new FiskalyHttpClient(API_KEY, API_SECRET, "https://kassensichv.fiskaly.dev/api/v2", "https://kassensichv-middleware.fiskaly.dev"); } @Test From b7a62022831083c9d60540aa3b697d739102ce44 Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Wed, 28 Jul 2021 16:15:26 +0200 Subject: [PATCH 03/14] Fixed verifyGoogleJavaFormat issues --- .../java/com/fiskaly/sdk/FiskalyHttpClient.java | 14 ++++++++------ .../fiskaly/sdk/factories/ExceptionFactory.java | 8 ++++---- .../com/fiskaly/sdk/FiskalyHttpClientTest.java | 6 +++++- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/fiskaly/sdk/FiskalyHttpClient.java b/src/main/java/com/fiskaly/sdk/FiskalyHttpClient.java index cf396bc..cc65b47 100644 --- a/src/main/java/com/fiskaly/sdk/FiskalyHttpClient.java +++ b/src/main/java/com/fiskaly/sdk/FiskalyHttpClient.java @@ -31,7 +31,7 @@ public FiskalyHttpClient( FiskalyHttpException { final ParamCreateContext params = new ParamCreateContext( - apiKey, apiSecret, baseUrl, email, password, organizationId, environment,miceUrl); + apiKey, apiSecret, baseUrl, email, password, organizationId, environment, miceUrl); final JsonRpcRequest request = new JsonRpcRequest("create-context", params); final JsonRpcResponse response = doInvoke(request, ResultCreateContext.class); @@ -54,11 +54,12 @@ public FiskalyHttpClient(final String apiKey, final String apiSecret, final URI FiskalyHttpException { this(apiKey, apiSecret, baseUrl, "", "", "", "", null); } - - public FiskalyHttpClient(final String apiKey, final String apiSecret, final URI baseUrl, final URI miceUrl) + + public FiskalyHttpClient( + final String apiKey, final String apiSecret, final URI baseUrl, final URI miceUrl) throws IOException, FiskalyHttpTimeoutException, FiskalyClientException, FiskalyHttpException { - this(apiKey, apiSecret, baseUrl, "", "", "", "",miceUrl); + this(apiKey, apiSecret, baseUrl, "", "", "", "", miceUrl); } public FiskalyHttpClient(final String apiKey, final String apiSecret, final String baseUrl) @@ -66,8 +67,9 @@ public FiskalyHttpClient(final String apiKey, final String apiSecret, final Stri FiskalyHttpTimeoutException { this(apiKey, apiSecret, new URI(baseUrl)); } - - public FiskalyHttpClient(final String apiKey, final String apiSecret, final String baseUrl, final String miceUrl) + + public FiskalyHttpClient( + final String apiKey, final String apiSecret, final String baseUrl, final String miceUrl) throws IOException, URISyntaxException, FiskalyHttpException, FiskalyClientException, FiskalyHttpTimeoutException { this(apiKey, apiSecret, new URI(baseUrl), new URI(miceUrl)); diff --git a/src/main/java/com/fiskaly/sdk/factories/ExceptionFactory.java b/src/main/java/com/fiskaly/sdk/factories/ExceptionFactory.java index 24955f0..bffe819 100644 --- a/src/main/java/com/fiskaly/sdk/factories/ExceptionFactory.java +++ b/src/main/java/com/fiskaly/sdk/factories/ExceptionFactory.java @@ -7,8 +7,8 @@ import com.fiskaly.sdk.results.FiskalyApiError; import com.google.gson.Gson; import java.io.IOException; +import java.util.List; import net.iharder.Base64; -import java.util.*; public abstract class ExceptionFactory { private static final Gson GSON = GsonFactory.createGson(); @@ -19,13 +19,13 @@ public static FiskalyHttpException buildHttpException(final JsonRpcResponse< throws IOException { final ErrorData errorData = GSON.fromJson(GSON.toJson(response.error.data), ErrorData.class); String requestId = null; - //request id is in x-request-id header in v1, request-id in v2. + // request id is in x-request-id header in v1, request-id in v2. List requestIds = errorData.response.headers.get("x-request-id"); if (requestIds == null) { - requestIds = errorData.response.headers.get("request-id"); + requestIds = errorData.response.headers.get("request-id"); } if (requestIds != null) { - requestId = (String)requestIds.get(0); + requestId = (String) requestIds.get(0); } final String decodedBody = new String(Base64.decode(errorData.response.body), "UTF-8"); final FiskalyApiError errorBody = GSON.fromJson(decodedBody, FiskalyApiError.class); diff --git a/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java b/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java index b0ae81e..1e8a406 100644 --- a/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java +++ b/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java @@ -19,7 +19,11 @@ public class FiskalyHttpClientTest { public FiskalyHttpClient createClient() throws IOException, URISyntaxException, FiskalyHttpTimeoutException, FiskalyClientException, FiskalyHttpException { - return new FiskalyHttpClient(API_KEY, API_SECRET, "https://kassensichv.fiskaly.dev/api/v2", "https://kassensichv-middleware.fiskaly.dev"); + return new FiskalyHttpClient( + API_KEY, + API_SECRET, + "https://kassensichv.fiskaly.dev/api/v2", + "https://kassensichv-middleware.fiskaly.dev"); } @Test From 4e18e2ee9f881401c67a4ad8238eb62895c912de Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Wed, 28 Jul 2021 16:49:58 +0200 Subject: [PATCH 04/14] Removed space in URL in jre app (I'm not sure how this worked previously) --- examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java index c99a80b..43e64e7 100644 --- a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java +++ b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java @@ -7,7 +7,8 @@ public static void main(String[] args) throws Exception { final String apiKey = System.getenv("FISKALY_API_KEY"); final String apiSecret = System.getenv("FISKALY_API_SECRET"); final FiskalyHttpClient client = - new FiskalyHttpClient(apiKey, apiSecret, "https:// kassensichv.fiskaly.dev/api/v2"); + new FiskalyHttpClient(apiKey, apiSecret, + "https://kassensichv.fiskaly.dev/api/v2"); final FiskalyHttpResponse response = client.request("GET", "/tss"); System.out.println(response); } From e4aed8f1e6238ffba91e5597fa7c82c653477adc Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Fri, 30 Jul 2021 18:32:36 +0200 Subject: [PATCH 05/14] Added createTSS and personalizeTSS (for v2) to jre example Changed jre example to use local copy of SDK (this is a bit hacky and should probably be done by a local Maven install instead, but it will do for now) --- examples/jre/build.gradle | 6 +- .../java/com/fiskaly/sdk/demo/jre/Main.java | 59 ++++++++++++++++++- 2 files changed, 61 insertions(+), 4 deletions(-) diff --git a/examples/jre/build.gradle b/examples/jre/build.gradle index 821fdb0..91a4db5 100644 --- a/examples/jre/build.gradle +++ b/examples/jre/build.gradle @@ -12,7 +12,11 @@ repositories { } dependencies { - implementation 'com.fiskaly.sdk:fiskaly-sdk:1.2.200-jre' + //implementation 'com.fiskaly.sdk:fiskaly-sdk:1.2.200-jre' + implementation files('../../build/libs/fiskaly-sdk-1.2.200.jar') + implementation "com.google.code.gson:gson:2.8.6" + implementation "net.iharder:base64:2.3.9" + implementation "net.java.dev.jna:jna:5.5.0" } application { diff --git a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java index 43e64e7..4fe7440 100644 --- a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java +++ b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java @@ -1,15 +1,68 @@ package com.fiskaly.sdk.demo.jre; import com.fiskaly.sdk.*; +import java.util.UUID; + +import com.fiskaly.sdk.factories.GsonFactory; +import com.google.gson.Gson; +import net.iharder.Base64; public class Main { + static String tssUUID = ""; + static String adminPuk = ""; + static FiskalyHttpClient client = null; + private static final Gson GSON = GsonFactory.createGson(); + public static void main(String[] args) throws Exception { final String apiKey = System.getenv("FISKALY_API_KEY"); final String apiSecret = System.getenv("FISKALY_API_SECRET"); - final FiskalyHttpClient client = - new FiskalyHttpClient(apiKey, apiSecret, - "https://kassensichv.fiskaly.dev/api/v2"); + client = + new FiskalyHttpClient(apiKey, apiSecret, "https://kassensichv.fiskaly.dev/api/v2", "https://kassensichv-middleware.fiskaly.dev"); final FiskalyHttpResponse response = client.request("GET", "/tss"); + System.out.println("List TSS response:"); + System.out.println(response); + createTSS(); + personalizeTSS(); + } + + public static void createTSS() throws Exception { + UUID uuid = UUID.randomUUID(); + tssUUID = uuid.toString(); + final FiskalyHttpResponse response = client.request("PUT", "/tss/" + tssUUID, "{}".getBytes()); + System.out.println("Create TSS response:"); + System.out.println(response); + final String decodedBody = new String(response.body); + final CreateTSSResponse body = GSON.fromJson(decodedBody, CreateTSSResponse.class); + System.out.println("admin puk = "+body.admin_puk); + adminPuk = body.admin_puk; + } + + public static void setTSSState(String state) throws Exception { + final String body = "{ \"state\" : \""+state+"\" }"; + System.out.println("Setting TSS state to "+state); + System.out.println(body); + final FiskalyHttpResponse response = client.request("PATCH", "/tss/" + tssUUID, body.getBytes()); + System.out.println("Set TSS state response:"); System.out.println(response); } + + public static void personalizeTSS() throws Exception { + setTSSState("UNINITIALIZED"); + } +} + +class CreateTSSResponse { + public final String admin_puk; + + public CreateTSSResponse(final String admin_puk) { + this.admin_puk = admin_puk; + } + + @Override + public String toString() { + return "Response{" + + "admin_puk=" + + admin_puk + + '}'; + } } From 90cb263a538f00d6b59d42ad479b4a7e5be8ee9e Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Mon, 2 Aug 2021 15:47:06 +0200 Subject: [PATCH 06/14] Added the necessary workflow to finish a transaction to the jre example (untested due to server-side issue) --- .../java/com/fiskaly/sdk/demo/jre/Main.java | 143 ++++++++++++++++++ 1 file changed, 143 insertions(+) diff --git a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java index 4fe7440..03b956c 100644 --- a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java +++ b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java @@ -1,6 +1,8 @@ package com.fiskaly.sdk.demo.jre; import com.fiskaly.sdk.*; + +import java.util.Collections; import java.util.UUID; import com.fiskaly.sdk.factories.GsonFactory; @@ -9,8 +11,12 @@ public class Main { static String tssUUID = ""; + static String clientUUID = ""; static String adminPuk = ""; static FiskalyHttpClient client = null; + static String adminPIN = "0123456789"; + static String transactionUUID = ""; + static int transactionRevision = 0; private static final Gson GSON = GsonFactory.createGson(); public static void main(String[] args) throws Exception { @@ -23,6 +29,15 @@ public static void main(String[] args) throws Exception { System.out.println(response); createTSS(); personalizeTSS(); + changeAdminPIN(); + authenticateAdmin(); + initializeTSS(); + createClient(); + updateClient(); + createTransaction(); + updateTransaction(); + finishTransaction(); + disableTSS(); } public static void createTSS() throws Exception { @@ -49,6 +64,134 @@ public static void setTSSState(String state) throws Exception { public static void personalizeTSS() throws Exception { setTSSState("UNINITIALIZED"); } + + public static void changeAdminPIN() throws Exception { + final String body = "{ \"admin_puk\" : \""+adminPuk+"\", \"new_admin_pin\" : \""+adminPIN+"\" }"; + System.out.println("Setting admin PIN to "+adminPIN); + System.out.println(body); + final FiskalyHttpResponse response = client.request("PATCH", "/tss/" + tssUUID + "/admin", body.getBytes()); + System.out.println("Set admin PIN response:"); + System.out.println(response); + } + + public static void authenticateAdmin() throws Exception { + final String body = "{ \"admin_pin\" : \""+adminPIN+"\" }"; + System.out.println("Authenticating admin"); + System.out.println(body); + final FiskalyHttpResponse response = client.request("POST", "/tss/" + tssUUID + "/admin/auth", body.getBytes()); + System.out.println("Authenticate admin response:"); + System.out.println(response); + } + + public static void initializeTSS() throws Exception { + setTSSState("INITIALIZED"); + } + + public static void createClient() throws Exception { + UUID uuid = UUID.randomUUID(); + clientUUID = uuid.toString(); + final String body = "{ \"serial_number\": \"JRE Test Client Serial\"}"; + System.out.println("Creating client"); + System.out.println(body); + final FiskalyHttpResponse response = client.request("PUT", "/tss/" + tssUUID + "/client/" + clientUUID, body.getBytes()); + System.out.println("Create Client response:"); + System.out.println(response); + } + + public static void updateClient() throws Exception { + final String body = "{ \"state\": \"REGISTERED\", \"metadata\": {\"custom_field\": \"custom_value\"}}"; + System.out.println("Updating client"); + System.out.println(body); + final FiskalyHttpResponse response = client.request("PATCH", "/tss/" + tssUUID + "/client/" + clientUUID, body.getBytes()); + System.out.println("Update Client response:"); + System.out.println(response); + } + + public static FiskalyHttpResponse transactionRequest(String body) throws Exception { + transactionRevision++; //transaction revision number starts at 1 + return client.request("PUT", "/tss/" + tssUUID + "/tx/" + transactionUUID, body.getBytes(), Collections.singletonMap("tx_revision", transactionRevision)); + } + + public static void createTransaction() throws Exception { + UUID uuid = UUID.randomUUID(); + transactionUUID = uuid.toString(); + final String body = "{\"state\": \"ACTIVE\",\n" + + " \"client_id\": \" + clientUUID\"\n" + + " }"; + System.out.println("Creating transaction"); + System.out.println(body); + transactionRevision = 0; + final FiskalyHttpResponse response = transactionRequest(body); + System.out.println("Create Transaction response:"); + System.out.println(response); + } + + public static void updateTransaction() throws Exception { + final String body = "{\n" + + " \"schema\": {\n" + + " \"standard_v1\": {\n" + + " \"receipt\": {\n" + + " \"receipt_type\": \"RECEIPT\",\n" + + " \"amounts_per_vat_rate\": {\n" + + " {\n" + + " \"vat_rate\": \"NORMAL\",\n" + + " \"amount\": \"21.42\"\n" + + " }\n" + + " },\n" + + " \"amounts_per_payment_type\": {\n" + + " {\n" + + " \"payment_type\": \"NON_CASH\",\n" + + " \"amount\": \"21.42\"\n" + + " }\n" + + " }\n" + + " }\n" + + " }\n" + + " },\n" + + " \"state\": \"ACTIVE\",\n" + + " \"client_id\": clientUUID\n" + + " }"; + System.out.println("Updating transaction"); + System.out.println(body); + final FiskalyHttpResponse response = transactionRequest(body); + System.out.println("Update Transaction response:"); + System.out.println(response); + } + + public static void finishTransaction() throws Exception { + final String body = "{\n" + + " \"schema\": {\n" + + " \"standard_v1\": {\n" + + " \"receipt\": {\n" + + " \"receipt_type\": \"RECEIPT\",\n" + + " \"amounts_per_vat_rate\": {\n" + + " {\n" + + " \"vat_rate\": \"NORMAL\",\n" + + " \"amount\": \"21.42\"\n" + + " }\n" + + " },\n" + + " \"amounts_per_payment_type\": {\n" + + " {\n" + + " \"payment_type\": \"NON_CASH\",\n" + + " \"amount\": \"21.42\"\n" + + " }\n" + + " }\n" + + " }\n" + + " }\n" + + " },\n" + + " \"state\": \"FINISHED\",\n" + + " \"client_id\": clientUUID\n" + + " }"; + System.out.println("Finishing transaction"); + System.out.println(body); + final FiskalyHttpResponse response = transactionRequest(body); + System.out.println("Finish Transaction response:"); + System.out.println(response); + } + + public static void disableTSS() throws Exception { + setTSSState("DISABLED"); + } + } class CreateTSSResponse { From a626e5e7790856ea1e147c6a3cc1898b89622bd6 Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Tue, 3 Aug 2021 14:48:13 +0200 Subject: [PATCH 07/14] Added back v1 code in JRE example, and extended it to complete a transaction Fixed some JSON formatting in the v2 examples (still not tested) --- .../java/com/fiskaly/sdk/demo/jre/Main.java | 100 +++++++++++++++--- 1 file changed, 84 insertions(+), 16 deletions(-) diff --git a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java index 03b956c..a4b7937 100644 --- a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java +++ b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java @@ -2,17 +2,17 @@ import com.fiskaly.sdk.*; +import java.io.IOException; import java.util.Collections; import java.util.UUID; import com.fiskaly.sdk.factories.GsonFactory; import com.google.gson.Gson; -import net.iharder.Base64; public class Main { static String tssUUID = ""; static String clientUUID = ""; - static String adminPuk = ""; + static String adminPUK = ""; static FiskalyHttpClient client = null; static String adminPIN = "0123456789"; static String transactionUUID = ""; @@ -23,10 +23,19 @@ public static void main(String[] args) throws Exception { final String apiKey = System.getenv("FISKALY_API_KEY"); final String apiSecret = System.getenv("FISKALY_API_SECRET"); client = - new FiskalyHttpClient(apiKey, apiSecret, "https://kassensichv.fiskaly.dev/api/v2", "https://kassensichv-middleware.fiskaly.dev"); - final FiskalyHttpResponse response = client.request("GET", "/tss"); - System.out.println("List TSS response:"); - System.out.println(response); + new FiskalyHttpClient(apiKey, apiSecret, "https://kassensichv.io/api/v1"); + listTSS(); + createTSSV1(); + createClient(); + createTransactionV1(); + finishTransactionV1(); + + //now do something similar on v2 + final String apiKeyv2 = System.getenv("FISKALY_API_KEY_V2"); + final String apiSecretv2 = System.getenv("FISKALY_API_SECRET_V2"); + client = + new FiskalyHttpClient(apiKeyv2, apiSecretv2, "https://kassensichv.fiskaly.dev/api/v2", "https://kassensichv-middleware.fiskaly.dev"); + listTSS(); createTSS(); personalizeTSS(); changeAdminPIN(); @@ -40,6 +49,12 @@ public static void main(String[] args) throws Exception { disableTSS(); } + private static void listTSS() throws IOException, FiskalyHttpException, FiskalyClientException, FiskalyHttpTimeoutException { + final FiskalyHttpResponse response = client.request("GET", "/tss"); + System.out.println("List TSS response:"); + System.out.println(response); + } + public static void createTSS() throws Exception { UUID uuid = UUID.randomUUID(); tssUUID = uuid.toString(); @@ -49,7 +64,7 @@ public static void createTSS() throws Exception { final String decodedBody = new String(response.body); final CreateTSSResponse body = GSON.fromJson(decodedBody, CreateTSSResponse.class); System.out.println("admin puk = "+body.admin_puk); - adminPuk = body.admin_puk; + adminPUK = body.admin_puk; } public static void setTSSState(String state) throws Exception { @@ -66,7 +81,7 @@ public static void personalizeTSS() throws Exception { } public static void changeAdminPIN() throws Exception { - final String body = "{ \"admin_puk\" : \""+adminPuk+"\", \"new_admin_pin\" : \""+adminPIN+"\" }"; + final String body = "{ \"admin_puk\" : \""+ adminPUK +"\", \"new_admin_pin\" : \""+adminPIN+"\" }"; System.out.println("Setting admin PIN to "+adminPIN); System.out.println(body); final FiskalyHttpResponse response = client.request("PATCH", "/tss/" + tssUUID + "/admin", body.getBytes()); @@ -133,16 +148,16 @@ public static void updateTransaction() throws Exception { " \"receipt\": {\n" + " \"receipt_type\": \"RECEIPT\",\n" + " \"amounts_per_vat_rate\": {\n" + - " {\n" + + " [\n" + " \"vat_rate\": \"NORMAL\",\n" + " \"amount\": \"21.42\"\n" + - " }\n" + + " ]\n" + " },\n" + " \"amounts_per_payment_type\": {\n" + - " {\n" + + " [\n" + " \"payment_type\": \"NON_CASH\",\n" + " \"amount\": \"21.42\"\n" + - " }\n" + + " ]\n" + " }\n" + " }\n" + " }\n" + @@ -164,16 +179,16 @@ public static void finishTransaction() throws Exception { " \"receipt\": {\n" + " \"receipt_type\": \"RECEIPT\",\n" + " \"amounts_per_vat_rate\": {\n" + - " {\n" + + " [\n" + " \"vat_rate\": \"NORMAL\",\n" + " \"amount\": \"21.42\"\n" + - " }\n" + + " ]\n" + " },\n" + " \"amounts_per_payment_type\": {\n" + - " {\n" + + " [\n" + " \"payment_type\": \"NON_CASH\",\n" + " \"amount\": \"21.42\"\n" + - " }\n" + + " ]\n" + " }\n" + " }\n" + " }\n" + @@ -192,6 +207,59 @@ public static void disableTSS() throws Exception { setTSSState("DISABLED"); } + ///V1 versions + public static void createTSSV1() throws Exception { + UUID uuid = UUID.randomUUID(); + tssUUID = uuid.toString(); + final String body = "{\n" + + " \"description\": \"JRE Test TSS\",\n" + + " \"state\": \"INITIALIZED\"\n" + + " }"; + final FiskalyHttpResponse response = client.request("PUT", "/tss/" + tssUUID, body.getBytes()); + System.out.println("Create TSS response:"); + System.out.println(response); + } + + public static void createTransactionV1() throws Exception { + UUID uuid = UUID.randomUUID(); + transactionUUID = uuid.toString(); + final String body = "{\"state\": \"ACTIVE\",\n" + + " \"client_id\": \"" + clientUUID +"\"\n" + + " }"; + System.out.println("Creating V1 transaction"); + System.out.println(body); + transactionRevision = 0; + final FiskalyHttpResponse response = client.request("PUT", "/tss/" + tssUUID + "/tx/" + transactionUUID, body.getBytes()); + + System.out.println("Create V1 Transaction response:"); + System.out.println(response); + } + + public static void finishTransactionV1() throws Exception { + final String body = "{\n" + + " \"state\": \"FINISHED\",\n" + + " \"client_id\": \""+clientUUID+"\",\n" + + " \"schema\": {\n" + + " \"standard_v1\": {\n" + + " \"receipt\": {\n" + + " \"receipt_type\": \"RECEIPT\",\n" + + " \"amounts_per_vat_rate\": [\n" + + " {\"vat_rate\": \"19\", \"amount\": \"14.28\"}\n" + + " ],\n" + + " \"amounts_per_payment_type\": [\n" + + " {\"payment_type\": \"NON_CASH\", \"amount\": \"14.28\"}\n" + + " ]\n" + + " }\n" + + " }\n" + + " }\n" + + " }"; + System.out.println("Finishing transaction"); + System.out.println(body); + final FiskalyHttpResponse response = client.request("PUT", "/tss/" + tssUUID + "/tx/" + transactionUUID, body.getBytes(), Collections.singletonMap("last_revision", 1)); + System.out.println("Finish Transaction response:"); + System.out.println(response); + } + } class CreateTSSResponse { From 2b9def7b3128fde1e509f0bf694c4efb491113f1 Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Wed, 4 Aug 2021 13:23:31 +0200 Subject: [PATCH 08/14] Added FISKALY_TSS_UUID_V2, FISKALY_TSS_ADMIN_PIN, and FISKALY_TSS_PUK to allow using the JRE example with an existing TSS --- .../java/com/fiskaly/sdk/demo/jre/Main.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java index a4b7937..a0a073c 100644 --- a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java +++ b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java @@ -33,12 +33,26 @@ public static void main(String[] args) throws Exception { //now do something similar on v2 final String apiKeyv2 = System.getenv("FISKALY_API_KEY_V2"); final String apiSecretv2 = System.getenv("FISKALY_API_SECRET_V2"); + //set these to use an existing TSS instead of creating a new one + final String existingTSS = System.getenv("FISKALY_TSS_UUID_V2"); + //set either a PIN (if the TSS already has one set) or a PUK (if the TSS doesn't have a PIN set) + final String existingTSSAdminPIN = System.getenv("FISKALY_TSS_ADMIN_PIN"); + final String existingTSSPUK = System.getenv("FISKALY_TSS_PUK"); client = new FiskalyHttpClient(apiKeyv2, apiSecretv2, "https://kassensichv.fiskaly.dev/api/v2", "https://kassensichv-middleware.fiskaly.dev"); listTSS(); - createTSS(); - personalizeTSS(); - changeAdminPIN(); + if (existingTSS == null) { + createTSS(); + } else { + tssUUID = existingTSS; + adminPUK = existingTSSPUK; + } + if (existingTSSAdminPIN == null) { + personalizeTSS(); + changeAdminPIN(); + } else { + adminPIN = existingTSSAdminPIN; + } authenticateAdmin(); initializeTSS(); createClient(); @@ -46,7 +60,10 @@ public static void main(String[] args) throws Exception { createTransaction(); updateTransaction(); finishTransaction(); - disableTSS(); + //don't disable a TSS we didn't create + if (existingTSS == null) { + disableTSS(); + } } private static void listTSS() throws IOException, FiskalyHttpException, FiskalyClientException, FiskalyHttpTimeoutException { From 5e3beaf627129fccca08d6100810f3d7c5586d90 Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Wed, 4 Aug 2021 15:41:50 +0200 Subject: [PATCH 09/14] Fixed some JSON formatting errors in the JRE example app --- .../jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java index a0a073c..10d2bcf 100644 --- a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java +++ b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java @@ -148,7 +148,7 @@ public static void createTransaction() throws Exception { UUID uuid = UUID.randomUUID(); transactionUUID = uuid.toString(); final String body = "{\"state\": \"ACTIVE\",\n" + - " \"client_id\": \" + clientUUID\"\n" + + " \"client_id\": \"" + clientUUID + "\"\n" + " }"; System.out.println("Creating transaction"); System.out.println(body); @@ -180,7 +180,7 @@ public static void updateTransaction() throws Exception { " }\n" + " },\n" + " \"state\": \"ACTIVE\",\n" + - " \"client_id\": clientUUID\n" + + " \"client_id\": \"" + clientUUID + "\"\n" + " }"; System.out.println("Updating transaction"); System.out.println(body); @@ -211,7 +211,7 @@ public static void finishTransaction() throws Exception { " }\n" + " },\n" + " \"state\": \"FINISHED\",\n" + - " \"client_id\": clientUUID\n" + + " \"client_id\": \"" + clientUUID+ "\"\n" + " }"; System.out.println("Finishing transaction"); System.out.println(body); @@ -255,7 +255,7 @@ public static void createTransactionV1() throws Exception { public static void finishTransactionV1() throws Exception { final String body = "{\n" + " \"state\": \"FINISHED\",\n" + - " \"client_id\": \""+clientUUID+"\",\n" + + " \"client_id\": \"" + clientUUID + "\",\n" + " \"schema\": {\n" + " \"standard_v1\": {\n" + " \"receipt\": {\n" + From 0e93eddacc714863e16ac492e2370b1e8c86aa9b Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Wed, 4 Aug 2021 16:29:30 +0200 Subject: [PATCH 10/14] Fixed JSON formatting in JRE example app --- .../java/com/fiskaly/sdk/demo/jre/Main.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java index 10d2bcf..bc04bbd 100644 --- a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java +++ b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java @@ -164,18 +164,18 @@ public static void updateTransaction() throws Exception { " \"standard_v1\": {\n" + " \"receipt\": {\n" + " \"receipt_type\": \"RECEIPT\",\n" + - " \"amounts_per_vat_rate\": {\n" + - " [\n" + + " \"amounts_per_vat_rate\": [\n" + + " {\n" + " \"vat_rate\": \"NORMAL\",\n" + " \"amount\": \"21.42\"\n" + - " ]\n" + - " },\n" + - " \"amounts_per_payment_type\": {\n" + - " [\n" + + " }\n" + + " ],\n" + + " \"amounts_per_payment_type\": [\n" + + " {\n" + " \"payment_type\": \"NON_CASH\",\n" + " \"amount\": \"21.42\"\n" + - " ]\n" + - " }\n" + + " }\n" + + " ]\n" + " }\n" + " }\n" + " },\n" + @@ -195,18 +195,18 @@ public static void finishTransaction() throws Exception { " \"standard_v1\": {\n" + " \"receipt\": {\n" + " \"receipt_type\": \"RECEIPT\",\n" + - " \"amounts_per_vat_rate\": {\n" + - " [\n" + + " \"amounts_per_vat_rate\": [\n" + + " {\n" + " \"vat_rate\": \"NORMAL\",\n" + " \"amount\": \"21.42\"\n" + - " ]\n" + - " },\n" + - " \"amounts_per_payment_type\": {\n" + - " [\n" + + " }\n" + + " ],\n" + + " \"amounts_per_payment_type\": [\n" + + " {\n" + " \"payment_type\": \"NON_CASH\",\n" + " \"amount\": \"21.42\"\n" + - " ]\n" + - " }\n" + + " }\n" + + " ]\n" + " }\n" + " }\n" + " },\n" + From cd2ed23c8ddd251edf2e73d6f45a2e127b63de15 Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Thu, 5 Aug 2021 10:44:34 +0200 Subject: [PATCH 11/14] Switched JRE example app to .com URLs and made it behave correctly with various combinations or null or empty existing TSS, PIN, and PUK --- .../src/main/java/com/fiskaly/sdk/demo/jre/Main.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java index bc04bbd..e065924 100644 --- a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java +++ b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java @@ -39,18 +39,20 @@ public static void main(String[] args) throws Exception { final String existingTSSAdminPIN = System.getenv("FISKALY_TSS_ADMIN_PIN"); final String existingTSSPUK = System.getenv("FISKALY_TSS_PUK"); client = - new FiskalyHttpClient(apiKeyv2, apiSecretv2, "https://kassensichv.fiskaly.dev/api/v2", "https://kassensichv-middleware.fiskaly.dev"); + new FiskalyHttpClient(apiKeyv2, apiSecretv2, "https://kassensichv.fiskaly.com/api/v2", "https://kassensichv-middleware.fiskaly.com"); listTSS(); - if (existingTSS == null) { + final Boolean useExistingTSS = existingTSS != null && !existingTSS.isEmpty(); + if (!useExistingTSS) { createTSS(); } else { tssUUID = existingTSS; adminPUK = existingTSSPUK; + System.out.println("Using existing TSS '"+existingTSS+"' with PIN '"+existingTSSAdminPIN+"' and PUK '"+existingTSSPUK+"'"); } - if (existingTSSAdminPIN == null) { + if (!useExistingTSS || existingTSSAdminPIN == null || existingTSSAdminPIN.isEmpty()) { personalizeTSS(); changeAdminPIN(); - } else { + } else if (useExistingTSS) { adminPIN = existingTSSAdminPIN; } authenticateAdmin(); From a2c34935c887d1201afc0f9230476b307266d9d9 Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Thu, 5 Aug 2021 11:23:19 +0200 Subject: [PATCH 12/14] Updated readmes of jre example --- examples/jre/readme.md | 5 ++++- examples/jre/src/main/resources/readme.md | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/jre/readme.md b/examples/jre/readme.md index ada7d53..d5475ab 100644 --- a/examples/jre/readme.md +++ b/examples/jre/readme.md @@ -14,12 +14,15 @@ $ ./gradlew build ## Run example -First, set environment variables `FISKALY_API_KEY` and `FISKALY_API_SECRET` to your API key and secret: +First, if you want to test the V1 API, set environment variables `FISKALY_API_KEY` and `FISKALY_API_SECRET` to your API key and secret: ```bash export FISKALY_API_KEY=yourAPIkey export FISKALY_API_SECRET=yourAPIsecret ``` + If you want to test the V2 API, set environment variables `FISKALY_API_KEY_V2` and `FISKALY_API_SECRET_V2` to your API key and secret for V2, in the same way. + + If you want to use an existing TSS for V2 instead of creating a new one (e.g. because you have reached the limit of active TSS), also set `FISKALY_TSS_UUID_V2` to the UUID of that TSS. If you do this, you will need to either set `FISKALY_TSS_ADMIN_PIN` to the admin PIN of that TSS, or set `FISKALY_TSS_PUK` to the admin PUK of that TSS. The PUK will only be used if the PIN is empty. Next, run the sample: diff --git a/examples/jre/src/main/resources/readme.md b/examples/jre/src/main/resources/readme.md index 9c2108d..4f407d6 100644 --- a/examples/jre/src/main/resources/readme.md +++ b/examples/jre/src/main/resources/readme.md @@ -5,5 +5,5 @@ First, go to https://developer.fiskaly.com/downloads and download the client lib - Put `com.fiskaly.client-linux-386-vX.Y.Z.so` into `linux-x86/` - Put `com.fiskaly.client-linux-amd64-vX.Y.Z.so` into `linux-x86-64/` - Put `com.fiskaly.client-windows-386-vX.Y.Z.so` into `win32-x86/` -- Put `com.fiskaly.client-windiws-amd64-vX.Y.Z.so` into `win32-x86-64/` +- Put `com.fiskaly.client-windows-amd64-vX.Y.Z.so` into `win32-x86-64/` - Put `com.fiskaly.client-darwin-amd64-vX.Y.Z.dylib` into `darwin/` and rename it to `libcom.fiskaly.client-darwin-amd64-vX.Y.Z.dylib` From 60b70ecd643c3e51c008aba256c192345c66f5d3 Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Thu, 12 Aug 2021 11:32:49 +0200 Subject: [PATCH 13/14] Changed the android build.gradle back to how it was before, since I can't test that Changed sdk test to use .com --- examples/android/app/build.gradle | 2 +- src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/android/app/build.gradle b/examples/android/app/build.gradle index a7cbb70..81d4ee2 100644 --- a/examples/android/app/build.gradle +++ b/examples/android/app/build.gradle @@ -19,5 +19,5 @@ dependencies { implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.fiskaly.sdk:fiskaly-sdk:1.2.200-android' - implementation files('libs/com.fiskaly.client-android-all-v1.2.400.aar') + implementation files('libs/com.fiskaly.client-android-all-v1.2.200.aar') } diff --git a/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java b/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java index 1e8a406..1b4cd45 100644 --- a/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java +++ b/src/test/java/com/fiskaly/sdk/FiskalyHttpClientTest.java @@ -22,8 +22,8 @@ public FiskalyHttpClient createClient() return new FiskalyHttpClient( API_KEY, API_SECRET, - "https://kassensichv.fiskaly.dev/api/v2", - "https://kassensichv-middleware.fiskaly.dev"); + "https://kassensichv.fiskaly.com/api/v2", + "https://kassensichv-middleware.fiskaly.com"); } @Test From 70b2c986bf4b72b9386d5c46012d019d520c0fc1 Mon Sep 17 00:00:00 2001 From: Angela Brett Date: Thu, 12 Aug 2021 17:36:56 +0200 Subject: [PATCH 14/14] Changed JRE example app to store UUIDs as UUIDs rather than strings --- .../main/java/com/fiskaly/sdk/demo/jre/Main.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java index e065924..bac0ba7 100644 --- a/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java +++ b/examples/jre/src/main/java/com/fiskaly/sdk/demo/jre/Main.java @@ -10,8 +10,8 @@ import com.google.gson.Gson; public class Main { - static String tssUUID = ""; - static String clientUUID = ""; + static UUID tssUUID = null; + static UUID clientUUID = null; static String adminPUK = ""; static FiskalyHttpClient client = null; static String adminPIN = "0123456789"; @@ -45,7 +45,7 @@ public static void main(String[] args) throws Exception { if (!useExistingTSS) { createTSS(); } else { - tssUUID = existingTSS; + tssUUID = UUID.fromString(existingTSS); adminPUK = existingTSSPUK; System.out.println("Using existing TSS '"+existingTSS+"' with PIN '"+existingTSSAdminPIN+"' and PUK '"+existingTSSPUK+"'"); } @@ -75,8 +75,7 @@ private static void listTSS() throws IOException, FiskalyHttpException, FiskalyC } public static void createTSS() throws Exception { - UUID uuid = UUID.randomUUID(); - tssUUID = uuid.toString(); + tssUUID = UUID.randomUUID(); final FiskalyHttpResponse response = client.request("PUT", "/tss/" + tssUUID, "{}".getBytes()); System.out.println("Create TSS response:"); System.out.println(response); @@ -122,8 +121,7 @@ public static void initializeTSS() throws Exception { } public static void createClient() throws Exception { - UUID uuid = UUID.randomUUID(); - clientUUID = uuid.toString(); + clientUUID = UUID.randomUUID(); final String body = "{ \"serial_number\": \"JRE Test Client Serial\"}"; System.out.println("Creating client"); System.out.println(body); @@ -228,8 +226,7 @@ public static void disableTSS() throws Exception { ///V1 versions public static void createTSSV1() throws Exception { - UUID uuid = UUID.randomUUID(); - tssUUID = uuid.toString(); + tssUUID = UUID.randomUUID(); final String body = "{\n" + " \"description\": \"JRE Test TSS\",\n" + " \"state\": \"INITIALIZED\"\n" +