惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
PCI Perspectives
PCI Perspectives
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
H
Heimdal Security Blog
S
Security @ Cisco Blogs
N
News | PayPal Newsroom
J
Java Code Geeks
罗磊的独立博客
Security Archives - TechRepublic
Security Archives - TechRepublic
N
News and Events Feed by Topic
V
V2EX
WordPress大学
WordPress大学
Google Online Security Blog
Google Online Security Blog
N
News and Events Feed by Topic
www.infosecurity-magazine.com
www.infosecurity-magazine.com
月光博客
月光博客
AI
AI
小众软件
小众软件
The GitHub Blog
The GitHub Blog
MongoDB | Blog
MongoDB | Blog
A
Arctic Wolf
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
美团技术团队
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Tailwind CSS Blog
S
Schneier on Security
博客园 - 三生石上(FineUI控件)
F
Full Disclosure
B
Blog RSS Feed
Forbes - Security
Forbes - Security
S
SegmentFault 最新的问题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
Jina AI
Jina AI
Cisco Talos Blog
Cisco Talos Blog
U
Unit 42
Project Zero
Project Zero
H
Hacker News: Front Page
Y
Y Combinator Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
The Cloudflare Blog
大猫的无限游戏
大猫的无限游戏
S
Secure Thoughts
The Hacker News
The Hacker News
Microsoft Azure Blog
Microsoft Azure Blog

博客园 - Jingnan

T4模板根据数据库表和列的Description生成代码的summary的终极解决方案 微信开放平台 公众号第三方平台开发 教程五 代公众号发起网页授权源码 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo 微信开放平台 公众号第三方平台开发 教程三 一键登录授权给第三方平台 微信开放平台 公众号第三方平台开发 教程二 创建公众号第三方平台 微信开放平台 公众号第三方平台开发 教程一 平台介绍 wcf几种调用方式的性能讨论 WCF同样功能不同写法的性能问题 ASP.NET 4.0 URL路由改进支持 WPF 用webBowser 嵌套 URL地址 显示ReportViewer导出EXCEL的一些问题 简单的封装一个HTML 弹出对话框的空间 原型模式(Prototype) 恶性代码 - Jingnan - 博客园 AdvDataList分页 例码 问一个关于生成静态页面的问题 简单读区XML - Jingnan - 博客园 使用XMLDataSource简单实现多级下拉菜单 ASP.NET实现新闻页面的分页功能[生成静态版] 更新 增加 用Table形式
微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑
Jingnan · 2016-02-28 · via 博客园 - Jingnan

微信支付开发流程

1. 开通微信支付功能

省略

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

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

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

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

3. 配置各种参数

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

image

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

image

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

image

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

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

APPSECRET:公众帐号secert,

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

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

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

image

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

image

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

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

image

设置微信JSAPI安全域名

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

image

部署服务器测试

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

image

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

微信大坑

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

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

image

总结

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

教程导航:

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

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

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

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

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