微信支付問題,支付成功後跳轉到指定頁面
1、獲取code
2、獲取opendi
3、獲取相應資料得到商品訂單陣列
4、支付返回(js 判斷)
PHP語言:
include("includes/modules/payment/WxPayPubHelper.php");
//使用jsapi介面
$jsApi = new JsApi_pub();
//=========步驟1:網頁授權獲取使用者openid============
//通過code獲得openid
if (!isset($_GET['code']))
{
//觸發微信返回code碼
$url = $jsApi->createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);
ecs_header("Location: $url");
}else
{
//獲取code碼,以獲取openid
$code = $_GET['code'];
$jsApi->setCode($code);
$openid = $jsApi->getOpenId();
if(!empty($openid)){
include_once('includes/lib_clips.php');
include_once('includes/lib_payment.php');
獲取訂單資訊
}
$unifiedOrder = new UnifiedOrder_pub();
//設定統一支付介面引數
//設定必填引數
//appid已填,商戶無需重複填寫
//mch_id已填,商戶無需重複填寫
//noncestr已填,商戶無需重複填寫
//spbill_create_ip已填,商戶無需重複填寫
//sign已填,商戶無需重複填寫
$unifiedOrder->setParameter("openid","$openid");//商品描述
$out_trade_no = $order['order_sn'];
$unifiedOrder->setParameter("body","$goods_name");//商品描述
//自定義訂單號,此處僅作舉例
//$timeStamp = time();
//$out_trade_no = WxPayConf_pub::APPID."$timeStamp";
$total_fee = $total['amount']*100;
$unifiedOrder->setParameter("out_trade_no","$out_trade_no");//商戶訂單號
$unifiedOrder->setParameter("total_fee","$total_fee");//總金額
$unifiedOrder->setParameter("notify_url",WxPayConf_pub::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("openid","XXXX");//使用者標識
//$unifiedOrder->setParameter("product_id","XXXX");//商品ID
$prepay_id = $unifiedOrder->getPrepayId();
//=========步驟3:使用jsapi調起支付============
$jsApi->setPrepayId($prepay_id);
$jsApiParameters = $jsApi->getParameters();
//$jsApiParameters = json_encode($jsApiParameters);
$smarty->assign('pay_online', $jsApiParameters);