require_once("config.php");?//這個文件原來寫過的博客有http://jipq1016.com/display.php?id=9
//統一下單
$openid=$_POST['openid'];
$arr['appid']=$appid;???????????????????????????????//商戶appid
$arr['mch_id']=$mch_id;??????????????????????????????????//微信支付分配的商戶號
$arr['openid']=$openid;?????????????????????????????????//用戶openid
$arr['nonce_str']=createNoncestr();?????????????????????//隨機字符串
$arr['out_trade_no']="jzz".date("YmdHis")."15395157530";?????????????????//商戶訂單號
$arr['body']="金種子酒-99元";???????????????????????????//商品描述
$arr['total_fee']=1;????????????????????????????????????//付款金額,單位分
$arr['spbill_create_ip']=$_SERVER['REMOTE_ADDR'];?????????????????????//調用接口的機器Ip地址
$arr['trade_type']="JSAPI";
$arr['notify_url']="http://jipq1016.com/hfxzt/qzb/baoming/pay.php";
$arr['sign']=getSign($arr,$key);????????????????????????//簽名
$xml=arrayToXml($arr);
//生成預支付交易會話標識
$data=postXmlCurl($xml,"https://api.mch.weixin.qq.com/pay/unifiedorder");
$data=xmlToArray($data);
//對應的wx.chooseWXPay里面的參數,這里面的生成需要的參數要注意大小寫,這個簽名是獨立的
$data2['timeStamp']=time();
$data2['appId']=$appid;
$data2['nonceStr']=createNoncestr();
$data2['package']="prepay_id=".$data[prepay_id];
$data2['signType']="MD5";
$data2['paySign']=getSign($data2,$key);
echo?json_encode($data2);//前端頁面的js里請求上面的
$.ajax({
type:?'POST',
url:?'pay.php',
data:?{?"openid":""},
dataType:?"json",
success:?function(data){
alert(data.timeStamp);
alert(data.nonceStr);
alert(data.package);
alert(data.paySign);
wx.chooseWXPay({
//?支付簽名時間戳,注意微信jssdk中的所有使用timestamp字段均為小寫。
但最新版的支付后臺生成簽名使用的timeStamp字段名需大寫其中的S字符
timestamp:?data.timeStamp,
//?支付簽名隨機串,不長于?32?位
nonceStr:?data.nonceStr,
//?統一支付接口返回的prepay_id參數值,提交格式如:prepay_id=***)
package:?data.package,
//?簽名方式,默認為'SHA1',使用新版支付需傳入'MD5'
signType:?'MD5',
paySign:?data.paySign,?//?支付簽名
success:?function?(res)?{
//?支付成功后的回調函數
//outputObj(res);
if(res.errMsg?==?"chooseWXPay:ok"){
location.href="home.php";
}
}
});
}
})
}
//alert出js對象
function?outputObj(obj)?{
var?description?=?"";
for?(var?i?in?obj)?{
description?+=?i?+?"?=?"?+?obj[i]?+?"\n";
}
alert(description);
}
留 言