//需要引入的包
var key = '********************'; //商戶後台支付的key
functioncreateorder(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)}})
}
用到的一些工具函式
functionvar 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...