diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-08-26 23:55:48 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-08-26 23:55:48 +0200 |
commit | 62de3f174c61ade17c132846121e628345876153 (patch) | |
tree | f60828f02078be82747715128ddae07638329814 | |
parent | fe11d8a775ba848363a4e2b1ab41b3558aa1e755 (diff) | |
download | merchant-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.c | 109 | ||||
-rw-r--r-- | src/backend/taler-merchant-httpd_pay.c | 31 | ||||
-rw-r--r-- | src/backend/taler-merchant-httpd_proposal.c | 3 | ||||
-rw-r--r-- | src/backend/taler-merchant-httpd_refund.c | 8 | ||||
-rw-r--r-- | src/backend/taler-merchant-httpd_track-transaction.c | 4 | ||||
-rw-r--r-- | src/backenddb/plugin_merchantdb_postgres.c | 14 | ||||
-rw-r--r-- | src/backenddb/test_merchantdb.c | 33 | ||||
-rw-r--r-- | src/include/taler_merchant_service.h | 3 | ||||
-rw-r--r-- | src/include/taler_merchantdb_plugin.h | 7 | ||||
-rw-r--r-- | src/lib/merchant_api_check_payment.c | 4 | ||||
-rw-r--r-- | src/lib/testing_api_cmd_pay.c | 1 |
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); |