aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/merchant.conf2
-rw-r--r--src/backend/taler-merchant-httpd_contract.c4
-rw-r--r--src/backend/taler-merchant-httpd_mints.c10
-rw-r--r--src/backend/taler-merchant-httpd_pay.c4
4 files changed, 17 insertions, 3 deletions
diff --git a/src/backend/merchant.conf b/src/backend/merchant.conf
index 4e6ce298..93d9fbba 100644
--- a/src/backend/merchant.conf
+++ b/src/backend/merchant.conf
@@ -25,7 +25,7 @@ EDATE = 3 week
DB = postgres
[mint-taler]
-URI = mint.demo.taler.net
+URI = http://mint.demo.taler.net/
MASTER_KEY = Q1WVGRGC1F4W7RYC6M23AEGFEXQEHQ730K3GG0B67VPHQSRR75H0
# Auditors must be in sections "auditor-", the rest of the section
diff --git a/src/backend/taler-merchant-httpd_contract.c b/src/backend/taler-merchant-httpd_contract.c
index b351c620..8a0bbccc 100644
--- a/src/backend/taler-merchant-httpd_contract.c
+++ b/src/backend/taler-merchant-httpd_contract.c
@@ -103,13 +103,13 @@ MH_handler_contract (struct TMH_RequestHandler *rh,
&contract.purpose,
&contract_sig);
- pay_url = json_object_get (root, "pay_url");
+ pay_url = json_object_get (jcontract, "pay_url");
if (NULL == pay_url)
{
return TMH_RESPONSE_reply_internal_error (connection,
"pay url missing");
}
- exec_url = json_object_get (root, "exec_url");
+ exec_url = json_object_get (jcontract, "exec_url");
if (NULL == exec_url)
{
return TMH_RESPONSE_reply_internal_error (connection,
diff --git a/src/backend/taler-merchant-httpd_mints.c b/src/backend/taler-merchant-httpd_mints.c
index e93419cd..5ddaf758 100644
--- a/src/backend/taler-merchant-httpd_mints.c
+++ b/src/backend/taler-merchant-httpd_mints.c
@@ -230,6 +230,8 @@ context_task (void *cls,
struct GNUNET_NETWORK_FDSet *ws;
struct GNUNET_TIME_Relative delay;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "In mint context polling task\n");
+
poller_task = NULL;
TALER_MINT_perform (ctx);
max_fd = -1;
@@ -243,6 +245,9 @@ context_task (void *cls,
&except_fd_set,
&max_fd,
&timeout);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "In mint context polling task, max_fd=%d, timeout=%ld\n",
+ max_fd, timeout);
if (timeout >= 0)
delay =
GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS,
@@ -319,6 +324,11 @@ TMH_MINTS_find_mint (const char *chosen_mint,
GNUNET_break (0);
return NULL;
}
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Trying to find chosen mint `%s'\n",
+ chosen_mint);
+
/* Check if the mint is known */
for (mint = mint_head; NULL != mint; mint = mint->next)
/* test it by checking public key --- FIXME: hostname or public key!?
diff --git a/src/backend/taler-merchant-httpd_pay.c b/src/backend/taler-merchant-httpd_pay.c
index 10f55d4b..67166eaf 100644
--- a/src/backend/taler-merchant-httpd_pay.c
+++ b/src/backend/taler-merchant-httpd_pay.c
@@ -710,6 +710,10 @@ MH_handler_pay (struct TMH_RequestHandler *rh,
}
}
+ /* Check if this payment attempt has already taken place */
+ if (GNUNET_OK == db->check_payment (db->cls, pc->transaction_id))
+ return TMH_RESPONSE_reply_external_error (connection, "payment already attempted");
+
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Looking up chosen mint '%s'\n", pc->chosen_mint);
/* Find the responsible mint, this may take a while... */