View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0011563 | Taler | merchant backend | public | 2026-06-26 21:44 | 2026-06-26 21:45 |
| Reporter | Florian Dold | Assigned To | Florian Dold | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | assigned | Resolution | open | ||
| Target Version | 1.7 | ||||
| Summary | 0011563: merchant backend lists same exchange twice in contract terms | ||||
| Description | Didn't manage to reproduce it yet via a harness test, but on test/demo: $ taler-harness playground advanced-tokens-1 advanced-tokens-1 | ||||
| Additional Information | [9] 16:42:59.189 � WalletCore.swift:157 WalletCore#1 handleResponse(_:_:) {"type":"response","operation":"getChoicesForPayment","id":105, "result":{ "choices":[ { "status":"payment-possible","scopeInfo":{"currency":"TESTKUDOS","type":"exchange","url":"https://exchange.test.taler.net/"}, "amountRaw":"TESTKUDOS:1","amountEffective":"TESTKUDOS:1", "tokenDetails":{"tokensRequested":0,"tokensAvailable":0,"tokensUnexpected":0,"tokensUntrusted":0,"perTokenFamily":{}} },{"status":"payment-possible","scopeInfo":{"currency":"TESTKUDOS","type":"exchange","url":"https://exchange.test.taler.net/"}, "amountRaw":"TESTKUDOS:5","amountEffective":"TESTKUDOS:5", "tokenDetails":{"tokensRequested":0,"tokensAvailable":0,"tokensUnexpected":0,"tokensUntrusted":0,"perTokenFamily":{}} },{"status":"payment-possible","scopeInfo":{"currency":"TESTKUDOS","type":"exchange","url":"https://exchange.test.taler.net/"}, "amountRaw":"TESTKUDOS:5","amountEffective":"TESTKUDOS:5", "tokenDetails":{"tokensRequested":0,"tokensAvailable":0,"tokensUnexpected":0,"tokensUntrusted":0,"perTokenFamily":{}} },{"status":"insufficient-balance", "amountRaw":"TESTKUDOS:0.5", "tokenDetails":{"tokensRequested":1,"tokensAvailable":0,"tokensUnexpected":0,"tokensUntrusted":0, "perTokenFamily":{"slugdiscount1-DWDZRW6T4MFX81NFK9AF6Y13AG":{"requested":1,"available":0,"unexpected":0,"untrusted":0,"causeHint":"wallet-tokens-available-insufficient"}} } },{"status":"insufficient-balance", "amountRaw":"TESTKUDOS:1", "tokenDetails":{"tokensRequested":1,"tokensAvailable":0,"tokensUnexpected":0,"tokensUntrusted":0, "perTokenFamily":{"slugsubscription1-DWDZRW6T4MFX81NFK9AF6Y13AG":{"requested":1,"available":0,"unexpected":0,"untrusted":0,"causeHint":"wallet-tokens-available-insufficient"}} } } ],"contractTerms":{ "version":1,"choices":[ { "amount":"TESTKUDOS:1","description":"Buy an individual article","inputs":[],"outputs":[],"max_fee":"TESTKUDOS:0"}, { "amount":"TESTKUDOS:53","description":"Article and 3 discounts","inputs":[], "outputs":[{"type":"token","token_family_slug":"slugdiscount1-DWDZRW6T4MFX81NFK9AF6Y13AG","count":13,"valid_at":{"t_s":1782484948},"key_index":0}], "max_fee":"TESTKUDOS:0"}, { "amount":"TESTKUDOS:5","description":"Article and subscription","inputs":[], "outputs":[{"type":"token","token_family_slug":"slugsubscription1-DWDZRW6T4MFX81NFK9AF6Y13AG","count":1,"valid_at":{"t_s":1782484948},"key_index":0}], "max_fee":"TESTKUDOS:0"}, { "amount":"TESTKUDOS:0.5","inputs":[{"type":"token","token_family_slug":"slugdiscount1-DWDZRW6T4MFX81NFK9AF6Y13AG","count":1}], "outputs":[],"max_fee":"TESTKUDOS:0"}, { "amount":"TESTKUDOS:10","description":"Article via subscription", "inputs":[{"type":"token","token_family_slug":"slugsubscription1-DWDZRW6T4MFX81NFK9AF6Y13AG","count":1}], "outputs":[{"type":"token","token_family_slug":"slugsubscription1-DWDZRW6T4MFX81NFK9AF6Y13AG","count":1,"valid_at":{"t_s":1782484948},"key_index":0}], "max_fee":"TESTKUDOS:0"} ],"token_families":{ "slugdiscount1-DWDZRW6T4MFX81NFK9AF6Y13AG":{"name":"discount1","description":"My Discount 1 (valid two minutes)","description_i18n":{}, "keys":[ {"cipher":"RSA","rsa_pub":"rrr","signature_validity_start":{"t_s":1782484948},"signature_validity_end":{"t_s":1782657748}}, {"cipher":"RSA","rsa_pub":"rrr","signature_validity_start":{"t_s":1782484948},"signature_validity_end":{"t_s":1782657748}} ],"details":{"class":"discount","expected_domains":[]}, "critical":false}, "slugsubscription1-DWDZRW6T4MFX81NFK9AF6Y13AG":{"name":"subscription1","description":"My Subscription 1 (valid one minute)","description_i18n":{}, "keys":[ {"cipher":"RSA","rsa_pub":"sss","signature_validity_start":{"t_s":1782484948},"signature_validity_end":{"t_s":1782657748}}, {"cipher":"RSA","rsa_pub":"sss","signature_validity_start":{"t_s":1782484948},"signature_validity_end":{"t_s":1782657748}} ],"details":{"class":"subscription","trusted_domains":[]}, "critical":true} },"order_id":"2026.177-T2MXR80000000","merchant_base_url":"https://backend.test.taler.net/instances/testing/", "h_wire":"RTATPKXVN0KBK5QGF7JSZ7GGJQNZ3QF7VV1SCKGZ870N811XW7YX37W97J4Z9HDDD5A6DHT6Z8Y4PGF0HSY1JA99M3DB40JZP6HSEGR", "auto_refund":{"d_us":0},"wire_method":"x-taler-bank","summary":"Test Payment","nonce":"TVC00P2Z3K0E5BPFTX8WJ6AP9XP12SPBY9D15SXZGB9PFVWXQ3Y0", "pay_deadline":{"t_s":1782485548},"refund_deadline":{"t_s":1783781548},"wire_transfer_deadline":{"t_s":1783781548},"timestamp":{"t_s":1782484948}, "merchant":{"name":"Testing Merchant","address":{},"jurisdiction":{}},"merchant_pub":"2H42SKKZCJ2TGZZXCM1J5RN1C3C21Y8ED3XWCKM9CV0Z69M3XJS0", "exchanges":[{"master_pub":"FSN8D78ZVBDAFGHD6QQC968MKPT1202RJPY46DTNGGASP0F7HBBG","priority":1024,"url":"https://exchange.test.taler.net/","max_contribution":"TESTKUDOS:5"}, {"master_pub":"FSN8D78ZVBDAFGHD6QQC968MKPT1202RJPY46DTNGGASP0F7HBBG","priority":1024,"url":"https://exchange.test.taler.net/","max_contribution":"TESTKUDOS:5"}], "products":[],"minimum_age":0 },"defaultChoiceIndex":0, "automaticExecution":false }} | ||||
| Tags | No tags attached. | ||||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-06-26 21:44 | Florian Dold | New Issue | |
| 2026-06-26 21:44 | Florian Dold | Status | new => assigned |
| 2026-06-26 21:44 | Florian Dold | Assigned To | => Florian Dold |
| 2026-06-26 21:45 | Florian Dold | Summary | merchant backend puts same exchange twice into contract terms => merchant backend lists same exchange twice in contract terms |