node對接易支付

安裝md5第三方模塊php

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`;
相關文章
相關標籤/搜索