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程序设计有所帮助。
您可能感兴趣
- php7 入门(php7新特性的理解和比较总结)
- php多维数组怎么转换json(php实现的数组转xml案例分析)
- php处理app上传的图片(php用wangeditor3实现图片上传功能)
- phpstudy中php用什么版本(phpstudy是什么?phpstudy有什么用?)
- php开启curl(解决PHP使用CURL发送GET请求时传递参数的问题)
- phpredis怎么测试成功(PHP+redis实现的限制抢购防止商品超发功能详解)
- php如何继承多个类(PHP面向对象程序设计子类扩展父类子类重新载入父类操作详解)
- phpstudy数据库搭建教程交流(phpStudy V8如何修改数据库root密码)
- php7内核剖析(浅析PHP7的多进程及实例源码)
- 搭建php和mysql的运行环境(Windows环境开发PHP完整配置教程Apache+Mysql+PHP)
- redis在php中的使用(PHP+Redis开发的书签案例实战详解)
- php怎么设计策略模式(php设计模式之策略模式应用案例详解)
- php 会话session实现用户登录功能(PHP cookie,session的使用与用户自动登录功能实现方法分析)
- 宝塔面板php能切换吗(BT宝塔面板更换网站PHP版本)
- php数组写法(php文件操作之文件写入字符串、数组的方法分析)
- phpstudyv8.0使用教程学习(phpStudy环境安装SSL证书教程)
- 《倚天屠龙记》再遭翻拍,关晓彤主演赵敏,蒋劲夫演张无忌,你怎么看(倚天屠龙记再遭翻拍)
- 吴启华与曾舜晞两代张无忌同框,戏里经典的他却没活出原著的潇洒(吴启华与曾舜晞两代张无忌同框)
- 经常发这三种 朋友圈 的人,要迅速屏蔽(经常发这三种朋友圈)
- 有种尴尬叫朋友圈忘屏蔽,大学生上演社死现场,父母亲自下场吐槽(有种尴尬叫朋友圈忘屏蔽)
- 朋友圈屏蔽你的人,可以直接看淡了(朋友圈屏蔽你的人)
- 金球奖只青睐那些会戴珠宝的女人(金球奖只青睐那些会戴珠宝的女人)
热门推荐
- webkit倒影方法(巧用 -webkit-box-reflect 倒影实现各类动效小结)
- 宝塔面板端口一般设置多少合适(宝塔面板设置了防盗链不生效如何解决)
- dedecms如何使用标签(dedecms模板标签如何做判断示例代码)
- mysqlselect语句汇总(MySQL Select语句是如何执行的)
- docker创建容器使用教程(Docker容器连接实现步骤解析)
- 完整版sqlserver2019卸载教程(Sql Server 2012完全卸载方法 只需8步轻松卸载)
- eval解析json字符串
- dedecms版本介绍(解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法)
- zabbix客户端看什么网络监控数据(分布式监控系统之Zabbix主动、被动及web监控的过程详解)
- php经典算法大全(php菜单/评论数据递归分级算法的实现方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9