View Issue Details

IDProjectCategoryView StatusLast Update
0010531Talermerchant portal webuipublic2026-09-19 14:40
Reportervlada.svirsh Assigned Tosebasjm Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status informingResolutionfixed 
Product Version1.0 
Target Version1.6Fixed in Version1.6 
Summary0010531: Order & Templates v1 SPA (for testing or expert mode)
DescriptionHere is a design idea for integrating token families into order creation.
Also we need to rename "Taler payment options" to "Taler payment settings".

For Templates I propose to locate "Payment options" under "Supported currencies" field.
TagsNo tags attached.
Attached Files
Order v1_1.jpg (320,770 bytes)

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

has duplicate 0010665 closedChristian Grothoff merchant SPA should allow creating v1 orders 
related to 0010152 closedvlada.svirsh need SPA design for v1 order creation & templates 
child of 0009057 implementingavalos support subscription and discount tokens [meta] 
child of 0011316 informingvlada.svirsh create DD for new order creation 

Activities

Christian Grothoff

2025-10-27 08:55

manager   ~0026255

The design talks about "coupons". What about subscriptions?

vlada.svirsh

2025-10-27 09:01

developer   ~0026256

coupons here is generalization of discounts and subscriptions. Do you think it is better to use "Applied discounts/subscriptions" and "Issues discounts/subscriptions"?

Christian Grothoff

2025-10-27 09:11

manager   ~0026257

That's fine, as long as it is clear for the developers that both types are meant here. Related issue is probably that there could be multiple coupons needed (collect 10 coupons, get one product for free). I don't see a counter in the design.

Christian Grothoff

2025-10-27 09:12

manager   ~0026258

Oh, and what happens if coupons are to be combined? (Multiple inputs, multiple outputs?). The current design seems to limit to only 1 coupon.

vlada.svirsh

2025-10-27 10:03

developer   ~0026259

Last edited: 2025-10-27 10:04

For multiple selection spa uses this design everywhere, and we can extend it to quantity.
image.png (15,974 bytes)   
image.png (15,974 bytes)   
v1_search.jpg (35,650 bytes)   
v1_search.jpg (35,650 bytes)   

sebasjm

2025-10-30 13:05

developer   ~0026281

order creation has input tokens and output tokens.

applied coupons is for which of them?
applied is in past, so those are applied to the order to be created, right?

your design only shows discounts but you are saying that coupons also work for the suscription use case? how is this going to be rendered?

vlada.svirsh

2025-10-30 13:17

developer   ~0026282

Applied coupons = input tokens
Issued coupons = output tokens

Applied coupons were issued coupons in previous orders, so the buyer already has in his wallet these "applied coupons" and after purchase will receive "issued coupons"


I just showed a search example on discounts; it works the same for subscription, but without quantity selection.

sebasjm

2026-06-09 11:43

developer   ~0028807

I still have doubts that what is written here is enough to decide all the possible outcomes and details for orders ant templates v1.

I will list all my question and we can talk in the next wallet ux session.

Florian Dold

2026-06-09 11:51

manager   ~0028808

IMO before just implementing "something" here, we need more clarity on why we're doing it / who we're doing it for.

As far as I can tell, this was supposed to cover the developer/expert UI. Thus we don't need to hide the underlying technical concepts, we can just call it "input tokens" and "output tokens"

For templates, this certainly somewhat makes sense: It allows us to easily configure advanced templates (possibly on behalf of a customer!) without needing to fumble around with JSON and without needing an API key.

But what about order creation? Order creation via the merchant portal is very niche in the first place, and I don't see a use case for us other than testing (say, the wallets). And for that, we can just use the API / have some taler-harness tooling to make it easier.

Christian Grothoff

2026-06-09 22:22

manager   ~0028813

