View Issue Details

IDProjectCategoryView StatusLast Update
0010627Talermerchant portal webuipublic2026-02-04 19:00
Reportervecirex 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
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version1.2 
Target Version1.4Fixed in Version1.4 
Summary0010627: For exchanges w/ KYC: taler-merchant-kyccheck and "KYC Status" in the UI can be brought out of touch; leading to various issues
DescriptionThe "KYC Status" menu entry in the backoffice/SPA can be made to never show up if the taler-merchant-kyccheck was NOT running when adding TOPS/CHF IBAN account to be verified (which is the use case here).

1.
This can lead to a series of issues, where also @stefan has cases documented where he has IBANs ready to open orders without KYC check ever been completed, leading of course to an "invalid response" by the exchange.

That is, it's possible to setup IBAN accounts without taler-merchant-kyccheck running and without ever seeing a "KYC Status" menu, leading to behaviour which normal shop owners cannot grasp.

Such an added IBAN account can also not be fixed to work and be made verified after the taler-merchant-kyccheck component was made available. The "KYC Status" menu entry just doesn't show up, instead "no kyc required" messages appear: @stefan can add screenshot of his test cases.

2.
On the other hand, if the IBAN was added with taler-merchant-kyccheck running, then the "KYC Status" sticks there even if taler-merchant-kyccheck is not running anymore, e.g., killing it soon after addition of the IBAN which must be verified to be able to receive payments as a shop owner. That is, nothing is shown for the shop operator that KYC Status will never be updated: this can also make support cases difficult, if in the end it's because of the taler-merchant-kyccheck component not running for any reason.
Steps To ReproduceTo see if taler-merchant-kyccheck is running:

root@bcead3ae4f5e:/var/taler-src/gnunet# su -s /bin/bash taler-merchant-httpd
taler-merchant-httpd@bcead3ae4f5e:/var/taler-src/gnunet$ echo $USER
taler-merchant-httpd
taler-merchant-httpd@bcead3ae4f5e:/var/taler-src/gnunet$ ps -axw | grep taler-me
rchant-kyccheck  
 135263 pts/1    S      0:00 taler-merchant-kyccheck
 136180 pts/2    S+     0:00 grep taler-merchant-kyccheck
taler-merchant-httpd@bcead3ae4f5e:/var/taler-src/gnunet$ 


Fine by process 135263 in above's case.

Having added an IBAN number in the UI, particularly in the case of TOPS/CHF, the "KYC Status" menu entry is clearly required and it shows up -- upon addition of a bank account of IBAN type, for the TOPS/CHF case starting with prefix "CH". See screenshot.

Killing taler-merchant-kyccheck by

