前面一篇文章我是在做app支付的时候写的,做app支付完成之后写的,这篇主要是支付完成之后的坑。
首先,支付完成之后,主要就是回调,我首先遇到的就是支付完成之后,并没有收到信息,然后就是各种网上找问答。后面突然发现,数据库里面无缘无故的竟然有了回调的信息(这个我是在回调页面里面写了日志的)。
回调信息的获取我没有用官方提供的方法,用的网上找的
//获得Post过来的数据
public string getPostStr()
{
Int32 intLen = Convert.ToInt32(System.Web.HttpContext.Current.Request.InputStream.Length);
byte[] b = new byte[intLen];
System.Web.HttpContext.Current.Request.InputStream.Read(b, 0, intLen);
return System.Text.Encoding.UTF8.GetString(b);
}
使用这个,获取到了微信的回调信息。然后说下,为什么是突然能够收到回调信息了,我也是在网上找为什么不能回调的时候发现,网友说,需要清理 应用程序的缓存,突然我明白了,原来还有这个。然后每次更新代码,我都更新应用程序的缓存,这才可以了
下面说下一个问题,多次对调的问题。这个官方文档上面也说,我没有仔细看,在接收到回调信息之后,需要给官方返回信息才可以。
应该是直接Response .Write(XML字符串)吧,我试了,好像不行!!!