public static string prepareRefundParameters(BCRefund refund)
{
long timestamp = BCUtil.GetTimeStamp(DateTime.Now);
JsonData data = new JsonData();
data["app_id"] = BCCache.Instance.appId;
data["app_sign"] = BCPrivateUtil.getAppSignatureByMasterSecret(BCCache.Instance.appId, BCCache.Instance.masterSecret, timestamp.ToString());
data["timestamp"] = timestamp;
data["channel"] = refund.channel;
data["refund_no"] = refund.refundNo;
data["bill_no"] = refund.billNo;
data["refund_fee"] = refund.refundFee;
data["refund_account"] = refund.refundAccount;
if (refund.optional != null && refund.optional.Count > 0)
{
data["optional"] = new JsonData();
foreach (string key in refund.optional.Keys)
{
data["optional"][key] = refund.optional[key];
}
}
data["need_approval"] = refund.needApproval;
string paraString = data.ToJson();
return paraString;
}