微信支付开发-Senparc.Weixin.MP详解

在网上找到了做微信对接的C#SDK:Senparc.Weixin.MP。这个类库的封装,在我看来,还是不错的,基本囊货了微信的功能,并且在不断的完善。类库是开源的,每个功能都有写简单的单元测试,看起来一目了然。主要对接DLL对应的功能如下:

  公众号+微信支付 SDK:Senparc.Weixin.MP.dll

  企业号 SDK:Senparc.Weixin.QY.dll

  开放平台 SDK:Senparc.Weixin.Open.dll 

  官方地址:http://weixin.senparc.com/  

  当然,我们要完成公众号微信支付功能的开发,需要使用Senparc.Weixin.MP.dll这个DLL,查阅了一下官方提供的DEMO以及教程,并没有载入微信支付相关的说明,没办法,既然拿到源码了,自己找吧。

  打开Senparc.Weixin.MP.sln,根据英文文件夹名称的分类,可以初步判断,关于微信支付,被封装在TenPayLib文件夹 中,但是我还发现,里面存在名称叫“TenPayLibV3”的文件夹,那如何选择呢?网上搜索了一下,得出这个结论:2014年9月10号之前申请的为 v2版,之后申请的为v3版。我用来测试微信支付的服务号是在16年刚申请,并且通过验证的,那么果断使用V3吧。

  打开TenPayLibV3文件夹:

  

  这里发现多个类库,每一个都是做什么的呢?我们这里不一一叙述,感兴趣的朋友可以下载来看,每一个类的文件头都有功能说明与描述,对照微信官方支付说明,我们直接开始做支付。

  进入微信公众号,点击功能菜单中的微信支付:并相应点击 使用教程-公众号支付

  

  迅速对文档内容重温、浏览,以方便在Senparc.Weixin.MP.dll中查找相应的功能。

  

  先配置支付授权目录,添加支付测试白名单,支付目录只支持三个,并且域名必须经过ICP备案。授权目录的作用是,如果要发起微信支付请求,请求 的链接地址必须在授权目录下,否则身份无效,支付不能成功。测试白名单中添加的个人微信号,才能完成微信支付测试目录支付的测试,不在白名单中人员发起支 付申请,支付不能成功。

  配置完成后,如何调用呢?我们继续看官方说明:H5调起支付API  

  “在微信浏览器里面打开H5网页中执行JS调起支付。接口输入输出数据格式为JSON。

  注意:WeixinJSBridge内置对象在其他浏览器中无效。

  列表中参数名区分大小,大小写错误签名验证会失败。”

  OK,这里说明了几个事情,第一必须在微信浏览器进行;第二,参数区分大小写;第三,数据格式为JSON。

  官方说明,只要在页面中调用如下脚本,即可开启微信支付功能:

复制代码
1 function onBridgeReady(){
 2    WeixinJSBridge.invoke(
 3        'getBrandWCPayRequest', {
 4            "appId" : "wx2421b1c4370ec43b",     //公众号名称,由商户传入     
 5            "timeStamp":" 1395712654",         //时间戳,自1970年以来的秒数     
 6            "nonceStr" : "e61463f8efa94090b1f366cccfbbb444", //随机串     
 7            "package" : "prepay_id=u802345jgfjsdfgsdg888",     
 8            "signType" : "MD5",         //微信签名方式:     
 9            "paySign" : "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名 
10        },
11        function(res){     
12            if(res.err_msg == "get_brand_wcpay_request:ok" ) {}     // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。 
13        }
14    ); 
15 }
16 if (typeof WeixinJSBridge == "undefined"){
17    if( document.addEventListener ){
18        document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
19    }else if (document.attachEvent){
20        document.attachEvent('Weix
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!要使用Senparc.Weixin.AspNet写微信分享接口,需要按照以下步骤进行操作: 1. 安装Senparc.Weixin.AspNet 使用NuGet安装Senparc.Weixin.AspNet,可以在Visual Studio的NuGet包管理器中搜索并安装。 2. 配置微信公众号信息 在Web.config文件中配置微信公众号的AppId、AppSecret等信息,以便进行微信授权和分享。例如: ```xml <appSettings> <add key="WeixinAppId" value="your_appid" /> <add key="WeixinAppSecret" value="your_appsecret" /> <add key="WeixinToken" value="your_token" /> <add key="WeixinEncodingAESKey" value="your_encodingAESKey" /> </appSettings> ``` 3. 创建分享接口 创建一个Controller,并添加一个Action来处理分享请求,例如: ```csharp public class WeixinShareController : Controller { [HttpPost] public ActionResult Share(string url) { var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(WeixinConfig.WeixinAppId, WeixinConfig.WeixinAppSecret, url); return Json(jssdkUiPackage); } } ``` 在Action中,调用Senparc.Weixin.MP.Helpers.JSSDKHelper.GetJsSdkUiPackage方法获取JSSDK的UiPackage信息,并返回Json格式的结果。 4. 在前端页面中调用分享接口 在前端页面中,通过Ajax调用分享接口获取分享信息,例如: ```javascript $.post('/WeixinShare/Share', { url: location.href }, function (result) { wx.config({ debug: false, appId: result.appId, timestamp: result.timestamp, nonceStr: result.nonceStr, signature: result.signature, jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] }); wx.ready(function () { wx.onMenuShareTimeline({ title: '分享标题', link: location.href, imgUrl: '分享图片地址' }); wx.onMenuShareAppMessage({ title: '分享标题', desc: '分享描述', link: location.href, imgUrl: '分享图片地址' }); }); }); ``` 在页面加载完成后,通过Ajax调用分享接口获取分享信息,然后使用wx.config和wx.ready方法进行微信JSSDK的初始化和分享设置。 以上是使用Senparc.Weixin.AspNet写微信分享接口的基本流程,希望能对您有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值