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

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




原文地址:https://www.cnblogs.com/andzhang/p/8276217.html

时间: 2024-11-04 02:19:01

think php框架接入微信支付中需要注意的问题(php 小白适用)的相关文章

商户如何接入微信支付

1. 商户接入 1.1 申请流程指引 一.申请流程图 二.申请接入步骤详细说明 (一)成为已认证的服务号 1.目前微信支付功能仅开放给已经通过微信认证的服务号(企业.商店商家.非事业单位媒体类服务号),若已经通过微信认证,且是服务号,可直接进入第二步;2.订阅号商户可先升级为服务号,此步骤约1个工作日;3.未经认证的商户可先申请微信认证.注意:请申请认证的商户主体与后续申请微信支付权限的商户主体保持一致. (二)提交申请资料,等待审核 1.登录公众号,进入:服务-服务中心-商户功能; 2.提交商

微信支付中证书的存放目录及其路径写法

微信支付中证书的存放目录及路径写法 在调试微信支付过程中,下载证书并存放在服务器是非常重要的一步,那么如何存放证书,并在微信支付配置类文件里如何书写路径也变了尤为重要了,下面将介绍这两个问题如何解决,刚开始接触微信支付的小伙伴最好是注意一下,因为我刚开始的时候也是这样踩过来的(如果你是高手,请忽略本篇博文) 一.证书存放目录 为了安全起见,一般是不能放在客户端随意能访问到的目录,比如,以tp5为例,切勿放在public文件下,可以在项目根目录下建一个cert目录,把证书放在cert下就可以了 如

微信公众号开发_如何接入微信支付?[网页发起支付]

开发背景 在微信公众号中,需要获取支付功能 前提 公众号已经开通支付功能[未开通的自行百度] 实现步骤 接入JSSDK JSSDK使用步骤 参考微信JS-SDK说明文档 使用JSSDK中的 微信支付 API wx.chooseWXPay({ timestamp: 0, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写.但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr: 'abc', // 支付签名随机串,不长于 32

Unity3d接入微信支付sdk返回-1

背景:U3d导出安卓项目包之后,进行SDK的接入工作. 由于习惯性的右键->Run As->Android Application生成安卓包,导致没有对apk进行签名.App装入之后,微信支付老是返回-1,翻来覆去的找问题终于找到正确的操作流程: 之后,点击finish即可.

9. PHP接入微信支付订单、退款订单、转款订单的查询

微信并未提供一个统一的查询接口.对应每种查询均需要不同的api.为了便于大家在项目中使用,忽略细节.对以上三种进行了封装.通过工厂的方式降低调用成本. $wxconfig = [ 'app_id' => 'wxxxx', // 公众账号ID 'mch_id' => 'xxxx',// 商户id 'md5_key' => 'xxxxxx',// md5 秘钥 'notify_url' => 'http://test.helei.com/pay-notify.html', 'time_

网站接入微信支付

同支付宝支付接入,申请流程不细说. 文档地址和demo地址如下: 扫码支付:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_1 公众号支付地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1 官方代码示例:https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=11_1 需要注意: 1.使

微信支付 - 中的那些坑

前段时间准备做支付,申请开通了微信支付,然后简单的弄了几下就看到支付页面了, 但是现在,当需要投入到生产环境中时,问题就来了! 坑一:H5调起支付API报错, 缺少参数appId 缺少 appId $key0$ 这种的,这个奇葩的问题调试了整整一个下午,因为很确定参数是对的,可就是报错, 最后发现原因是:js使用gulp压缩之后变掉了,比如那个参数列表 本来是:{"appId":xxx .... 的,压缩后变成 {appId:xxx .....   莫名其妙的就把双引号去掉了!! 好的

快速接入PHP微信支付

微信支付是微信开发中坑最多的一个功能,本文旨在帮助有开发基础的人快速接入微信支付,如果要详细了解微信支付,请看微信支付的开发文档. 再说把开发文档搬到这里来就没必要了.想要快速跑通微信支付的可以继续查看. 微信支付分公众号支付(在微信里的网页用微信支付).PC版扫码支付(扫码有两种模式).APP微信支付,当初做这三种支付,还没有很多人做, 没有资料,虽然官方提供了demo,但是出现各种问题跑不通,对着文档做, 遇到各种你想不到的坑,简直要哭,说多了都是泪.... 这里介绍一下公众号支付的流程:

微信支付V3版本的那些事

最近在接入微信支付这块功能,博客园也有很多博友发表了支付的各种吐槽和解决之道,基于那些经验分享之上,我也来说说我的填坑之路. 1:准备工作,首先去申请注册一个公众号——服务号,然后将微信支付功能开通,获得一系列的微信给你分配的商户资料(重要的是商户号),然后在微信支付商户中心设置支付密钥,这个密钥在统一下单和微信签名里面要用到. 2:搭建自己的支付框架项目,开始用自己熟悉的语言开发前台支付页面和后台接口,这里可能因技术栈不同,而会衍生出多种版本,你可以基于PHP,JAVA,C#,NODEJS.