diff options
| -rw-r--r-- | src/include/taler_error_codes.h | 19 | ||||
| -rw-r--r-- | src/include/taler_exchange_service.h | 2 | ||||
| -rw-r--r-- | src/lib/exchange_api_refund.c | 4 | ||||
| -rw-r--r-- | src/testing/testing_api_cmd_refund.c | 3 | 
4 files changed, 27 insertions, 1 deletions
| diff --git a/src/include/taler_error_codes.h b/src/include/taler_error_codes.h index f75464c3..74660303 100644 --- a/src/include/taler_error_codes.h +++ b/src/include/taler_error_codes.h @@ -2199,6 +2199,25 @@ enum TALER_ErrorCode    TALER_EC_TIP_PICKUP_UNBLIND_FAILURE = 2812,    /** +   * We failed to fetch contract terms from our merchant database. The +   * response is provided with HTTP status code +   * #MHD_HTTP_INTERNAL_SERVER_ERROR. +   */ +  TALER_EC_GET_ORDERS_DB_LOOKUP_ERROR = 2900, + +  /** +   * We failed to find the contract terms from our merchant database. +   * The response is provided with HTTP status code #MHD_HTTP_NOT_FOUND. +   */ +  TALER_EC_GET_ORDERS_ID_UNKNOWN = 2901, + +  /** +   * The contract hash provided by the wallet does not match the order. +   * The response is provided with HTTP status code #MHD_HTTP_FORBIDDEN. +   */ +  TALER_EC_GET_ORDERS_WRONG_CONTRACT = 2902, + +  /**     * We failed to contract terms from our merchant database. The     * response is provided with HTTP status code     * #MHD_HTTP_INTERNAL_SERVER_ERROR. diff --git a/src/include/taler_exchange_service.h b/src/include/taler_exchange_service.h index f94b8253..82b9b83d 100644 --- a/src/include/taler_exchange_service.h +++ b/src/include/taler_exchange_service.h @@ -851,6 +851,7 @@ struct TALER_EXCHANGE_RefundHandle;   *   * @param cls closure   * @param hr HTTP response data + * @param refund_fee the refund fee the exchange charged us   * @param sign_key exchange key used to sign @a obj, or NULL   * @param signature the actual signature, or NULL on error   */ @@ -858,6 +859,7 @@ typedef void  (*TALER_EXCHANGE_RefundCallback) (    void *cls,    const struct TALER_EXCHANGE_HttpResponse *hr, +  const struct TALER_Amount *refund_fee,    const struct TALER_ExchangePublicKeyP *sign_key,    const struct TALER_ExchangeSignatureP *signature); diff --git a/src/lib/exchange_api_refund.c b/src/lib/exchange_api_refund.c index 9cb8794d..b1ea176b 100644 --- a/src/lib/exchange_api_refund.c +++ b/src/lib/exchange_api_refund.c @@ -92,7 +92,6 @@ verify_refund_signature_ok (struct TALER_EXCHANGE_RefundHandle *rh,                              const json_t *json,                              struct TALER_ExchangePublicKeyP *exchange_pub,                              struct TALER_ExchangeSignatureP *exchange_sig) -  {    const struct TALER_EXCHANGE_Keys *key_state;    struct GNUNET_JSON_Specification spec[] = { @@ -149,6 +148,7 @@ handle_refund_finished (void *cls,    struct TALER_ExchangeSignatureP exchange_sig;    struct TALER_ExchangePublicKeyP *ep = NULL;    struct TALER_ExchangeSignatureP *es = NULL; +  struct TALER_Amount *rf = NULL;    const json_t *j = response;    struct TALER_EXCHANGE_HttpResponse hr = {      .reply = j, @@ -176,6 +176,7 @@ handle_refund_finished (void *cls,      {        ep = &exchange_pub;        es = &exchange_sig; +      rf = &rh->depconf.refund_fee;      }      break;    case MHD_HTTP_BAD_REQUEST: @@ -234,6 +235,7 @@ handle_refund_finished (void *cls,    }    rh->cb (rh->cb_cls,            &hr, +          rf,            ep,            es);    TALER_EXCHANGE_refund_cancel (rh); diff --git a/src/testing/testing_api_cmd_refund.c b/src/testing/testing_api_cmd_refund.c index c27311fb..e662ace2 100644 --- a/src/testing/testing_api_cmd_refund.c +++ b/src/testing/testing_api_cmd_refund.c @@ -76,6 +76,7 @@ struct RefundState   *   * @param cls closure   * @param hr HTTP response details + * @param refund_fee the refund fee the exchange charged   * @param exchange_pub public key the exchange   *        used for signing @a obj.   * @param exchange_sig actual signature confirming the refund @@ -83,6 +84,7 @@ struct RefundState  static void  refund_cb (void *cls,             const struct TALER_EXCHANGE_HttpResponse *hr, +           const struct TALER_Amount *refund_fee,             const struct TALER_ExchangePublicKeyP *exchange_pub,             const struct TALER_ExchangeSignatureP *exchange_sig)  { @@ -90,6 +92,7 @@ refund_cb (void *cls,    struct RefundState *rs = cls;    struct TALER_TESTING_Command *refund_cmd; +  (void) refund_fee;    refund_cmd = &rs->is->commands[rs->is->ip];    rs->rh = NULL;    if (rs->expected_response_code != hr->http_status) | 
