包含php微信app原路返回的词条

本文目录一览:

PHP微信扫码支付成功后,怎么给微信返回succ

微信支付已经由微信接管了,此时是微信通过回调的方式来通知我们的业务服务器端用户的支付状态

微信扫码支付2 支付成功后是如何返回给微信参数通知处理成功 (php版)

已解决 请问微信支付V3,在支付成功后通过哪个回调的值更新订单状态呢?

?php

ini_set(‘date.timezone’,’Asia/Shanghai’);

// error_reporting(E_ERROR);

error_reporting(0);

require_once “WxPay.Api.php”;

require_once ‘log.php’;

require_once(“../../includes/mysql.class.php”);

//初始化日志

// $logHandler= new CLogFileHandler(“./logs/”.date(‘Y-m-d’).’.log’);

// $log = Log::Init($logHandler, 15);

$xml = $GLOBALS[‘HTTP_RAW_POST_DATA’];

//禁止引用外部xml实体

$successdata=xmlToArray($xml);

// file_put_contents(‘log.txt’,json_encode($successdata));

function xmlToArray($xml)

{

//将XML转为array

$array_data = json_decode(json_encode(simplexml_load_string($xml, ‘SimpleXMLElement’, LIBXML_NOCDATA)), true);

return $array_data;

}

// function printf_info($data)

// {

// foreach($data as $key=$value){

// echo “font color=’#f00;’$key/font : $value br/”;

// }

// }

$out_trade_no=$successdata[‘out_trade_no’];

if(!empty($out_trade_no)){

$input = new WxPayOrderQuery();

$input-SetOut_trade_no($out_trade_no);

$result=WxPayApi::orderQuery($input);

// printf_info($result);

if(array_key_exists(“return_code”, $result) array_key_exists(“result_code”, $result) $result[“return_code”] == “SUCCESS” $result[“result_code”] == “SUCCESS”)

{

//file_put_contents(‘log.txt’,’支付成功’.$out_trade_no.$pid.$tel.$numbers.$poss);

//支付成功

//改变订单状态

$sql=”update pai_deposit set status=’1′,paytime='”.date(“Y-m-d H:i:s”).”‘ where out_trade_no='{$out_trade_no}'”;

// file_put_contents(‘log.txt’,$sql);

$con=new connection();

$result=$con-Query($sql);

echo “success”;

$openid=$successdata[‘openid’];

$total_fee=$successdata[‘total_fee’]*0.01;

$attach=$successdata[‘attach’];

$sql=”select * from pai_deposit where out_trade_no='{$out_trade_no}'”;

$result_deposit=$con-QueryArray($sql);

$sql=”select * from paipro where id='”.$result_deposit[0][‘pid’].”‘”;

$result_pro=$con-QueryArray($sql);

sendmsg($openid,$total_fee,$result_pro[0][‘title’],$out_trade_no,$result_deposit[0][‘tel’]);

exit();

}

echo ‘fail’;

exit();

}

else

{

//file_put_contents(‘log.txt’,’支付失败2′.$out_trade_no);

echo ‘fail’;

exit();

}

function sendmsg($wxid,$total,$title,$order_id,$tel)

{

$access_token=new_access_token();

$url = ”.$access_token;

$w_title=”付款成功通知”;

// $w_url=’http://’.$_SERVER[‘HTTP_HOST’].”/mobile/user.php?act=fenxiao1wxid=”.$wxid;

$w_url=”;

$rtime=date(“Y-m-d H:i:s”);

$w_description=”订单编号:{$order_id}\r\n保证金:¥{$total}元\r\n商品详情:{$title}\r\n联系电话:{$tel}\r\n付款时间:{$rtime}”;

$post_msg = ‘{

“touser”:”‘.$wxid.'”,

“msgtype”:”news”,

“news”:{

“articles”: [

{

“title”:”‘.$w_title.'”,

“description”:”‘.$w_description.'”,

“url”:”‘.$w_url.'”,

“picurl”:”‘.$w_picurl.'”

}

]

}

}’;

$ret_json = curl_grab_page($url, $post_msg);

$ret = json_decode($ret_json);

if($ret-errmsg != ‘ok’)

{

$access_token = new_access_token();

$url = ”.$access_token;

$ret_json = curl_grab_page($url, $post_msg);

$ret = json_decode($ret_json);

}

}

