我是靠谱客的博主 默默黑裤,最近开发中收集的这篇文章主要介绍nodejs 支付(未完),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1:后台

生成统一订单

var _contentStr = fnCreateUrlParam(data);
_contentStr += "&key=" + "dkehruteirjfdiheriyterjkjdfdferk";
    console.log('xml:')
    //console.log(_contentStr)
var md5 = crypto.createHash('md5');
var sign = md5.update(_contentStr, 'utf-8').digest('hex').toString().toUpperCase();
    data.sign=sign;
    console.log("生成的订单data:")
    console.log(data)
    delete data.key;
    var _xmlData = fnCreateXml(data);

    var _sendData = "<xml version='1.0' encoding='UTF-8'>" + _xmlData + "</xml>"; //_xmlTemplate.replace(/{content}/)

    //console.log(_sendData);
        var url = "https://api.mch.weixin.qq.com/pay/unifiedorder";

    var opt = {
        host: "api.mch.weixin.qq.com",
        port: '443',
        method: 'POST',
        path: "/pay/unifiedorder"
    };
    var body = '';
    opt.agent = new https.Agent(opt);
    var req = https.request(opt, function(res) {
        res.setEncoding('utf8');
        //console.log("Got response: " + res.statusCode);
        res.on('data',function(d){
            body += d;
        }).on('end', function(){
            //console.log(res.headers);

            console.log('微信返回消息');
            //console.log(body);
            var ret = fnParseReceivedXML(body);
            //如果回调存在就执行回调函数
            //if(typeof callback == 'function'){
                //console.log(body);
                _callback(body,next);
            //}
        });
    }).on('error', function(e) {
        console.log("Got error: " + e.message);
    });
前台

var data={
                        "appId":ret.data.appId,     //公众号名称,由商户传入
                        "timeStamp":ret.data.timeStamp.toString(),         //时间戳,自1970年以来的秒数
                        "nonceStr":ret.data.nonceStr, //随机串
                        "package":ret.data.package,
                        "signType":ret.data.signType,         //微信签名方式:
                        "paySign":ret.data.sign,//wxInfo.signature,wxInfo.signature //微信签名
                        //"trade_type":ret.data.trade_type
                    };
                    alert(JSON.stringify(data));
                    WeixinJSBridge.invoke(
                        'getBrandWCPayRequest',data ,
                        function(res){
                            alert(JSON.stringify(res));
                            if(res.err_msg == "get_brand_wcpay_request:ok" ) {}     // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。
                        }
                    );

最后

以上就是默默黑裤为你收集整理的nodejs 支付(未完)的全部内容,希望文章能够帮你解决nodejs 支付(未完)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部