View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010724 | Taler | merchant backoffice SPA | public | 2025-12-04 20:11 | 2025-12-04 22:41 |
| Reporter | htgoebel | Assigned To | sebasjm | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | assigned | Resolution | open | ||
| Product Version | 1.0 | ||||
| Target Version | 1.3 | ||||
| Summary | 0010724: Refund "pending" even after wire deadline | ||||
| Description | If a refund was not obtained be the customer, the order status still reports refund_pending as true and the refund's pending state as true. | ||||
| Steps To Reproduce | Create an order with short deadlines, pay it and create a refund, but DO NOT obtain the refund in the wallet. After the wire deadline passed use e.g. curl to query the order status. Except from the order status: 'order_id': '2025.338-00247EBTGAGNR', 'pay_deadline': {'t_s': 1764874500}, 'refund_deadline': {'t_s': 1764874560}, 'timestamp': {'t_s': 1764874391}, 'wire_transfer_deadline': {'t_s': 1764874560}}, 'last_payment': {'t_s': 1764874399}, 'order_status': 'paid', 'order_status_url': 'https://backend.demo.taler.net/instances/sandbox/orders/2025.338-00247EBTGAGNR', 'refund_amount': 'KUDOS:0.02', 'refund_details': [{'amount': 'KUDOS:0.02', 'pending': True, 'reason': 'duplicate', 'timestamp': {'t_s': 1764874434}}], 'refund_pending': True, 'refunded': True, 'wire_details': [{'amount': 'KUDOS:0.02', 'confirmed': False, 'exchange_url': 'https://exchange.demo.taler.net/', 'execution_time': {'t_s': 1764874399}, 'wtid': '312S1C67R87PMBGASP4RNA2RJGBM7ANVNG23QAXV32QFGQCZ1RBG'}], 'wire_reports': [], 'wired': True} | ||||
| Additional Information | Taler Backoffice 1.2.2 (23:1:11) | ||||
| Tags | No tags attached. | ||||
|
|
That's correct. Refund_pending = false means that the wallet *did* get the refund. The point is that here now "wired = true", and that means that any pending refund can no longer succeed. So you do need to consider all the bits in combination: if refund_pending = true *and* wired = true, it means the wallet will never get it. |
|
|
This is, however, something the SPA needs to show nicely, so for example no longer showing the refund as "pending" but as "failed". |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-12-04 20:11 | htgoebel | New Issue | |
| 2025-12-04 20:13 | htgoebel | Relationship added | related to 0010725 |
| 2025-12-04 20:24 | htgoebel | Relationship added | related to 0010726 |
| 2025-12-04 22:40 | Christian Grothoff | Note Added: 0026745 | |
| 2025-12-04 22:40 | Christian Grothoff | Assigned To | => sebasjm |
| 2025-12-04 22:40 | Christian Grothoff | Status | new => assigned |
| 2025-12-04 22:40 | Christian Grothoff | Relationship added | related to 0010695 |
| 2025-12-04 22:40 | Christian Grothoff | Note Added: 0026746 | |
| 2025-12-04 22:41 | Christian Grothoff | Severity | minor => major |
| 2025-12-04 22:41 | Christian Grothoff | Category | merchant backend => merchant backoffice SPA |
| 2025-12-04 22:41 | Christian Grothoff | Product Version | => 1.0 |
| 2025-12-04 22:41 | Christian Grothoff | Target Version | => 1.3 |