think php框架接入微信支付中需要注意的问题(php 小白适用)
接触php也有一段时间了,感觉有越来越多的地方需要学习,最近接入了微信扫码支付(pc端),记录一下,让php刚入门的小白们少走弯路。
准备阶段,到“微信公众平台”注册微信公众号,具体注册就不说了,有了微信公众号后,就能得到AppID,APPSECRET(注意保存,微信现在不会存贮了,要自己记下来),再有就是申请微信支付,要到 “微信商户平台”,要提交各种材料,包括营业执照注册号,影印件
等各种材料,审核通过后,大体准备就已经完成了。
首先:要有appID,APPSECRET和商户平台中的商户号,支付秘钥,其中前两个在微信公众平台中,后两个在商户平台中,账号中心中就能查看。
支付秘钥在api安全中可以配置。

在商户平台中也有开发文档可以参考,pc扫码支付有两种模式,模式一,模式二,推荐使用模式二(比模式一简单),下载微信支付的插件加入到自己的项目中下,下面是微信支付的demo

在WxPayConfig中配置
demo中都有例子,可以自己对照参考。
还有就是回调的问题,在发起微信支付的时候,在设置的众多参数中就有回调地址,在支付成功后会调用回调,再回调中我们可以进行自己的逻辑,比如修改数据库中的订单信息。
下面是回调的例子,可以参考 , 红色的部分,原先用post取值,怎么都不行,百度了很久才发现用这个
public function wx_notify_url(){
$xml = $GLOBALS['HTTP_RAW_POST_DATA'];
$values = \WxPayResults::Init( $this->wxpay_config,$xml);
$result_code=$values['result_code']; //状态
if($result_code=='SUCCESS'){ //数据库操作
//处理数据库操作 例如修改订单状态 给账户充值等等
$out_trade_no = $values['out_trade_no'];
$transaction_id = $values['transaction_id'];
$o_data = array(
'pay_type' => 'wxpay',
'trade_no' => $transaction_id,
'pay_time' => time(),
'order_status' => 1,
'pay_status' => 1
);
M("Order")->where("name = '%s'",$out_trade_no)->save($o_data);
header('Location: http://shop.wfcmw.cn/User/order.html');
// 返回给微信的响应参数
$arr = array(
'return_code' => 'SUCCESS', 'return_msg' => 'OK'
);
arrayToXml($arr);
}else{ //失败
// 返回给微信的响应参数
$arr = array(
'return_code' => 'FAIL', '' => $values['return_msg']
);
echo arrayToXml($arr);
}
}
另外,在商户中心中要配置回调地址,回调要外网能访问,不能带有参数