function curl_grab_page($url, $data, $proxy = ”, $proxystatus = ”, $ref_url = ”) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)”);

curl_setopt($ch, CURLOPT_TIMEOUT, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if ($proxystatus == ‘true’) {

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);

curl_setopt($ch, CURLOPT_PROXY, $proxy);

}

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($ch, CURLOPT_URL, $url);

if (!empty($ref_url)) {

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_REFERER, $ref_url);

}

if (defined(‘CURLOPT_IPRESOLVE’) defined(‘CURL_IPRESOLVE_V4’)) {

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);

}

curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER[‘HTTP_USER_AGENT’]);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

ob_start();

return curl_exec ($ch);

ob_end_clean();

curl_close ($ch);

unset($ch);

}

function new_access_token() {

$appid = ‘wx52dc8c34087d302c’;

$appsecret =’d70878f040f08fa55766bf6d3db5508a’;

$time = time();

$url = “;appid=$appidsecret=$appsecret”;

$ret_json = curl_get_contents($url);

$ret = json_decode($ret_json);

return $ret-access_token;

}

function curl_get_contents($url) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_TIMEOUT, 1);

curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);

curl_setopt($ch, CURLOPT_REFERER, _REFERER_);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if (defined(‘CURLOPT_IPRESOLVE’) defined(‘CURL_IPRESOLVE_V4’)) {

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);

}

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

$r = curl_exec($ch);

curl_close($ch);

return $r;

}

?

参考地址

已解决 请问微信支付V3,在支付成功后通过哪个回调的值更新订单状态呢?

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

FuncFlag0/FuncFlag

/xml”;

//对消息中的通配符进行替换

$resultStr

=

sprintf($retTmp,

$fromUserName,

$toUserName,

time(),

$retMsg);

//输出xml的消息

echo

$resultStr

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

php结合app微信登录 php需要做什么操作

1、app单独做微信授权登录获取到unionid

2、app根据unionid请求服务器(php),服务器判断是否有该会员,如果没有就做注册,如有已经有了直接就返回会员信息

3、就是app请求的时候尽量吧app的平台信息(比如安卓或者ios)一起发给服务器。服务器好做登录记录

PHP怎么解析微信支付结果返回的xml

$input = file_get_contents(‘php://input’);

if (!empty($input)  empty($_GET[‘out_trade_no’])) {

    $obj = simplexml_load_string($input, ‘SimpleXMLElement’, LIBXML_NOCDATA);

    $data = json_decode(json_encode($obj), true);

    //根据$data处理自己所要的逻辑

}

$data具体参数看微信文档,最常用的是:out_trade_no(商户订单号)、transaction_id(微信交易号)、result_code(交易状态)

交易状态如果是success记得处理完逻辑后返回一个success,不然微信会认为你的处理未完成而继续向服务器发送请求

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/285117.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-22 15:43
下一篇 2024-12-22 15:43

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 如何将Python开发的网站变成APP

    要将Python开发的网站变成APP,可以通过Python的Web框架或者APP框架,将网站封装为APP的形式。常见的方法有: 一、使用Python的Web框架Django Dja…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • Coursera App全面解析

    Coursera App是一款面向在线学习的应用程序,通过Coursera App用户可以更加方便地学习各种知识技能,大大方便了用户的在线学习体验。 一、多格式课程 Courser…

    编程 2025-04-27
  • Python app开发指南

    无论是移动端应用开发还是Web后台开发,Python作为一门高效易用的编程语言,已经成为了众多软件开发者的首选。学习Python开发,可以快速高效地创建各种应用,为用户提供出色的用…

    编程 2025-04-27
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • 蛋卷基金APP下载攻略

    如果你想了解如何下载蛋卷基金APP,请听我慢慢道来。 一、下载步骤 1、首先,在应用商店中搜索“蛋卷基金”。 <p>打开应用商店,搜索“蛋卷基金”</p> …

    编程 2025-04-27
  • 老虎证券app官网下载

    老虎证券是一家提供在线股票交易服务的综合性经纪商。老虎证券app是老虎证券的官方移动应用,它可以为投资者提供包括股票、期货、外汇和数字货币的多种交易服务。本文将介绍老虎证券app的…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27

发表回复

登录后才能评论