taler-docs

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

commit 579f6888cde23397cc175ead1f0f1886b033d44c
parent d98273fd5f6bc99b2082334cec37ae649b691432
Author: Florian Dold <florian@dold.me>
Date:   Thu, 13 Nov 2025 16:07:35 +0100

DD74

Diffstat:
Adesign-documents/074-merchant-backend-simplification.rst | 163+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mdesign-documents/index.rst | 1+
2 files changed, 164 insertions(+), 0 deletions(-)

diff --git a/design-documents/074-merchant-backend-simplification.rst b/design-documents/074-merchant-backend-simplification.rst @@ -0,0 +1,163 @@ +DD 74: Merchant Backend Simplification +###################################### + +.. notice:: + + Status: incomplete draft + +Summary +======= + +This design document proposes simplifications to the merchant backend user interface. + +Motivation +========== + +The current merchant backend SPA provides a user interface tailored towards +expert users that know the underlying protocol concepts. + +Requirements +============ + +* The merchant backend SPA should be usable by non- +* The merchant backend SPA should remain as a tool for expert users + + * We do not want to maintain different versions of the merchant backend SPA + + +Proposed Solution +================= + +Existing Pages +^^^^^^^^^^^^^^ + +* Orders +* Inventory +* Categories +* Wire transfers +* Templates +* KYC Status + +Configuration: + +* Bank accounts +* OTP Devices +* Webhooks +* Settings +* Password +* Access tokens + +Connection: + +* Interface + +Instances: + +* New +* List + +Session: + +* Logout + + + +Profiles +^^^^^^^^ + +* Profiles are a preset of feature flags and other settings +* The user selects a profile when logging in (from a drop-down). + + +Profile Definitions +^^^^^^^^^^^^^^^^^^^ + +* Developer + + * Every feature flag on, developer mode on + +* Simple Shop + + * Only show: + + * Orders + * Templates + * KYC status (if action required) + * Bank accounts + * Settings + * Password + * Logout + + + +Simplication of Bank Account Settings +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Currently we have three screens involving the bank account: "Bank account" +(under configuration), "KYC Status" and "Wire transfers". + +Since all of the activities done on this screen are related to the bank account, +we can simplify it into one "Bank account" page. + +The wire transfers can be shown by clicking on the details page of a bank account. + +The KYC status can also be shown there for every bank account. + +If KYC is required for a bank account, we can both highlight the bank account +*and* also add a "KYC required" highlighted menu item that directly goes to the +KYC status of the bank account that requires action. + + +Simplication of OTP devices +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +OTP devices are only used for templates. They are not used for logins etc., which might make it confusing to always show them. + +As a simplification, we could make the OTP devices *only* available via the +"Templates" screen. + + +Settings Structure +^^^^^^^^^^^^^^^^^^ + +Currently we have: + +* Settings: Contains five different types of settings: + + * payment-technical settings: transaction fee, payment delay default + * contact information shown to the user + * instance deletion + * authentication-related settings (email / phone is used for auth) + +* Interface: Contains user interface settings. +* Password: Contains user interface settings. + +We also might want to separate the phone number and email shown to the user and +the one used for authentication. By default, they can be the same. + +Suggested restructuring: + +* Settings (only UI settings, *maybe* link to other settings) +* Profile (Contact settings as seen by the wallet users via contract terms) +* Security (both password and 2FA-related fields) + +Definition of Done +================== + +TBD. + +Alternatives +============ + +TBD. + +Drawbacks +========= + +TBD. + +Discussion / Q&A +================ + +* Can the profile be changed while being logged in? + diff --git a/design-documents/index.rst b/design-documents/index.rst @@ -85,4 +85,5 @@ Design documents that start with "XX" are considered deprecated. 071-auto-refresh 072-products-units 073-extended-merchant-template + 074-merchant-backend-simplification 999-template