public static PaymentSignResult GenerateSignatures(
string productId,
int goodsPrice,
int buyQuantity,
string outTradeNo,
string currencyType
)
{
// 1. 构建签名字典
var signDataDict = new Dictionary<string, object>
{
{ "offerId", "445495451" },
{ "productId", productId },
{ "goodsPrice", goodsPrice },
{ "buyQuantity", buyQuantity },
{ "outTradeNo", outTradeNo },
{ "currencyType", currencyType },
{ "env", 1 }
};
// 2. 按字典序排序
var sortedSignData = new SortedDictionary<string, object>(signDataDict);
// 3. 序列化为JSON字符串
var signDataStr = SerializeToJson(sortedSignData);
// 4. 计算paySig(支付签名)
var paySig = CalculatePaySig(signDataStr, new WechatVirtualPayService().appKey);
string sessionKey = "95_TArbgNAIIPbqGYr__x_JKOB6CSvMn6R7sVV6mONIZcIZnx1bHq2xIKpwSlhpewwjtChilztVSAmBzmHWFitG-KXAfT0EO5jFBnoEq7eN6rV3to-VD7cBC3HLBQoQGLhAIAVLQ";
// 5. 计算signature(用户态签名)
var signature = CalculateSignature(signDataStr, sessionKey);
return new PaymentSignResult
{
SignData = signDataStr,
PaySig = paySig,
Signature = signature
};
}

在微信公众平台里面配置服务器URL推送
没有手动配置回调地址,服务端如何处理