微信JSApi支付~集成到MVC环境后的最后一个坑(网上没有这种解决方案)
大叔第一人
之前写了关于微信的坑《微信JSApi支付~坑和如何填坑》,今天将微信的jsapi支付封装到了MVC环境里,当然也出现了一些新的坑,如支付参数应该是Json对象而不是Json字符串,这样也会应付引起“get_brand_wcpay_request:fail_invalid appid”这个大家都知道的异常,呵呵,解决方案网上说是“授权目录“,事实上,还有一种原因,那就是你的WeixinJSBridge.invoke方法里的参数应该是Json对象而不是字符串,这才是最重要的。
代码我们需要写成下面的格式
//调用微信JS api 支付
function jsApiCall() {
var price = 1.0;
var no = '@Request.QueryString["orderNumber"]';
var action = '@Url.Action("Get")';
var openID = '@openID';
$.get(action, { price: price, orderNumber: no, openID: openID }, function (data) {
WeixinJSBridge.invoke('getBrandWCPayRequest', JSON.parse(data), function (res) {
WeixinJSBridge.log(res.err_msg);
alert(res.err_code + res.err_desc + res.err_msg);
});
});
}
对于我们封装成MVC后,由于MVC的路由将扩展名去除了,所以我们的授权目录也发生了变化,如Order/Pay这个页面,在收取时应该是http://域名/Order/Pay/,而之前的http://域名/Order/这个级别就不被认可了,这点也要注意一下。
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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" alt="" width="415" height="161" />
还有一点要注册,如果你添加了测试授权目录,那必须要添加测试用的白名单,否则你的微信也测试不了。
大叔封装的MVC版的微信JSAPI支付
/// <summary>
/// 构建支付处理类
/// </summary>
public class JsApiImplement
{
public static string wxJsApiParam { get; set; } //H5调起JS API参数 /// <summary>
/// 返回当前微信客户端的OpenId,每个客户端在每个公众号里的OpenId是唯一的
/// </summary>
/// <returns></returns>
public static string GetOpenId()
{
JsApiPay jsApiPay = new JsApiPay(System.Web.HttpContext.Current);
jsApiPay.GetOpenidAndAccessToken();
Log.Debug("GetOpenId", "openid : " + jsApiPay.openid);
return jsApiPay.openid;
} /// <summary>
/// JsApi返回微信支付的连接参数,这个方法需要前台UI页面调用,通常可以使用AJAX进行调用它
/// </summary>
/// <param name="total_fee">订单金额</param>
/// <param name="orderId">业务的订单编号</param>
/// <returns></returns>
public static string Send(int total_fee, string orderId, string openId)
{
try
{
//调用【网页授权获取用户信息】接口获取用户的openid和access_token
//jsApiPay.GetOpenidAndAccessToken();
JsApiPay jsApiPay = new JsApiPay(System.Web.HttpContext.Current);
jsApiPay.openid = openId;
Log.Debug("Send", "openid : " + jsApiPay.openid);
//若传递了相关参数,则调统一下单接口,获得后续相关接口的入口参数,微信的价格是分
jsApiPay.total_fee = total_fee;
WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(orderId);
wxJsApiParam = jsApiPay.GetJsApiParameters();//获取H5调起JS API参数
Log.Debug("Send", "wxJsApiParam : " + wxJsApiParam);
}
catch (Exception ex)
{
Log.Error("Error", ex.Message);
}
return wxJsApiParam;
} /// <summary>
/// JsApi微信回调
/// </summary>
public static void Notify(Action<NotifyModel> action)
{
var context = System.Web.HttpContext.Current;
ResultNotify resultNotify = new ResultNotify(context);
resultNotify.ProcessNotify(action);
}
}
对于使用者来说,也很简单,在页面上拿OpenId,之后把OpenId传到后台方法,拿到微信支付的参数对象(JSON对象),之后完成支付
<script type="text/javascript"> //调用微信JS api 支付
function jsApiCall() {
$.get("/weixin/get", new { money: 1, order: '001', openId: 'test' }, function (data) {
WeixinJSBridge.invoke('getBrandWCPayRequest', JSON.parse(data), function (res) {
WeixinJSBridge.log(res.err_msg);
alert(res.err_code + res.err_desc + res.err_msg);
});
});
} function callpay() {
if (typeof (WeixinJSBridge) == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
}
else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
}
}
else {
jsApiCall();
}
} </script> <body>
<a href="javascript:void(0)" onclick="callpay();return false;">立即支付</a>
</body>
希望大家一起来找各种坑,然后把坑填上,分享给大家!
微信JSApi支付~集成到MVC环境后的最后一个坑(网上没有这种解决方案)的更多相关文章
- 微信JSAPI支付
最近在微信H5页面内集成微信JSAPI支付,遇到不少问题,现将集成步骤及遇到的问题记录如下: 1.官方下载SDK,下载地址:https://pay.weixin.qq.com/wiki/doc/api ...
- 微信JSApi支付~订单号和微信交易号
返回目录 谈谈transactionId和out_trade_no 前一篇微信JSApi支付~坑和如何填坑文章反映不错,所以又写了个后篇,呵呵. 每个第三方在线支付系统中都会有至少两类订单号,其一为支 ...
- 微信JSAPI支付(比较详细) 关于getRrandWCPayRequest:fail_invalid appid 错误
原文:微信JSAPI支付(比较详细) 关于getRrandWCPayRequest:fail_invalid appid 错误 首先微信支付需注册 微信公从平台开发 和 微信支付商户平台 关于4个密 ...
- 微信JSAPI支付 跟 所遇到的那些坑
首先介绍一下我在调用微信支付接口使用的是 weixin.senparc SDK,非常方便好用开源的一个微信开发SDK. weixin.senparc SDK 官网:http://weixin.senp ...
- 微信JSAPI支付回调
在微信支付中,当用户支付成功后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答. 在经历了千幸万苦之,填完了所有的JSAPI支付的坑后(微信JSAPI支付 跟 所遇到的那些坑) ...
- php微信jsapi支付 支付宝支付 两码合一
产品开会提出了这样的需求:一个二维码可以微信支付也可以支付宝支付 经过自己的钻研以及询问技术高人(本人代码一般般)和网上搜索 最终实现其功能 我用微信jsapi 和 支付宝网页支付 其实并不怎么难: ...
- 微信公众号配置及微信jsAPI支付
公众号配置 一.基本配置 首先登陆微信公众平台,在开发--->配置--->公众号开发信息,获取到AppId,开发者秘钥是后台需要的,给到后台,IP白名单配置就是你服务器的IP地址写到里面就 ...
- 微信JSApi支付~坑和如何填坑
返回目录 微信一直用着不爽,这几天研究它的jsapi支付,即在微信内打开H5页面,完成支付的过程,在这个过程中,你将会遇到各种各样的问题,而大叔将把这些问题的解决方法写一下,希望可以给你带来帮助! 一 ...
- asp.net微信jsapi支付
1.前台页面: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head ru ...
随机推荐
- 垃圾回收机制GC知识再总结兼谈如何用好GC
一.为什么需要GC 应用程序对资源操作,通常简单分为以下几个步骤: 1.为对应的资源分配内存 2.初始化内存 3.使用资源 4.清理资源 5.释放内存 应用程序对资源(内存使用)管理的方式,常见的一般 ...
- ASP.NET MVC 5 - 添加一个模型
在本节中,您将添加一些类,这些类用于管理数据库中的电影.这些类是ASP.NET MVC 应用程序中的"模型(Model)". 您将使用.NET Framework 数据访问技术En ...
- java:警告:[unchecked] 对作为普通类型 java.util.HashMap 的成员的put(K,V) 的调用未经检查
java:警告:[unchecked] 对作为普通类型 java.util.HashMap 的成员的put(K,V) 的调用未经检查 一.问题:学习HashMap时候,我做了这样一个程序: impor ...
- js实用篇之String对象
概述 String对象是JavaScript原生提供的三个包装对象之一,用来生成字符串的包装对象. var s1 = 'abc'; var s2 = new String('abc'); typeof ...
- JMeter--一、安装JMeter
Apache JMeter是Apache组织开发的基于Java的接口和性能测试工具. 作用: 1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC). ...
- iOS----- Crash 分析(文三)- 符号化崩溃日志
未符号化的崩溃日志就象一本天书,看不懂,更别谈分析崩溃原因了.所以我们在分析日志之前,要把日志翻译成我们可以看得懂的文字.这一步我们称之为符号化. 在iOS Crash分析(文一)中已经提到过符号化的 ...
- PHP设计模式笔记
一.工厂模式:减少new的使用,定义一个类,专门用来创建其它对象例: class A{ static function create(){ return new DB(); } } $db = A:: ...
- Leetcode-190 Reverse Bits
#190. Reverse Bits Reverse bits of a given 32 bits unsigned integer. For example, given input 432615 ...
- DataBase异常状态:Recovery Pending,Suspect,估计Recovery的剩余时间
一,RECOVERY PENDING状态 今天修改了SQL Server的Service Account的密码,然后重启SQL Server的Service,发现有db处于Recovery Pendi ...
- Change Line Type in OpenCascade
Change Line Type in OpenCascade eryar@163.com 关键字KeyWords:OpenCascade,Line Aspect, Line Type 在OpenCa ...