View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0011346 | Taler | merchant backend | public | 2026-04-09 00:32 | 2026-04-09 00:32 |
| Reporter | sebasjm | Assigned To | Christian Grothoff | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | assigned | Resolution | open | ||
| Product Version | git (master) | ||||
| Target Version | 1.6 | ||||
| Summary | 0011346: wrong etag returned on /kyc | ||||
| Description | the SPA makes the request [0] which return 2 accounts and the etag MRC59T... then makes the request [1] which the last etag and problem 1: a new etag is returned (SRD8JC5VW...) problem 2: only one bank account is returned. the request complete fast (meaning new data) so SPA waits a little before doing the next request the second long polling that the SPA does is [2] with the new etag (SRD8JC5VW...) which return the correct data but again it returns the bad etag and cycle between this two retults | ||||
| Steps To Reproduce | [0] curl 'https://merchant.taler/private/kyc' \ -H 'Accept: application/json' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Authorization: Bearer secret-token:YE78WNBZ15TTHS24CBXBWGAB296XYFZ5EK1Z4TXDXBMYYQY2N2AG' \ -H 'Cache-Control: no-cache' \ -H 'Connection: keep-alive' \ -H 'Origin: https://dev.taler' \ -H 'Pragma: no-cache' \ -H 'Referer: https://dev.taler/' \ -H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Mode: cors' \ -H 'Sec-Fetch-Site: cross-site' \ -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36' \ -H 'sec-ch-ua: "Chromium";v="145", "Not:A-Brand";v="99"' \ -H 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-platform: "Linux"' HTTP/1.1 200 OK date: Wed, 08 Apr 2026 22:21:38 GMT access-control-allow-origin: * access-control-expose-headers: * cache-control: no-store content-type: application/json etag: "MRC59TN6QWD7MF06MB084S1EN35BQGPJSHP3GX0G1250NY09P1X0" content-length: 1612 Connection: keep-alive Keep-Alive: timeout=5 { "kyc_data": [ { "payto_uri": "payto://iban/DE1327812254798?receiver-name=the%20name%20of%20merchant", "h_wire": "Z4S5Y7N2BQEDQ1FHX5H0GCC4EBRMGVB1ENHFED2XSYBFSDTTRPKP2MHETFYYB3Y1XETH7SMANCT6N4PTNEM8MWBYNCY8NFBQ1RYVRCR", "status": "ready", "exchange_url": "https://exchange.taler/", "exchange_currency": "KUDOS", "no_keys": false, "auth_conflict": false, "exchange_http_status": 200, "access_token": "751F91NJKPEWKNX4DMBPBQMH2Y2HTMFAB2X0WM772N86SKHMWR3G", "limits": [ { "threshold": "KUDOS:100", "timeframe": { "d_us": 180000000 }, "soft_limit": true, "operation_type": "WITHDRAW" } ] }, { "payto_uri": "payto://iban/DE75512108001245126199?receiver-name=seb", "h_wire": "XC45320EGSV8R7FZRA2CTQDS8JTBKKPKJ4R5G7JQ9GP5HBAHHJMHYETGF4J6Z395J82V4PZ191NVNG11GKMCAJVHFXH44BAJT14NM38", "status": "kyc-wire-required", "exchange_url": "https://exchange.taler/", "exchange_currency": "KUDOS", "no_keys": false, "auth_conflict": false, "exchange_http_status": 404, "exchange_code": 1939, "limits": [ { "operation_type": "DEPOSIT", "disallowed": true, "timeframe": { "d_us": 0 }, "threshold": "KUDOS:0", "soft_limit": true } ], "payto_kycauths": [ "payto://iban/CH7689144661327513261?receiver-name=Exchanger+Conver&message=KYC:V38GCFQDVWEFX3R17DSKTJGPYNCCXV5EZTS6869FDEWE23NJX38G" ] } ] } [1] curl 'https://merchant.taler/private/kyc?lp_not_etag=MRC59TN6QWD7MF06MB084S1EN35BQGPJSHP3GX0G1250NY09P1X0&timeout_ms=15000' \ -H 'Accept: application/json' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Authorization: Bearer secret-token:YE78WNBZ15TTHS24CBXBWGAB296XYFZ5EK1Z4TXDXBMYYQY2N2AG' \ -H 'Cache-Control: no-cache' \ -H 'Connection: keep-alive' \ -H 'If-none-match: "MRC59TN6QWD7MF06MB084S1EN35BQGPJSHP3GX0G1250NY09P1X0"' \ -H 'Origin: https://dev.taler' \ -H 'Pragma: no-cache' \ -H 'Referer: https://dev.taler/' \ -H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Mode: cors' \ -H 'Sec-Fetch-Site: cross-site' \ -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36' \ -H 'sec-ch-ua: "Chromium";v="145", "Not:A-Brand";v="99"' \ -H 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-platform: "Linux"' HTTP/1.1 200 OK date: Wed, 08 Apr 2026 22:21:53 GMT access-control-allow-origin: * access-control-expose-headers: * cache-control: no-store content-type: application/json etag: "SRD8JC5VW17CJX01SMNNPX8GAVDXYP9ZNNG82PM08WA9VWKAD6NG" content-length: 746 Connection: keep-alive Keep-Alive: timeout=5 { "kyc_data": [ { "payto_uri": "payto://iban/DE1327812254798?receiver-name=the%20name%20of%20merchant", "h_wire": "Z4S5Y7N2BQEDQ1FHX5H0GCC4EBRMGVB1ENHFED2XSYBFSDTTRPKP2MHETFYYB3Y1XETH7SMANCT6N4PTNEM8MWBYNCY8NFBQ1RYVRCR", "status": "ready", "exchange_url": "https://exchange.taler/", "exchange_currency": "KUDOS", "no_keys": false, "auth_conflict": false, "exchange_http_status": 200, "access_token": "751F91NJKPEWKNX4DMBPBQMH2Y2HTMFAB2X0WM772N86SKHMWR3G", "limits": [ { "threshold": "KUDOS:100", "timeframe": { "d_us": 180000000 }, "soft_limit": true, "operation_type": "WITHDRAW" } ] } ] } [2] curl 'https://merchant.taler/private/kyc?lp_not_etag=SRD8JC5VW17CJX01SMNNPX8GAVDXYP9ZNNG82PM08WA9VWKAD6NG&timeout_ms=15000' \ -H 'Accept: application/json' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Authorization: Bearer secret-token:YE78WNBZ15TTHS24CBXBWGAB296XYFZ5EK1Z4TXDXBMYYQY2N2AG' \ -H 'Cache-Control: no-cache' \ -H 'Connection: keep-alive' \ -H 'If-none-match: "SRD8JC5VW17CJX01SMNNPX8GAVDXYP9ZNNG82PM08WA9VWKAD6NG"' \ -H 'Origin: https://dev.taler' \ -H 'Pragma: no-cache' \ -H 'Referer: https://dev.taler/' \ -H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Mode: cors' \ -H 'Sec-Fetch-Site: cross-site' \ -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36' \ -H 'sec-ch-ua: "Chromium";v="145", "Not:A-Brand";v="99"' \ -H 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-platform: "Linux"' HTTP/1.1 200 OK date: Wed, 08 Apr 2026 22:21:53 GMT access-control-allow-origin: * access-control-expose-headers: * cache-control: no-store content-type: application/json etag: "MRC59TN6QWD7MF06MB084S1EN35BQGPJSHP3GX0G1250NY09P1X0" content-length: 1612 Connection: keep-alive Keep-Alive: timeout=5 { "kyc_data": [ { "payto_uri": "payto://iban/DE1327812254798?receiver-name=the%20name%20of%20merchant", "h_wire": "Z4S5Y7N2BQEDQ1FHX5H0GCC4EBRMGVB1ENHFED2XSYBFSDTTRPKP2MHETFYYB3Y1XETH7SMANCT6N4PTNEM8MWBYNCY8NFBQ1RYVRCR", "status": "ready", "exchange_url": "https://exchange.taler/", "exchange_currency": "KUDOS", "no_keys": false, "auth_conflict": false, "exchange_http_status": 200, "access_token": "751F91NJKPEWKNX4DMBPBQMH2Y2HTMFAB2X0WM772N86SKHMWR3G", "limits": [ { "threshold": "KUDOS:100", "timeframe": { "d_us": 180000000 }, "soft_limit": true, "operation_type": "WITHDRAW" } ] }, { "payto_uri": "payto://iban/DE75512108001245126199?receiver-name=seb", "h_wire": "XC45320EGSV8R7FZRA2CTQDS8JTBKKPKJ4R5G7JQ9GP5HBAHHJMHYETGF4J6Z395J82V4PZ191NVNG11GKMCAJVHFXH44BAJT14NM38", "status": "kyc-wire-required", "exchange_url": "https://exchange.taler/", "exchange_currency": "KUDOS", "no_keys": false, "auth_conflict": false, "exchange_http_status": 404, "exchange_code": 1939, "limits": [ { "operation_type": "DEPOSIT", "disallowed": true, "timeframe": { "d_us": 0 }, "threshold": "KUDOS:0", "soft_limit": true } ], "payto_kycauths": [ "payto://iban/CH7689144661327513261?receiver-name=Exchanger+Conver&message=KYC:V38GCFQDVWEFX3R17DSKTJGPYNCCXV5EZTS6869FDEWE23NJX38G" ] } ] } | ||||
| Tags | No tags attached. | ||||