PAY頁面往 js_api_call.php 傳值 獲取不到的問題
專業(yè)領域包括成都網站建設、成都網站制作、商城網站建設、微信營銷、系統平臺開發(fā), 與其他網站設計及系統開發(fā)公司不同,創(chuàng)新互聯的整合解決方案結合了幫做網絡品牌建設經驗和互聯網整合營銷的理念,并將策略和執(zhí)行緊密結合,為客戶提供全網互聯網整合方案。
echo 是可以echo出來的 但是
這里不寫死就會報錯 $key0$
?php
/**
* JS_API支付demo
* ====================================================
* 在微信瀏覽器里面打開H5網頁中執(zhí)行JS調起支付。接口輸入輸出數據格式為JSON。
* 成功調起支付需要三個步驟:
* 步驟1:網頁授權獲取用戶openid
* 步驟2:使用統一支付接口,獲取prepay_id
* 步驟3:使用jsapi調起支付
*/
//獲取信息
@$name="支付測試-包包";
@$price=0.01*100;
@$hyid=$_GET['hyid'];
@$out_trade_no=$_GET['num'];//訂單號
include_once("../WxPayPubHelper/WxPayPubHelper.php");
//使用jsapi接口
$jsApi = new JsApi_pub();
//=========步驟1:網頁授權獲取用戶openid============
//通過code獲得openid
if (!isset($_GET['code']))
{
//觸發(fā)微信返回code碼
$url = $jsApi-createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);
Header("Location: $url");
}else
{
//獲取code碼,以獲取openid
$code = $_GET['code'];
$jsApi-setCode($code);
$openid = $jsApi-getOpenId();
}
//=========步驟2:使用統一支付接口,獲取prepay_id============
//使用統一支付接口
$unifiedOrder = new UnifiedOrder_pub();
//設置統一支付接口參數
//設置必填參數
//appid已填,商戶無需重復填寫
//mch_id已填,商戶無需重復填寫
//noncestr已填,商戶無需重復填寫
//spbill_create_ip已填,商戶無需重復填寫
//sign已填,商戶無需重復填寫
$unifiedOrder-setParameter("openid","$openid");//商品描述
$unifiedOrder-setParameter("body","$name");//商品描述
//自定義訂單號,此處僅作舉例
$timeStamp = time();
$out_trade_no = WxPayConf_pub::APPID."$timeStamp";
$unifiedOrder-setParameter("out_trade_no","$out_trade_no");//商戶訂單號
$unifiedOrder-setParameter("total_fee","$price");//總金額
$unifiedOrder-setParameter("notify_url","");//通知地址
$unifiedOrder-setParameter("trade_type","JSAPI");//交易類型
//非必填參數,商戶可根據實際情況選填
//$unifiedOrder-setParameter("sub_mch_id","XXXX");//子商戶號
//$unifiedOrder-setParameter("device_info","XXXX");//設備號
//$unifiedOrder-setParameter("attach","XXXX");//附加數據
//$unifiedOrder-setParameter("time_start","XXXX");//交易起始時間
//$unifiedOrder-setParameter("time_expire","XXXX");//交易結束時間
//$unifiedOrder-setParameter("goods_tag","XXXX");//商品標記
$unifiedOrder-setParameter("attach","2");//會員ID
$prepay_id = $unifiedOrder-getPrepayId();
//=========步驟3:使用jsapi調起支付============
$jsApi-setPrepayId($prepay_id);
$jsApiParameters = $jsApi-getParameters();
//echo $jsApiParameters;
?
html
head
meta charset="utf-8"
title支付頁面/title
script type="text/javascript"
//調用微信JS api 支付
function jsApiCall()
{
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
?php echo $jsApiParameters; ?,
function(res){
WeixinJSBridge.log(res.err_msg);
if(res.err_msg == "get_brand_wcpay_requestk"){
window.location.href='/shop/successful.php?spmc=?php echo $name; ?price=?php echo $price; ?';
//history.go(-1);
}else{
window.location.href='/shop/pay.php';
}
}
);
}
if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
}
}else{
jsApiCall();
}
/script
/head
/html
1、看接口能不能正常訪問,返回值小程序是否能接到
2,如果都能,看看傳值方式post或者get
這種情況發(fā)生在以UTF-8編碼格式傳輸數據的時候,這開頭的三個字節(jié)叫做BOM(Byte Order Mark,字節(jié)順序標記),小程序接收到php端返回的數據后,把開頭的三個字節(jié)去掉即可。
更徹底的解決辦法是把php文件保存為?不帶BOM的UTF-8?文件,這樣返回的數據就不帶BOM了
上傳文件是不能包含中文名的,可以生成新的文件名再上傳。
如果想保留原文件名,可以寫入數據庫,然后輸出時做一個專門的腳本,用于讀取原文件名并輸出。
我以MYSQL舉例(輸出腳本):
?php
$file = $_GET['downurl'];
$con = mysql_connect("數據庫主機名","帳號","密碼");
if(!$con)
exit(mysql_errno().":".mysql_error());
$sql = "SELECT * FROM fname WHERE fileurl='$file'";
$result = mysql_query($sql,$con);
$row = mysql_fetch_array($result);
header("Content-Disposition: attachment; filename='".$row['filename']."'")
echo file_get_contents($file);
?
有了這個腳本,那么還需要在MYSQL建立一個表fname。
執(zhí)行以下SQL:
CREATE TABLE 'fname'
(
fileurl varchar(255),
filename varchar(255)
)
最后你在上傳文件成功時加一個寫入數據的操作:
?php
$con = mysql_connect("數據庫主機名","帳號","密碼");
if(!$con)
exit(mysql_errno().":".mysql_error());
$sql = "INSERT INTO fname(fileurl,filename) VALUES('文件URL','原文件名')";
?
文件URL我就不說了,你一定會弄。原文件名,可以通過$_FILES獲取,具體如何獲取,我就不寫了,百度一下,W3SCHOOL,PHP手冊都有。
網頁標題:微擎php傳數據到小程序 微信小程序上傳數據到服務器
URL鏈接:http://aaarwkj.com/article22/doooejc.html
成都網站建設公司_創(chuàng)新互聯,為您提供移動網站建設、電子商務、小程序開發(fā)、網站導航、定制開發(fā)、域名注冊
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