merchant

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

commit 5df378f17de3a6a71fd33567c17b8560ca4ae41e
parent ac1b5590af95708bdc940187e40372ef38154df3
Author: Florian Dold <florian.dold@gmail.com>
Date:   Fri, 29 Nov 2019 20:54:12 +0100

wire_transfer_deadline must be absolute

Diffstat:
Msrc/backend/taler-merchant-httpd_order.c | 14++++++--------
Msrc/lib/test_merchant_api_twisted.c | 2+-
2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_order.c b/src/backend/taler-merchant-httpd_order.c @@ -220,7 +220,6 @@ proposal_put (struct MHD_Connection *connection, struct GNUNET_TIME_Absolute timestamp; struct GNUNET_TIME_Absolute refund_deadline; struct GNUNET_TIME_Absolute wire_transfer_deadline; - struct GNUNET_TIME_Relative wire_transfer_deadline_rel; struct GNUNET_TIME_Absolute pay_deadline; struct GNUNET_JSON_Specification spec[] = { TALER_JSON_spec_amount ("amount", &total), @@ -239,8 +238,8 @@ proposal_put (struct MHD_Connection *connection, &refund_deadline), GNUNET_JSON_spec_absolute_time ("pay_deadline", &pay_deadline), - GNUNET_JSON_spec_relative_time ("wire_transfer_deadline", - &wire_transfer_deadline_rel), + GNUNET_JSON_spec_absolute_time ("wire_transfer_deadline", + &wire_transfer_deadline), GNUNET_JSON_spec_end () }; enum GNUNET_DB_QueryStatus qs; @@ -323,10 +322,12 @@ proposal_put (struct MHD_Connection *connection, if (NULL == json_object_get (order, "wire_transfer_deadline")) { + struct GNUNET_TIME_Absolute t; + t = GNUNET_TIME_relative_to_absolute (default_wire_transfer_delay); + (void) GNUNET_TIME_round_abs (&t); json_object_set_new (order, "wire_transfer_deadline", - GNUNET_JSON_from_time_rel ( - default_wire_transfer_delay)); + GNUNET_JSON_from_time_abs (t)); } if (NULL == json_object_get (order, @@ -473,9 +474,6 @@ proposal_put (struct MHD_Connection *connection, "Impossible to parse the order"); } - wire_transfer_deadline = GNUNET_TIME_relative_to_absolute ( - wire_transfer_deadline_rel); - if (wire_transfer_deadline.abs_value_us < refund_deadline.abs_value_us) { diff --git a/src/lib/test_merchant_api_twisted.c b/src/lib/test_merchant_api_twisted.c @@ -579,7 +579,7 @@ run (void *cls, \"fraction\":50000000},\ \"refund_deadline\":\"\\/Date(2)\\/\",\ \"pay_deadline\":\"\\/Date(1)\\/\",\ - \"wire_transfer_deadline\":\"\\/Delay(30000)\\/\",\ + \"wire_transfer_deadline\":\"\\/Date(2366841600)\\/\",\ \"amount\":\ {\"currency\":\"EUR\",\ \"value\":5,\