架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8172|回复: 0

[WebAPI] ASP.NET WEB API 响应微信请求

[复制链接]
发表于 2018-11-24 15:59:26 | 显示全部楼层 |阅读模式
微信token验证

GET返回

1.微信公众平台的接入方法,无非4个参数(signature, timestamp, nonce, echostr)加1个Token(两边对应)

2.Token, timestamp, nonce字典排序后,按照字符串“SHA1”加密。得出一串字符串 tmpStr(转化为小写)

3.然后比对 tmpStr 是否等于 signature,如果相等,则表示此次请求是来自于微信。


4.确定请求来自于微信,则已经完成一大步了。剩下一个,将echostr参数传出给微信公众平台的工作了。

我签名验证成功了,微信还是返回token失败,原因是我返回了带有xml格式的字符串,如下:

QQ截图20181124155329.jpg

解决方案:



此处要强调一下,参照PHP的 echo $echoStr , WebFrom 的 Response.Write(echoStr)等。
一次次的调试判断出微信的接受方式,只会以 "application/x-www-form-urlencoded" 来接受,所以我用HttpResponseMessage来指定其输出方式。最后测试成功!


但是,我个人感觉并不是上面一句话是错误的,但是懒的测试了,相应类型设置"text/plain"应该是可以的。

POST返回

最近开发微信小程序中用到了微信支付功能,接口开发用的ASP.NET WEB API;

在支付成功后,接口接受到微信服务器的支付通知结果,处理完数据,接口返回给微信服务数据时出现了问题。

微信服务器识别不到返回的数据,导致重复通知。

最终解决代码如下:








上一篇:知识 分享收藏的知乎live
下一篇:齐白石全集,pdf
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 03:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表