很多站长朋友们都不太清楚php个人微信,今天小编就来给大家整理php个人微信,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php微信授权怎么获取用户信息 2、 我有一组微信号,每次刷新页面,随机显示一个微信号,怎样用php实现? 3、 php如何编写一个微信公众平台的消息推送? 4、 如何把个人微信二维码生成文本超链接?(类似于网页地址) 5、 如何用PHP实现微信支付,求教。新手!说明详细点 6、 php版微信返回用户text输入的方法 php微信授权怎么获取用户信息首先 用户到授权页面点击授权后 得到一个openid 再根据这个openid 来获取 用户信息
我有一组微信号,每次刷新页面,随机显示一个微信号,怎样用php实现?php后台代码(命名为:houtai.php):
<?php
srand ((float) microtime() * 10000000);
$input = array ("wx1", "wx2", "wx3", "wx3");
$rand_keys = array_rand ($input);
//print $input[$rand_keys];
?>
前台代码(在前台展示页面,例如:index.php):
<span id="wxzs"><?php require_once 'houtai.php'; echo "$input[$rand_keys]";?></span>
主要利用随机数原理,可以参考这个网址:
php如何编写一个微信公众平台的消息推送?给你个代码样例?不可以直接复制使用
/**
?*?发送模板消息
?*?@param?$tmpId?模板ID
?*?@param?$openId?用户openID
?*?@param?$param?模板参数
?*?@param?$url
?*?@return?mixed
?*?@author?fjlhuman
?*/
public?function?sendTmpMessage($tmpId,$openId,$param,$url){
????$postUrl?=?"".$this->accessToken;
????$arrData['touser']=$openId;
????$arrData['template_id']=$tmpId;//'6OT8DDNF-CbiadTsbEKKSCZVHe_9hnhxOBT7EvURNcE';
????$arrData['url']=$url;
????$arrData['data']=$param;
????$json=json_encode($arrData);
????$result?=?Curl::post($postUrl,?$json);
????$result=json_decode($result,?true);
????$rData['isTure']=false;
????$rData['msg']="";
????if($result['errcode']==0){
????????$rData['isTure']=true;
????????$rData['msg']="发送成功";
????}else{
????????$rData['msg']=$result['errcode'];
????}
????return?$rData;
}
详情请参考??微信公众平台技术文档->模板消息接口 ?
如何把个人微信二维码生成文本超链接?(类似于网页地址)把个人微信二维码生成文本超链接(类似于网页地址)的方法和详细的操作步骤如下:
1、首先,打开要转换的微信二维码,然后将其保存在手机相册里,如下图所示。
2、其次,返回手机的主页,找到浏览器应用,然后单击以打开浏览器,如下图所示。
3、接着,在浏览器搜索框的左侧,有一个二维码扫描功能, 单击,如下图所示。
4、然后,转到二维码扫描页面,单击左下角的相册图标进入相册,如下图所示。
5、随后,查找刚刚保存在相册中的二维码,然后单击进行扫描,如下图所示。
6、最后,浏览器将自动跳转到该二维码的链接,网页顶部地址栏中的链接就是此二维码的链接,如下图所示。
如何用PHP实现微信支付,求教。新手!说明详细点微信公众号JSAPI支付
一:配置参数
申请成功后,获取接口文件, 将所有文件放入项目根目录weixin下,在WxPay.ub.config.php中填入配置账户信息;
二:设置授权
开发者中心->网页服务->网页授权获取用户基本信息->修改;
“授权回调页面域名修改成你的域名地址即可,须保证网页授权已获得,不然会报redirect_uri 参数错误;
三:网页授权获取用户openid
js_api_call.php 请求文件中改动(所有传给微信的参数都在入口文件中接收)
$out_trade_no = $_GET['out_trade_no']; //商户系统内部订单号 32个字符内
$total_fee = $_GET['total_fee']*100; //订单总金额 单位为分,不能带小数点,所以须把价格乘以100,
不然获取prepay_id时会报错误(设置金额字段时最好设为小数点后2位)
$pay_status = get_pay_status($out_trade_no);//查看订单支付状态
$return_url = get_return_url($out_trade_no); //设置支付成功后跳转页面
//使用jsapi接口
$jsApi = new JsApi_pub();
//通过code获得openid
if (!isset($_GET['code'])) { //触发微信返回code码
//设置redirect_uri参数,返回code码地址,其实就是重定向到当前页面,获取用户code码参数
$url = WxPayConf_pub::JS_API_CALL_URL."?showwxpaytitle=1out_trade_no=$out_trade_nototal_fee=$total_fee";
$url = $jsApi->createOauthUrlForCode($url);
Header("Location: $url");
}else{ //获取code码,以获取openid
$code = $_GET['code'];
$jsApi->setCode($code);
$openid = $jsApi->getOpenId(); //用户标识
}
再就是WxPayHubHelper.php文件 JsApi_pub()类下createOauthUrlForCode($redirectUrl)方法, 第二个参数
改为 $urlObj["redirect_uri"] = urlencode($redirectUrl); //对$url变量进行url编码 不然header重定向时无法获取订单号和金额
四:设置统一支付接口参数,获取prepay_id (预支付ID 微信生成的预支付 ID,用于后续接口调用中使用)
微信支付->开发配置->支付测试->测试授权目录和测试白名单添加
(支付授权目录需要精确到最细一级的目录,且在使用时,目录名称后直接加文件名,如ccc测试数据/weixin/)
确保你 WxPayPubHelper.php文件里 UnifiedOrder_pub 这个类的getPrepayId这个方法能正常使用
这一步的调试在 getPrepayId()内 var_dump($this->result); 就能看到错误代码;
posXml这个方法后调用了createXml这个方法
function postXml() {
$xml = $this->createXml();
//**在此处查看xml文件是否正常生成
include_once("log_.php");
$log = new Log_();
$log->log_result("log.txt",$xml);
//** 由于打印一些xml格式的文件只显示字符长度,不显示内容。于是用log的形式写在服务器上调试
$this->response = $this->postXmlCurl($xml,$this->url,$this->curl_timeout);
return $this->response;
}
保证xml这个变量格式如下;
参数正确,postXmlCurl才能正确提交,提交后就能得到正确的prepay_id,就能弹出支付框了
五:使用jsapi调起支付
根据prepay_id生成jsapi支付参数
$jsApi->setPrepayId($prepay_id);
$jsApiParameters = $jsApi->getParameters();
//调用微信JS api 支付
function jsApiCall() {
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
,
function(res){
WeixinJSBridge.log(res.err_msg);
if(res.err_msg == "get_brand_wcpay_request:ok") { //支付成功后
window.location.href="" //跳转地址及订单操作,在异步页面也须处理订单,防止同步时失败
}else{
alert("支付失败"+res.err_code+res.err_desc+res.err_msg);
}
}
);
}(每次请求callpay方法时须判断订单状态,防止重复提交)
六:通用通知接口 异步处理微信返回结果
支付完成后,notify.php中获取微信的回调
$xml = $GLOBALS['HTTP_RAW_POST_DATA'];
//须验证签名,并回应微信。
if($notify->checkSign() == TRUE) //签名验证通过并更新订单状态后
$notify->setReturnParameter("return_code","SUCCESS"); //设置返回码,保证支付状态改变后才返回成功
//对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,
//微信会通过一定的策略(如30分钟共8次)定期重新发起通知,
$returnXml = $notify->returnXml();
echo $returnXml;(将xml数据返回微信 当return_code为SUCCESS时,不会再通知)
//当收到通知进行处理时,首先检查对应业务数据的状态,判断该通知是否已经处理过,如果没有处理过再进行处理,
如果处理过直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,
以避免函数重入造成的数据混乱.
//判断是否在微信浏览器打开
function isWeiXin(){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == 'micromessenger'){
return true;
}else{
return false;
}
}
步骤够详细了吧,我自己实现过,所以写了日志,结合php版本的demo 大致弄得出来了,如果对整个流程不太清楚,仔细的看完微信公众号支付接口文档,你申请微信公众号支付成功了就会有的,
php版微信返回用户text输入的方法本文实例讲述了php版微信返回用户text输入的方法。分享给大家供大家参考,具体如下:
获得用户输入的内容,并发回相同内容
//获取post数据
//
$PostData
=
$HTTP_RAW_POST_DATA;
$PostData
=
file_get_contents("php://input");
//判断POST是否为空
if(!$PostData){
echo
"wrong
input!";
exit(0);
}
//解析XML字符串
$xmlObj
=
simplexml_load_string($PostData,
'SimpleXMLElement',
LIBXML_NOCDATA);
if(!$xmlObj){
echo
"wrong
input!";
exit(0);
}
//获取数据
$fromUserName
=
$xmlObj->FromUserName;
$toUserName
=
$xmlObj->ToUserName;
$msgType
=
$xmlObj->MsgType;
//返回用户输入
if('text'
!=
$msgType){
//不是文本,输出错误提示消息
$retMsg
=
"只支持文本消息";
}
//用户输入文本
else{
$content
=
$xmlObj->Content;
$retMsg
=
$content;
}
//输出xml模板
$retTmp
=
"<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%S]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
//对消息中的通配符进行替换
$resultStr
=
sprintf($retTmp,
$fromUserName,
$toUserName,
time(),
$retMsg);
//输出xml的消息
echo
$resultStr
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
关于php个人微信的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php个人微信 php微信开发代码的详细内容...