微信支付接口--支付成功的回调--超详细Demo

article/2025/11/9 22:48:18

如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人。谢谢大家!❤

如果解决不了,可以在文末进群交流。

写微信支付成功回调的代码,尤其要注意官方文档的一句话:

如果不注意这里,支付成功后微信会一直对这个地址进行调用,更新订单的对数据库进行操作,也会一直存在更新:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_7&index=7.

这其实不是坑的主要所在,问题是这个文档,我真的不知道该如何吐槽。一次偶然的意外才看到。这个文档说明。


好了,其他的没有什么需要特别注意的,直接上代码:

<?php   //获取接口数据,如果$_REQUEST拿不到数据,则使用file_get_contents函数获取$post = $_REQUEST;if ($post == null) {$post = file_get_contents("php://input");}if ($post == null) {$post = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';}if (empty($post) || $post == null || $post == '') {//阻止微信接口反复回调接口  文档地址 https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_7&index=7,下面这句非常重要!!!$str='<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>';  echo $str;exit('Notify 非法回调');}/*****************微信回调返回数据样例*******************$post = '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg><appid><![CDATA[wx2421b1c4370ec43b]]></appid><mch_id><![CDATA[10000100]]></mch_id><nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str><sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign><result_code><![CDATA[SUCCESS]]></result_code><prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id><trade_type><![CDATA[APP]]></trade_type></xml>';*************************微信回调返回*****************/libxml_disable_entity_loader(true); //禁止引用外部xml实体$xml = simplexml_load_string($post, 'SimpleXMLElement', LIBXML_NOCDATA);//XML转数组$post_data = (array)$xml;/** 解析出来的数组*Array* (* [appid] => wx1c870c0145984d30* [bank_type] => CFT* [cash_fee] => 100* [fee_type] => CNY* [is_subscribe] => N* [mch_id] => 1297210301* [nonce_str] => gkq1x5fxejqo5lz5eua50gg4c4la18vy* [openid] => olSGW5BBvfep9UhlU40VFIQlcvZ0* [out_trade_no] => fangchan_588796* [result_code] => SUCCESS* [return_code] => SUCCESS* [sign] => F6890323B0A6A3765510D152D9420EAC* [time_end] => 20180626170839* [total_fee] => 100* [trade_type] => JSAPI* [transaction_id] => 4200000134201806265483331660* )**///订单号$out_trade_no = isset($post_data['out_trade_no']) && !empty($post_data['out_trade_no']) ? $post_data['out_trade_no'] : 0;//查询订单信息$order_info = DB::fetch_first("SELECT * FROM order WHERE order_no = '" .$out_trade_no."'");if(count($order_info) > 0){//查询平台信息$platform_info = DB::fetch_first("SELECT * FROM pingtaiInfo WHERE `open_pid`= {$order_info['part1']}");//平台支付key$wxpay_key = $platform_info['zhifu_key'];//接收到的签名$post_sign = $post_data['sign'];unset($post_data['sign']);//重新生成签名$newSign = MakeSign($post_data,$wxpay_key);//签名统一,则更新数据库if($post_sign == $newSign){$updateData = array();  $updateData['pay_time'] = TIMESTAMP; //支付时间$updateData['order_status'] = 2; //订单状态//更新order数据库//Do what you want...}}//阻止微信接口反复回调接口  文档地址 https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_7&index=7,下面这句非常重要!!!$str='<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>';  echo $str;function MakeSign($params,$key){//签名步骤一:按字典序排序数组参数ksort($params);$string = ToUrlParams($params);  //参数进行拼接key=value&k=v//签名步骤二:在string后加入KEY$string = $string . "&key=".$key;//签名步骤三:MD5加密$string = md5($string);//签名步骤四:所有字符转为大写$result = strtoupper($string);return $result;}function ToUrlParams( $params ){$string = '';if( !empty($params) ){$array = array();foreach( $params as $key => $value ){$array[] = $key.'='.$value;}$string = implode("&",$array);}return $string;}

 

废话不多说了,直接上代码,不懂地方可留言,或者进微信群内交流。群二维码如果过期,请加我微信:mengyilingjian.


