View Issue Details

IDProjectCategoryView StatusLast Update
0004443Talerexchange API (C)public2016-11-20 03:26
ReporterFlorian Dold Assigned ToChristian Grothoff  
PrioritynormalSeveritytweakReproducibilityhave not tried
Status closedResolutionfixed 
Product Version0.0 
Target Version0.2Fixed in Version0.2 
Summary0004443: exchange error hints misleading
DescriptionCurrently the exchange reports

{"error": "unknown entity referenced", "parameter": "wire"}

back to the merchant (who just hands it back to the wallet verbatim) when the mint can't parse a merchant's "wire" field in the deposit request.
TagsNo tags attached.


Christian Grothoff

2016-04-24 23:51

manager   ~0010556

Are you suggesting we should generate a 400 BAD REQUEST in this case?

Florian Dold

2016-04-25 00:08

manager   ~0010559

I'm suggesting that the merchant should send a 5xx back to the wallet, whenever the exchange gives a 400 back to the merchant.

A correct merchant implementation will never receive a 400 from a correct exchange, and thus should not pass it on to the wallet.

Especially since the wallet does not need to be aware of the protocol between merchant and exchange, but the current error message leaks this. The wallet should only receive a 400 if the *wallet* made a bad request, not if the merchant is simply misconfigured.

Christian Grothoff

2016-10-20 21:36

manager   ~0011372

Actually, we now return (usually) a 424 DEPENDENCY FAILED (as it can be said that the merchant depends on the exchange). We also return a merchant-specific code (enum TALER_ErrorCode), the "exchange-http-status" and the "exchange-error-code" (another enum TALER_ErrorCode, this time the one from the exchange). This should give the wallet plenty to play with.

Please file new bugs if for specific requests the diagnostics are still insufficient.

Issue History

Date Modified Username Field Change
2016-04-19 01:13 Florian Dold New Issue
2016-04-19 01:13 Florian Dold Status new => assigned
2016-04-19 01:13 Florian Dold Assigned To => Christian Grothoff
2016-04-24 23:51 Christian Grothoff Note Added: 0010556
2016-04-24 23:52 Christian Grothoff Assigned To Christian Grothoff => Florian Dold
2016-04-24 23:52 Christian Grothoff Status assigned => feedback
2016-04-24 23:52 Christian Grothoff Severity minor => tweak
2016-04-24 23:52 Christian Grothoff Product Version => 0.0
2016-04-25 00:08 Florian Dold Note Added: 0010559
2016-04-25 00:08 Florian Dold Status feedback => assigned
2016-05-05 15:25 Christian Grothoff Target Version => 0.2
2016-10-20 13:22 Christian Grothoff Assigned To Florian Dold => Christian Grothoff
2016-10-20 21:36 Christian Grothoff Note Added: 0011372
2016-10-20 21:36 Christian Grothoff Status assigned => resolved
2016-10-20 21:36 Christian Grothoff Fixed in Version => 0.2
2016-10-20 21:36 Christian Grothoff Resolution open => fixed
2016-11-20 03:26 Christian Grothoff Status resolved => closed