taler-docs

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

commit 211cccee684dc8d4eb4cea2e3d9b76a8a1d24108
parent 15bf99f2cfbe516633642b01ec1b6e1721868312
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat,  7 Mar 2026 09:58:28 +0100

expand /config with spa option data (#11200)

Diffstat:
Mcore/api-merchant.rst | 2+-
Mcore/merchant/get-config.rst | 32++++++++++++++++++++++++++++++--
Mmanpages/taler-merchant.conf.5.rst | 22++++++++++++++++++++++
3 files changed, 53 insertions(+), 3 deletions(-)

diff --git a/core/api-merchant.rst b/core/api-merchant.rst @@ -54,7 +54,7 @@ The current protocol version is **v27**. * ``v26``: adds unclaim endpoint, enhanced settlement reporting * ``v27``: adds various fields to a few endpoints * ``v28``: adds the ``/kycauth`` endpoint for wire transfer subject - shortening during KYC Auth wire transfers + shortening during KYC Auth wire transfers and expands ``/config``. **Upcoming versions:** diff --git a/core/merchant/get-config.rst b/core/merchant/get-config.rst @@ -1,7 +1,6 @@ .. http:get:: /config Return the protocol version and currency supported by this merchant backend. - This specification corresponds to ``current`` protocol being version **v27**. **Response:** @@ -133,6 +132,11 @@ // deadline should be rounded up to. // @since **v23** default_wire_transfer_rounding_interval: RoundingInterval; + + // General object of SPA options from the + // ``GLOBAL_SPA_CONFIG_DATA`` configuration option. + // @since **v28**. + spa_options?: SpaConfigOptions; } .. ts:def:: TanChannel @@ -144,7 +148,7 @@ .. ts:def:: RoundingInterval - enum RoundingInterval { + enum RoundingInterval { NONE = "NONE", SECOND = "SECOND", MINUTE = "MINUTE", @@ -174,3 +178,27 @@ // key for us to trust it. master_pub: EddsaPublicKey; } + + .. ts:def:: SpaConfigOptions + + // Note that this object could contain many more fields, + // depending on the SPA. We describe here only some of the + // canonical fields that are supported by the default SPA. + interface SpaConfigOptions { + + // How to contact the operator. + contact_email?: string; + + // How to contact the operator. + contact_phone?: string; + + // Where to find support. + support_url?: string; + + // Legal address of the operator. + address?: Location; + + // Legal tax information about the operator. + tax_info?: string; + + } diff --git a/manpages/taler-merchant.conf.5.rst b/manpages/taler-merchant.conf.5.rst @@ -236,6 +236,28 @@ DEFAULT_PERSONA "point-of-sale", "digital-publishing", "e-commerce" and "developer". Defaults to "expert", which means all stable features are enabled. +GLOBAL_SPA_CONFIG_DATA + Additional configuration fields to pass to the SPA. This must be + a JSON object mapping keys to values. The main configuration keys + used are "contact_email", "contact_phone", "tax_info", "address" + and "support_url". For example, typical configuration might be:: + + '{"contact_email":"contact@example.com", + "support_url":"https://tutorials.taler.net/", + "tax_info":"VAT number: #12345678", + "address": + {"name":"Acme Inc", + "street":"Acme St. 42", + "post_code":"1234", + "city":"Acme Town", + "country":"Acme Land"} + }' + + See https://docs.taler.net/core/api-merchant.html#tsref-type-Location + for details on the "address" field. See also in the REST API specification + for ``/config`` the entry for ``SpaConfigOptions`` for other + SPA configuration options. + PAYMENT_TARGET_REGEX POSIX regular expression imposing additional restrictions on the "payto://"-URIs allowed for bank accounts of instances of this system. For example, "payto://iban/CH.*" would