淘宝退款接收

This commit is contained in:
wanyongkang
2020-10-13 19:24:10 +08:00
parent d55674a860
commit 34ca6e5282
7 changed files with 322 additions and 3 deletions

View File

@@ -79,6 +79,55 @@ namespace Hncore.Pass.Sells.Service
return "";
}
public async Task<string> ReceivedRefundMsg(HttpRequest request, Func<string, Task<bool>> process)
{
string appSecret = "xrzmtmfv46mmt9c9rzt2g7c74h9g7u7u";
long timestamp = long.Parse(request.Query["timestamp"]);
long aopic = long.Parse(request.Query["aopic"]); // 根据aopic判断推送类型
string sign = request.Query["sign"];
string json = request.Form["json"];
LogHelper.Info("淘宝回调", $"timestamp={timestamp},aopic={aopic},sign={sign},json={json}");
var dictParams = new Dictionary<string, string>();
dictParams.Add("timestamp", timestamp.ToString());
dictParams.Add("json", json);
var checkSign = Sign(dictParams, appSecret);
if (!string.Equals(checkSign, sign))
{
LogHelper.Error("淘宝回调验签失败", checkSign);
return "验签失败";
}
// 验签通过进行相关的业务
/*
* 返回空字符或者不返回,不进行任何操作
* 返回规定格式,进行相应操作。允许的操作有更新发货状态、更新备注、生成旺旺消息
* DoDummySend更新发货状态false不更新发货状态
* DoMemoUpdate更新备注null不更新备注。Flag是旗帜可以传0-5的数字如果传-1或者不传此参数则保留原旗帜Memo为备注内容
* AliwwMsg想要发给买家的旺旺消息null或空字符串不发消息
*/
if (process != null)
{
if (await process(json))
{
var returnJson = new
{
DoDummySend = true,
DoMemoUpdate = new
{
Flag = 1,
Memo = "退款处理中"
},
AliwwMsg = "退款处理中"
};
return returnJson.ToJson();
}
}
return "";
}
//参数签名
public string Sign(IDictionary<string, string> args, string ClientSecret)
{