merchant

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

commit fd9aecea775ff3b99b4a982316dc60d8cea67f41
parent a5342fa86c1b769e5196db9944947364a4c6aa01
Author: Christian Grothoff <grothoff@gnunet.org>
Date:   Thu, 23 Oct 2025 11:05:41 +0200

implement backend changes for #9148

Diffstat:
Msrc/backend/taler-merchant-httpd_private-patch-instances-ID.c | 18++++++++++++++----
Msrc/backend/taler-merchant-httpd_private-post-instances.c | 18++++++++++++++----
2 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_private-patch-instances-ID.c b/src/backend/taler-merchant-httpd_private-patch-instances-ID.c @@ -67,6 +67,8 @@ patch_instances_ID (struct TMH_MerchantInstance *mi, const char *name; struct TMH_WireMethod *wm_head = NULL; struct TMH_WireMethod *wm_tail = NULL; + bool no_transfer_delay; + bool no_pay_delay; bool no_refund_delay; struct GNUNET_JSON_Specification spec[] = { GNUNET_JSON_spec_string ("name", @@ -93,10 +95,14 @@ patch_instances_ID (struct TMH_MerchantInstance *mi, &is.jurisdiction), GNUNET_JSON_spec_bool ("use_stefan", &is.use_stefan), - GNUNET_JSON_spec_relative_time ("default_wire_transfer_delay", - &is.default_wire_transfer_delay), - GNUNET_JSON_spec_relative_time ("default_pay_delay", - &is.default_pay_delay), + GNUNET_JSON_spec_mark_optional ( + GNUNET_JSON_spec_relative_time ("default_wire_transfer_delay", + &is.default_wire_transfer_delay), + &no_transfer_delay), + GNUNET_JSON_spec_mark_optional ( + GNUNET_JSON_spec_relative_time ("default_pay_delay", + &is.default_pay_delay), + &no_pay_delay), GNUNET_JSON_spec_mark_optional ( GNUNET_JSON_spec_relative_time ("default_refund_delay", &is.default_refund_delay), @@ -150,6 +156,10 @@ patch_instances_ID (struct TMH_MerchantInstance *mi, "jurisdiction"); } + if (no_transfer_delay) + is.default_wire_transfer_delay = mi->settings.default_wire_transfer_delay; + if (no_pay_delay) + is.default_pay_delay = mi->settings.default_pay_delay; if (no_refund_delay) is.default_refund_delay = mi->settings.default_refund_delay; diff --git a/src/backend/taler-merchant-httpd_private-post-instances.c b/src/backend/taler-merchant-httpd_private-post-instances.c @@ -64,6 +64,8 @@ post_instances (const struct TMH_RequestHandler *rh, struct TMH_WireMethod *wm_head = NULL; struct TMH_WireMethod *wm_tail = NULL; const json_t *jauth; + bool no_transfer_delay; + bool no_pay_delay; bool no_refund_delay; struct GNUNET_JSON_Specification spec[] = { GNUNET_JSON_spec_string ("id", @@ -94,10 +96,14 @@ post_instances (const struct TMH_RequestHandler *rh, &is.jurisdiction), GNUNET_JSON_spec_bool ("use_stefan", &is.use_stefan), - GNUNET_JSON_spec_relative_time ("default_wire_transfer_delay", - &is.default_wire_transfer_delay), - GNUNET_JSON_spec_relative_time ("default_pay_delay", - &is.default_pay_delay), + GNUNET_JSON_spec_mark_optional ( + GNUNET_JSON_spec_relative_time ("default_wire_transfer_delay", + &is.default_wire_transfer_delay), + &no_transfer_delay), + GNUNET_JSON_spec_mark_optional ( + GNUNET_JSON_spec_relative_time ("default_pay_delay", + &is.default_pay_delay), + &no_pay_delay), GNUNET_JSON_spec_mark_optional ( GNUNET_JSON_spec_relative_time ("default_refund_delay", &is.default_refund_delay), @@ -116,6 +122,10 @@ post_instances (const struct TMH_RequestHandler *rh, ? MHD_YES : MHD_NO; } + if (no_transfer_delay) + is.default_wire_transfer_delay = TMH_default_wire_transfer_delay; + if (no_pay_delay) + is.default_pay_delay = TMH_default_pay_delay; if (no_refund_delay) is.default_refund_delay = TMH_default_refund_delay; {