因工作需要,公司有一個(gè)項(xiàng)目要使用到微信掃碼付款功能
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、孝昌網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、孝昌網(wǎng)絡(luò)營(yíng)銷、孝昌企業(yè)策劃、孝昌品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供孝昌建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
01.登錄微信公眾號(hào),下載DEMO程序
https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=11_1
02.打開(kāi)demo的
03.修改配置文件
每一個(gè)公眾號(hào)后臺(tái)有這四個(gè)相關(guān)配置參數(shù)
04.修改掃碼支付連接
05.打開(kāi)掃碼連接,會(huì)發(fā)現(xiàn)寫某訊API部門的這群雜毛寫的代碼有問(wèn)題的,需要修改....
打開(kāi)這個(gè)API程序
F:\wamp\www\www.wxpay.cn\lib\WxPay.Api.php (自己項(xiàng)目下的)
找到538行代碼來(lái)修改一下
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);//嚴(yán)格校驗(yàn)
刷新剛剛的連接....
到這里就基本完成,我們?cè)陂_(kāi)發(fā) 支付成功之后,回調(diào),并提示用戶付款成功
native.php代碼
服務(wù)器會(huì)回調(diào)預(yù)先配置的回調(diào)地址,在【微信開(kāi)放平臺(tái)-微信支付-支付配置】中進(jìn)行配置
* 4、在接到回調(diào)通知之后,用戶進(jìn)行統(tǒng)一下單支付,并返回支付信息以完成支付(見(jiàn):native_notify.php)
* 5、支付完成之后,微信服務(wù)器會(huì)通知支付成功
* 6、在支付成功通知中需要查單確認(rèn)是否真正支付成功(見(jiàn):notify.php)
*/
$notify = new NativePay();
$url1 = $notify->GetPrePayUrl("123456789");
//模式二
/**
* 流程:
* 1、調(diào)用統(tǒng)一下單,取得code_url,生成二維碼
* 2、用戶掃描二維碼,進(jìn)行支付
* 3、支付完成之后,微信服務(wù)器會(huì)通知支付成功
* 4、在支付成功通知中需要查單確認(rèn)是否真正支付成功(見(jiàn):notify.php)
*/
$input = new WxPayUnifiedOrder();
$input->SetBody("測(cè)試購(gòu)買標(biāo)題");
$input->SetAttach("測(cè)試提示數(shù)據(jù)");
//生成一個(gè)數(shù)據(jù),存儲(chǔ)在二維碼當(dāng)中,當(dāng)我們?nèi)ゲ樵冇唵螤顟B(tài),就用 $num這個(gè)變量即可
$num=WxPayConfig::MCHID.date("YmdHis");
$input->SetOut_trade_no($num);
//設(shè)置支付1塊塊錢,微信金額是以分為單位 100分=1塊錢
$input->SetTotal_fee("100");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("test");
$input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");
$input->SetTrade_type("NATIVE");
$input->SetProduct_id("123456789");
$result = $notify->GetPayUrl($input);
$url2 = $result["code_url"];
?>
在 http://www.wxpay.cn:8080/example/native.php 二維碼付款php頁(yè)面寫一個(gè)js定時(shí)器,每隔多少秒 使用微信支付自帶的API進(jìn)行查詢訂單是否已付款
二維碼支付頁(yè)面代碼
GetPrePayUrl("123456789");
//模式二
/**
* 流程:
* 1、調(diào)用統(tǒng)一下單,取得code_url,生成二維碼
* 2、用戶掃描二維碼,進(jìn)行支付
* 3、支付完成之后,微信服務(wù)器會(huì)通知支付成功
* 4、在支付成功通知中需要查單確認(rèn)是否真正支付成功(見(jiàn):notify.php)
*/
$input = new WxPayUnifiedOrder();
$input->SetBody("測(cè)試購(gòu)買標(biāo)題");
$input->SetAttach("測(cè)試提示數(shù)據(jù)");
//生成一個(gè)數(shù)據(jù),存儲(chǔ)在二維碼當(dāng)中,當(dāng)我們?nèi)ゲ樵冇唵螤顟B(tài),就用 $num這個(gè)變量即可
$num=WxPayConfig::MCHID.date("YmdHis");
$input->SetOut_trade_no($num);
//設(shè)置支付1塊塊錢,微信金額是以分為單位
$input->SetTotal_fee("1");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("test");
$input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");
$input->SetTrade_type("NATIVE");
$input->SetProduct_id("123456789");
$result = $notify->GetPayUrl($input);
$url2 = $result["code_url"];
?>
微信支付樣例-退款
掃描支付模式二
查詢訂單是否支付頁(yè)面 orderquery.php
$value){
echo "$key : $value
";
}
}
if(isset($_REQUEST["transaction_id"]) && $_REQUEST["transaction_id"] != ""){
$transaction_id = $_REQUEST["transaction_id"];
$input = new WxPayOrderQuery();
$input->SetTransaction_id($transaction_id);
//printf_info(WxPayApi::orderQuery($input));
$result=WxPayApi::orderQuery($input);
echo $result['trade_state'];
exit();
}
if(isset($_REQUEST["out_trade_no"]) && $_REQUEST["out_trade_no"] != ""){
$out_trade_no = $_REQUEST["out_trade_no"];
$input = new WxPayOrderQuery();
$input->SetOut_trade_no($out_trade_no);
//printf_info(WxPayApi::orderQuery($input));
$result=WxPayApi::orderQuery($input);
echo $result['trade_state'];
exit();
}
exit();
?>
支付成功跳轉(zhuǎn)的頁(yè)面 在這上面可以寫一些代碼邏輯 修改訂單為支付狀態(tài),提醒類似的..
OK 微信支付基本開(kāi)發(fā)完成 我的QQ 771541213