summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-08-26 23:55:48 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-08-26 23:55:48 +0200
commit62de3f174c61ade17c132846121e628345876153 (patch)
treef60828f02078be82747715128ddae07638329814
parentfe11d8a775ba848363a4e2b1ab41b3558aa1e755 (diff)
downloadmerchant-62de3f174c61ade17c132846121e628345876153.tar.gz
merchant-62de3f174c61ade17c132846121e628345876153.tar.bz2
merchant-62de3f174c61ade17c132846121e628345876153.zip
get rid of session_sig, as it is complex and does not work with mobile payments
-rw-r--r--src/backend/taler-merchant-httpd_check-payment.c109
-rw-r--r--src/backend/taler-merchant-httpd_pay.c31
-rw-r--r--src/backend/taler-merchant-httpd_proposal.c3
-rw-r--r--src/backend/taler-merchant-httpd_refund.c8
-rw-r--r--src/backend/taler-merchant-httpd_track-transaction.c4
-rw-r--r--src/backenddb/plugin_merchantdb_postgres.c14
-rw-r--r--src/backenddb/test_merchantdb.c33
-rw-r--r--src/include/taler_merchant_service.h3
-rw-r--r--src/include/taler_merchantdb_plugin.h7
-rw-r--r--src/lib/merchant_api_check_payment.c4
-rw-r--r--src/lib/testing_api_cmd_pay.c1
11 files changed, 51 insertions, 166 deletions
diff --git a/src/backend/taler-merchant-httpd_check-payment.c b/src/backend/taler-merchant-httpd_check-payment.c
index 7ba784d8..c2b2a837 100644
--- a/src/backend/taler-merchant-httpd_check-payment.c
+++ b/src/backend/taler-merchant-httpd_check-payment.c
@@ -303,7 +303,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
const char *order_id;
const char *contract_url;
const char *session_id;
- const char *session_sig_str;
const char *instance_str;
const char *resource_url;
char *final_contract_url;
@@ -313,7 +312,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
json_t *contract_terms;
struct GNUNET_HashCode h_contract_terms;
struct TALER_Amount refund_amount;
- char *last_session_id;
int ret;
int refunded;
@@ -362,48 +360,9 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
MHD_GET_ARGUMENT_KIND,
"session_id");
- session_sig_str = MHD_lookup_connection_value (connection,
- MHD_GET_ARGUMENT_KIND,
- "session_sig");
- if ((NULL != session_id) && (NULL != session_sig_str))
- {
- struct GNUNET_CRYPTO_EddsaSignature sig;
- struct TALER_MerchantPaySessionSigPS mps;
-
- if (GNUNET_OK !=
- GNUNET_STRINGS_string_to_data (session_sig_str,
- strlen (session_sig_str),
- &sig,
- sizeof (struct GNUNET_CRYPTO_EddsaSignature)))
- {
- GNUNET_break_op (0);
- GNUNET_free (final_contract_url);
- return TMH_RESPONSE_reply_bad_request (connection,
- TALER_EC_PARAMETER_MALFORMED,
- "session_sig malformed");
- }
- mps.purpose.size = htonl (sizeof (struct TALER_MerchantPaySessionSigPS));
- mps.purpose.purpose = htonl (TALER_SIGNATURE_MERCHANT_PAY_SESSION);
- GNUNET_CRYPTO_hash (order_id, strlen (order_id), &mps.h_order_id);
- GNUNET_CRYPTO_hash (session_id, strlen (session_id), &mps.h_session_id);
- if (GNUNET_OK != GNUNET_CRYPTO_eddsa_verify (TALER_SIGNATURE_MERCHANT_PAY_SESSION,
- &mps.purpose,
- &sig,
- &mi->pubkey.eddsa_pub))
- {
- /* pay session signature invalid */
- GNUNET_break_op (0);
- GNUNET_free (final_contract_url);
- return TMH_RESPONSE_reply_bad_request (connection,
- TALER_EC_CHECK_PAYMENT_SESSION_SIGNATURE_INVALID,
- "session_sig fails to verify");
- }
- }
-
db->preflight (db->cls);
qs = db->find_contract_terms (db->cls,
&contract_terms,
- &last_session_id,
order_id,
&mi->pubkey);
if (0 > qs)
@@ -432,7 +391,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
}
GNUNET_assert (NULL != contract_terms);
- GNUNET_assert (NULL != last_session_id);
if (GNUNET_OK !=
TALER_JSON_hash (contract_terms,
@@ -440,7 +398,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
{
GNUNET_break (0);
json_decref (contract_terms);
- GNUNET_free (last_session_id);
GNUNET_free (final_contract_url);
return TMH_RESPONSE_reply_internal_error (connection,
TALER_EC_CHECK_PAYMENT_FAILED_COMPUTE_PROPOSAL_HASH,
@@ -450,26 +407,51 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
h_contract_terms_str = GNUNET_STRINGS_data_to_string_alloc (&h_contract_terms,
sizeof (struct GNUNET_HashCode));
- if ( (NULL != session_id) && (0 != strcmp (session_id, last_session_id)) )
- {
- ret = send_pay_request (connection,
- order_id,
- final_contract_url,
- session_id,
- resource_url,
- h_contract_terms_str,
- mi);
- json_decref (contract_terms);
- GNUNET_free (last_session_id);
- GNUNET_free (final_contract_url);
- return ret;
- }
+ /* Check if the order has been paid for. */
+ if (NULL != session_id)
+ {
+ /* Check if paid within a session. */
+ char *already_paid_order_id;
- /* Check if paid */
+ qs = db->find_session_info (db->cls,
+ &already_paid_order_id,
+ session_id,
+ resource_url,
+ &mi->pubkey);
+ if (qs < 0)
+ {
+ /* single, read-only SQL statements should never cause
+ serialization problems */
+ GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR != qs);
+ /* Always report on hard error as well to enable diagnostics */
+ GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR == qs);
+ return TMH_RESPONSE_reply_internal_error (connection,
+ TALER_EC_CHECK_PAYMENT_DB_FETCH_ORDER_ERROR,
+ "db error fetching pay session info");
+ }
+ else if (0 == qs)
+ {
+ ret = send_pay_request (connection,
+ order_id,
+ final_contract_url,
+ session_id,
+ resource_url,
+ h_contract_terms_str,
+ mi);
+ GNUNET_free_non_null (already_paid_order_id);
+ return ret;
+ }
+ GNUNET_break (1 == qs);
+ GNUNET_break (0 == strcmp (order_id, already_paid_order_id));
+ GNUNET_free_non_null (already_paid_order_id);
+ }
+ else
{
+ /* Check if paid regardless of session. */
+
json_t *xcontract_terms = NULL;
qs = db->find_paid_contract_terms_from_hash (db->cls,
@@ -500,7 +482,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
GNUNET_free_non_null (h_contract_terms_str);
GNUNET_free (final_contract_url);
json_decref (contract_terms);
- GNUNET_free (last_session_id);
return ret;
}
@@ -509,6 +490,7 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
json_decref (xcontract_terms);
}
+ /* Get the amount from the contract. */
{
struct TALER_Amount amount;
struct GNUNET_JSON_Specification spec[] = {
@@ -521,7 +503,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
GNUNET_free_non_null (h_contract_terms_str);
GNUNET_free (final_contract_url);
json_decref (contract_terms);
- GNUNET_free (last_session_id);
return TMH_RESPONSE_reply_internal_error (connection,
TALER_EC_CHECK_PAYMENT_DB_FETCH_CONTRACT_TERMS_ERROR,
"Merchant database error (contract terms corrupted)");
@@ -529,6 +510,7 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
TALER_amount_get_zero (amount.currency, &refund_amount);
}
+ /* Accumulate refunds, if any. */
for (unsigned int i=0;i<MAX_RETRIES;i++)
{
qs = db->get_refunds_from_contract_terms_hash (db->cls,
@@ -547,7 +529,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
GNUNET_free_non_null (h_contract_terms_str);
GNUNET_free (final_contract_url);
json_decref (contract_terms);
- GNUNET_free (last_session_id);
return TMH_RESPONSE_reply_internal_error (connection,
TALER_EC_PAY_DB_FETCH_TRANSACTION_ERROR,
"Merchant database error");
@@ -558,13 +539,11 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
ret = TMH_RESPONSE_reply_json_pack (connection,
MHD_HTTP_OK,
- "{s:o, s:b, s:b, s:o, s:s}",
+ "{s:o, s:b, s:b, s:o}",
"contract_terms", contract_terms,
"paid", 1,
"refunded", refunded,
- "refund_amount", TALER_JSON_from_amount (&refund_amount),
- "last_session_id", last_session_id);
+ "refund_amount", TALER_JSON_from_amount (&refund_amount));
GNUNET_free (final_contract_url);
- GNUNET_free (last_session_id);
return ret;
}
diff --git a/src/backend/taler-merchant-httpd_pay.c b/src/backend/taler-merchant-httpd_pay.c
index bf9b5440..7ebc579e 100644
--- a/src/backend/taler-merchant-httpd_pay.c
+++ b/src/backend/taler-merchant-httpd_pay.c
@@ -510,30 +510,6 @@ sign_success_response (struct PayContext *pc)
"refund_permissions",
refunds);
- if (NULL != pc->session_id)
- {
- struct GNUNET_CRYPTO_EddsaSignature session_sig;
- struct TALER_MerchantPaySessionSigPS mps = {
- .purpose.size = htonl (sizeof (struct TALER_MerchantPaySessionSigPS)),
- .purpose.purpose = htonl (TALER_SIGNATURE_MERCHANT_PAY_SESSION)
- };
-
- GNUNET_assert (NULL != pc->order_id);
- GNUNET_CRYPTO_hash (pc->order_id,
- strlen (pc->order_id),
- &mps.h_order_id);
- GNUNET_CRYPTO_hash (pc->session_id,
- strlen (pc->session_id),
- &mps.h_session_id);
-
- GNUNET_CRYPTO_eddsa_sign (&pc->mi->privkey.eddsa_priv,
- &mps.purpose,
- &session_sig);
- json_object_set_new (resp,
- "session_sig",
- GNUNET_JSON_from_data_auto (&session_sig));
- }
-
mret = TMH_RESPONSE_make_json (resp);
json_decref (resp);
return mret;
@@ -1386,7 +1362,6 @@ parse_pay (struct MHD_Connection *connection,
const char *mode;
struct TALER_MerchantPublicKeyP merchant_pub;
int res;
- char *last_session_id;
struct GNUNET_JSON_Specification spec[] = {
GNUNET_JSON_spec_string ("mode",
&mode),
@@ -1419,7 +1394,6 @@ parse_pay (struct MHD_Connection *connection,
GNUNET_assert (NULL == pc->contract_terms);
qs = db->find_contract_terms (db->cls,
&pc->contract_terms,
- &last_session_id,
order_id,
&merchant_pub);
if (0 > qs)
@@ -1448,8 +1422,6 @@ parse_pay (struct MHD_Connection *connection,
return GNUNET_NO;
}
- GNUNET_free (last_session_id);
-
if (GNUNET_OK !=
TALER_JSON_hash (pc->contract_terms,
&pc->h_contract_terms))
@@ -2036,8 +2008,7 @@ begin_transaction (struct PayContext *pc)
/* Payment succeeded, save in database */
qs = db->mark_proposal_paid (db->cls,
&pc->h_contract_terms,
- &pc->mi->pubkey,
- pc->session_id);
+ &pc->mi->pubkey);
if (qs < 0)
{
diff --git a/src/backend/taler-merchant-httpd_proposal.c b/src/backend/taler-merchant-httpd_proposal.c
index f5227864..a93d6f17 100644
--- a/src/backend/taler-merchant-httpd_proposal.c
+++ b/src/backend/taler-merchant-httpd_proposal.c
@@ -707,7 +707,6 @@ MH_handler_proposal_lookup (struct TMH_RequestHandler *rh,
enum GNUNET_DB_QueryStatus qs;
json_t *contract_terms;
struct MerchantInstance *mi;
- char *last_session_id = NULL;
struct GNUNET_CRYPTO_EddsaSignature merchant_sig;
const char *stored_nonce;
@@ -740,7 +739,6 @@ MH_handler_proposal_lookup (struct TMH_RequestHandler *rh,
db->preflight (db->cls);
qs = db->find_contract_terms (db->cls,
&contract_terms,
- &last_session_id,
order_id,
&mi->pubkey);
if (0 > qs)
@@ -818,7 +816,6 @@ MH_handler_proposal_lookup (struct TMH_RequestHandler *rh,
}
GNUNET_assert (NULL != contract_terms);
- GNUNET_free_non_null (last_session_id);
stored_nonce
= json_string_value (json_object_get (contract_terms,
diff --git a/src/backend/taler-merchant-httpd_refund.c b/src/backend/taler-merchant-httpd_refund.c
index 7ed77958..0aa2359c 100644
--- a/src/backend/taler-merchant-httpd_refund.c
+++ b/src/backend/taler-merchant-httpd_refund.c
@@ -117,7 +117,6 @@ MH_handler_refund_increase (struct TMH_RequestHandler *rh,
const char *order_id;
const char *reason;
const char *merchant;
- char *last_session_id;
struct MerchantInstance *mi;
struct GNUNET_HashCode h_contract_terms;
struct TALER_MerchantRefundConfirmationPS confirmation;
@@ -188,7 +187,6 @@ MH_handler_refund_increase (struct TMH_RequestHandler *rh,
/* Convert order id to h_contract_terms */
qs = db->find_contract_terms (db->cls,
&contract_terms,
- &last_session_id,
order_id,
&mi->pubkey);
if (0 > qs)
@@ -214,8 +212,6 @@ MH_handler_refund_increase (struct TMH_RequestHandler *rh,
"Order id not found in database");
}
- GNUNET_free (last_session_id);
-
if (GNUNET_OK !=
TALER_JSON_hash (contract_terms,
&h_contract_terms))
@@ -470,7 +466,6 @@ MH_handler_refund_lookup (struct TMH_RequestHandler *rh,
json_t *contract_terms;
struct MerchantInstance *mi;
enum GNUNET_DB_QueryStatus qs;
- char *last_session_id;
instance = MHD_lookup_connection_value (connection,
MHD_GET_ARGUMENT_KIND,
@@ -513,7 +508,6 @@ MH_handler_refund_lookup (struct TMH_RequestHandler *rh,
db->preflight (db->cls);
qs = db->find_contract_terms (db->cls,
&contract_terms,
- &last_session_id,
order_id,
&mi->pubkey);
if (0 > qs)
@@ -538,8 +532,6 @@ MH_handler_refund_lookup (struct TMH_RequestHandler *rh,
"Order id not found in database");
}
- GNUNET_free (last_session_id);
-
if (GNUNET_OK !=
TALER_JSON_hash (contract_terms,
&h_contract_terms))
diff --git a/src/backend/taler-merchant-httpd_track-transaction.c b/src/backend/taler-merchant-httpd_track-transaction.c
index 14ac127a..6879612d 100644
--- a/src/backend/taler-merchant-httpd_track-transaction.c
+++ b/src/backend/taler-merchant-httpd_track-transaction.c
@@ -1052,7 +1052,6 @@ MH_handler_track_transaction (struct TMH_RequestHandler *rh,
enum GNUNET_DB_QueryStatus qs;
struct GNUNET_HashCode h_instance;
struct json_t *contract_terms;
- char *last_session_id;
if (NULL == *connection_cls)
{
@@ -1133,7 +1132,6 @@ MH_handler_track_transaction (struct TMH_RequestHandler *rh,
db->preflight (db->cls);
qs = db->find_contract_terms (db->cls,
&contract_terms,
- &last_session_id,
order_id,
&tctx->mi->pubkey);
if (0 > qs)
@@ -1148,8 +1146,6 @@ MH_handler_track_transaction (struct TMH_RequestHandler *rh,
TALER_EC_PROPOSAL_LOOKUP_NOT_FOUND,
"Given order_id doesn't map to any proposal");
- GNUNET_free (last_session_id);
-
if (GNUNET_OK !=
TALER_JSON_hash (contract_terms,
&tctx->h_contract_terms))
diff --git a/src/backenddb/plugin_merchantdb_postgres.c b/src/backenddb/plugin_merchantdb_postgres.c
index 01ce78e3..1d3cb8c6 100644
--- a/src/backenddb/plugin_merchantdb_postgres.c
+++ b/src/backenddb/plugin_merchantdb_postgres.c
@@ -153,7 +153,6 @@ postgres_initialize (void *cls)
",timestamp INT8 NOT NULL"
",row_id BIGSERIAL UNIQUE"
",paid boolean DEFAULT FALSE NOT NULL"
- ",last_session_id VARCHAR DEFAULT '' NOT NULL"
",PRIMARY KEY (order_id, merchant_pub)"
",UNIQUE (h_contract_terms, merchant_pub)"
");"),
@@ -349,7 +348,7 @@ postgres_initialize (void *cls)
5),
GNUNET_PQ_make_prepare ("mark_proposal_paid",
"UPDATE merchant_contract_terms SET"
- " paid=TRUE, last_session_id=$3"
+ " paid=TRUE"
" WHERE h_contract_terms=$1"
" AND merchant_pub=$2",
2),
@@ -420,7 +419,6 @@ postgres_initialize (void *cls)
GNUNET_PQ_make_prepare ("find_contract_terms",
"SELECT"
" contract_terms"
- ",last_session_id"
" FROM merchant_contract_terms"
" WHERE"
" order_id=$1"
@@ -937,14 +935,12 @@ postgres_find_paid_contract_terms_from_hash (void *cls,
*
* @param cls closure
* @param[out] contract_terms where to store the retrieved contract terms
- * @param[out] last_session_id where to store the result
* @param order id order id used to perform the lookup
* @return transaction status
*/
static enum GNUNET_DB_QueryStatus
postgres_find_contract_terms (void *cls,
json_t **contract_terms,
- char **last_session_id,
const char *order_id,
const struct TALER_MerchantPublicKeyP *merchant_pub)
{
@@ -957,8 +953,6 @@ postgres_find_contract_terms (void *cls,
struct GNUNET_PQ_ResultSpec rs[] = {
TALER_PQ_result_spec_json ("contract_terms",
contract_terms),
- GNUNET_PQ_result_spec_string ("last_session_id",
- last_session_id),
GNUNET_PQ_result_spec_end
};
@@ -1112,21 +1106,17 @@ postgres_insert_order (void *cls,
* @param cls closure
* @param h_contract_terms hash of the contract that is now paid
* @param merchant_pub merchant's public key
- * @param last_session_id session id used for the payment, NULL
- * if payment was not session-bound
* @return transaction status
*/
static enum GNUNET_DB_QueryStatus
postgres_mark_proposal_paid (void *cls,
const struct GNUNET_HashCode *h_contract_terms,
- const struct TALER_MerchantPublicKeyP *merchant_pub,
- const char *last_session_id)
+ const struct TALER_MerchantPublicKeyP *merchant_pub)
{
struct PostgresClosure *pg = cls;
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_auto_from_type (h_contract_terms),
GNUNET_PQ_query_param_auto_from_type (merchant_pub),
- GNUNET_PQ_query_param_string ((last_session_id == NULL) ? "" : last_session_id),
GNUNET_PQ_query_param_end
};
diff --git a/src/backenddb/test_merchantdb.c b/src/backenddb/test_merchantdb.c
index 0ecc5b4e..b63cddc0 100644
--- a/src/backenddb/test_merchantdb.c
+++ b/src/backenddb/test_merchantdb.c
@@ -837,41 +837,15 @@ run (void *cls)
FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
plugin->mark_proposal_paid (plugin->cls,
&h_contract_terms,
- &merchant_pub,
- "my-session-123"));
+ &merchant_pub));
- {
- char *last_session_id;
- FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
- plugin->find_contract_terms (plugin->cls,
- &out,
- &last_session_id,
- order_id,
- &merchant_pub));
- FAILIF (0 != strcmp (last_session_id, "my-session-123"));
- GNUNET_free (last_session_id);
- }
-
FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
plugin->mark_proposal_paid (plugin->cls,
&h_contract_terms,
- &merchant_pub,
- NULL));
+ &merchant_pub));
- {
- char *last_session_id;
- FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
- plugin->find_contract_terms (plugin->cls,
- &out,
- &last_session_id,
- order_id,
- &merchant_pub));
- FAILIF (0 != strcmp (last_session_id, ""));
- GNUNET_free (last_session_id);
- }
-
FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
plugin->find_contract_terms_history (plugin->cls,
order_id,
@@ -918,8 +892,7 @@ run (void *cls)
FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
plugin->mark_proposal_paid (plugin->cls,
&h_contract_terms_future,
- &merchant_pub,
- "hello"));
+ &merchant_pub));
FAILIF (2 !=
plugin->find_contract_terms_by_date_and_range (plugin->cls,
fake_now,
diff --git a/src/include/taler_merchant_service.h b/src/include/taler_merchant_service.h
index 9cca90a3..5bbad14b 100644
--- a/src/include/taler_merchant_service.h
+++ b/src/include/taler_merchant_service.h
@@ -986,8 +986,6 @@ typedef void
* @param order_id order id to identify the payment
* @parem resource_url resource URL to identify duplicate payments (can be NULL)
* @parem session_id sesion id for the payment (or NULL if the payment is not bound to a session)
- * @parem session_id sesion signature for the payment (or NULL if the payment
- * is not bound to a session or the session is not signed yet)
* @param check_payment_cb callback which will work the response gotten from the backend
* @param check_payment_cb_cls closure to pass to @a check_payment_cb
* @return handle for this operation, NULL upon errors
@@ -999,7 +997,6 @@ TALER_MERCHANT_check_payment (struct GNUNET_CURL_Context *ctx,
const char *order_id,
const char *resource_url,
const char *session_id,
- const char *session_sig,
TALER_MERCHANT_CheckPaymentCallback check_payment_cb,
void *check_payment_cls);
diff --git a/src/include/taler_merchantdb_plugin.h b/src/include/taler_merchantdb_plugin.h
index 7d4948e1..44cd0684 100644
--- a/src/include/taler_merchantdb_plugin.h
+++ b/src/include/taler_merchantdb_plugin.h
@@ -239,15 +239,12 @@ struct TALER_MERCHANTDB_Plugin
* @param cls closure
* @param h_contract_terms hash of the contract that is now paid
* @param merchant_pub merchant's public key
- * @param last_session_id session id used for the payment, NULL
- * if payment was not session-bound
* @return transaction status
*/
enum GNUNET_DB_QueryStatus
(*mark_proposal_paid) (void *cls,
const struct GNUNET_HashCode *h_contract_terms,
- const struct TALER_MerchantPublicKeyP *merchant_pub,
- const char *last_session_id);
+ const struct TALER_MerchantPublicKeyP *merchant_pub);
/**
* Store the order ID that was used to pay for a resource within a session.
@@ -291,7 +288,6 @@ struct TALER_MERCHANTDB_Plugin
*
* @param cls closure
* @param[out] contract_terms where to store the result
- * @param[out] last_session_id where to store the result
* @param order_id order_id used to lookup.
* @param merchant_pub instance's public key.
* @return transaction status
@@ -299,7 +295,6 @@ struct TALER_MERCHANTDB_Plugin
enum GNUNET_DB_QueryStatus
(*find_contract_terms) (void *cls,
json_t **contract_terms,
- char **last_session_id,
const char *order_id,
const struct TALER_MerchantPublicKeyP *merchant_pub);
diff --git a/src/lib/merchant_api_check_payment.c b/src/lib/merchant_api_check_payment.c
index 87a74ea6..213f1ba5 100644
--- a/src/lib/merchant_api_check_payment.c
+++ b/src/lib/merchant_api_check_payment.c
@@ -178,8 +178,6 @@ handle_check_payment_finished (void *cls,
* @param order_id order id to identify the payment
* @parem resource_url resource URL to identify duplicate payments (can be NULL)
* @parem session_id sesion id for the payment (or NULL if the payment is not bound to a session)
- * @parem session_id sesion signature for the payment (or NULL if the payment
- * is not bound to a session or the session is not signed yet)
* @param check_payment_cb callback which will work the response gotten from the backend
* @param check_payment_cb_cls closure to pass to @a check_payment_cb
* @return handle for this operation, NULL upon errors
@@ -191,7 +189,6 @@ TALER_MERCHANT_check_payment (struct GNUNET_CURL_Context *ctx,
const char *order_id,
const char *resource_url,
const char *session_id,
- const char *session_sig,
TALER_MERCHANT_CheckPaymentCallback check_payment_cb,
void *check_payment_cb_cls)
{
@@ -211,7 +208,6 @@ TALER_MERCHANT_check_payment (struct GNUNET_CURL_Context *ctx,
"order_id", order_id,
"resource_url", resource_url,
"session_id", session_id,
- "session_sig", session_sig,
NULL);
eh = curl_easy_init ();
if (CURLE_OK != curl_easy_setopt (eh,
diff --git a/src/lib/testing_api_cmd_pay.c b/src/lib/testing_api_cmd_pay.c
index aafcf253..252fc813 100644
--- a/src/lib/testing_api_cmd_pay.c
+++ b/src/lib/testing_api_cmd_pay.c
@@ -390,7 +390,6 @@ check_payment_run (void *cls,
order_id,
NULL,
NULL,
- NULL,
check_payment_cb,
cps);