博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
think php框架接入微信支付中需要注意的问题(php 小白适用)
阅读量:5927 次
发布时间:2019-06-19

本文共 2012 字,大约阅读时间需要 6 分钟。

接触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列表,查询订单是否支付成功,成功就跳转页面。

其实我感觉在回调中跳转也行,但是不知道为什么没有跳转。。。。。。。

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/andzhang/p/8276217.html

你可能感兴趣的文章
对象使用的两种方法
查看>>
UNIX网络编程——ioctl 函数的用法详解
查看>>
如何写出无法维护的代码
查看>>
抽象工厂模式(Absraact Factory)介绍与实现
查看>>
C# 数据结构--排序[下]
查看>>
实验数据
查看>>
探索java世界中的日志奥秘
查看>>
Codeforces Round #450 (Div. 2)D. Unusual Sequences[数论][组合数学][dp II]
查看>>
drools简单应用
查看>>
C# 泛型多种参数类型与多重约束 示例
查看>>
TCP/IP:IP多播选路
查看>>
仿Google+相册的动画
查看>>
Keras版Faster-RCNN代码学习(IOU,RPN)1
查看>>
ASP.NET 多环境下配置文件web.config的灵活配置---转
查看>>
JavaScript对象、JSON对象、JSON字符串的区别
查看>>
ELFhash
查看>>
C++ float的内存布局
查看>>
Discuz添加自定义模板广告
查看>>
微信小程序 --- 页面跳转
查看>>
yii---where or该如何使用
查看>>