View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010636 | Taler | merchant backend | public | 2025-11-19 21:25 | 2025-11-21 17:06 |
| Reporter | sebasjm | Assigned To | Christian Grothoff | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | confirmed | Resolution | open | ||
| Summary | 0010636: refund time = 0 | ||||
| Description | then the merchant can't create a refund $ curl 'http://merchant.taler.test/private/orders/2025.323-0341BBG7WG5DE' \ -H 'Accept: application/json' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Authorization: Bearer secret-token:X8E74RT13K0H438YM19DG4TJX9QWN0SR1C6F440K07EQWQD88CY0' \ -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 { "wire_reports": [], "exchange_code": 0, "exchange_http_status": 0, "exchange_ec": 0, "exchange_hc": 0, "deposit_total": "KUDOS:0", "contract_terms": { "nonce": "0RMMECM7YKWNK5CFCF86GD0MNCV6586T9QZTHTQ9V51CYHK0XG7G", "amount": "KUDOS:30", "h_wire": "4RF2ZBZGQ3BJ52KFAPHXK7TXYJEE78JAWNEDGF7K9FXTX7NRJNMAZBJKSG0Y830ENSSYMPVEC4547MWKRK3FE8SJ90WQZYXGPHS9GTG", "max_fee": "KUDOS:0", "summary": "zxc", "version": 0, "merchant": { "name": "qwe", "email": "", "address": {}, "jurisdiction": {} }, "order_id": "2025.323-0341BBG7WG5DE", "products": [], "exchanges": [ { "url": "http://exchange.taler.test/", "priority": 1024, "master_pub": "QMDG9G3BEJ348BE4TNE82GS8F72R0B4T2P2K5RPTKTX8JJ64NG20", "max_contribution": "KUDOS:30" } ], "timestamp": { "t_s": 1763583256 }, "minimum_age": 0, "wire_method": "iban", "merchant_pub": "7XWD3Z1CWGE5N8BBJ9846BMNKEDPQAGJ23QRSK61GGN3CMJHE42G", "pay_deadline": { "t_s": 1763590456 }, "refund_deadline": { "t_s": 0 }, "merchant_base_url": "http://merchant.taler.test/", "wire_transfer_deadline": { "t_s": 1763763256 } }, "order_status": "paid", "last_payment": { "t_s": 1763583261 }, "refunded": false, "wired": false, "refund_pending": false, "refund_amount": "KUDOS:0", "wire_details": [], "refund_details": [], "order_status_url": "http://merchant.taler.test/orders/2025.323-0341BBG7WG5DE?token=5N8HXJFJQ87NF8NXG1S1C3YXQ8" } | ||||
| Steps To Reproduce | create a template, use the template to create the order and pay the order. i also adding the instance settings below curl 'http://merchant.taler.test/private/templates' \ -H 'Accept: application/json' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Authorization: Bearer secret-token:X8E74RT13K0H438YM19DG4TJX9QWN0SR1C6F440K07EQWQD88CY0' \ -H 'Cache-Control: no-cache' \ -H 'Connection: keep-alive' \ -H 'Content-Type: application/json' \ -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' \ --data-raw '{"template_id":"test","template_description":"test","template_contract":{"minimum_age":0,"pay_duration":{"d_us":7200000000},"currency":"KUDOS"},"editable_defaults":{"amount":"KUDOS:0","summary":""}}' \ --insecure curl 'http://merchant.taler.test/templates/test' \ -H 'Accept: application/json' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Cache-Control: no-cache' \ -H 'Connection: keep-alive' \ -H 'Content-Type: application/json' \ -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' \ --data-raw '{"amount":"KUDOS:6","summary":"refund time"}' \ --insecure $ curl 'http://merchant.taler.test/private/orders/2025.323-03R0XAMFF03XA' \ -H 'Accept: application/json' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Authorization: Bearer secret-token:X8E74RT13K0H438YM19DG4TJX9QWN0SR1C6F440K07EQWQD88CY0' \ -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 { "taler_pay_uri": "taler+http://pay/merchant.taler.test:80/2025.323-03R0XAMFF03XA/?c=M71DSHXBVNMA1N5VQZ6Z530HWC", "order_status_url": "http://merchant.taler.test/orders/2025.323-03R0XAMFF03XA?token=M71DSHXBVNMA1N5VQZ6Z530HWC", "order_status": "unpaid", "total_amount": "KUDOS:6", "summary": "refund time", "creation_time": { "t_s": 1763583638 } } $ curl 'http://merchant.taler.test/private' \ -H 'Accept: application/json' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Authorization: Bearer secret-token:X8E74RT13K0H438YM19DG4TJX9QWN0SR1C6F440K07EQWQD88CY0' \ -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 { "accounts": [ { "payto_uri": "payto://iban/DE36351981029457144251?receiver-name=Baggy%20Search", "h_wire": "4RF2ZBZGQ3BJ52KFAPHXK7TXYJEE78JAWNEDGF7K9FXTX7NRJNMAZBJKSG0Y830ENSSYMPVEC4547MWKRK3FE8SJ90WQZYXGPHS9GTG", "salt": "MFAP6P19ETQR5MGFJ9V65ANAV4", "active": true }, { "payto_uri": "payto://iban/DE1231231231?receiver-name=qwe", "h_wire": "XR73ZVY0AJFH4C5JJHS9PM5HE0KDNA6MSSQ3NFEYM6DJQ3GD4S5BYTSVBRMY3CC9G5GA4SG1Q743S7710ETGAVHVJ07NEW3RCS7C8R0", "salt": "5HYE8R25SSZFNPYNS4XKHWBM9C", "active": false } ], "name": "qwe", "email": "", "email_validated": false, "phone_validated": false, "merchant_pub": "7XWD3Z1CWGE5N8BBJ9846BMNKEDPQAGJ23QRSK61GGN3CMJHE42G", "address": {}, "jurisdiction": {}, "use_stefan": true, "default_wire_transfer_delay": { "d_us": 172800000000 }, "default_pay_delay": { "d_us": 7200000000 }, "default_refund_delay": { "d_us": 1296000000000 }, "default_wire_transfer_rounding_interval": "NONE", "auth": { "method": "token" } } | ||||
| Tags | No tags attached. | ||||
|
|
Eh, I'm confused. If you say refunds are only possible until 1.1.1970, why do you expect refunds to work in 2025? That's absolutely expected, refunds are ONLY possible until the refund deadline, so if you set it to 0, you disable refunds. This seems totally expected. |
|
|
this happens using templates. The spa never sends the refund time so it comes from the backend, it should use the default from refund_delay from the instance settings. That's why i also added that information in "steps to reproduce" |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-11-19 21:25 | sebasjm | New Issue | |
| 2025-11-19 21:25 | sebasjm | Status | new => assigned |
| 2025-11-19 21:25 | sebasjm | Assigned To | => Christian Grothoff |
| 2025-11-20 22:41 | Christian Grothoff | Note Added: 0026563 | |
| 2025-11-20 22:41 | Christian Grothoff | Assigned To | Christian Grothoff => sebasjm |
| 2025-11-20 22:41 | Christian Grothoff | Status | assigned => feedback |
| 2025-11-21 17:06 | sebasjm | Note Added: 0026572 | |
| 2025-11-21 17:06 | sebasjm | Assigned To | sebasjm => Christian Grothoff |
| 2025-11-21 17:06 | sebasjm | Status | feedback => confirmed |