exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 027129dd07bfb3fd8da742688dcbadb205d22ec9
parent 52c3291f3d3a0b90e8631b930f72e24fcf175822
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat, 10 Oct 2026 17:35:48 +0200

bump gana

Diffstat:
Msrc/include/taler/taler_error_codes.h | 34+++++++++++++++++++++++++++++++++-
Msrc/util/taler_error_codes.c | 36++++++++++++++++++++++++++++++++++--
2 files changed, 67 insertions(+), 3 deletions(-)

diff --git a/src/include/taler/taler_error_codes.h b/src/include/taler/taler_error_codes.h @@ -3282,6 +3282,38 @@ enum TALER_ErrorCode /** + * The payment succeeded, but the donation authority (Donau) could not issue the donation receipts at this time. The response contains the payment confirmation. The wallet should replay the payment request later to obtain the receipts. + * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502). + * (A value of 0 indicates that the error is generated client-side). + */ + TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DONAU_RECEIPTS_DELAYED = 2188, + + + /** + * The payment succeeded, but the donation authority (Donau) refused to issue the donation receipts. The response contains the payment confirmation. Replaying the payment request will not produce the receipts. + * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502). + * (A value of 0 indicates that the error is generated client-side). + */ + TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DONAU_RECEIPTS_REFUSED = 2189, + + + /** + * The order was already paid and has since been refunded, possibly only in part. The payment request can no longer be replayed. The wallet should query the refunds instead. + * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409). + * (A value of 0 indicates that the error is generated client-side). + */ + TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_REPLAY_AFTER_REFUND = 2190, + + + /** + * The donation year in the request is not the current year. Nothing was paid. The wallet should create the donation receipt requests for the current year and try again. + * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409). + * (A value of 0 indicates that the error is generated client-side). + */ + TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DONATION_YEAR_INVALID = 2191, + + + /** * The contract hash does not match the given order ID. * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400). * (A value of 0 indicates that the error is generated client-side). @@ -6060,7 +6092,7 @@ enum TALER_ErrorCode /** * The donation amount specified in the request exceeds the limit of the charity. - * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400). + * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409). * (A value of 0 indicates that the error is generated client-side). */ TALER_EC_DONAU_EXCEEDING_DONATION_LIMIT = 8610, diff --git a/src/util/taler_error_codes.c b/src/util/taler_error_codes.c @@ -3167,6 +3167,38 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = { }, { + /* 2188 */ + .ec = TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DONAU_RECEIPTS_DELAYED, + .hint = + "The payment succeeded, but the donation authority (Donau) could not issue the donation receipts at this time. The response contains the payment confirmation. The wallet should replay the payment request later to obtain the receipts.", + .http_code = MHD_HTTP_BAD_GATEWAY + }, + + { + /* 2189 */ + .ec = TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DONAU_RECEIPTS_REFUSED, + .hint = + "The payment succeeded, but the donation authority (Donau) refused to issue the donation receipts. The response contains the payment confirmation. Replaying the payment request will not produce the receipts.", + .http_code = MHD_HTTP_BAD_GATEWAY + }, + + { + /* 2190 */ + .ec = TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_REPLAY_AFTER_REFUND, + .hint = + "The order was already paid and has since been refunded, possibly only in part. The payment request can no longer be replayed. The wallet should query the refunds instead.", + .http_code = MHD_HTTP_CONFLICT + }, + + { + /* 2191 */ + .ec = TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DONATION_YEAR_INVALID, + .hint = + "The donation year in the request is not the current year. Nothing was paid. The wallet should create the donation receipt requests for the current year and try again.", + .http_code = MHD_HTTP_CONFLICT + }, + + { /* 2200 */ .ec = TALER_EC_MERCHANT_POST_ORDERS_ID_PAID_CONTRACT_HASH_MISMATCH, .hint = "The contract hash does not match the given order ID.", @@ -5820,7 +5852,7 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = { .ec = TALER_EC_DONAU_EXCEEDING_DONATION_LIMIT, .hint = "The donation amount specified in the request exceeds the limit of the charity.", - .http_code = MHD_HTTP_BAD_REQUEST + .http_code = MHD_HTTP_CONFLICT }, { @@ -6226,7 +6258,7 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = { /** * The length of @e code_hint_pairs. */ -static const unsigned int code_hint_pairs_length = 802; +static const unsigned int code_hint_pairs_length = 806; const char *