c#企业微信在线支付

	企业微信支付方式与普通微信有所不同,而网上的关于c#的企业微信代码又少之又少,问微信客服一问三不知,所幸经过4天研究终于能肝出来算是给自己留档备份,下面是方式:

首先是传统艺能:能拿到的老三样票据: *
APPID:绑定支付的APPID(必须配置)
* MCHID:商户号(必须配置)
* KEY:商户支付密钥,参考开户邮件设置(必须配置)
* APPSECRET:公众帐号secert(仅JSAPI支付的时候需要配置)
*/
public const string APPID = "企业微信的id(企业ID) ";
public const string MCHID = "商户号 “;
public const string KEY = “这个key是公众平台一个xxxlv3的回调key,和平常的不同 “;
public const string APPSECRET = " 企业微信工作台的SECRET,而这个工作台要自己新添加”;
然后在新添加的工作台上设置网页授权(注:一定要设置里面的需完成域名归属验证不然会报错)
然后就是实际使用了,大体上和正常的没什么不同但是很重要的一点是要设置验证,代码如下
function fPostCharge() {
alert(location.href.split(’#’)[0])
var urltest= encodeURIComponent(location.href.split(’#’)[0]);
alert(urltest);
var auuu = location.href.split(’#’)[0];
var vChargeVal = $(”#ChargeVal”).val();
vChargeVal = parseFloat(vChargeVal);
if (vChargeVal > 0) {
$.messager.progress({
title: “”,
msg: “正在调用微信支付接口,请稍后…”,

            });
            $.ajax({
                type: "post",
                data: {
                    totalfee: vChargeVal,
                    urltest: urltest,
                },
               

                url: "/Home/MeterRecharge",
                success: function (json) {
                    $.messager.progress('close');//记得关闭
                    //var json = eval("(" + msg + ")");//转换后的JSON对象
                    //onBridgeReady(json);  data: "totalfee=" + vChargeVal,

                    //

                    wx.config({
                        debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来
                        appId: json.appId, // 必填,企业微信的corpID 
               
                        timestamp: json.timeStamp, // 必填,生成签名的时间戳
                        nonceStr: json.nonceStr, // 必填,生成签名的随机串
                        signature: json.signature,// 必填,签名
                        jsApiList: ['getBrandWCPayRequest']
                    });
                    wx.ready(() => {
                        alert("aooooo");
                    });
                },
                error: function () {
                    $.messager.progress('close');//记得关闭
                    $.messager.alert("提示", '调用微信支付模块失败,请稍后再试。', 'info')
                }
            })
        }
        else {
            alert("房间名或者充值金额不可以为空或者为负数,请确认后再试.")
        }
    }

可以看到,这里有个signature签名,这个是最难的一步,这里安装文档要拿的参数不谈,最重要的是url从前转后要转码,后台拿到以后在解码,组成字符串后,然后再用hsa1组合(注意:sha1一定要去企业微信转码的对照网站对比才能用)
public string Sha1(string str)
{
var buffer = Encoding.UTF8.GetBytes(str);
var data = SHA1.Create().ComputeHash(buffer);

        var sb = new StringBuilder();
        foreach (var t in data)
        {
            sb.Append(t.ToString("X2"));
        }

        return sb.ToString();
    }
    这个就是组好连接然后扔进sha1的连接,noncestr是随机字符串
        var poi = "jsapi_ticket=" + ticket + "&noncestr=6655&timestamp=" + times + "&url=" + str;
        获取的token之类的连接和普通的公众号我记得也有所不同,要注意点

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值