首页 > 编程 > PHP > 正文

php实现微信以及小程序扫码支付的代码

2020-03-22 19:55:53
字体:
来源:转载
供稿:网友
本篇文章给大家带来的内容是关于php实现微信以及小程序扫码支付的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

 ?php //微信支付 * 适用于微信所有支付, 扫码支付 小程序支付 二维码的需要接入生成二维码的代码,这个可以共用* xml 根据文档自行删改, 共用微信统一下单dome html' target='_blank'>class Payapi 统一下单 public function Pay($orderid,$total_fee){ 参数是订单号 加金额, 可以改动,  $fee = $total_fee;//举例充值0.01 $appid = //如果是公众号 就是公众号的appid $body = 名字  $mch_id = 商户号  $nonce_str = $this- nonce_str();//随机字符串 $notify_url = 回调地址  $out_trade_no = $orderid;//商户订单号 $spbill_create_ip = 主机ip  $total_fee = $fee*100;//因为充值金额最小是1 而且单位为分 如果是充值1元所以这里需要*100 $trade_type = NATIVE //交易类型 默认
//这里是按照顺序的 因为下面的签名是按照顺序 排序错误 肯定出错 $post[ appid ] = $appid; $post[ body ] = $body; $post[ mch_id ] = $mch_id; $post[ nonce_str ] = $nonce_str;//随机字符串 $post[ notify_url ] = $notify_url; // $post[ openid ] = $openid; $post[ out_trade_no ] = $out_trade_no; $post[ spbill_create_ip ] = $spbill_create_ip;//终端的ip $post[ total_fee ] = $total_fee;//总金额 最低为一块钱 必须是整数 $post[ trade_type ] = $trade_type; $sign = $this- sign($post);//签名 $post_xml = xml appid .$appid. /appid body .$body. /body mch_id .$mch_id. /mch_id nonce_str .$nonce_str. /nonce_str notify_url .$notify_url. /notify_url openid .$openid. /openid out_trade_no .$out_trade_no. /out_trade_no spbill_create_ip .$spbill_create_ip. /spbill_create_ip total_fee .$total_fee. /total_fee trade_type .$trade_type. /trade_type sign .$sign. /sign /xml //统一接口prepay_id $url = https://api.mch.weixin.qq.com/pay/unifiedorder $xml = $this- http_request($url,$post_xml); $array = $this- xml($xml);//全要大写 if($array[ RETURN_CODE ] == SUCCESS $array[ RESULT_CODE ] == SUCCESS ){ $time = time(); $tmp= //临时数组用于签名 $tmp[ appId ] = $appid; $tmp[ nonceStr ] = $nonce_str; $tmp[ package ] = prepay_id= .$array[ PREPAY_ID $tmp[ signType ] = MD5 $tmp[ timeStamp ] = $time $data[ state ] = 1; $data[ timeStamp ] = $time //时间戳 $data[ nonceStr ] = $nonce_str;//随机字符串 $data[ signType ] = MD5 //签名算法,暂支持 MD5 $data[ package ] = prepay_id= .$array[ PREPAY_ID //统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=* $data[ paySign ] = $this- sign($tmp);//签名,具体签名方案参见微信公众号支付帮助文档; $data[ out_trade_no ] = $out_trade_no; $data[ CODE_URL ] =$array[ CODE_URL }else{ $data[ state ] = 0; $data[ text ] = 错误 $data[ RETURN_CODE ] = $array[ RETURN_CODE $data[ RETURN_MSG ] = $array[ RETURN_MSG return json_encode($data);
private function order_number($openid){ // date( Ymd ,time()).time().rand(10,99);//18位 return md5($openid.time().rand(10,99));//32位
$wx_key = //申请支付后有给予一个商户账号和密码,登陆后自己设置key $stringSignTemp = $stringA. key= .$wx_key;//申请支付后有给予一个商户账号和密码,登陆后自己设置key return strtoupper(md5($stringSignTemp)); //curl请求啊 function http_request($url,$data = null,$headers=array()) $curl = curl_init(); if( count($headers) = 1 ){ curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
独孤九贱(5)_ThinkPHP5视频教程

ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《VeVb.com独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...

Peter-Zhu 2017-05-16 12:03:57


独孤九贱(4)_PHP视频教程

江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。PHP 出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...

Peter-Zhu 2017-03-20 22:47:17


独孤九贱(1)_HTML5视频教程

《VeVb.com原创html5视频教程》课程特色:php 原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。...

Peter-Zhu 2017-03-13 10:15:11


ThinkPHP5实战之[教学管理系统]

本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。

Peter-Zhu 2017-07-24 16:48:56


PHP入门视频教程之一周学会PHP

所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...

PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表