首页 > 代码库 > c# 微信支付

c# 微信支付

ps:接着之前的完成了微信授权获取用户的基础信息外

微信支付也需要快速完成,支付的确很多坑,大多数是不认真阅读开发文档导致

 

stemp1 :发起预支付api

此处遇到的坑是,由于需求中的信息,例如公众号下对应一个商户号,但是需求文档中给的商户号是错误的,不是这个公众号对应下的商户号,

直接被返回 公众号与商户号不一致!!!,此时经历了寻找好几个部门的人,终于找到了对应的商户号!然而已经懵逼了好久....

技术分享View Code

stemp2 预支付主要函数,主要是进行签名,参数一定到正确,如下:

技术分享View Code

经常报签名错误的原因有一下几个:http://jingyan.baidu.com/article/59703552c3c9808fc1074072.html 百度说得很多了

但是我们真的遇到了

1 key真的不对!公众平台的密钥和商户号的密钥是不一样的!!!微信支付审核成功之后会收到一封邮件,邮件中有appid 商户号,商户后台登录上号和密码,登录到商户后台:账户设置-安全设置-切换到API安全,下载证书,下面有一个api密匙,进去填写一个字符串 ,保存,后续两次签名都是用的这个手动设置的key!!!后来重新生成一个了;

2 openid要正确

3 金额分要注意,单位是用分的

4 仔细阅读文档后,就很少出错了

以下解释发起微信支付成功后的数据,返回响应wx的json给前台

后台如下:

技术分享View Code

前台如下:

技术分享View Code

 

stemp3 回调

刚开始的时候回调地址需要在公众号那边直接填写的,不填写永远也收不到回调

技术分享View Code

到这里,微信jsapi支付就基本上完成。扫码支付需要使用到证书,其应用场景更多,将在后面的文中补上

 

c# 微信支付