另外在微信公众平台中,也有一个绑定的授权地址,在“公众号设置”-“功能设置”中,授权回调域名,将上面的MP.............tex文件上传到服务器上,填上回调域名,点击确定就行了。
另外,还有个问题,就是页面生成付款二维码,扫码付款成功后,pc上是不会有变化的,要想弹出页面或者跳转页面啥的,可以在页面写一个轮询,调用api列表,查询订单是否支付成功,成功就跳转页面。
其实我感觉在回调中跳转也行,但是不知道为什么没有跳转。。。。。。。
think php框架接入微信支付中需要注意的问题(php 小白适用)的更多相关文章
- 在Web应用中接入微信支付的流程之极简清晰版
在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...
- 在Web应用中接入微信支付的流程之极简清晰版 (转)
在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...
- Unity接入微信支付SDK 2022年版安卓篇
最近1年转了UE开发,博客更新的比较少,技术栈宽了不少,以后有空尽量多更新,也方便总结记忆 Unity接入微信支付整个过程坑比较多,网上之前的教程要么比较老,要么比较零碎,只能东拼西凑摸索,跑通后还是 ...
- 微信支付中的jsapi返回提示信息
jsapi中跳转到微信支付中触发的方法是js中的getBrandWCPayRequest方法. 改方法中的返回结果msg提示信息如下: err_msg:get_brand_wcpay_request: ...
- 170327、Java微信支付中的扫码支付
微信支付现在已经变得越来越流行了,随之也出现了很多以可以快速接入微信支付为噱头的产品,不过方便之余也使得我们做东西慢慢依赖第三方,丧失了独立思考的能力,这次打算分享下我之前开发过的微信支付. 一 H5 ...
- .NET接入微信支付(一)JS API接入 V3
前段时间刚接完银联支付,完事后又接了微信支付,前段时间一直急着上线,微信的接入一直没有时间处理,今天我们就来整理一下微信支付的接入方法和要点. 配置: 首先呢微信支付需要通过审核,审核啥的准备工作我就 ...
- python Django框架接入微信公众平台
1.在接入微信公众平台之前,需要在微信公众平台配置好基本信息,如下: 这个时候点击“提交”按钮,会提示“Token校验失败”,不要着急,这是必然会出现的现象,先不要退出页面,保留各项输入的数据,按第二 ...
- 为产品接入微信支付解决方案(公司&个人)
微信支付个人及公司的区别 H5支付:主要实现的效果是在非微信内网页中点击支付,拉起微信APP内的微信支付进行付款. APP支付:主要实现的效果是在APP内部点击支付,拉起微信APP内的微信支付进行付款 ...
- 微信支付中分账功能 填坑指南V1
公司是做电商的,近期开发了一款小程序,准备线上线下同步销售玩具.这里就涉及到微信支付的功能,网上有很多教程,官方也有文档和Demo,因此微信支付还是比较容易实现的. 由于我们公司是和其他公司合作运营的 ...
- ThinkPhp框架开发微信支付——刷卡支付
首先讲讲我遇到的坑: 1.下载了微信的demo,界面如下,一直调试不通过,原来点击链接地址是微信测试的网页地址...要改成自己开发的网页地址.... 2.demo不是用ThinkPhp框架的,我不懂, ...
随机推荐
- python模块(module)
目录 模块化(module)程序设计理念 模块和包概念的进化史 标准库模块(standard library) 为什么需要模块化编程 模块化编程的流 模块的 API 和功能描述要点 模块的创建和测试代 ...
- 轻松解决 CSS 代码都在一行的问题
前言 最近在做博客园的界面美化,用的是博客园[guangzan]的开源项目,配置超级简单,只需要复制粘贴代码就好啦. 但在粘贴 CSS 代码时遇到一个问题,那就是所有代码都挤在了一行,没有一点排板的样 ...
- maven打包出现Failed to execute goal xxx.plugins:maven-compiler-plugin:3.7.0:compile.......:Fatal error compiling解决方法
起初在给项目打包时出现了这个错: 网上查了很多资料,都说JDK配置不对,我检查了一下,发现明明都一样. 为了获取更详细的报错信息,我决定用命令行的打包方式来编译: cd进去要打包的这个目录,用命令行的 ...
- Vue导出模板、使用前端js办法导出表格数据、导入表格前端读取表格数据、导入表格发送后端读取数据
以下是几种用的较多的函数方法,可以参考使用. // 導出1 myExport() { // post請求文件寫法1 const url = 'http://XXXX/XXXX/XXXX/XXXX' c ...
- final关键字用于修饰局部变量-final关键字用于修饰成员变量
final关键字用于修饰局部变量 局部变量--引用类型 引用类型的局部变量,被final修饰后,只能指向一个对象,地址不能再更改.但是不影响对象内部的成员变量值的 修改,代码如下: public cl ...
- 创建型模式 - 简单工厂模式StaticFactoryMethod
简单工厂模式的定义 创建型模式: 我们把被创建的对象称为产品,把创建产品的对象称为工厂.如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫简单工厂模式. 在简单 ...
- 前端基础知识-react(一)个人学习记录 _
待补充 reactive和ref
- QGraphicsView, QGraphicsObject ,QQGraphicsSvgItem 图片接收鼠标事件 拖拉 收放
由于项目要求,需要加载svg格式图片和pixmap图片,并根据指定坐标在图上进行勾画,并且对相应位置接收鼠标事件. -继承QGraphicsObject,实现加载pixmap的项 myimageite ...
- 浙江某男子对多端应用开发工具HBuilderX在windows下安装的解说
同学,学uni-app好啊,大致上写一套代码能生成这么多个平台的应用,我简单念一下,它们分别是Android应用.IOS应用.Web应用.微信小程序.支付宝小程序.百度小程序.字节跳动小程序.快应用. ...
- 文本纠错:提升OCR任务准确率的方法理解
文本纠错:提升OCR任务准确率的方法理解 摘要:错字率是OCR任务中的重要指标,文本纠错需要机器具备人类水平相当的语言理解能力.随着人工智能应用的成熟,越来越多的纠错方法被提出. 近年来深度学习在O ...