taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 05aa6d5ac501a62063f5b903805cdb633d14b2db
parent ebe14556125c525f46ba0f3272ed03fe1e520567
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat,  2 May 2020 19:43:33 +0200

finish spec part of #5987

Diffstat:
Mcore/api-merchant.rst | 15++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/core/api-merchant.rst b/core/api-merchant.rst @@ -956,8 +956,11 @@ Receiving Payments **Response:** :status 200 OK: - The exchange accepted all of the coins. The body is a - a `merchant refund response <MerchantRefundResponse>`. + The merchant accepted the request, and passed it on to the exchange. The body is a + a `merchant refund response <MerchantRefundResponse>`. Note that the exchange + MAY still have encountered errors in processing. Those will then be part of + the body. Wallets MUST carefully consider errors for each of the coins as + returned by the exchange. :status 400 Bad request: Either the client request is malformed or some specific processing error happened that may be the fault of the client as detailed in the JSON body @@ -967,11 +970,13 @@ Receiving Payments :status 404 Not found: The merchant backend could not find the order or the instance and thus cannot process the abort request. - :status 410 Gone: - It is too late for aborting, the exchange may have already sent wired funds - to the merchant. + :status 408 Request Timeout: + The merchant backend took too long getting a response from the exchange. + The wallet SHOULD retry soon. :status 412 Precondition Failed: Aborting the payment is not allowed, as the original payment did succeed. + It is possible that a different wallet succeeded with the payment. This + wallet should thus try to refresh all of the coins involved in the payment. :status 424 Failed Dependency: The merchant's interaction with the exchange failed in some way. The error from the exchange is included.