summaryrefslogtreecommitdiff
path: root/src/include/taler_merchant_service.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-02-11 17:05:14 +0100
committerChristian Grothoff <christian@grothoff.org>2022-02-11 17:05:14 +0100
commitb37a19159a12633a3c0486a67d5e2e197d6e4692 (patch)
tree9d565b19edb7eb0958c1b37a1f0ce70b1b6c74f8 /src/include/taler_merchant_service.h
parentb6265ac8e031e24b383a3326eaf80e1ba7946fa1 (diff)
downloadmerchant-b37a19159a12633a3c0486a67d5e2e197d6e4692.tar.gz
merchant-b37a19159a12633a3c0486a67d5e2e197d6e4692.tar.bz2
merchant-b37a19159a12633a3c0486a67d5e2e197d6e4692.zip
-fix CS-pickup logic (in theory, untested)
Diffstat (limited to 'src/include/taler_merchant_service.h')
-rw-r--r--src/include/taler_merchant_service.h45
1 files changed, 41 insertions, 4 deletions
diff --git a/src/include/taler_merchant_service.h b/src/include/taler_merchant_service.h
index 89f550b7..408020b3 100644
--- a/src/include/taler_merchant_service.h
+++ b/src/include/taler_merchant_service.h
@@ -3602,6 +3602,44 @@ struct TALER_MERCHANT_TipPickupHandle;
/**
+ * Details about a pickup operation, as returned to the application.
+ */
+struct TALER_MERCHANT_PickupDetails
+{
+ /**
+ * HTTP response data.
+ */
+ struct TALER_MERCHANT_HttpResponse hr;
+
+ /**
+ * Details about the response.
+ */
+ union
+ {
+ /**
+ * Details if the status is #MHD_HTTP_OK.
+ */
+ struct
+ {
+
+ /**
+ * Array of length @e num_sigs with details about each of the coins that
+ * were picked up.
+ */
+ struct TALER_EXCHANGE_PrivateCoinDetails *pcds;
+
+ /**
+ * Length of the @e pcds array.
+ */
+ unsigned int num_sigs;
+ } success;
+
+ } details;
+
+};
+
+
+/**
* Callback for a POST /tips/$TIP_ID/pickup request. Returns the result of
* the operation.
*
@@ -3613,10 +3651,7 @@ struct TALER_MERCHANT_TipPickupHandle;
typedef void
(*TALER_MERCHANT_TipPickupCallback) (
void *cls,
- const struct TALER_MERCHANT_HttpResponse *hr,
- unsigned int num_sigs,
- const struct TALER_DenominationSignature sigs[],
- const struct TALER_CoinSpendPrivateKeyP coin_privs[]);
+ const struct TALER_MERCHANT_PickupDetails *pd);
/**
@@ -3641,6 +3676,7 @@ struct TALER_MERCHANT_PlanchetData
* backend that a customer wants to pick up a tip.
*
* @param ctx execution context
+ * @param exchange handle to the exchange we are picking up the tip from
* @param backend_url base URL of the merchant backend
* @param tip_id unique identifier for the tip
* @param num_planchets number of planchets provided in @a pds
@@ -3651,6 +3687,7 @@ struct TALER_MERCHANT_PlanchetData
*/
struct TALER_MERCHANT_TipPickupHandle *
TALER_MERCHANT_tip_pickup (struct GNUNET_CURL_Context *ctx,
+ struct TALER_EXCHANGE_Handle *exchange,
const char *backend_url,
const struct TALER_TipIdentifierP *tip_id,
unsigned int num_planchets,