commit 4312cc94b4d0d31f6e68e1ae354910ed1e90fada
parent 115e263ae3773ce51d22015ab048550f7cb59219
Author: Florian Dold <dold@taler.net>
Date: Sun, 23 Aug 2026 11:08:03 +0200
merchant manual: document customer page templates
Diffstat:
1 file changed, 53 insertions(+), 3 deletions(-)
diff --git a/taler-merchant-manual.rst b/taler-merchant-manual.rst
@@ -1617,6 +1617,10 @@ trigger the wallet interaction. You may change those templates to your own
design. The templating language used is `C implementation of mustache
<https://gitlab.com/jobol/mustach>`__, and the templates are in the
``share/taler-merchant/templates/`` directory.
+The default templates are maintained directly in the merchant source tree
+under ``src/frontend/``. They are self-contained HTML documents: their
+styles, scripts and image data are embedded, so serving them does not require
+a separate Web UI build or external runtime resources.
The file names must be of the form ``$NAME.$LANG.must`` where ``$NAME`` is the
name of the template and ``$LANG`` is the 2-letter language code of the
@@ -1646,6 +1650,22 @@ This template is instantiated using the following information:
* order_status_url: URL of the merchant backend where the order status
can be found, useful for long-polling to check if the order has been paid
+ * order_id: String; the merchant's identifier for the order
+
+ * merchant_name: String; the configured display name of the merchant
+ instance
+
+ * order_amount: Optional amount; the amount to pay when the order has one
+ payment option or the wallet has selected an option
+
+ * multiple_payment_options: Boolean; true when the wallet must select one
+ of multiple payment options and no single amount can be displayed yet
+
+ * claimed: Boolean; true after a wallet has claimed the order but before
+ payment has completed
+
+ * pay_deadline: Timestamp; the deadline for completing the payment
+
offer_refund
^^^^^^^^^^^^
@@ -1654,11 +1674,11 @@ Page shown to offer a customer a refund.
This template is instantiated using the following information:
- * taler_refund_uri: String; the ``taler://pay/`` URI that must be given
- to the wallet to initiate the payment
+ * taler_refund_uri: String; the ``taler://refund/`` URI that must be given
+ to the wallet to initiate collection of the refund
* taler_refund_qrcode_svg: Image; an SVG image of the QR code with the
- ``taler_pay_uri``.
+ ``taler_refund_uri``.
* refund_amount: Amount; how much did the merchant refund
@@ -1666,6 +1686,20 @@ This template is instantiated using the following information:
* order_summary: String; a text summarizing the order
+ * refund_remaining: Amount; how much is still available for the wallet to
+ collect
+
+ * has_refund_taken: Boolean; true when part of the refund was already
+ collected
+
+ * order_id: String; the merchant's identifier for the order
+
+ * merchant_name: String; the configured display name of the merchant
+ instance
+
+ * order_status_url: Authenticated URL of the merchant backend where the
+ refund status can be long-polled
+
show_order_details
@@ -1685,6 +1719,22 @@ This template is instantiated using the following information:
* refund_taken: Amount; how much did the customer already take back in refunds
+ * order_amount: Amount; the amount paid for the selected payment option
+
+ * order_id: String; the merchant's identifier for the order
+
+ * merchant_name: String; the configured display name of the merchant
+ instance
+
+ * has_refund: Boolean; true when the merchant granted a refund for this
+ order
+
+ * fulfillment_message: Optional string; localized message to show after
+ successful payment
+
+ * fulfillment_url: Optional URL; destination where the customer can
+ continue to the purchased product or service
+
Static files
------------