http://chatgpt.dhexx.cn/article/c8IT3GRD.shtml

相关文章

解密大模型与文心一言

近日&#xff0c;百度集团副总裁袁佛玉受邀出席数字纵深论坛并进行“解密大模型与文心一言“主题分享。 数字纵深论坛由北京大学光华管理学院数字教育中心主办&#xff0c;专注于分享科技前沿与商业洞见。 以下为分享精华回顾&#xff1a; 大家都能感受到&#xff0c;ChatGPT和…

chatgpt赋能Python-python3_7如何下载

Python3.7如何下载&#xff1f;详细步骤分享&#xff01; Python是一门当今最热门、最常用、最易学的编程语言之一&#xff0c;且拥有庞大的社区和强大的库支持。在这篇文章中&#xff0c;我们将会详细介绍如何下载Python3.7版本&#xff0c;让大家能够轻松上手Python编程。 …

摆平Win2008与VPC2007的诡异冲突

摆平 Win2008 与 VPC2007 的冲突 话说上个周末&#xff0c;参加完51CTO组织的虚拟化技术沙龙&#xff0c;俺和老方&#xff0c;老胡&#xff0c;小废物等人杀奔西直门的红顶老汉烧鸡公&#xff0c;席间觥筹交错&#xff0c;一顿狂磋。说句题外话&#xff0c;这个鸡的味道真是不…

NeurIPS 2020 | 基于协同集成与分发的协同显著性目标检测网络

论文题目&#xff1a;CoADNet: Collaborative Aggregation-and-Distribution Networks for Co-Salient Object Detection 论文链接&#xff1a;https://proceedings.neurips.cc/paper/2020/file/4dc3ed26a29c9c3df3ec373524377a5b-Paper.pdf 论文代码&#xff1a;https://githu…

(附源码)基于spring boot 青少年公共卫生教育平台的设计与实现 毕业设计 643214

Springboot青少年公共卫生教育平台 摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对青少年公…

IT服务管理的指挥与智慧

IT服务管理的指挥与智慧 在当今动荡不宁、不断变化的 IT 环境中&#xff0c;IT服务管理&#xff08;ITSM&#xff09;的重要性不言而喻&#xff0c;它通过保证关键业务系统和服务的可用性和可靠性&#xff0c;为整个企业提供至关重要的支持。随着技术变得越来越复杂&#xff0c…

php比特教务选排课系统的设计与实现毕业设计源码301826

比特教务选排课系统的设计与实现 摘 要 随着人类向信息社会的不断迈进&#xff0c;风起云涌的信息时代正掀起一次新的革命&#xff0c;同时计算机网络技术高速发展&#xff0c;网络管理运用也变得越来越广泛。因此&#xff0c;建立一个B/S结构的比特教务选排课系统来管理选课信…

Springboot爱护大自然的设计与实现 毕业设计-附源码231643

爱护大自然 摘 要 热爱大自然&#xff0c;保护自然环境&#xff0c;是人们处理与自然关系过程中应当遵守的基本行为准则。第一&#xff0c;热爱大自然&#xff0c;是人类社会赖以生存和发展的物质条件。自然界一切对人类社会生活有益的存在物&#xff0c;如山川草木、飞禽走兽、…

python面向对象案例步骤分析_Python面向对象之继承原理与用法案例分析

本文实例讲述了Python面向对象之继承原理与用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; 目标 单继承 多继承 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 继承 实现代码的重用&#xff0c;相同的代码不需要重复的编写 多态 不同…

中国多媒体与网络教学学报杂志中国多媒体与网络教学学报杂志社中国多媒体与网络教学学报编辑部2022年第6期目录

中国多媒体与网络教学学报杂志中国多媒体与网络教学学报杂志社中国多媒体与网络教学学报编辑部2022年第6期目录 实践研究_案例精选 找春天 左文慧; 1-515 长方体和正方体的认识 史颂; 6-912 测定空气中氧气的含量 彭洪;肖启友; 10-12 基于单元要素 设计智趣活动…

基于MATLAB的静态手势分割与识别研究

