微信支付开发流程

1. 开通微信支付功能

省略

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

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

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

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

3. 配置各种参数

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

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

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

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

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

APPSECRET:公众帐号secert,

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

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

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

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

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

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

设置微信JSAPI安全域名

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

部署服务器测试

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

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

微信大坑

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

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

总结

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

教程导航:

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

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

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

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

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

微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑的更多相关文章

  1. 术语-软件-软件开发:SDK(软件开发工具包)

    ylbtech-术语-软件-软件开发:SDK(软件开发工具包) 软件开发工具包(缩写:SDK.外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包.软件框架 ...

  2. 【微信支付】公众号 JSAPI支付 HTML5(使用MUI前端框架)+WebApi 实现流程

    必要参数:      1) AppID,AppSecret : 在微信公众号后台管理—>(菜单栏)开发 —> 基本设置     2)商户号 :在微信公众号后台管理—>(菜单栏)微信支 ...

  3. PHP应用如何对接微信公众号JSAPI支付

    微信支付的产品有很多,1. JSAPI支付  2. APP支付  3. Native支付  4.付款码支付  5. H5支付. 其中基于微信公众号开发的应用选择“JSAPI支付“产品,其他APP支付需 ...

  4. 微信公众号JSAPI支付

    微信公众号JSAPI支付 一:配置参数 申请成功后,获取接口文件, 将所有文件放入项目根目录weixin下,在WxPay.ub.config.php中填入配置账户信息; 二:设置授权 开发者中心-&g ...

  5. 网站如何接入微信公众号JSAPI支付PHP版

    1.首先,我们要有一个微信公众号(分类类型有订阅号,服务号,企业号)我们的微信公众号一定是个服务号只有它才有微信支付接口.. 并且这个微信公众号一定要进行微信认证才能申请微信支付接口. 2.申请JSA ...

  6. 微信内置浏览器的JsAPI(WeixinJSBridge续)_Alien的笔记

    微信内置浏览器的JsAPI(WeixinJSBridge续)_Alien的笔记 微信内置浏览器的JsAPI(WeixinJSBridge续)进入全屏 之前有写过几篇关于微信内置浏览器(WebView) ...

  7. php微信支付(仅Jsapi支付)详细步骤.----仅适合第一次做微信开发的程序员

    本人最近做了微信支付开发,是第一次接触.其中走了很多弯路,遇到的问题也很多.为了让和我一样的新人不再遇到类似的问题,我把我的开发步骤和问题写出来,以供参考. 开发时间是2016/8/2,所以微信支付的 ...

  8. [5] 微信公众号开发 - 微信支付功能开发(网页JSAPI调用)

    1.微信支付的流程 如下三张手机截图,我们在微信网页端看到的支付,表面上看到的是 "点击支付按钮 - 弹出支付框 - 支付成功后出现提示页面",实际上的核心处理过程是: 点击支付按 ...

  9. 微信公众号开发 [05] 微信支付功能开发(网页JSAPI调用)

    1.微信支付的流程 如下三张手机截图,我们在微信网页端看到的支付,表面上看到的是 "点击支付按钮 - 弹出支付框 - 支付成功后出现提示页面",实际上的核心处理过程是: 点击支付按 ...

随机推荐

  1. [HTML5]如何使用移动设备的方向定位器

    HTML5 Rocks Show navigation Table of Contents Home Tutorials Updates Table of Contents Introduction ...

  2. Swagger ui测试中的验证 apikey

    Swagger ui测试中的验证 apikey 我们使用swagger 用来呈现webapi的接口,除了可以看到接口的说明和参数说明,还可以进行测试.但是我们的接口通常是有验证的,不是随便就能调用的, ...

  3. 使用python来批量抓取网站图片

    今天"无意"看美女无意溜达到一个网站,发现妹子多多,但是可恨一个page只显示一张或两张图片,家里WiFi也难用,于是发挥"程序猿"的本色,写个小脚本,把图片扒 ...

  4. 实验1 单片机IO口应用及数码管显示

    1.   单片机驱动蜂鸣器的实验: a)         说明:Lab51单片机实验板的蜂鸣器连接到单片机的P1.5 b)        基本要求:控制蜂鸣器每2秒响0.5秒. #include &l ...

  5. WinDbg探究CLR底层(1) - 应用程序域

    一.什么是应用程序域 操作系统由于其稳定性与可靠性的要求,都会使用隔离层,来确保运行在某个隔离层内的代码不会对其他隔扇层的代码产生影响.如Windows通过进程来实现这种隔离机制,所能的可执行代码.数 ...

  6. java批量解压文件夹下的所有压缩文件(.rar、.zip、.gz、.tar.gz)

    // java批量解压文件夹下的所有压缩文件(.rar..zip..gz..tar.gz) 新建工具类: package com.mobile.utils; import com.github.jun ...

  7. Python学习之二

    基础语法 一.起始行 #!/usr/bin/python 或 #!/usr/bin/env python 目的是在运行python脚本的时候告诉系统我们要用Python解释器去运行py脚本 # -*- ...

  8. dbvisulizer 存储过程

    --/ CREATE PROCEDURE test () BEGIN DECLARE v CHAR(10) DEFAULT 'Hello';SELECT CONCAT(v, ', ', current ...

  9. Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+\(退出)和ctrl+d(EOF)的区别(转)

    一.后台进程管理命令 fg.bg.jobs.&.ctrl + z.ctrl + c.ctrl + \.ctrl + d1. &加在一个命令的最后,可以把这个命令放到后台执行 ,如fir ...

  10. Elasticsearch聚合 Date Histogram聚合

    转 http://www.cnblogs.com/xing901022/p/4951603.html Elasticsearch的聚合主要分成两大类:metric和bucket,2.0中新增了pipe ...