
正文
php微信请求xml数据 xml php
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php读取微信服务器上返回的xml
您好php微信请求xml数据,微信提供php微信请求xml数据的PHP版API接口demo中有相关实例php微信请求xml数据,可以参考一下php微信请求xml数据:
相关问答
Q1: PHP怎么解析微信支付结果返回的xml
用户输入输出函数(fopen() file()require(),只能用于调用这些函数有相同脚本的拥有者) 2:创建新文件(限制用户只在该用户拥有目录下创建文件) 3:用户调用popen() systen()exec()等脚本php微信请求xml数据,只有脚本处在sa fe_mode_exec_dir配置指令指定的 录中才可能 4:加强HTTP认证php微信请求xml数据,认证脚本拥有者的UID的划入认证领域范围内,此外启用安全模式下,不会设置PHP大概就是这样子了,我都是在后盾人实训班学到的,最近学费九折包住宿,楼主感兴趣可以了解一下
Q2: 如何用PHP实现微信支付,求教。新手!说明详细点
以PHP语言为例,对微信支付的开发流程进行一下说明:
1.获取订单信息。
2.根据订单信息和支付相关的账号生成sign,并且生成支付参数。
3.将支付参数信息POST到微信服务器,获取返回信息。
4.根据返回信息生成相应的支付代码(微信内部)或是支付二维码(非微信内),完成支付。
Q3: 微信红包PHP怎么开发
代码有两个php文件
1.oauth2.php
?php
$code=$_GET['code'];
$state=$_GET['state'];
$appid='XXXX';
$appsecret='XXXXXXXX';//
if (empty($code)) $this-error('授权失败');
$token_url=''.$appid'secret='.$appsecret.'code='.$code.'grant_type=authorization_code';
$token=json_decode(file_get_contents($token_url));
if (isset($token-errcode)) {
echo 'h1错误1/h1'.$token-errcode;
echo 'br/h2错误信息1:/h2'.$token-errmsg;
exit;
}
session_start();
$_SESSION['openid']= $token-openid;
header('location:url/redpack.php');//要跳转的文件路径
?
2.redpack.php
?php
//XXXXX。。是需要开发者自己填写的内容,注意不要泄密
// 从session中获取到openid;
$openid=$_SESSION["openid"];
if(empty($openid))
{
header('location:;redirect_uri=;respose_type=codescope=snsapi_basestate=XXXXconnect_redirect=1#wechat_redirect');
}
}
// 关键的函数
public function weixin_red_packet(){
// 请求参数
// 随机字符串
$data['nonce_str']=$this-get_unique_value();
//商户号,输入你的商户号
$data['mch_id']="XXXXXXX";
//商户订单号,可以按要求自己组合28位的商户订单号
$data['mch_billno']=$data['mch_id'].date("ymd")."XXXXXX".rand(1000,9999);
//公众帐号appid,输入自己的公众号appid
$data['wxappid']="XXXXXXX";
//商户名称
$data['send_name']="XXXXX";
//用户openid,输入待发红包的用户openid
session_start();
$data['re_openid']=$_SESSION["openid"];
//付款金额
$data['total_amount']="XXXX";
//红包发放总人数
$data['total_num']="XXXX";
//红包祝福语
$data['wishing']="XXXX";
//IP地址
$data['client_ip']=$_SERVER['LOCAL_ADDR'];
//活动名称
$data['act_name']="XXXXX";
//备注
$data['remark']="XXXXX";
// 生成签名
//对数据数组进行处理
//API密钥,输入自己的K 微信商户号里面的K
$appsecret="XXXXXXXXXXXXXX"; //
$data=array_filter($data);
ksort($data);
$str="";
foreach($data as $k=$v){
$str.=$k."=".$v."";
}
$str.="key=".$appsecret;
$data['sign']=strtoupper(MD5($str));
/*
发红包操作过程:
1.将请求数据转换成xml
2.发送请求
3.将请求结果转换为数组
4.将请求信息和请求结果录入到数据库中
4.判断是否通信成功
5.判断是否转账成功
*/
//发红包接口地址
$url="";
//将请求数据由数组转换成xml
$xml=$this-arraytoxml($data);
//进行请求操作
$res=$this-curl($xml,$url);
//将请求结果由xml转换成数组
$arr=$this-xmltoarray($res);
}
// 生成32位唯一随机字符串
private function get_unique_value(){
$str=uniqid(mt_rand(),1);
$str=sha1($str);
return md5($str);
}
// 将数组转换成xml
private function arraytoxml($arr){
$xml="xml";
foreach($arr as $k=$v){
$xml.="".$k."".$v."/".$k."";
}
$xml.="/xml";
return $xml;
}
// 将xml转换成数组
private function xmltoarray($xml){
//禁止引用外部xml实体
libxml_disable_entity_loader(true);
$xmlstring=simplexml_load_string($xml,"SimpleXMLElement",LIBXML_NOCDATA);
$arr=json_decode(json_encode($xmlstring),true);
return $arr;
}
//进行curl操作
private function curl($param="",$url) {
$postUrl = $url;
$curlPost = $param;
//初始化curl
$ch = curl_init();
//抓取指定网页
curl_setopt($ch, CURLOPT_URL,$postUrl);
//设置header
curl_setopt($ch, CURLOPT_HEADER, 0);
//要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//post提交方式
curl_setopt($ch, CURLOPT_POST, 1);
// 增加 HTTP Header(头)里的字段
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
// 终止从服务端进行验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//证书放到网站根目录的cert文件夹底下
curl_setopt($ch,CURLOPT_SSLCERT,dirname(__FILE__).DIRECTORY_SEPARATOR.
'cert'.DIRECTORY_SEPARATOR.'apiclient_cert.pem');
curl_setopt($ch,CURLOPT_SSLKEY,dirname(__FILE__).DIRECTORY_SEPARATOR.
'cert'.DIRECTORY_SEPARATOR.'apiient_key.pem');
curl_setopt($ch,CURLOPT_CAINFO,dirname(__FILE__).DIRECTORY_SEPARATOR.
'cert'.DIRECTORY_SEPARATOR.'rootca.pem');
//运行curl
$data = curl_exec($ch);
//关闭curl
curl_close($ch);
return $data;
}
?
可参考官方文档进行调整开发,希望能有帮助,望采纳
Q4: 微信公众平台php文件如何放xml文件
一、写好接口程序
在你的服务器上上传好一个接口程序文件。
二、配置微信公众平台回复接口
设置回复接口,填好URL和Token。
三、验证接口
给这个账号发一条消息过去,收到原样的消息返回,即验证成功了。
四、开始自定义回复
注释掉$wechatObj-valid(); 这行,同时去掉//$wechatObj-responseMsg();这行的注释。
你可以修改responseMsg函数里面的代码,根据用户的消息类型('text','image','location')和消息内容来回复用户不同的内容。
Q5: 微信公众号支付中出现XML数据异常的问题
微信公众号对接时php微信请求xml数据,使用demo中提供的回调方法php微信请求xml数据,发现WxpayAPI_php_v3/lib/WxPay.Api.php中notify方法中
$xml = $GLOBALS['HTTP_RAW_POST_DATA']; 此处$xml无法取得值
使用如下方式获取post过来的内容:
$xml = file_get_contents('php://input');
《 参考文章 》《 获取post数据的方法 》
关于php微信请求xml数据和xml php的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