一、课题介绍 本课题设计了手势的分割与识别程序系统&#xff0c;结合 MATLAB软件对采集的目标图像进行识别。结合基于运动的手势分割与基于肤色的手势分割2种手势分 割方法&#xff0c;提取运动肤色区域&#xff0c;通过计算此区域的均值与方差矩阵更新高斯模型&#xff0c;设…

吉林建筑大学电气与计算机学院院长,吉林建筑大学城建学院市政与环境工程学院来我校计算机学院调研“学习筑梦”行动开展情况...

6月21日上午&#xff0c;吉林建筑大学城建学院市政与环境工程学院党委副书记、副院长王洪平、学办主任、辅导员和学生党员一行9人来访我校计算机学院。计算机学院党委副书记王俊成&#xff0c;学办主任兼分团委书记马立明等热情接待了来访嘉宾&#xff0c;双方就“学习筑梦”行…

计算机专业在法国好就业吗,对法国计算机专业留学热门院校的推荐与就业分析...

法国计算机专业总体介绍&#xff1a; 在法国从高中到博士阶段&#xff0c;共有5000余种计算机专业课程。有公立大学或者高等专业学院课程;有长期或短期课程;也有免费&#xff0c;付费或者学徒课程&#xff0c;对于计算机专业课程的选择是十分丰富的。 法国公立大学 随着法国大学…

ubc计算机专业课程介绍,温哥华UBC大学的计算机专业介绍

英属哥伦比亚大学 (University of British Columbia &#xff0c;简称 UBC &#xff0c;又名 " 卑诗大学 ") 是一世界级顶尖研究型大学&#xff0c;它庞大而又秀丽&#xff0c;坐落于风光如画的温哥华市&#xff0c;同时它也是加拿大最难申请的大学以及淘汰率最高的大…

中国计算机专业的大学生相比于美国差在哪里?

链接&#xff1a;https://www.zhihu.com/question/31074647 编辑&#xff1a;深度学习与计算机视觉 声明&#xff1a;仅做学术分享&#xff0c;侵删 作者&#xff1a;邦彦https://www.zhihu.com/question/31074647/answer/50552556 学生太多&#xff0c;老师太少。想起了那个梗…

国外是怎么学习计算机的?

大家好&#xff0c;我是厂长。 随着自己持续的创作&#xff0c;关注的粉丝也不断增长&#xff0c;这些增长的粉丝不仅有来自国内的朋友&#xff0c;还有不少在国外留学的同学。 微信的好友列表里就有在德国、英国、日本、美国等国家留学的同学&#xff0c;每次遇到这些网友&…

在美国大学计算机专业都学什么?

作者简介&#xff1a;祁一鸣&#xff0c;2016年4月加入携程&#xff0c;任机票研发部技术专家&#xff0c;同时负责携程App国际机票预定主流程技术团队。毕业于美国常春藤名校 Dartmouth College 本科&#xff0c;曾先后在硅谷的Oracle、Yahoo!和Salesforce总部效力过。从scrat…

外国大学计算机专业学什么?信息技术专攻网络计算

信息技术&#xff08;荣誉&#xff09;理学士&#xff0c;专攻网络计算 亚太科技大学APU 亚太科技大学在2021年QS亚洲大学教师国际名列前10名的私立大学。APU在国际学生排名第一&#xff0c;入境交流第一&#xff0c;并在排名前50名的大学中。APU在2021年年QS大学排名中名列前…

计算机c就业,留学美国:高薪好就业Computer Science(计算机科学)CS专业详解

原标题&#xff1a;留学美国&#xff1a;高薪好就业Computer Science(计算机科学)CS专业详解 计算机科学专业是理工科类留学最热门的专业之一&#xff0c;而且CS专业也一向是高薪、好就业的代名词&#xff0c;根据Payscale数据显示&#xff0c;美国计算机科学硕士毕业平均薪资达…

大学英语专业有计算机课吗,加拿大留学,温莎大学英语计算机专业了解一下

原标题&#xff1a;加拿大留学&#xff0c;温莎大学英语计算机专业了解一下 对于留学申请人来说&#xff0c;多年来计算机专业一直是热度不减。而在近些年&#xff0c;也有很多学生和家长更为看好加拿大的教学质量和未来的工作环境。加拿大在计算机科学领域的科研、开发和教学实…