node对接易支付

原创
2019/06/26 22:23
阅读数 551

安装md5第三方模块

npm install utility --save-dev
const utility=require("utility"); //导入md5第三方库

let data={
            pid:"你的pid",
            money:"金额",
            name:"商品名称",
            notify_url:"http://xxxxx",//异步通知地址
            out_trade_no:"2019050823435494926", //订单号,自己生成。我是当前时间YYYYMMDDHHmmss再加上随机三位数
            return_url:"http://xxxx",//跳转通知地址
            sitename:"网站名称",
            type:"alipay",//支付方式:alipay:支付宝,wxpay:微信支付,qqpay:QQ钱包,tenpay:财付通,
 }

//参数进行排序拼接字符串(非常重要)
function  getVerifyParams(params) {
        var sPara = [];
        if(!params) return null;
        for(var key in params) {
            if((!params[key]) || key == "sign" || key == "sign_type") {
                continue;
            };
            sPara.push([key, params[key]]);
        }
        sPara = sPara.sort();
        var prestr = '';
        for(var i2 = 0; i2 < sPara.length; i2++) {
            var obj = sPara[i2];
            if(i2 == sPara.length - 1) {
                prestr = prestr + obj[0] + '=' + obj[1] + '';
            } else {
                prestr = prestr + obj[0] + '=' + obj[1] + '&';
            }
        }
        return prestr;
}



//对参数进行排序,生成待签名字符串--(具体看支付宝)
let str=getVerifyParams(data);

let key="你的key";//密钥,易支付注册会提供pid和秘钥

//MD5加密--进行签名
let sign=utility.md5(str+key);//注意支付宝规定签名时:待签名字符串后要加key

最后要将参数返回给前端,前端访问url发起支付
let result =`http:/xxxxxx.com/submit.php?${str}&sign=${sign}&sign_type=MD5`;

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部