View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010745 | Taler | merchant backend | public | 2025-12-08 20:54 | 2025-12-12 21:15 |
| Reporter | sebasjm | Assigned To | Christian Grothoff | ||
| Priority | normal | Severity | major | Reproducibility | have not tried |
| Status | assigned | Resolution | open | ||
| Target Version | 1.5 | ||||
| Summary | 0010745: wrong wire transfer report on order details | ||||
| Description | the backend returns repeated wire id with different amounts, it should be merged as one also the sum doesn't match the expected wired amount into the bank account neither the wire transfer result * the order details has 2 wire transfer with same id (SJ3BCDN4V41YK8VHDZRFQMX3Z8R0F5B3S2RG2BM9W82DD6RM2K40) it should have one * both wire transfer sum KUDOS:1.51 + KUDOS:0.59 = KUDOS:2.1 * the same wire transfer in the transfer details shows KUDOS:2 side question: when the order may have more than one wire transfer? $ curl 'http://merchant.taler.test/private/orders/2025.339-61HXY0WMP7QG2' -H 'Authorization: Bearer secret-token:GH0M9R0R5CGQK80TBVYEEWJVJ9QDG3AC3SC2FPJGCQTYRZNW66Y0' { "wire_reports": [], "exchange_code": 0, "exchange_http_status": 0, "exchange_ec": 0, "exchange_hc": 0, "deposit_total": "KUDOS:2.12", "contract_terms": { "nonce": "QTTMNQW87BTSJWF73BHH4ZX53C6SVC89KHZQ04TNX48J0VK1J050", "amount": "KUDOS:3", "h_wire": "DMK7VW5PX646CDFPBRFZ9H1DBDYH9461NH1BC84KB9KAM3YMY1E35WFE804AA5X5AC128WZXZYZQNCQYZ71F3EWZJTGQAGDKFCYW2B0", "max_fee": "KUDOS:0", "summary": "we", "version": 0, "merchant": { "name": "qwe", "address": {}, "jurisdiction": {} }, "order_id": "2025.339-61HXY0WMP7QG2", "products": [], "exchanges": [ { "url": "http://exchange.taler.test/", "priority": 1024, "master_pub": "HJ08A1WQMD7XTB77K3H4XFZ9591EA07BW12XRPR991NR252SQDB0", "max_contribution": "KUDOS:3" } ], "timestamp": { "t_s": 1764941673 }, "minimum_age": 0, "wire_method": "iban", "merchant_pub": "6E1W70NJVJQ1AAA95CW715JRQ6D4AMRK3J1EC6SCTNZQT9XDSBW0", "pay_deadline": { "t_s": 1764941731 }, "refund_deadline": { "t_s": 1764941791 }, "merchant_base_url": "http://merchant.taler.test/", "wire_transfer_deadline": { "t_s": 1764941791 } }, "order_status": "paid", "last_payment": { "t_s": 1764941678 }, "refunded": true, "wired": true, "refund_pending": true, "refund_amount": "KUDOS:2", "wire_details": [ { "wtid": "SJ3BCDN4V41YK8VHDZRFQMX3Z8R0F5B3S2RG2BM9W82DD6RM2K40", "exchange_url": "http://exchange.taler.test/", "amount": "KUDOS:1.51", "execution_time": { "t_s": 1764941678 }, "confirmed": false }, { "wtid": "SJ3BCDN4V41YK8VHDZRFQMX3Z8R0F5B3S2RG2BM9W82DD6RM2K40", "exchange_url": "http://exchange.taler.test/", "amount": "KUDOS:0.59", "execution_time": { "t_s": 1764941678 }, "confirmed": false } ], "refund_details": [ { "amount": "KUDOS:0.4", "pending": true, "timestamp": { "t_s": 1764941725 }, "reason": "" }, { "amount": "KUDOS:1", "pending": false, "timestamp": { "t_s": 1764941687 }, "reason": "Duplicated" }, { "amount": "KUDOS:0.6", "pending": true, "timestamp": { "t_s": 1764941725 }, "reason": "" } ], "order_status_url": "http://merchant.taler.test/orders/2025.339-61HXY0WMP7QG2?token=RTMPEEFQEB954SPQ4C4HBEE9DR" } curl 'http://merchant.taler.test/private/incoming?payto_uri=payto%3A%2F%2Fiban%2FDE15970186998345619168%3Freceiver-name%3DHandsome%2520Measurement&limit=-6' \ -H 'Accept: application/json' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Authorization: Bearer secret-token:GH0M9R0R5CGQK80TBVYEEWJVJ9QDG3AC3SC2FPJGCQTYRZNW66Y0' \ -H 'Cache-Control: no-cache' \ -H 'Connection: keep-alive' \ -H 'Origin: http://localhost:8080' \ -H 'Pragma: no-cache' \ -H 'Referer: http://localhost:8080/' \ -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36' \ --insecure { "incoming": [ { "expected_credit_amount": "KUDOS:2", "wtid": "SJ3BCDN4V41YK8VHDZRFQMX3Z8R0F5B3S2RG2BM9W82DD6RM2K40", "payto_uri": "payto://iban/DE15970186998345619168?receiver-name=Handsome%20Measurement", "exchange_url": "http://exchange.taler.test/", "expected_transfer_serial_id": 8, "execution_time": { "t_s": 1764941795 }, "validated": true, "confirmed": false, "last_http_status": 200, "last_ec": 0 }, // ... other wire transfers here ] } | ||||
| Tags | No tags attached. | ||||
|
|
here is another case, the order doesn't have refunds STEFAN flag = true $ curl 'http://merchant.taler.test/private/orders/2025.339-010DA20FKXN88' { "wire_reports": [], "exchange_code": 0, "exchange_http_status": 0, "exchange_ec": 0, "exchange_hc": 0, "deposit_total": "KUDOS:1.11", "contract_terms": { "nonce": "62QJPPEC621A74NMMWWSRX32YTJ0J9ZYFJTAMR3WBN9D2KKE82DG", "amount": "KUDOS:1", "h_wire": "DMK7VW5PX646CDFPBRFZ9H1DBDYH9461NH1BC84KB9KAM3YMY1E35WFE804AA5X5AC128WZXZYZQNCQYZ71F3EWZJTGQAGDKFCYW2B0", "max_fee": "KUDOS:0", "summary": "w", "version": 0, "merchant": { "name": "qwe", "address": {}, "jurisdiction": {} }, "order_id": "2025.339-010DA20FKXN88", "products": [], "exchanges": [ { "url": "http://exchange.taler.test/", "priority": 1024, "master_pub": "HJ08A1WQMD7XTB77K3H4XFZ9591EA07BW12XRPR991NR252SQDB0", "max_contribution": "KUDOS:1" } ], "timestamp": { "t_s": 1764941022 }, "minimum_age": 0, "wire_method": "iban", "merchant_pub": "6E1W70NJVJQ1AAA95CW715JRQ6D4AMRK3J1EC6SCTNZQT9XDSBW0", "pay_deadline": { "t_s": 1764941081 }, "refund_deadline": { "t_s": 1764941141 }, "merchant_base_url": "http://merchant.taler.test/", "wire_transfer_deadline": { "t_s": 1764941141 } }, "order_status": "paid", "last_payment": { "t_s": 1764941028 }, "refunded": false, "wired": true, "refund_pending": false, "refund_amount": "KUDOS:0", "wire_details": [ { "wtid": "DZXCRRWAHZD0TQWHMKJSS3JZ05ZR8D1TWGJAFFNFPSEZDBSNEYVG", "exchange_url": "http://exchange.taler.test/", "amount": "KUDOS:1.1", "execution_time": { "t_s": 1764941028 }, "confirmed": false } ], "refund_details": [], "order_status_url": "http://merchant.taler.test/orders/2025.339-010DA20FKXN88?token=A5W7J2BPY2292Y6WNZMXECGXCC" } |
|
|
Eh, did consider wire fees? I think the amounts could be totally fine here. Yes, a single order can have multiple wire transfers, starting with the payment being made with different exchanges. I agree that we probably should aggregate the amounts (likely currently reported per coin, not just per contract). |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-12-08 20:54 | sebasjm | New Issue | |
| 2025-12-08 20:54 | sebasjm | Status | new => assigned |
| 2025-12-08 20:54 | sebasjm | Assigned To | => Christian Grothoff |
| 2025-12-08 20:57 | sebasjm | Note Added: 0026828 | |
| 2025-12-08 20:58 | sebasjm | Note Edited: 0026828 | |
| 2025-12-09 07:23 | Christian Grothoff | Target Version | => 1.5 |
| 2025-12-12 21:15 | Christian Grothoff | Note Added: 0026944 |