View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010635 | Taler | merchant backend | public | 2025-11-19 21:06 | 2025-11-19 21:06 |
| Reporter | sebasjm | Assigned To | Christian Grothoff | ||
| Priority | high | Severity | major | Reproducibility | always |
| Status | assigned | Resolution | open | ||
| Product Version | 1.1 | ||||
| Summary | 0010635: wrong response doesn't follow spec | ||||
| 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. | ||||