您的位置:首页 > 移动开发 > 微信开发

新版本 JSAPI微信支付V3 C# DEMO

2015-02-14 12:03 204 查看
小弟在公众号后台无意中点了更新(微信支付接口升级)PS:想都没有想,心里还乐滋滋的免费的干嘛不升级。。。后果来了。面临着支付不能用了,代码需要重新更新。

/**
* JS_API支付demo
* ====================================================
* 在微信浏览器里面打开H5网页中执行JS调起支付。接口输入输出数据格式为JSON。
* 成功调起支付需要三个步骤:
* 步骤1:网页授权获取用户openid (难点,因为这里有个大坑)
* 步骤2:使用统一支付接口,获取prepay_id(其实就是一个预支付id)
* 步骤3:使用jsapi调起支付
*/

官方demo下载地址(暂只有PHP)https://mp.weixin.qq.com/paymch/readtemplate?t=mp/business/course3_tmpl&lang=zh_CN%816%A49

源代码下载: http://pan.baidu.com/s/1qWkb7B2


温馨提示:

1、支付授权目录一定要先配置好
2、测试白名单
3、一定要在当前公众号里面发起支付

[b]步骤一:网页授权获取用户openid (难点,因为这里有个大坑)
[/b]

官方文档:https://res.wx.qq.com/paymchres/zh_CN/htmledition/download/bussiness-course2/wxm-payment-oauth1eec8d.pdf

1)获取 code

2)通过 code 换取网页授权 accesstoken, 此 access_token 与基础支持的access_token 不同。

3)通过 accesstoken 换取用户基本信息

注意:这里必须要配置授权目录(就是这个坑。。。)
如图:


string wxNotifyXml = "";

byte[] bytes = Request.BinaryRead(Request.ContentLength);
wxNotifyXml = System.Text.Encoding.UTF8.GetString(bytes);

if (wxNotifyXml.Length == 0)
{
return;
}

XmlDocument xmldoc = new XmlDocument();

xmldoc.LoadXml(wxNotifyXml);

string ResultCode = xmldoc.SelectSingleNode("/xml/result_code").InnerText;
string ReturnCode = xmldoc.SelectSingleNode("/xml/return_code").InnerText;

if (ReturnCode == "SUCCESS" && ResultCode == "SUCCESS")
{
//验证成功
//取结果参数做业务处理
string out_trade_no = xmldoc.SelectSingleNode("/xml/out_trade_no").InnerText;
//财付通订单号
string trade_no = xmldoc.SelectSingleNode("/xml/transaction_id").InnerText;
//金额,以分为单位
string total_fee = xmldoc.SelectSingleNode("/xml/total_fee").InnerText;

/********************************
*
* 自己业务处理
*
*********************************/
}


View Code

今天上班最后一天了,也是情人节。祝大家情人节快乐。。。。此处应有掌声

文采不够好,请谅解!

DEMO下载: http://pan.baidu.com/s/1qWkb7B2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: