包含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/zh-hk/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

發表回復

登錄後才能評論