PHP微信支付之扫码支付

在手机微信端进行微信支付,直接调起JSAPI支付,这可以实现在微信里边的开的页面进行支付,比如微商城,微信端JSAPI支付详见:PHP实现微信支付(jsapi支付)和退款(无需集成支付SDK);但有时候商城还有PC端,需要在PC端使用微信支付,则需要PC端生成支付二维码,然后微信扫码完成支付。例如:
在这里插入图片描述这里主要讲一下PC端扫码支付以及退款的具体实现:

/*** 微信支付请求接口(POST)* @param string $goods_id 	商品ID* @param string $body 		商品简单描述* @param string $order_sn  订单编号* @param string $total_fee 金额* @return  json的数据*/
public function wxpay($goods_id,$total_fee,$body,$order_sn){$config = $this->config;//统一下单参数构造$unifiedorder = array('appid'			=> $config['appid'],'mch_id'		=> $config['mch_id'],'device_info'	=> 'WEB','nonce_str'		=> self::getNonceStr(),'body'			=> $body,'out_trade_no'	=> $order_sn,'total_fee'		=> $total_fee * 100,'spbill_create_ip'	=> self::getip(),'notify_url'	=> 'http://'.$_SERVER['HTTP_HOST'].'/notify.php','trade_type'	=> 'NATIVE','product_id'	=> $goods_id);$unifiedorder['sign'] = self::makeSign($unifiedorder);//return $unifiedorder;//请求数据,统一下单$xmldata = self::array2xml($unifiedorder);$url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';$res = self::curl_post_ssl($url, $xmldata);if(!$res){return array('status'=>0, 'msg'=>"Can't connect the server" );}// 这句file_put_contents是用来查看服务器返回的结果 测试完可以删除了file_put_contents('./log.txt',$res,FILE_APPEND);$content = self::xml2array($res);if(strval($content['result_code']) == 'FAIL'){return array('status'=>0, 'msg'=>strval($content['err_code']).':'.strval($content['err_code_des']));}if(strval($content['return_code']) == 'FAIL'){return array('status'=>0, 'msg'=>strval($content['return_msg']));}return $content;
}/*** 微信退款(POST)* @param string(28) $transaction_id 	在微信支付的时候,微信服务器生成的订单流水号,在支付通知中有返回* @param string $out_refund_no 		商品简单描述* @param string $total_fee 			微信支付的时候支付的总金额(单位:分)* @param string $refund_fee 			此次要退款金额(单位:分)* @return string						xml格式的数据*/
public function refund($transaction_id,$out_refund_no,$total_fee,$refund_fee){$config = $this->config;//退款参数$refundorder = array('appid'			=> $config['appid'],'mch_id'		=> $config['mch_id'],'nonce_str'		=> self::getNonceStr(),'transaction_id'=> $transaction_id,'out_refund_no'	=> $out_refund_no,'total_fee'		=> $total_fee * 100,'refund_fee'	=> $refund_fee * 100);$refundorder['sign'] = self::makeSign($refundorder);//请求数据,进行退款$xmldata = self::array2xml($refundorder);$url = 'https://api.mch.weixin.qq.com/secapi/pay/refund';$res = self::curl_post_ssl($url, $xmldata);if(!$res){return array('status'=>0, 'msg'=>"Can't connect the server" );}// 这句file_put_contents是用来查看服务器返回的结果 测试完可以删除了//file_put_contents('./log3.txt',$res,FILE_APPEND);$content = self::xml2array($res);if(strval($content['result_code']) == 'FAIL'){return array('status'=>0, 'msg'=>strval($content['err_code']).':'.strval($content['err_code_des']));}if(strval($content['return_code']) == 'FAIL'){return array('status'=>0, 'msg'=>strval($content['return_msg']));}return $content;
}

支付和退款就是这么简单,而且支付的时候无需获取用户openid,无需证书文件,无需配置支付授权目录,这是封装过的支付类文件的实现,调用方法更简单:

require_once "webwxpay.class.php";$config = array('appid'			=> 'wx123456789876','mch_id'	 	=> '123456789','pay_apikey' 	=> '123456789876123456789876123456789876'
);$wxpay = new WxPay($config);
$result = $wxpay->paytest();
//print_r($result);
scerweima($result['code_url']);		//生成的支付二维码,用户可以扫码付款

这时候就会生成支付二维码,然后微信扫一扫就可以完成支付:
在这里插入图片描述至于支付回调验证,这里就不过多讲了,不明白的可以看ThinkPHP中实现微信支付(jsapi支付)流程,这里详细讲了如何处理回调。

类文件以及使用实例 代码源码下载: http://download.csdn.net/download/sinat_35861727/10026134

如果真的感觉好用,请点个赞留个好评,谢谢!有问题也可以评论区告诉我!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/251200.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【微信小程序付款转二维码付款】

需要的参数:session_id, timeStamp, nonceStr, package, paySign, appid,uuid session_id是协议获取 timeStamp, nonceStr, package, paySign, appid是订单数据 uuid是调用接口获取 第一步要获取小程序的sessionId 基于pc协议不风控 获取订单数据timeStamp, nonceS…

您的滴滴2020年度出行报告,请查收!

桔妹导读:滴滴2020年度出行盘点新鲜出炉,每个人都有属于自己的滴滴之城,快来看看你的城。打玉人、Tony的亲人、最该呵护的人……这12种有趣的灵魂,你是哪一种? 一年一度的个人出行盘点新鲜出炉 你的最晚一单 是不是还是…

微信支付接口详细步骤

