微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

微信支付开发流程

1. 开通微信支付功能

省略

2. 下载微信的C#版的微信SDK

下载连接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

各个版本的都有,可惜咱最熟悉C#

我的下载时间是2016-02-28日,所以所有的流程都是基于这个版本的SDK。

 

3. 配置各种参数

首先在微信支付的开发配置中配置发起支付的路径如下:

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

代码的solution中找到lib的config.cs文件,如下图,所有的参数都在这里,这里配置成功了,支付也就成功。

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

 

细说一下这个类文件中的几个参数

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

相信这几个参数大家都很熟悉,

APPID: 微信公众号的APPID,有点开发经验的都知道,

APPSECRET:公众帐号secert,

MCHID:商户号(必须配置), 这个在申请微信支付的邮箱中有,

KEY:商户支付密钥,参考开户邮件设置,相对来讲这个是最复杂的,

登录微信支付商户平台后,点击API安全,如下图,按照步骤设置即可,设置之后填写进来

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

微信证书,在上面的页面中按照步骤下载证书,替换你代码中文件中的cert

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

同时在服务器上双击这个证书,安装在服务器中(也不知道是不是必要的步骤)。

代码中的LOG 默认是不记录的,如果要打开,把LOG_LEVENL 设置为>0的。

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

 

设置微信JSAPI安全域名

由于这个demo代码中还使用了微信的授权,所以需要在微信的服务号的接口权限中设置安全域名,也就是微信支付的域名

 

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

 

部署服务器测试

把代码复制到服务器上,直接访问demo页面如下

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

按理来讲 现在的支付已经成功了。

微信大坑

但是,在进入JSAPI支付时,无论如何也不成功,但是也不报任何错误,最近经过调试发现,JsApiPayPage.aspx页面中的支付按钮不正确,目的是调用JS callpay 方法,但是写的是一个服务器端控件,如下图中的红色部分,是官方代码。

问题知道了,解决就很容易了,直接用一个HTML控件调用callpay方法即可,下图中蓝色代码。

 

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

 

 

总结

整理上来讲,微信提供的demo和SDK已经很简单了,但是就是那么一点点的错误会浪费新手很长时间不知道如何解决(也许是我笨)。希望微信官方团队少出现点类是的错误吧。关于微信技术的任何问题可以加QQ群 497370827(2群)讨论。共学习,共进步。

 

教程导航:

微信开放平台 公众号第三方平台开发 教程一 平台介绍

微信开放平台 公众号第三方平台开发 教程二 创建公众号第三方平台

微信开放平台 公众号第三方平台开发 教程三 一键登录授权给第三方平台

微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo

微信开放平台 公众号第三方平台开发 教程五 代公众号发起网页授权源码

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

上一篇:NodeJs 开发微信公众号(一)准备工作


下一篇:《C#微信开发系列(3)-获取接口调用凭据》