taler-merchant-httpd@bcead3ae4f5e:/var/taler-src/gnunet$ pkill -9 taler-merchant
-kyccheck
pkill: pattern that searches for process name longer than 15 characters will res
ult in zero matches
Try `pkill -f' option to match against the complete command line.
taler-merchant-httpd@bcead3ae4f5e:/var/taler-src/gnunet$ pkill -9 -f taler-merchant-kyccheck
taler-merchant-httpd@bcead3ae4f5e:/var/taler-src/gnunet$ ps -axw | grep taler-merchant-kyccheck
 136207 pts/2    S+     0:00 grep taler-merchant-kyccheck
taler-merchant-httpd@bcead3ae4f5e:/var/taler-src/gnunet$ 


leads to the button in the UI either to stay (case 1 above), but not show updates (forever), or just never appear and lead to unusable IBAN accounts leading to errors when creating orders.

Additional InformationBetter would be to always show the "KYC Status" iff the exchange communicates to require KYC, and then state that taler-merchant-kyccheck component is needed for this exchange, but it's not running. Maybe it's to easier to just always show the KYC menu entry, and if the merchant learns from the exchange it's not needed to just say there: for all accouns configured on this merchant, no KYC is required by the exchange.

As a further solution, it should be said to the shop owner / merchant operator to contact the system administrator / operator and ideally link to https://docs.taler.net/taler-merchant-manual.html#launching-the-backend with changes from 0010624, making clear that taler-merchant-kyccheck must be around for the menu entry to load actual KYC payload (as in: status info, steps to do, additional buttons to refresh etc.).
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0010624 closedChristian Grothoff Taler For exchanges w/ KYC: taler-merchant-kyccheck must run (explicit context to mention: TOPS/CHF) 
related to 0009770 closedChristian Grothoff Taler merchant backend kyc state doesn't wait for longpolling [5d] 
has duplicate 0010813 closedChristian Grothoff Taler check my.taler-ops.ch logs: kyc status took many hours to get updated 

Activities

vecirex

2025-11-18 15:21

administrator   ~0026517

Fix semantics in descr

vecirex

2025-11-18 15:24

administrator   ~0026518

s/it's user/it's easier/ # in additional info

vecirex

2025-11-18 15:27

administrator   ~0026519

more typos fixed

vecirex

2025-11-18 15:33

administrator   ~0026520

Add screenshot mentioned above, but not attached.

It shows the dynamic "KYC Status" menu entr: it can be there or not. It can show up and stay or not show up and make a merchant's life more difficult; this can, however, also happing by staying there, but not shipping any more new info (because taler-merchant-kyccheck is not running (anymore)).

Christian Grothoff

2025-11-18 16:28

manager   ~0026527

That's not a SPA issue, this related to specification/design issues across the stack that would need to be reviewed. Not something that can be fixed quickly or easily.

vecirex

2025-12-03 14:06

administrator   ~0026718

OK, I will do some tests if this is happening still to the same extent with newer versions of the taler-merchant: there might be no reason for this to block 0010630 right ahead; last time I saw @stefan finishing a KYC process, it looked responsive.

Christian Grothoff

2026-01-25 11:27

manager   ~0027339

Latest merchant **v25** now has improved long-polling support for the SPA on the /kyc status. So this *is* now a SPA issue (assigning to Sebastian), and then possibly a testing issue...

sebasjm

2026-01-30 13:53

developer   ~0027485

810b6d4a3..2efb0d71f

Issue History

Date ModifiedUsernameFieldChange
2025-11-18 15:19vecirexNew Issue
2025-11-18 15:19vecirexStatusnew => assigned
2025-11-18 15:19vecirexAssigned To => sebasjm
2025-11-18 15:21vecirexDescription Updated
2025-11-18 15:21vecirexNote Added: 0026517
2025-11-18 15:24vecirexAdditional Information Updated
2025-11-18 15:24vecirexNote Added: 0026518
2025-11-18 15:24vecirexRelationship addedrelated to 0010624
2025-11-18 15:27vecirexSteps to Reproduce Updated
2025-11-18 15:27vecirexNote Added: 0026519
2025-11-18 15:33vecirexNote Added: 0026520
2025-11-18 15:33vecirexFile Added: taler-merchant-backoffice-spa-kyc-menu.png
2025-11-18 16:28Christian GrothoffAssigned Tosebasjm =>
2025-11-18 16:28Christian GrothoffStatusassigned => implementing
2025-11-18 16:28Christian GrothoffCategorymerchant backoffice SPA => specification
2025-11-18 16:28Christian GrothoffTarget Version1.2 => post-1.0
2025-11-18 16:28Christian GrothoffNote Added: 0026527
2025-11-18 21:01StefanRelationship addedrelated to 0010630
2025-11-19 15:57Christian GrothoffRelationship addedrelated to 0009770
2025-12-03 14:03vecirexRelationship replacedparent of 0010630
2025-12-03 14:06vecirexNote Added: 0026718
2025-12-03 14:08vecirexRelationship replacedchild of 0010630
2025-12-07 10:37Christian GrothoffRelationship deletedchild of 0010630
2025-12-19 05:05vecirexRelationship addedrelated to 0010813
2026-01-25 06:52Christian GrothoffAssigned To => Christian Grothoff
2026-01-25 06:52Christian GrothoffStatusimplementing => assigned
2026-01-25 11:27Christian GrothoffNote Added: 0027339
2026-01-25 11:28Christian GrothoffAssigned ToChristian Grothoff => sebasjm
2026-01-25 11:28Christian GrothoffPrioritynormal => high
2026-01-25 11:28Christian GrothoffCategoryspecification => merchant backoffice SPA
2026-01-25 11:28Christian GrothoffTarget Versionpost-1.0 => 1.5
2026-01-25 11:29Christian GrothoffRelationship replacedhas duplicate 0010813
2026-01-30 13:53sebasjmStatusassigned => informing
2026-01-30 13:53sebasjmResolutionopen => fixed
2026-01-30 13:53sebasjmNote Added: 0027485
2026-01-31 08:00Christian GrothoffFixed in Version => 1.4
2026-01-31 08:00Christian GrothoffTarget Version1.5 => 1.4
2026-02-04 19:00Christian GrothoffStatusinforming => closed
2026-08-23 14:18Florian DoldCategorymerchant backoffice SPA => merchant portal webui