对接微信支付接口-详细步骤教程-你不知道的那些坑TOC 近期公司项目需要对接微信支付宝等支付接口,然后就看官网看文档查百度,我这里只说对接微信支付接口,下一篇说微信退款. 先登录微信官网查看文档 这里我先解释一下微信支付接口的步骤 第一步:统一下单 (此操作是我们对接微…

滴滴出行用户运营分析

一、功能模块 滴滴出行APP功能模块主要分为五个部分,包含提供服务的类别、安全中心、用户中心、首页推送及功能类按键。 1.服务类别 此模块列出了滴滴出行所能提供的各种服务,包括一系列出行用车服务、公交线路查询、二手车买卖以及金融服务,…

滴滴出行app——网约车出行的背后(上)

互联网出行已经撬动千亿级市场规模,而滴滴出行作为最大的出行平台,占领着网约车市场的最大份额。本文将从市场、用户、功能、运营等方面对滴滴出行进行分析。 关于滴滴 一、功能框架与使用流程 二、市场分析 三、用户分析 四、功能分析 五、运营分析 六…

企业付款到零钱API开发~~~ 付款到微信

近日,在开发“微信企业付款到零钱”的功能。之前有过微信开发的经验,但是第一次接触“付款到零钱“这一块的业务,查询了很多的博客资料以及走了很多的弯路。也发现“企业付款到零钱”分享的博客并不多。特地写了该博客,希望对你们…

滴滴出行平台业务架构演进

桔妹导读:为了满足不同用户在价格、体验等方面的差异化诉求,滴滴提供了越来越丰富的品类,这些品类大体流程是类似的,在一些细节体验上有差异,一套架构如何兼顾隔离和复用,同时支持这些品类,且看…

【第三章:存储系统】

目录 知识框架No.0 引言No.1 存储器概述一、存储器的层次结构二、储存器的分类1、按照层次结构进行分类2、按照存储介质3、按照存取方式4、信息的可更改性5、信息的可保存性 三、存储器的性能指标1、存储容量2、单位成本3、存储速度 No.2 主存储器的基本组成一、基本的半导体元…

数字后的顿号变成斜杠 - 解决方案

前言 PC端键盘输入数字后的顿号变成斜杠,这并不是因为Office的自动校正功能引起的,而是由搜狗输入法的智能调整数字后标点功能引起的,该功能也会将数字后的中文句号改为英文句号,若不需要这些功能,则可以关闭搜狗输入…

邓号用计算机怎么输入,电脑上顿号怎么打出来

【电脑上顿号怎么打出来】电脑最为重要的一个用途就是编辑文档,而文编文档就要涉及到符号,一般的句号、逗号键盘上都要。那么,顿号这类电脑键盘上没有的符号怎么打出来呢?很多人反映键盘上没有顿号的按键,使用时打不出…

在电脑上顿号咋打?

按照以下步骤可以打出顿号: 1、首先将输入法的中英文切换到中文,如图所圈出的位置; 2、在键盘上敲击下图所圈出的键,便可打出顿号。(有的电脑敲击“\”按键哦!) 需注意的是,如果输入…

数据分割,顿号替换成制表符

有些时候我们需要向数据库里导入一些现有数据,而数据格式的清理则是很重要的一部分,本文就将存在顿号的数据串分割成一个一个的数据。 需要使用到的工具是:EditPlus

Office 顿号怎么输

中文状态下回车上面一个按键就是 转载于:https://www.cnblogs.com/acetaohai123/p/6589431.html

html中键盘分别对应的值,电脑键盘键值所对应的功能详解

虽然,电脑的键盘看上去很相似,但是,只要仔细观察,不同的电脑配置的键盘的键值还是有些许细微的差异。好在一些常用键值都是一样的,这里详解的就是这些通用键值所对应的功能。有兴趣的朋友可以参考一下哦! E…

关于CentOS系统中键盘错乱的解决window10默认输入法顿号句号失灵

关于CentOS系统中键盘错乱的解决 首先:我的CentOS是装在windows系统的虚拟机中。 错误如图: 在网上查了很多解决办法,然而不太行 首先,可以使用localectl status查看,正常如下 如果不对则修改: System Lo…

搜狗拼音linux 知乎,搜狗拼音知乎专版下载

搜狗拼音输入法知乎专版是知乎和搜狗联合发布的「刘看山定制版输入法」,内置刘看山动态皮肤,当输入情景关键词的时候,还会有可爱的刘看山系列表情。而在功能上也更贴近了知乎用户的使用习惯,包括直角引号「」的快捷输入&#xff0…

微信小黄鸡php,微信表情包小黄鸡含义

这是微信表情包小黄鸡含义下载,微信表情包小黄鸡含义小黄鸡高登表情包是一款小黄鸡系列又一给力大作,撩人的表情再搭配污污的标语,想必对女生朋友杀伤力巨大,非常适合情人节撩妹所用,内含的动画图片,丰富的…

他用科技复活传统艺术:发现甲骨文的终极浪漫

导读:古文字研究,如今已经不单纯是语言学家、考古学家的工作。许多工程师也在用科技的手段去研究、阐释古老文字背后的意义。谷歌与清华大学美术学院陈楠教授,在今年 GDD(谷歌开发者大会)上推出的「智绘甲骨」项目&…

提前体验让人回归Windows怀抱的Windows Terminal

前言 在一年一度的微软开发者大会Build 2019登场的Windows Terminal饱受好评,大家对其也是充满了兴趣和热情,程序员的朋友圈都被微软发布的最新终端 windows Terminal短短几天时间内就已登顶Github。当然与此同时,微软还新出一款萌萌的等宽字…

这本Go语言也太萌了,各就各位,预备,Go!

Go作为一门广受关注的热门语言,在市场上从来不缺少相关的书,特别是面向初学者的书。然而,跟市面上很多声称是入门书却只会一股脑儿地将各种语言细节硬塞给读者的“伪入门书”不一样,《Go语言趣学指南》是一本真正面向初学者的书。…