summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api-common.rst14
-rw-r--r--core/api-merchant.rst3
-rw-r--r--taler-merchant-pos-terminal.rst3
3 files changed, 20 insertions, 0 deletions
diff --git a/core/api-common.rst b/core/api-common.rst
index a7ebe3a7..8a885f03 100644
--- a/core/api-common.rst
+++ b/core/api-common.rst
@@ -342,6 +342,20 @@ When no sign is present, the amount is assumed to be positive.
type SignedAmount = string;
+Images
+^^^^^^
+
+.. ts:def:: ImageDataUrl
+
+ // The string must be a data URL according to RFC 2397
+ // with explicit mediatype and base64 parameters.
+ //
+ // ``data:<mediatype>;base64,<data>``
+ //
+ // Supported mediatypes are ``image/jpeg`` and ``image/png``.
+ // Invalid strings will be rejected by the wallet.
+ type ImageDataUrl = string;
+
--------------
Binary Formats
diff --git a/core/api-merchant.rst b/core/api-merchant.rst
index f6297ae1..469ce766 100644
--- a/core/api-merchant.rst
+++ b/core/api-merchant.rst
@@ -873,6 +873,9 @@ The contract terms must have the following structure:
// merchant-internal identifier for the product
product_id?: string;
+ // An optional base64-encoded product image
+ image?: ImageDataUrl;
+
// a list of objects indicating a 'taxname' and its amount. Again, italics denotes the object field's name.
taxes?: any[];
diff --git a/taler-merchant-pos-terminal.rst b/taler-merchant-pos-terminal.rst
index 27860cfd..d65183cc 100644
--- a/taler-merchant-pos-terminal.rst
+++ b/taler-merchant-pos-terminal.rst
@@ -163,6 +163,9 @@ The elements of the JSON file are defined as follows:
// The price of the product
price: Amount;
+ // An optional base64-encoded product image
+ image?: ImageDataUrl;
+
// A list of category IDs this product belongs to.
// Typically, a product only belongs to one category, but more than one is supported.
categories: number[];