taler-docs

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

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:
Mcore/merchant/get-templates-TEMPLATE_ID.rst | 44++++++++++++++++++++++++++++++++++++++++++++
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