commit a0ec50151f6d62a2f1535ae84785af828aad5678
parent ac681f0e44fd68a7977c72bf033c237d510acb45
Author: Florian Dold <dold@taler.net>
Date: Sat, 29 Aug 2026 20:09:42 +0200
merchant API: specify template preview exchange candidates
Issue: https://bugs.taler.net/n/8909
Diffstat:
1 file changed, 44 insertions(+), 0 deletions(-)
diff --git a/core/merchant/get-templates-TEMPLATE_ID.rst b/core/merchant/get-templates-TEMPLATE_ID.rst
@@ -52,6 +52,50 @@
// ``currency``.
// Since protocol **v13**.
required_currency?: string;
+
+ // Information about the merchant instance that will create
+ // the order. The final contract terms remain authoritative,
+ // as the instance configuration may change between this
+ // request and order creation.
+ // Since protocol **v41**.
+ merchant: Merchant;
+
+ // Public key currently used by the merchant instance.
+ // The final contract terms remain authoritative, as the key
+ // may change between this request and order creation.
+ // Since protocol **v41**.
+ merchant_pub: EddsaPublicKey;
+
+ // Trusted exchanges that are currently known to be compatible
+ // with at least one active payment target of the merchant instance.
+ // This list is advisory and may be empty or incomplete when an
+ // exchange's keys cannot be obtained in time. The backend may
+ // omit this field entirely when it does not perform exchange
+ // discovery, for example to avoid its latency or resource cost.
+ // Since protocol **v41**.
+ exchange_candidates?: TemplateExchangeCandidate[];
+ }
+
+ .. ts:def:: TemplateExchangeCandidate
+
+ // An exchange that may be usable for an order instantiated from
+ // this template. Whether it is present in the final contract also
+ // depends on the selected amount and payment target, legal limits,
+ // KYC state, and the configuration at order creation time.
+ interface TemplateExchangeCandidate {
+
+ // Base URL of the exchange REST API.
+ base_url: WebURL;
+
+ // Currency for which the merchant trusts this exchange.
+ currency: string;
+
+ // Offline master public key of the exchange.
+ master_pub: EddsaPublicKey;
+
+ // Active merchant wire methods that the exchange is currently
+ // known to support for this instance.
+ wire_methods: string[];
}
.. ts:def:: InventoryPayload