wechatclassphp
① 接入微信開發時php實例怎麼配置
第一步需要指定接收微信伺服器數據的URL,同時還需要指定一個TOKEN(由開發者任意填寫,用於生成簽名),用於接入時的驗證。
第二步要驗證您指定的URL的有效性,微信伺服器會像您指定的URL發送一個GET請求,該請求攜帶四個參數。
開發者通過檢驗signature對請求進行校驗。若確認此次GET請求來自微信伺服器,請原樣返回echostr參數內容,則接入生效,成為開發者成功,否則接入失敗。
PHP檢驗代碼如下。
<?php
$wechatObj = new wechatCallbackAPI();
$wechatObj->valid();
class wechatCallbackAPI {
private $token = "WEIXIN";
private $appId = "APPID";
private $appSecret = "APPSECRET";
private function checkSignature() {
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$tmpArr = array($this->token, $timestamp, $nonce); 你看過後很簡單吧以後不會可以向我一樣經常到後盾人平台找找相關教材看看就會了,希望能幫到你,給個採納吧謝謝ヾ(◍ ° ㉨ ° ◍)ノ゙
② 微商城和微信公眾號驗證token失敗
針對客戶在對接微信公眾號時,微信公眾號提交開發者時,提示token驗證失敗錯誤,下面請大家跟隨68ecshop的技術學習一下測試處理方法:
首先,確認域名是否備案成功,不是正式域名是不能支持配置的。
其次,檢查伺服器上是否安裝:網站安全狗,360安全衛士,防火牆等軟體,此類軟體必須關閉。
第三,微信Token與後台填寫的Token不一致,一般默認設置為:qphp。
第四,mobile目錄下weixin文件夾以及子文件需要「777」許可權。
第五,在mobile/weixin/index.php文件下增加代碼:echo $_GET['echostr'];exit;,如圖:(注意:提交成功後撤銷剛才添加的代碼)
第六,可能微信伺服器的響應存在緩存,微信公眾平台上多次提交微信或更換瀏覽器再次提交。
第七,查看下邊文件的編碼格式:weixin文件夾下的index.php、 wechat.class.php ,注意編碼格式要UTF-8的編碼格式。
最後,針對linux伺服器需要修改php.ini配置文件:
1. 在PHP.ini中搜索關鍵字 : allow_call_time_pass_reference 沒有的自行建立。
2. 將 Off 改成 On ,Web Server重起就OK了,結果如下:
allow_call_time_pass_reference = Off 變成 allow_call_time_pass_reference = On。
③ 微信的一個PHP文件怎麼寫,要用軟體嗎,還是用電腦里有筆記本文件也可以寫
這個是案例的代碼,PHP開發工具選擇是仁者見仁,智者見智。都可以的。
常用的有 記事本、editplus、Notepad++、dreamweaver、Zend Studio 等等
我用的是 editplus
④ 怎麼調用wechat.class.php
include "wechat.class.php";
$wechat = new wechat();
⑤ php微信開發是什麼
微信開發的意思就是,申請一個特殊賬號,微信客戶端對用戶的請求做出個性化回應。
⑥ 如何獲取微信掃碼時間scancode
用的官方wechat.class.php的類, 通過微信scancode_waitmsg返回結果獲取ScanResult的值 用$data['ScanCodeInfo']['ScanResult']
公眾號支付申請方法:
1、登錄公眾平台,選擇"微信支付"=》點擊「開通」=》按照頁面提示填寫資料;企業號請登錄企業號管理平台,選擇「服務中心」=》點擊「微信支付」進行開通。
2、收到審核通過的郵件後就可以開始開發工作。需要登錄商戶平台,在頁面填寫打款收到的金額,並在線簽署協議,完成支付申請。
(PS:掃碼支付是商戶系統按微信支付協議生成支付二維碼,用戶再用微信「掃一掃」完成支付的模式。該模式適用於PC網站支付、實體店單品或訂單支付、媒體廣告支付等場景。)
⑦ 微信公眾號url與token如何設置
作為一名微信公眾號開發者,別人進入你的微信公眾號,肯定會看見某些網頁,或者給你發某些信息,你需要實時自動回復,所以你需要一個24小時為用戶服務的伺服器。我們所要填寫的url就是你提供的伺服器的地址,前提是這個伺服器的地址你要能夠訪問,且能夠控制。而token是用來驗證的。
然後你需要一個伺服器,伺服器可以自己購買,也能用新浪sae,網路bae。方法是進入其開發者中心,注冊一個開發者賬號。並進行實名認證!(沒有進行實名認證的小夥伴們是無法成功的)
注冊完畢後,我們進入控制台創建一個新應用。
創建完應用之後我們進入左側代碼管理,提示我們創建一個新版本,點擊確定創建一個新版本。然後選擇第一張圖中的編輯代碼選項。彈出第二張圖,雙擊index.php編輯本頁代碼。
將下面的代碼加標點復制進去。將define("TOKEN", "weixin")這句話中的weixin改成你自己的token,例如zijidetoken;然後點擊右上角的全部保存。
<?php
/**
* wechat php test
*/
//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
//valid signature , option
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
public function responseMsg()
{
//get post data, May be e to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//extract post data
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if(!empty( $keyword ))
{
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo "Input something...";
}
}else {
echo "";
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>
按照第一幅圖中又鍵點擊index.php文件,選擇通過URL訪問得到第二幅圖,復制地址欄的網址,這就是你微信開發需要填寫的url,而你需要填寫的token就是你上一步驟自己修改後的token。
填寫完畢,提交成功。好了,你可以開始你的微信公眾開發了。
END
注意事項
開發者一定要實名認證後才行,不然會提示驗證token失敗。
微信開發需要php知識。
⑧ wechat.class.php怎樣可以2次replay
wechat.class.php
調用官方API,具有更靈活的消息分類響應方式,支持鏈式調用操作 ;
主要功能
接入驗證 (初級許可權)
自動回復(文本、圖片、語音、視頻、音樂、圖文)(初級許可權)
菜單操作(查詢、創建、刪除)(菜單許可權)
客服消息(文本、圖片、語音、視頻、音樂、圖文)(認證許可權)
二維碼(創建臨時、永久二維碼,獲取二維碼URL)(認證許可權)
分組操作(查詢、創建、修改、移動用戶到分組)(認證許可權)
網頁授權(基本授權,用戶信息授權)(認證許可權)
用戶信息(查詢用戶基本信息、獲取關注者列表)(認證許可權)
媒體文件(上傳、獲取)(認證許可權)
調用地址組件 (支付許可權)
生成訂單簽名數據 (支付許可權)
訂單成功回調 (支付許可權)
發貨通知 (支付許可權)
支付訂單查詢 (支付許可權)
初始化動作
$options = array(
『token『=>『tokenaccesskey『, //填寫你設定的key
『appid『=>『wxdk1234567890『, //填寫高級調用功能的app id, 請在微信開發模式後台查詢
『appsecret『=>『xxxxxxxxxxxxxxxxxxx『, //填寫高級調用功能的密鑰
『partnerid『=>『88888888『, //財付通商戶身份標識,支付許可權專用,沒有可不填
『partnerkey『=>『『, //財付通商戶許可權密鑰Key,支付許可權專用
『paysignkey『=>『『 //商戶簽名密鑰Key,支付許可權專用
);
$weObj = new Wechat($options); //創建實例對象
//TODO:調用$weObj各實例方法
新增Auth高級許可權類方法:
checkAuth($appid,$appsecret) 此處傳入公眾後台高級介面提供的appid和appsecret, 函數將返回access_token操作令牌
createMenu($data) 創建菜單 $data菜單結構詳見 http://mp.weixin.qq.com/wiki/index.php?title=%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E5%88%9B%E5%BB%BA%E6%8E%A5%E5%8F%A3
getMenu() 獲取菜單
deleteMenu() 刪除菜單
getMedia() 獲取接收到的音頻、視頻媒體文件
getQRCode($scene_id,$type=0,$expire=1800) 獲取推廣二維碼ticket字串
getQRUrl($ticket) 獲取二維碼圖片地址
getUserList($next_openid) 批量獲取關注用戶列表
getUserInfo($openid) 獲取關注者詳細信息
getGroup() 獲取用戶分組列表
createGroup($name) 新增自定分組
updateGroup($groupid,$name) 更改分組名稱
updateGroupMembers($groupid,$openid) 移動用戶分組
sendCustomMessage($data) 發送客服消息
getOauthRedirect($callback,$state,$scope) 獲取網頁授權oAuth跳轉地址
getOauthAccessToken() 通過回調的code獲取網頁授權access_token
getOauthRefreshToken($refresh_token) 通過refresh_token對access_token續期
getOauthUserinfo($access_token,$openid) 通過網頁授權的access_token獲取用戶資料
getSignature($arrdata,『sha1『) 生成簽名字串
generateNonceStr($length) 獲取隨機字串
createPackage($out_trade_no,$body,$total_fee,$notify_url,$spbill_create_ip,$fee_type=1,$bank_type="WX",$input_charset="UTF-8",$time_start="",$time_expire="",$transport_fee="",$proct_fee="",$goods_tag="",$attach="") 生成訂單package字元串
getPaySign($package, $timeStamp, $nonceStr) 支付簽名(paySign)生成方法
checkOrderSignature($orderxml=『『) 回調通知簽名驗證
sendPayDeliverNotify($openid,$transid,$out_trade_no,$status=1,$msg=『ok『) 發貨通知
getPayOrder($out_trade_no) 查詢訂單信息
getAddrSign($url, $timeStamp, $nonceStr, $user_token=『『) 獲取收貨地址JS的簽名
⑨ 如何識別瀏覽器是微信,並彈出圖片提示
1、如何識別瀏覽器是微信:
W3C標准要求瀏覽器具有navigator這個DOM對象,此對象使用userAgent屬性來描述用戶代理頭,可以根據userAgent來對瀏覽器進行識別。
<html>
<body>
<scripttype="text/javascript">
document.write("<p>UserAgent:")
document.write(navigator.userAgent+"</p>")
</script>
</body>
</html>
上例將顯示瀏覽器的用戶代理頭,如
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Safari/602.1.50
是來自Mac的Safari 10。
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 MicroMessenger/6.3.27 NetType/WIFI Language/zh_CN
是來自iPhone的微信瀏覽器。
實際使用的時候,不需要關心userAgent的所有內容,只要抓住其關鍵字即可。從上面兩個例子可以看出,Safari可取關鍵字「Safari」,微信可取關鍵字「MicroMessenger」。
2、如何彈出圖片提示:
<html>
<body>
<!--
設計製作1.png作為微信瀏覽器進行瀏覽時彈出的提示圖片,和此代碼產生的html頁面置於同目錄
-->
<imgsrc="1.png"id="tips"style="display:none;"/>
<scripttype="text/javascript">
varua=navigator.userAgent;
if(ua.indexOf("MicroMessenger")>-1)
{//userAgent中檢測到MicroMessenger關鍵字,是微信瀏覽器,彈出圖片
document.getElementById("tips").style.display="block";
//下面這行代碼用於沒有做好提示圖片時的替代
alert("這是微信瀏覽器");
}else
{//userAgent中沒有檢測到MicroMessenger關鍵字,不是微信瀏覽器
document.getElementById("tips").style.display="none";
}
</script>
</body>
</html>
⑩ 用php寫的代碼,接入微信服務號後,漢字會變成問號,請問代碼該怎麼改
把php文件存為UTF8格式的,即可。我自己寫過微信公眾號程序,這才是正確的處理辦法。