node 小程式支付介面

2022-08-27 01:00:14 字數 2813 閱讀 3780

//需要引入的包

var key = '********************'; //商戶後台支付的key
function

createorder(res,reqdata,req)

var wxconfig =;

var timestamp = createtimestamp(); //

時間節點

var nonce_str = createnoncestr() + createtimestamp(); //

隨機字串

var create_ip = get_client_ip(req); //請求ip

var notify_url ='';

var formdata = "";

formdata += ""+wxconfig['mch_id']+""; //

商戶號 formdata += ""+nonce_str+""; //

隨機字串

formdata += "" + body + ""; //

商品描述

formdata += ""+notify_url+"";

formdata += "" + openid + "";

formdata += "" + bookingno + "";

formdata += ""+create_ip+"";

formdata += "" + total_fee + "";

formdata += "jsapi";

formdata += "";

console.log(formdata);

//記錄日誌

var sql = "insert into qiming.order (order_num,openid,product_name,price,is_success) values(?,?,?,?,?)";

client.query(sql,[bookingno,openid,body,total_fee,1],function

(err,result)

});request(,

function

(err, response, body) ;

res.write(json.stringify(args));

res.end();

}else;

res.write(json.stringify(errarg));

res.end();

}console.log('prepay_id是'+resultcode)}})

}

用到的一些工具函式

function

var ret =;

var string =raw1(ret);

string = string + '&key='+key;

console.log(string);

var crypto = require('crypto');

return crypto.createhash('md5').update(string, 'utf8').digest('hex');

}function

raw1(args) ;

keys.foreach(

function

(key) );

var string = '';

for(var k in

newargs)

string = string.substr(1);

return

string;}//

生成簽名

function

var ret =;

var string =raw(ret);

string = string + '&key='+key;

var sign = crypto.createhash('md5').update(string, 'utf8').digest('hex');

return

sign.touppercase()

}function

raw(args) ;

keys.foreach(

function

(key) );

var string = '';

for(var k in

newargs)

string = string.substr(1);

return

string;

}//解析xml

function

getxmlnodevalue(node_name, xml)

//獲取url請求客戶端ip

var get_client_ip = function

(req)

return

ip;};

//隨機字串產生函式

function

createnoncestr()

//時間戳產生函式

function

createtimestamp()

微信小程式支付介面 Python版

class payment view staticmethod defget nonce str 生成隨機字串 return str uuid.uuid4 replace staticmethod defgetsing o dict 生成簽名 keys,paras sorted o dict par...

小程式支付流程

向後台傳送預生成訂單請求,傳遞商品資訊 id,數量 使用者資訊 id,token,收貨位址 後台返回timestamp 時間戳 noncestr 隨機字串,不長於32位 package 資料報 signtype 簽名型別,預設為md5,支援hmac sha256和md5 paysign 簽名 等字段...

小程式支付功能

小程式訪問php 支付測試 public function wxpaytest weixinpay.php class weixinpay public function pay 統一下單介面 private function unifiedorder private static function...