taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

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:
Mtaler-merchant-manual.rst | 56+++++++++++++++++++++++++++++++++++++++++++++++++++++---
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 ------------