summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2018-01-29 13:23:10 +0100
committerFlorian Dold <florian.dold@gmail.com>2018-01-29 13:23:10 +0100
commit71c7b948b95d6a05826479bf7bc7ca13e3f06641 (patch)
treee5911ccc28c607e148cc21d08390605a56130f37
parentbe835f4bb16fa956e03127f294e888f6cf1f8701 (diff)
downloadmerchant-71c7b948b95d6a05826479bf7bc7ca13e3f06641.tar.gz
merchant-71c7b948b95d6a05826479bf7bc7ca13e3f06641.tar.bz2
merchant-71c7b948b95d6a05826479bf7bc7ca13e3f06641.zip
smaller refund response, give same refund format on /pay abort
-rw-r--r--src/backend/taler-merchant-httpd_pay.c13
-rw-r--r--src/backend/taler-merchant-httpd_refund.c15
-rw-r--r--src/lib/merchant_api_pay.c2
3 files changed, 17 insertions, 13 deletions
diff --git a/src/backend/taler-merchant-httpd_pay.c b/src/backend/taler-merchant-httpd_pay.c
index ca96cae2..442c8364 100644
--- a/src/backend/taler-merchant-httpd_pay.c
+++ b/src/backend/taler-merchant-httpd_pay.c
@@ -1828,16 +1828,19 @@ begin_transaction (struct PayContext *pc)
return;
}
json_array_append_new (refunds,
- json_pack ("{s:I, s:o, s:o}",
+ json_pack ("{s:I, s:o, s:o s:o s:o}",
"rtransaction_id", (json_int_t) rtransactionid,
"coin_pub", GNUNET_JSON_from_data_auto (&rr.coin_pub),
- "merchant_sig", GNUNET_JSON_from_data_auto (&msig)));
+ "merchant_sig", GNUNET_JSON_from_data_auto (&msig),
+ "refund_amount", TALER_JSON_from_amount_nbo (&rr.refund_amount),
+ "refund_fee", TALER_JSON_from_amount_nbo (&rr.refund_fee)));
}
resume_pay_with_response (pc,
MHD_HTTP_OK,
- TMH_RESPONSE_make_json_pack ("{s:o, s:o}",
- "refunds", refunds,
- "merchant_pub", GNUNET_JSON_from_data_auto (&pc->mi->pubkey)));
+ TMH_RESPONSE_make_json_pack ("{s:o, s:o, s:o}",
+ "refund_permissions", refunds,
+ "merchant_pub", GNUNET_JSON_from_data_auto (&pc->mi->pubkey),
+ "h_contract_terms", GNUNET_JSON_from_data_auto (&pc->h_contract_terms)));
}
return;
}
diff --git a/src/backend/taler-merchant-httpd_refund.c b/src/backend/taler-merchant-httpd_refund.c
index 40f10321..c81db6e7 100644
--- a/src/backend/taler-merchant-httpd_refund.c
+++ b/src/backend/taler-merchant-httpd_refund.c
@@ -375,13 +375,11 @@ process_refunds_cb (void *cls,
return;
}
- element = json_pack ("{s:o, s:o, s:o, s:o, s:I, s:o, s:o}",
+ element = json_pack ("{s:o, s:o, s:o, s:I, s:o}",
"refund_amount", TALER_JSON_from_amount (refund_amount),
"refund_fee", TALER_JSON_from_amount (refund_fee),
- "h_contract_terms", GNUNET_JSON_from_data_auto (prd->h_contract_terms),
"coin_pub", GNUNET_JSON_from_data_auto (coin_pub),
"rtransaction_id", (json_int_t) rtransaction_id,
- "merchant_pub", GNUNET_JSON_from_data_auto (&prd->merchant->pubkey),
"merchant_sig", GNUNET_JSON_from_data_auto (&sig));
if (NULL == element)
{
@@ -517,11 +515,14 @@ MH_handler_refund_lookup (struct TMH_RequestHandler *rh,
return TMH_RESPONSE_reply_internal_error (connection,
ec,
errmsg);
- return TMH_RESPONSE_reply_json_pack (connection,
- MHD_HTTP_OK,
- "{s:o}",
+ return TMH_RESPONSE_reply_json_pack (connection, MHD_HTTP_OK,
+ "{s:o, s:o, s:o}",
"refund_permissions",
- response);
+ response,
+ "merchant_pub",
+ GNUNET_JSON_from_data_auto (&mi->pubkey),
+ "h_contract_terms",
+ GNUNET_JSON_from_data_auto (&h_contract_terms));
}
}
diff --git a/src/lib/merchant_api_pay.c b/src/lib/merchant_api_pay.c
index 6d578625..d8c59716 100644
--- a/src/lib/merchant_api_pay.c
+++ b/src/lib/merchant_api_pay.c
@@ -118,7 +118,7 @@ check_abort_refund (struct TALER_MERCHANT_Pay *ph,
unsigned int num_refunds;
struct TALER_MerchantPublicKeyP merchant_pub;
struct GNUNET_JSON_Specification spec[] = {
- GNUNET_JSON_spec_json ("refunds", &refunds),
+ GNUNET_JSON_spec_json ("refund_permissions", &refunds),
GNUNET_JSON_spec_fixed_auto ("merchant_pub", &merchant_pub),
GNUNET_JSON_spec_end()
};