diff --git a/CHANGELOG.md b/CHANGELOG.md index ed3a2b8e3e..be0d74dc9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ All notable changes to this project will be documented in this file. ### Removed ### Fixed +## [0.78.0] +### Added +* core: Add the `isSuccessful` state to orders/receipts + ## [0.77.1] ### Changed * core: Change the PaymentCredentialsFlow's StateFlow to be a SharedFlow w/o replaying and state management diff --git a/core/src/main/java/io/snabble/sdk/ReceiptInfo.kt b/core/src/main/java/io/snabble/sdk/ReceiptInfo.kt index e22839b045..9b1eac508b 100644 --- a/core/src/main/java/io/snabble/sdk/ReceiptInfo.kt +++ b/core/src/main/java/io/snabble/sdk/ReceiptInfo.kt @@ -33,5 +33,11 @@ data class ReceiptInfo( * Final price of the order */ @JvmField - val price: String -) \ No newline at end of file + val price: String, + + /** + * State of the order + */ + @JvmField + val isSuccessful: Boolean +) diff --git a/core/src/main/java/io/snabble/sdk/ReceiptsApi.java b/core/src/main/java/io/snabble/sdk/ReceiptsApi.java index b694471a80..41a81f2822 100644 --- a/core/src/main/java/io/snabble/sdk/ReceiptsApi.java +++ b/core/src/main/java/io/snabble/sdk/ReceiptsApi.java @@ -37,6 +37,7 @@ public static class ApiOrder { public String shopName; public int price; public Map links; + public boolean isSuccessful; } /** Data class for api links **/ @@ -149,7 +150,8 @@ public void success(ApiReceipt apiReceipt) { simpleDateFormat.parse(apiOrder.date).getTime(), url != null ? snabble.absoluteUrl(url) : null, apiOrder.shopName, - priceFormatter.format(apiOrder.price)); + priceFormatter.format(apiOrder.price), + apiOrder.isSuccessful); result.add(receiptInfo); } catch (ParseException e) { @@ -176,4 +178,4 @@ public void error(Throwable t) { receiptUpdateCallback.failure(); } } -} \ No newline at end of file +} diff --git a/core/src/test/resources/metadata.json b/core/src/test/resources/metadata.json index e5eba41d22..3817de3abf 100644 --- a/core/src/test/resources/metadata.json +++ b/core/src/test/resources/metadata.json @@ -278,8 +278,8 @@ ], "gatewayCertificates": [ { - "value": "MIIE7DCCAtQCFGdGHrKz0qHO/gnMT9YdAFHBfiKfMA0GCSqGSIb3DQEBCwUAMFQxCzAJBgNVBAYTAkRFMQowCAYDVQQIDAE+MQ0wCwYDVQQHDARCb25uMRUwEwYDVQQKDAxzbmFiYmxlIEdtYkgxEzARBgNVBAMMCnNuYWJibGUuaW8wHhcNMjIxMTE2MDgzNTM5WhcNMjQxMTE1MDgzNTM5WjARMQ8wDQYDVQQDDAZjbGllbnQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDMTWWjXiOf15bNrXTiSm7zS6VzYDNWRwj1/J/AtxFmzoae4CnO1BMAmi4gLykUJIWMeGHtDMf+PuUPamZgO60h2M6Qivi3Yn6haOMQH7ae3WcH9i/2h4IGnbhlctwd1csO1nw7sQcaRdY3JC05bMiwfsycV3Sb2SzFXHbY6VPwIXuKVfW6EqsWGbpbGHHTesn4GUHrHWNThmpxVL5HuWWwHbXo8MUxa9D06F29N/hKWxTAweNZFJ7rFtjWiwkNGEp0Az/XOkeHWEwhWz+vNjeXL3Tgg58AsOL/+8VPMnQKVCsDjM/WiqCPeoXZrtirTYz84KPaAUIQlva5AwFsrzCkpbu9T3eZhO307CtKyrvtpciGkY/d7oTXuZXkTjtL7Sy71HcSEFShzOT7GjreuyasREvRxtK/k+DSGbQlO3Nhk2Y1Cy3DIPgHgUvm4Kfz6Rv6k32P/e+oko7qyTB7jRv5TFrvx8RrAMqyKkhGHyM3x8fCoC9Tsk5VT1l+Otz5h4F0wngSz84glpaJaJD9FCgG6lxJpvN77FLjBLdF6pXpK6q8tDZsv9HSFG/R2wpG/2INw53h7rjeyTzuyMc9grkIHzjjW+AFVFFf1wEaWjdu0/itFZhnossJZ4mYdyHEMHVDa7uC7yvJkG5Mc76V4uTBYFAHwdzsYb0E1TVHTxmpTwIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQB4c3YJtF+/f2gnJWUCwr0gWuAkcMNnPIRAIBn+t18G2I3bABIy4d41I2yZEfiLOOwTyviqQWous4MpWFRRFI+HM8Kh8Eik4S52/iK+2nPLwNzIdo+se5LEqlxd0IXrnivY95vKPryljBHrNvgMx/NJkTN0bHpVovYUjo8Zt0npKZa5Q1Q1y4kFEgdey4czgOEpzGK9pux1ALU2HU0e/5bJfR/ENoXbCSgV59IRXRPPvFRwyLj/1nYV3a/D8GWfPlFLor25A/y7dGc9f2lwVvkx10b1m1wnoKicdYmVgLgYgJXo43UGWsqznvcbfOjNv7UW+tofUSkWEV0mtRSyt5u/+xjqg7MYAJ1xUZmnaPNbvrCg2+EnCz3hfbhkDvJuxt423nV9rFz9HO79CVd4y1bl85WRWSOfluPuoioXpl2VwOqBXQZMCsbPcyG1P/xukLc9OZUkSS13cMX2EnEJEI4hYLeVoo928gCI/2iDvnarQzy7bh38brsSQ5EcyGuA7mt5WBb5Y4wO8184jDu3UXiERiS6XetVfSMFYyVEnEQ4vT2jwxcTjywVbww74/rfrsdtNgXbJUHD8bDwgReKgDLSoQa7D2wI77kLvt6HX1sbnFw5LKIJpzJMsQUUnq0O2OA8wPowiARUgsakGuWRHwQAee5CrUeEdriTXEw78Ggr6g==", - "validUntil": "2024-11-15T08:35:39Z" + "value": "MIIFNTCCAx2gAwIBAgIUU6zuYtQk0hGyIZE5WJLHCYzti8UwDQYJKoZIhvcNAQELBQAwVDELMAkGA1UEBhMCREUxCjAIBgNVBAgMAT4xDTALBgNVBAcMBEJvbm4xFTATBgNVBAoMDHNuYWJibGUgR21iSDETMBEGA1UEAwwKc25hYmJsZS5pbzAeFw0yNDEwMjMwOTEzMTBaFw0yNjEwMjMwOTEzMTBaMBExDzANBgNVBAMMBmNsaWVudDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMxNZaNeI5/Xls2tdOJKbvNLpXNgM1ZHCPX8n8C3EWbOhp7gKc7UEwCaLiAvKRQkhYx4Ye0Mx/4+5Q9qZmA7rSHYzpCK+LdifqFo4xAftp7dZwf2L/aHggaduGVy3B3Vyw7WfDuxBxpF1jckLTlsyLB+zJxXdJvZLMVcdtjpU/Ahe4pV9boSqxYZulsYcdN6yfgZQesdY1OGanFUvke5ZbAdtejwxTFr0PToXb03+EpbFMDB41kUnusW2NaLCQ0YSnQDP9c6R4dYTCFbP682N5cvdOCDnwCw4v/7xU8ydApUKwOMz9aKoI96hdmu2KtNjPzgo9oBQhCW9rkDAWyvMKSlu71Pd5mE7fTsK0rKu+2lyIaRj93uhNe5leROO0vtLLvUdxIQVKHM5PsaOt67JqxES9HG0r+T4NIZtCU7c2GTZjULLcMg+AeBS+bgp/PpG/qTfY/976iSjurJMHuNG/lMWu/HxGsAyrIqSEYfIzfHx8KgL1OyTlVPWX463PmHgXTCeBLPziCWlolokP0UKAbqXEmm83vsUuMEt0Xqlekrqry0Nmy/0dIUb9HbCkb/Yg3DneHuuN7JPO7Ixz2CuQgfOONb4AVUUV/XARpaN27T+K0VmGeiywlniZh3IcQwdUNru4LvK8mQbkxzvpXi5MFgUAfB3OxhvQTVNUdPGalPAgMBAAGjQjBAMB0GA1UdDgQWBBTknzrgiv7BxX5UUzA9psWd10zG4zAfBgNVHSMEGDAWgBSbKZU2i3uzB98mzKTnzj/OcE6PITANBgkqhkiG9w0BAQsFAAOCAgEAI0sfdwDCSNvpYyBnc4FEdRIs3VMfdO/HtqZDn1LxF8EAfsc4yQoq5rPVlcOuAJ+kljK9UQFUjvkmEUblGaSLW/MWfw1shdK5FqQ61xxzLtsI2ALRKwMFHXt3y9SQkoUjVlnvh1oshIyg2kXUP9dtX7Vg2ODJCAg8c3vrfGcMF98h3Q1lN/3WiskIqD6kpAstbK+hfdNKxMkq/zTr72O4EEqJtbnUS/he3v0QdDDdjYO2UAlEpVlkjha+WjGQFWVZGhE+FhP4yyuajE8XOkoAEyraZMwMkipS9ocD1XXQQzL/usQZWSEiY1sKEshu1g34MkIoDXq+LVpQmGPbgwoilvmM3sER8NqUG59ZbZRZXUi2dZOyINA/DK/NzA8cCSfsxH9kGFW2f6aKRSBNL1aNYyKT9cYyTjfbx3mOpme7nUFjGXZXKOezRI3hkHSYH3mV5gtSVig1zInFVZZksVjPnYfTFIm9bydFB/V0AJJ9golHa+7SwIM66ckB1F0fGyJntfMcCVFr9JsZkDs1U71ExPaqepeS8A/vAdhn/IWzm7oVAJi5U106po8xnBaiyOewzdDfF97yAmlGRW9aBdgFvyT++T4B+PDAvRuN87k61KdKW9fQhijvtCcmAdeobSAAwd5o2wy2DvauAGo9nAxwJ+2IA7nLKWoNloaLcnKisxo=", + "validUntil": "2026-10-23T00:00:00Z" } ] }