php对接微信付款(PHP微信支付功能示例)
类别:编程学习 浏览量:1468
时间:2022-04-02 02:43:26 php对接微信付款
PHP微信支付功能示例本文实例讲述了PHP微信支付功能。分享给大家供大家参考,具体如下:
微信开发SDK:文中用的是php_sdk_v3.0.9 :https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
|
import( "wxpay.lib.AppPay#Config" , EXTEND_PATH, ".php" ); import( "wxpay.lib.WxPay#Api" , EXTEND_PATH, ".php" ); //$this->weixinpay(); $config = new \AppPayConfig(); //订单号 $appId = $config ->GetAppId(); $key = $config ->GetKey(); $money = 0.01 * 100; $orderSn = 'M201810241754107557' ; //订单号; $curTime = time(); $input = new \WxPayUnifiedOrder(); $input ->SetBody( "用户红包" ); $input ->SetOut_trade_no( $orderSn ); $input ->SetTotal_fee( $money ); $input ->SetTrade_type( "APP" ); $unifiedOrder = \WxPayApi::unifiedOrder( $config , $input ); if ( $unifiedOrder [ 'result_code' ] == 'SUCCESS' && $unifiedOrder [ 'return_code' ] == 'SUCCESS' ) { /*$unifiedOrder 组成: * ["appid"] => string(18) "wx2xxxx49" ["mch_id"] => string(10) "1xxxxxx01" ["nonce_str"] => string(16) "1GnEUXTuTcFtJVtb" ["prepay_id"] => string(36) "wx241933xxx68fa24ece70611692955" ["result_code"] => string(7) "SUCCESS" ["return_code"] => string(7) "SUCCESS" ["return_msg"] => string(2) "OK" ["sign"] => string(32) "7903xxxxx4710E460CB156" ["trade_type"] => string(3) "APP"*/ $curTime = time(); // 第一部分 $wxpayResult = new \WxPayResults(); $wxpayResult ->SetData( 'appid' , $unifiedOrder [ 'appid' ]); $wxpayResult ->SetData( 'partnerid' , $unifiedOrder [ 'mch_id' ]); $wxpayResult ->SetData( 'prepayid' , $unifiedOrder [ 'prepay_id' ]); $wxpayResult ->SetData( 'noncestr' , $unifiedOrder [ 'nonce_str' ]); $wxpayResult ->SetData( 'timestamp' , $curTime ); $wxpayResult ->SetData( 'package' , "Sign=WXPay" ); $wxpayResult ->SetData( 'sign' , "" ); $wxpayResult ->SetSign( $config ); $data = $wxpayResult ->GetValues(); // 第二部分 $data [ 'appid' ] = $unifiedOrder [ 'appid' ]; $data [ 'partnerid' ] = $unifiedOrder [ 'mch_id' ]; $data [ 'prepayid' ] = $unifiedOrder [ 'prepay_id' ]; $data [ 'noncestr' ] = $unifiedOrder [ 'nonce_str' ];; $data [ 'timestamp' ] = $curTime ; $data [ 'package' ] = "Sign=WXPay" ; $data [ 'sign' ] = $this ->wxappPaySign( $key , $data ); //$unifiedOrder['sign'];//签名,具体签名方案参见微信公众号支付帮助文档; $this ->returnSuccess( $data ); } else { Log::write(var_export( $unifiedOrder , true)); $this ->returnError(300, '微信支付失败' ); } private function wxappPaySign( $key , $parameters ) { $sign = md5(sprintf( "appid=%s&noncestr=%s&package=%s&partnerid=%s&prepayid=%s×tamp=%s&key=%s" , $parameters [ 'appid' ], $parameters [ 'noncestr' ], $parameters [ 'package' ], $parameters [ 'partnerid' ], $parameters [ 'prepayid' ], $parameters [ 'timestamp' ], $key )); return strtoupper ( $sign ); } |
第一部分和第二部分功能是相同的。
官方开发资源
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣
- phpredis怎么设置队列(php使用lua+redis实现限流,计数器模式,令牌桶模式)
- dedecms注册怎么给权限(织梦DedeCms系统未审核文档禁止动态浏览修改方法view.php)
- php 创建定时任务(PHP扩展Swoole实现实时异步任务队列示例)
- web项目部署到阿里云服务器上(阿里云的WindowsServer2016上部署php+apache)
- phpstudy显示403(phpStudy配置多站点多域名方法及遇到的403错误解决方法)
- php wamp 环境搭建(wamp服务器访问php非常缓慢的解决过程)
- php的模块加载(PHP中的自动加载操作实现方法详解)
- php定时执行PHP(Cpanel下Cron Jobs定时执行PHP的方法)
- phpstudy创建网站教程交流(phpStudy V8中创建与管理站点图文教程)
- phpstudy创建网站无权限(phpStudy配置多站点多域名和多端口的方法)
- php 会话session实现用户登录功能(PHP cookie,session的使用与用户自动登录功能实现方法分析)
- 阿里云服务器怎么搭建环境(阿里云服务器快速配置php环境的方法)
- phpstudy报错(phpStudy运行帝国备份王出错解决方法)
- php和java联系(PHP实现与java 通信的插件使用教程)
- php如何定时执行某项(php解决crontab定时任务不能写入文件问题的方法分析)
- php 策略模式工厂模式区别(PHP设计模式之策略模式原理与用法实例分析)
- 刚红就耍大牌,《琉璃》角色滤镜碎一地,心疼工作人员(琉璃角色滤镜碎一地)
- 袁冰妍郑业成这对可以处,有脸红情话他们是真的敢说(袁冰妍郑业成这对可以处)
- 《祝卿好》台词又土又甜,就喜欢这么直接的恋爱(祝卿好台词又土又甜)
- 大女主 汤唯垂青电视圈,搭档朱亚文出演《大明皇妃孙若微传》(汤唯垂青电视圈)
- 红色代表什么(红色代表什么情感和含义)
- 高中数学题(高中数学题型总结及解题方法)
热门推荐
- mysql 删除数据回收空间(浅谈为什么MySQL不建议delete删除数据)
- nginxdocker界面(Docker部署nginx实现过程图文详解)
- 宝塔面板错误代码3(宝塔面板打开网站No input file specified如何解决?)
- 404页面如何设置
- sqlserver2012如何安装如何使用(Sql server 2012 中文企业版安装图文教程附下载链接)
- html5单选项怎么调选项间距(html5实现输入框fixed定位在屏幕最底部兼容性)
- JQuery中extend的用法
- try...catch... finally 的用法
- css3动画让元素绕着圆圈转动(css3动画过渡实现鼠标跟随导航效果)
- canvas跟随鼠标绘制(如何在Canvas上的图形/图像绑定事件监听的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9