merchant

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

commit 2a8c44fff4f0796c1e3f6e9a5300ebbe09cb2592
parent 0dc840d7c83f176858f3ea9c381c1e76344fa3be
Author: Florian Dold <florian.dold@gmail.com>
Date:   Tue, 16 Jan 2018 04:03:30 +0100

generate contract url for wallet

Diffstat:
Msrc/backend/taler-merchant-httpd_check-payment.c | 17++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/backend/taler-merchant-httpd_check-payment.c b/src/backend/taler-merchant-httpd_check-payment.c @@ -56,6 +56,8 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh, const char *session_id; const char *session_sig_str; const char *instance_str; + char *final_contract_url = NULL; + order_id = MHD_lookup_connection_value (connection, MHD_GET_ARGUMENT_KIND, @@ -96,6 +98,18 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh, // contract. } + if (NULL == contract_url) + { + final_contract_url = TMH_make_absolute_backend_url (connection, "proposal", + "instance", instance_str, + "order_id", order_id, + NULL); + } + else + { + final_contract_url = GNUNET_strdup (contract_url); + } + if (NULL != session_id) { // If the session id is given, the frontend wants us @@ -218,7 +232,7 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh, do_pay: { char *url = TMH_make_absolute_backend_url (connection, "trigger-pay", - "contract_url", contract_url, + "contract_url", final_contract_url, "session_id", session_id, "h_contract_terms", h_contract_terms_str, NULL); @@ -228,6 +242,7 @@ do_pay: "payment_redirect_url", url); GNUNET_free_non_null (h_contract_terms_str); + GNUNET_free_non_null (final_contract_url); GNUNET_free (url); return ret; }