Trigger /refund currency missmatch the right way.
This commit is contained in:
parent
e94e8c34c5
commit
2fff7d8f3a
@ -180,6 +180,10 @@ handle_refund_finished (void *cls,
|
|||||||
/* Kind of normal: the money was already sent to the merchant
|
/* Kind of normal: the money was already sent to the merchant
|
||||||
(it was too late for the refund). */
|
(it was too late for the refund). */
|
||||||
break;
|
break;
|
||||||
|
case MHD_HTTP_PRECONDITION_FAILED:
|
||||||
|
/* Client request was inconsistent; might be a currency missmatch
|
||||||
|
problem. */
|
||||||
|
break;
|
||||||
case MHD_HTTP_INTERNAL_SERVER_ERROR:
|
case MHD_HTTP_INTERNAL_SERVER_ERROR:
|
||||||
/* Server had an internal issue; we should retry, but this API
|
/* Server had an internal issue; we should retry, but this API
|
||||||
leaves this to the application */
|
leaves this to the application */
|
||||||
|
@ -201,7 +201,7 @@ run (void *cls,
|
|||||||
/* Next chunk, refund conflicts
|
/* Next chunk, refund conflicts
|
||||||
|
|
||||||
(contract hash missmatch [!],
|
(contract hash missmatch [!],
|
||||||
original deposit does not exist,
|
original deposit does not exist V,
|
||||||
currency missmatch) V;
|
currency missmatch) V;
|
||||||
|
|
||||||
'refund_transaction()' has many of the relevant cases;
|
'refund_transaction()' has many of the relevant cases;
|
||||||
@ -235,18 +235,11 @@ run (void *cls,
|
|||||||
"EUR:5",
|
"EUR:5",
|
||||||
MHD_HTTP_OK),
|
MHD_HTTP_OK),
|
||||||
|
|
||||||
TALER_TESTING_cmd_modify_object_ul
|
|
||||||
("hack-currency",
|
|
||||||
CONFIG_FILE,
|
|
||||||
/* Will make currency missmatch */
|
|
||||||
"refund_amount",
|
|
||||||
"USD:5"),
|
|
||||||
|
|
||||||
TALER_TESTING_cmd_refund
|
TALER_TESTING_cmd_refund
|
||||||
("refund-currency-missmatch",
|
("refund-currency-missmatch",
|
||||||
MHD_HTTP_BAD_REQUEST,
|
MHD_HTTP_PRECONDITION_FAILED,
|
||||||
"EUR:5",
|
"USD:5",
|
||||||
"EUR:0.01",
|
"USD:0.01",
|
||||||
"deposit-refund-1"),
|
"deposit-refund-1"),
|
||||||
|
|
||||||
TALER_TESTING_cmd_refund
|
TALER_TESTING_cmd_refund
|
||||||
@ -291,7 +284,7 @@ run (void *cls,
|
|||||||
|
|
||||||
TALER_TESTING_cmd_refund
|
TALER_TESTING_cmd_refund
|
||||||
("refund-deposit-not-found",
|
("refund-deposit-not-found",
|
||||||
MHD_HTTP_BAD_REQUEST,
|
MHD_HTTP_NOT_FOUND,
|
||||||
"EUR:5",
|
"EUR:5",
|
||||||
"EUR:0.01",
|
"EUR:0.01",
|
||||||
"deposit-refund-to-fail"),
|
"deposit-refund-to-fail"),
|
||||||
|
@ -227,8 +227,12 @@ refund_run (void *cls,
|
|||||||
}
|
}
|
||||||
|
|
||||||
rs->rh = TALER_EXCHANGE_refund
|
rs->rh = TALER_EXCHANGE_refund
|
||||||
(rs->exchange, &refund_amount, &refund_fee, &h_contract_terms,
|
(rs->exchange,
|
||||||
&coin, rs->refund_transaction_id,
|
&refund_amount,
|
||||||
|
&refund_fee,
|
||||||
|
&h_contract_terms,
|
||||||
|
&coin,
|
||||||
|
rs->refund_transaction_id,
|
||||||
(const struct TALER_MerchantPrivateKeyP *) merchant_priv,
|
(const struct TALER_MerchantPrivateKeyP *) merchant_priv,
|
||||||
&refund_cb, rs);
|
&refund_cb, rs);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user