merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit 3e8a86defc90fbde42c9505c90341fe981160d1e
parent b5c7e1fec6d694b989168be2a0839b21be0b71fa
Author: Florian Dold <florian.dold@gmail.com>
Date:   Tue, 24 May 2016 01:20:25 +0200

Revert "check for duplicate transaction ID"

Fixes issue #4519.  "/contract" is needed for contract restoration, even
after a contract has been payed for.

This reverts commit d7eb23ad965c0207e561261588cbf742f93df935.

Diffstat:
Msrc/backend/taler-merchant-httpd_contract.c | 23-----------------------
Msrc/backend/taler-merchant-httpd_pay.c | 3---
Msrc/lib/merchant_api_contract.c | 1-
3 files changed, 0 insertions(+), 27 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_contract.c b/src/backend/taler-merchant-httpd_contract.c @@ -187,29 +187,6 @@ MH_handler_contract (struct TMH_RequestHandler *rh, "products in contract request malformed"); } - /* Check if this transaction ID erroneously corresponds to a - contract that already paid, in which case we should refuse - to sign it again (frontend buggy, it should use a fresh - transaction ID each time)! */ - if (GNUNET_OK == - db->check_payment (db->cls, - transaction_id)) - { - struct MHD_Response *resp; - int ret; - - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Transaction %llu already paid in the past, refusing to sign!\n", - (unsigned long long) transaction_id); - resp = MHD_create_response_from_buffer (strlen ("Duplicate transaction ID!"), - "Duplicate transaction ID!", - MHD_RESPMEM_PERSISTENT); - ret = MHD_queue_response (connection, - MHD_HTTP_FORBIDDEN, - resp); - MHD_destroy_response (resp); - return ret; - } /* add fields to the contract that the backend should provide */ json_object_set (jcontract, diff --git a/src/backend/taler-merchant-httpd_pay.c b/src/backend/taler-merchant-httpd_pay.c @@ -882,9 +882,6 @@ MH_handler_pay (struct TMH_RequestHandler *rh, /* Payment succeeded in the past; take short cut and accept immediately */ - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Transaction %llu already paid in the past, taking short cut.\n", - (unsigned long long) pc->transaction_id); resp = MHD_create_response_from_buffer (0, NULL, MHD_RESPMEM_PERSISTENT); diff --git a/src/lib/merchant_api_contract.c b/src/lib/merchant_api_contract.c @@ -123,7 +123,6 @@ handle_contract_finished (void *cls, (or API version conflict); just pass JSON reply to the application */ break; case MHD_HTTP_FORBIDDEN: - /* Duplicate transaction ID, frontend is buggy! */ break; case MHD_HTTP_UNAUTHORIZED: /* Nothing really to verify, merchant says one of the signatures is