aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-04-02 20:22:45 +0200
committerChristian Grothoff <christian@grothoff.org>2020-04-02 20:22:45 +0200
commit61cfaa5981e1e0ab85154e4f168e03c49f85eba2 (patch)
tree94fc24cef9020c2bff85e587bc9c751e3986d338 /src/include
parente9de3374a974df5e7eeaff0c3241dd98724c642e (diff)
update error codes for merchant
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_error_codes.h64
1 files changed, 40 insertions, 24 deletions
diff --git a/src/include/taler_error_codes.h b/src/include/taler_error_codes.h
index 5baf95389..3a6cb39d8 100644
--- a/src/include/taler_error_codes.h
+++ b/src/include/taler_error_codes.h
@@ -1120,7 +1120,9 @@ enum TALER_ErrorCode
/**
* The exchange failed to provide a meaningful response to a /deposit
* request. This response is provided with HTTP status code
- * #MHD_HTTP_SERVICE_UNAVAILABLE.
+ * #MHD_HTTP_DEPENDENCY_FAILED, or #MHD_HTTP_CONFLICT in case the
+ * exchange reports #TALER_EC_DEPOSIT_INSUFFICIENT_FUNDS (aka double
+ * spending).
*/
TALER_EC_PAY_EXCHANGE_FAILED = 2101,
@@ -1166,17 +1168,18 @@ enum TALER_ErrorCode
TALER_EC_PAY_FEES_EXCEED_PAYMENT = 2107,
/**
- * After considering deposit fees, the payment is insufficient to
- * satisfy the required amount for the contract. This response is
- * provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
+ * After considering deposit and wire fees, the payment is
+ * insufficient to satisfy the required amount for the contract. The
+ * client should revisit the logic used to calculate fees it must
+ * cover. This response is provided with HTTP status code
+ * #MHD_HTTP_BAD_REQUEST.
*/
TALER_EC_PAY_PAYMENT_INSUFFICIENT_DUE_TO_FEES = 2108,
/**
- * While the merchant is happy to cover all applicable deposit fees,
- * the payment is insufficient to satisfy the required amount for the
- * contract. This response is provided with HTTP status code
- * #MHD_HTTP_BAD_REQUEST.
+ * Even if we do not consider deposit and wire fees, the payment is
+ * insufficient to satisfy the required amount for the contract. This
+ * response is provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
*/
TALER_EC_PAY_PAYMENT_INSUFFICIENT = 2109,
@@ -1195,14 +1198,19 @@ enum TALER_ErrorCode
TALER_EC_PAY_EXCHANGE_TIMEOUT = 2111,
/**
- * The signature over the contract of the merchant was invalid. This
- * response is provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
+ * When we tried to find information about the exchange to issue the
+ * deposit, we failed. This usually only happens if the merchant
+ * backend is somehow unable to get its own HTTP client logic to work.
+ * This response is provided with HTTP status code
+ * #MHD_HTTP_INTERNAL_SERVER_ERROR.
*/
- TALER_EC_PAY_MERCHANT_SIGNATURE_INVALID = 2113,
+ TALER_EC_PAY_EXCHANGE_LOOKUP_FAILED = 2112,
/**
- * The refund deadline was after the transfer deadline. This response
- * is provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
+ * The refund deadline in the contract is after the transfer deadline.
+ * This response is provided with HTTP status code
+ * #MHD_HTTP_INTERNAL_SERVER_ERROR as this should have been caught
+ * when the offer was first setup.
*/
TALER_EC_PAY_REFUND_DEADLINE_PAST_WIRE_TRANSFER_DEADLINE = 2114,
@@ -1213,9 +1221,9 @@ enum TALER_ErrorCode
TALER_EC_PAY_COINS_ARRAY_EMPTY = 2115,
/**
- * The merchant failed to fetch the merchant's previous state with
- * respect to a /pay request from its database. This response is
- * provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
+ * The merchant failed to fetch the contract terms from the merchant's
+ * database. This response is provided with HTTP status code
+ * #MHD_HTTP_INTERNAL_SERVER_ERROR.
*/
TALER_EC_PAY_DB_FETCH_PAY_ERROR = 2116,
@@ -1227,13 +1235,6 @@ enum TALER_ErrorCode
TALER_EC_PAY_DB_FETCH_TRANSACTION_ERROR = 2117,
/**
- * The transaction ID was used for a conflicing transaction before.
- * This response is provided with HTTP status code
- * #MHD_HTTP_BAD_REQUEST.
- */
- TALER_EC_PAY_DB_TRANSACTION_ID_CONFLICT = 2118,
-
- /**
* The merchant failed to store the merchant's state with respect to
* the transaction in its database. This response is provided with
* HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
@@ -1249,7 +1250,7 @@ enum TALER_ErrorCode
/**
* The payment is too late, the offer has expired. This response is
- * provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
+ * provided with HTTP status code #MHD_HTTP_GONE.
*/
TALER_EC_PAY_OFFER_EXPIRED = 2121,
@@ -1322,6 +1323,21 @@ enum TALER_ErrorCode
TALER_EC_PAY_EXCHANGE_WIRE_FEE_ADDITION_FAILED = 2131,
/**
+ * The contract was not fully paid because of refunds. Note that
+ * clients MAY treat this as paid if, for example, contracts must be
+ * executed despite of refunds. This response is provided with HTTP
+ * status code #MHD_HTTP_PAYMENT_REQUIRED.
+ */
+ TALER_EC_PAY_REFUNDED = 2132,
+
+ /**
+ * According to our database, we have refunded more than we were paid
+ * (which should not be possible). This response is provided with HTTP
+ * status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
+ */
+ TALER_EC_PAY_REFUNDS_EXCEED_PAYMENTS = 2133,
+
+ /**
* Integer overflow with specified timestamp argument detected. This
* response is provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
*/