Well, with respect to choices (inputs/outputs) orders and templates are basically equal: they both technically support exactly the same feature set. So I would expect that the SPA (with the "right" personality) offers the same options for both. Also because the SPA is supposed to show devs how to use the API. Plus, if it is a nice UX for templates (which we expect normal users to use!), then it also should be a nice UX for orders (even if that's likely too much in practice for a one-off order to type in). That said, I could even see a case where a merchant decides that they need a one-off order to say award tokens (or a subscription) to a customer. Here, they could just create an order with price 0 and the desired output tokens to pacify/reward the customer. That's a one-off case (certainly not one for a template) where manual order creation with output tokens could make a lot of sense.

sebasjm

2026-06-11 01:20

developer   ~0028857

Last edited: 2026-06-11 01:20

In the latest wallet meeting we talked about this implementation and decided that this will not cover any use cases for users outside expert users. Any merchant will be expected to be guided by someone who understand the usage.

So I will change the title "for testing purpose" to make this clear.

Given this scope, it is enough to have a family token selector for input tokens and a family token selector for output tokens.
Both + price will make a "choice". And the template and order should be able to have multiple choices.

The semantic of discount (and the respective price) or subscription will be managed and configured by the user.

sebasjm

2026-07-08 20:13

developer   ~0029121

d70655b71..4c4ff19f0 have the UI in the new order page.

working on add it to templates
testing testing testing

sebasjm

2026-07-15 15:19

developer   ~0029155

df3dcd2f7..4c651dcda

now we can create paivana templates.

* there is a new form for payment choices which is used in new order and template.
   - includes amount, description, max deposit fee
   - input token, output token: search from list, then you can increase/decrease the quantity
   - every choices is added up into a table on top
   - user should "confirm" after updating the table
* in the new order form the payment choices is accessible from the three-lines-button
* in the template is accessible under PAIVANA type
image-2.png (34,581 bytes)   
image-2.png (34,581 bytes)   
image-3.png (29,544 bytes)   
image-3.png (29,544 bytes)   
image-4.png (62,919 bytes)   
image-4.png (62,919 bytes)   
image-5.png (32,787 bytes)   
image-5.png (32,787 bytes)   
image-6.png (40,848 bytes)   
image-6.png (40,848 bytes)   

Issue History

Date ModifiedUsernameFieldChange
2025-10-26 13:53vlada.svirshNew Issue
2025-10-26 13:53vlada.svirshFile Added: Order v1_1.jpg
2025-10-26 13:53vlada.svirshRelationship addedrelated to 0010152
2025-10-27 08:55Christian GrothoffNote Added: 0026255
2025-10-27 09:01vlada.svirshNote Added: 0026256
2025-10-27 09:11Christian GrothoffNote Added: 0026257
2025-10-27 09:12Christian GrothoffNote Added: 0026258
2025-10-27 10:03vlada.svirshNote Added: 0026259
2025-10-27 10:03vlada.svirshFile Added: image.png
2025-10-27 10:03vlada.svirshFile Added: v1_search.jpg
2025-10-27 10:04vlada.svirshNote Edited: 0026259
2025-10-28 22:03Christian GrothoffStatusnew => implementing
2025-10-28 22:03Christian GrothoffProduct Version => 1.0
2025-10-28 22:03Christian GrothoffTarget Version => 1.6
2025-10-30 13:05sebasjmNote Added: 0026281
2025-10-30 13:17vlada.svirshNote Added: 0026282
2025-12-19 19:14Christian GrothoffRelationship addedchild of 0009057
2026-03-21 00:00Christian GrothoffAssigned To => sebasjm
2026-03-21 00:00Christian GrothoffStatusimplementing => assigned
2026-03-21 00:04Christian GrothoffSeverityminor => feature
2026-03-21 00:04Christian GrothoffStatusassigned => implementing
2026-03-27 18:17sebasjmAssigned Tosebasjm =>
2026-03-27 19:52sebasjmRelationship addedparent of 0011316
2026-05-29 14:20vlada.svirshRelationship addedrelated to 0010665
2026-05-29 14:20vlada.svirshSummaryOrder & Templates v1 => Order & Templates v1 SPA
2026-05-29 19:16Christian GrothoffAssigned To => sebasjm
2026-05-29 19:16Christian GrothoffStatusimplementing => assigned
2026-05-29 19:16Christian GrothoffStatusassigned => implementing
2026-05-29 19:17Christian GrothoffRelationship replacedhas duplicate 0010665
2026-06-09 11:43sebasjmNote Added: 0028807
2026-06-09 11:51Florian DoldAssigned Tosebasjm => Christian Grothoff
2026-06-09 11:51Florian DoldStatusimplementing => feedback
2026-06-09 11:51Florian DoldNote Added: 0028808
2026-06-09 22:22Christian GrothoffNote Added: 0028813
2026-06-09 22:22Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2026-06-11 01:20sebasjmNote Added: 0028857
2026-06-11 01:20sebasjmSummaryOrder & Templates v1 SPA => Order & Templates v1 SPA (for testing or expert mode)
2026-06-11 01:20sebasjmNote Edited: 0028857
2026-06-14 19:51Florian DoldAssigned ToFlorian Dold => sebasjm
2026-06-14 19:51Florian DoldStatusfeedback => assigned
2026-07-08 20:13sebasjmNote Added: 0029121
2026-07-15 15:19sebasjmNote Added: 0029155
2026-07-15 15:19sebasjmFile Added: image-2.png
2026-07-15 15:19sebasjmFile Added: image-3.png
2026-07-15 15:19sebasjmFile Added: image-4.png
2026-07-15 15:19sebasjmFile Added: image-5.png
2026-07-15 15:19sebasjmFile Added: image-6.png
2026-07-15 16:49sebasjmRelationship deletedparent of 0011316
2026-07-15 16:49sebasjmRelationship addedchild of 0011316
2026-07-15 16:50sebasjmStatusassigned => informing
2026-07-15 16:50sebasjmResolutionopen => fixed
2026-08-23 14:18Florian DoldCategorymerchant backoffice SPA => merchant portal webui
2026-09-19 14:40Christian GrothoffFixed in Version => 1.6