View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010635 | Taler | merchant backend | public | 2025-11-19 21:06 | 2025-12-21 21:46 |
| Reporter | sebasjm | Assigned To | Christian Grothoff | ||
| Priority | high | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 1.1 | ||||
| Target Version | 1.3 | Fixed in Version | 1.3 | ||
| Summary | 0010635: wrong response doesn't follow spec [3d] | ||||
| Description | trying to create an order when there is no bank account ready yet $ curl 'http://merchant.taler.test/private/orders' --compressed -X POST -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:145.0) Gecko/20100101 Firefox/145.0' -H 'Accept: application/json' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'Referer: http://localhost:8080/' -H 'Content-Type: application/json' -H 'Authorization: Bearer secret-token:1DY5CKWM89HYGZET1N0VDAN13HBCXMJ727AVE7H3AQ9FASYYY09G' --data-raw '{"order":{"amount":"KUDOS:1","summary":"w","products":[],"pay_deadline":{"t_s":1763589074},"wire_transfer_deadline":{"t_s":1763754674},"refund_deadline":{"t_s":1763754674}},"inventory_products":[],"create_token":true}' and i get { "code": 2513, "hint": "The total order amount exceeds hard legal transaction limits from the available exchanges, thus a customer could never legally make this payment. You may try to increase your limits by passing legitimization checks with exchange operators. You could also inquire with your legislator why the limits are prohibitively low for your business." } which is understandable but the spa is waiting for what the specs says https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-private-orders 451 Unavailable for Legal Reasons: The order could not be created because of legal reasons, specifically no exchange would accept a payment at this time because we have not yet satisfied the respective legal requirements. The KYC status API can be used to determine details about how to proceed with the KYC process. The body is a PaymentDeniedLegallyResponse with details about the exchange(s) causing the failure. Since protocol v17. interface PaymentDeniedLegallyResponse { // Base URL of the exchanges that denied the payment. // The wallet should refresh the coins from these // exchanges, but may try to pay with coins from // other exchanges. exchange_base_urls: string[]; } | ||||
| Tags | No tags attached. | ||||
| related to | 0010546 | confirmed | Christian Grothoff | merchant backend should report the status of each exchange for each bank account [3d] |
| related to | 0010737 | closed | Christian Grothoff | 451 of template creation dont returns a PaymentDeniedLegallyResponse without urls |
|
|
112a2c62..e25c28c2 fixes the specification. The implementation remains unchanged, the spec wrongfully re-used a response from /pay while the order creation doesn't (need to) return a list of exchanges. We may return more extensive actual diagnostics in the future, but that is another issue and won't follow this format. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-11-19 21:06 | sebasjm | New Issue | |
| 2025-11-19 21:06 | sebasjm | Status | new => assigned |
| 2025-11-19 21:06 | sebasjm | Assigned To | => Christian Grothoff |
| 2025-11-20 22:42 | Christian Grothoff | Relationship added | related to 0010546 |
| 2025-11-28 22:17 | Christian Grothoff | Summary | wrong response doesn't follow spec => wrong response doesn't follow spec [3d] |
| 2025-12-19 20:06 | Christian Grothoff | Relationship added | related to 0010737 |
| 2025-12-21 20:00 | Christian Grothoff | Note Added: 0027162 | |
| 2025-12-21 20:00 | Christian Grothoff | Status | assigned => resolved |
| 2025-12-21 20:00 | Christian Grothoff | Resolution | open => fixed |
| 2025-12-21 20:00 | Christian Grothoff | Fixed in Version | => 1.3 |
| 2025-12-21 20:00 | Christian Grothoff | Target Version | => 1.3 |
| 2025-12-21 21:46 | Christian Grothoff | Status | resolved => closed |