微信扫码支付,在 ASP 中,接收回调通知的处理程序来实现入库操作代码
时间: 2023-12-21 11:03:47 浏览: 109
以下是微信扫码支付接收回调通知的处理程序示例代码(以 C# 为例):
```csharp
public void Notify()
{
// 读取微信回调通知数据
var inputStream = Request.InputStream;
var buffer = new byte[inputStream.Length];
inputStream.Read(buffer, 0, buffer.Length);
var postData = Encoding.UTF8.GetString(buffer);
// 解析微信回调通知数据
var notifyData = new WxPayData();
notifyData.FromXml(postData);
// 验证签名
if (!notifyData.IsSet("sign") || !WxPayApi.CheckSignature(notifyData))
{
Response.Write("FAIL");
Response.End();
return;
}
// 检查支付结果
if (notifyData.GetValue("return_code").ToString() == "SUCCESS" && notifyData.GetValue("result_code").ToString() == "SUCCESS")
{
// 获取商户订单号
var outTradeNo = notifyData.GetValue("out_trade_no").ToString();
// TODO:将支付结果入库或处理其他逻辑
Response.Write("SUCCESS");
Response.End();
return;
}
else
{
Response.Write("FAIL");
Response.End();
return;
}
}
```
在上述代码中,我们首先读取微信回调通知数据,并使用 `WxPayData` 类将其解析为一个对象。然后,我们验证签名是否正确,如果不正确则直接返回失败。接着,我们检查支付结果,如果支付成功,则获取商户订单号,并将支付结果入库或处理其他逻辑。最后,我们返回成功或失败给微信服务器。
阅读全文