这里我直接上代码,附有注释,直接把我的代码粘贴一下就可以用了,也是自己走了好多的弯路。。,写在博客里做个记录直接把里面的参数替换成你的就可以了,前提是你要开通的有微信支付功能,需要商户号,appid,appsecret,openid,openid的获取比较简单,我再写一篇博客做介绍,不懂得可以私聊我//小程序端代码:pay:function(){varthat=thiswx.getStorage({key:’openid’,success:function(res){wx.request({//这里是后台的处理方法,url是自定义的,直接换成你自己的后台处理方法即可,Wx_Pay这个方法在下面写的有//后台用的php做处理,java的可以参考方法,道理都是一样的url:url+’Wx_Pay’,data:{//用户的openidopenid:res.data,fee:that.data.totalPrice,//支付金额details:that.data.goodsList[0].goods_name,//支付商品的名称},success:function(result){if(result.data){//out_trade_no=res.data[‘out_trade_no’];wx.requestPayment({timeStamp:result.data[‘timeStamp’],nonceStr:result.data[‘nonceStr’],package:result.data[‘package’],signType:’MD5′,paySign:result.data[‘paySign’],’success’:function(successret){console.log(‘支付成功’);//获取支付用户的信息wx.getStorage({key:’userInfo’,success:function(getuser){//加入订单表做记录wx.request({url:url+’Wx_AddOrder’,data:{uname:getuser.data.nickName,goods:that.data.goodsList[0].goods_name,price:that.data.totalPrice,openid:res.data,},success:function(lastreturn){console.log(“存取成功”);}})},})},’fail’:function(res){}})}}})},})},//后台//微信支付publicfunctionWx_Pay(){$request=Request::instance();$fee=$request-param(‘fee’);$details=$request-param(‘details’);//商品的详情,比如iPhone8,紫色//$fee=0.01;//举例充值0.01$appid=’appid’;//appid$body=$details;//’金邦汇商城’;//’【自己填写】’$mch_id=’1486742092′;//’你的商户号【自己填写】’$nonce_str=$this-nonce_str();//随机字符串$notify_url=’https://zys.jinbh.cn/admin/Api/Wx_Speech’;//回调的url【自己填写】’;$openid=$request-param(‘openid’);//’用户的openid【自己填写】’;$out_trade_no=$this-order_number($openid);//商户订单号$spbill_create_ip=’123.206.45.131′;//’服务器的ip【自己填写】’;$total_fee=$fee100;//因为充值金额最小是1而且单位为分如果是充值1元所以这里需要100$trade_type=’JSAPI’;//交易类型默认//这里是按照顺序的因为下面的签名是按照顺序排序错误肯定出错$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=’xmlappid’.$appid.’/appidbody’.$body.’/bodymch_id’.$mch_id.’/mch_idnonce_str’.$nonce_str.’/nonce_strnotify_url’.$notify_url.’/notify_urlopenid’.$openid.’/openidout_trade_no’.$out_trade_no.’/out_trade_nospbill_create_ip’.$spbill_create_ip.’/spbill_create_iptotal_fee’.$total_fee.’/total_feetrade_type’.$trade_type.’/trade_typesign’.$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;}else{$data[‘state’]=0;$data[‘text’]=”错误”;$data[‘RETURN_CODE’]=$array[‘RETURN_CODE’];$data[‘RETURN_MSG’]=$array[‘RETURN_MSG’];}echojson_encode($data);}//随机32位字符串privatefunctionnonce_str(){$result=”;$str=’QWERTYUIOPASDFGHJKLZXVBNMqwertyuioplkjhgfdsamnbvcxz’;for($i=0;$i32;$i++){$result.=$str[rand(0,48)];}return$result;}//生成订单号privatefunctionorder_number($openid){//date(‘Ymd’,time()).time().rand(10,99);//18位returnmd5($openid.time().rand(10,99));//32位}//签名$data要先排好顺序publicfunctionsign($data){$stringA=”;foreach($dataas$key=$value){if(!$value)continue;if($stringA)$stringA.=’&’.$key.”=”.$value;else$stringA=$key.”=”.$value;}$wx_key=’Zhangyusheng19810318015729366660′;//申请支付后有给予一个商户账号和密码,登陆后自己设置key$stringSignTemp=$stringA.’&key=’.$wx_key;//申请支付后有给予一个商户账号和密码,登陆后自己设置keyreturnstrtoupper(md5($stringSignTemp));}//curl请求啊functionhttp_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);if(!empty($data)){curl_setopt($curl,CURLOPT_POST,1);curl_setopt($curl,CURLOPT_POSTFIELDS,$data);}curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);$output=curl_exec($curl);curl_close($curl);return$output;}//获取xmlprivatefunctionxml($xml){$p=xml_parser_create();xml_parse_into_struct($p,$xml,$vals,$index);xml_parser_free($p);$data=””;foreach($indexas$key=$value){if($key==’xml’||$key==’XML’)continue;$tag=$vals[$value[0]][‘tag’];$value=$vals[$value[0]][‘value’];$data[$tag]=$value;}return$data;}//微信支付结束

PHP实现微信小程序免密支付,微信免密支付,微信小程序实现微信支付功能!!!...相关推荐

  1. 微信小程序开发-微信支付之免密支付(自动扣费)一 小程序+java接口

    微信小程序开发-微信支付之免密支付(自动扣费)一 小程序+java接口 链接: 点击进入

  2. 关于个人如何接入微信支付接口,适用于h5,小程序等应用场景

    关于个人如何接入微信支付接口,适用于h5,小程序等应用场景, 众所周知,要想使用微信支付实现公众号.商城.小程序.h5网页等产品或者服务购买,需要申请微信小程序或者服务号,并且要企业认证,还要提交微信 ...

  3. 提高微信小程序的应用速度的常见方式有哪些? 小程序怎么实现下拉刷新? 简述微信小程序原理? 小程序的发布流程(开发流程)分析下微信小程序的优劣势?小程序授权登录流程? 小程序支付如何实现

    小程序部分常见面试题 提高微信小程序的应用速度的常见方式有哪些? 提高页面加载速度 用户行为预测 减少默认data的大小 组件化方案 分包预下载 小程序与原生App相比优缺点? 优点: 基于微信平台开 ...

  4. 微信支付分免密支付接口服务如何开通?

    1.支付分免密扣款的实现流程: 用户使用完服务,商户调用支付分完结接口发起扣款,微信支付将代商户进行免密代扣. 若扣款失败,商户无需再次发起扣款申请,微信支付将按一定频次,再次发起免密代扣,直到扣款成 ...

  5. 2022年最新微信小程序支付后端代码通俗易懂一篇文章让你了解微信支付

    一.获取客户资料(百度很简单) #1.微信支付API秘钥 appsecret: d1056292feb*******439f32a0179baf918#2.微信商户IDmchid: 1618****6 ...

  6. 《十四》微信小程序中的常用 API之登录、获取用户信息、支付、提现、跳转小程序、网络请求、弹框、导航、数据缓存、图片、查看文档、音频、拨打电话、剪贴板、滚动、WXML

    微信小程序提供了 wx 这个全局变量,通过这个全局变量可以调用微信小程序的 API. 登录: wx.login():获取登录凭证 code.通过登录凭证 code 进而换取用户登录态信息,包括用户在当 ...

  7. 微信小程序发布流程(附加免上线可提前体验方案)

    注:如果你已经懂得小程序的发布流程,主要想学习免上线可提前访问的具体流程,为了节约你的宝贵时间,请直接一步到本篇博客的第三章节. 目录 1. 小程序的开发 1.1 小程序的前期准备 2. 小程序的发布 ...

  8. 微信小程序开发开篇词 自顶向下,云端赋能:小程序的高效开发之道

    你好,我是周俊鹏,做前端开发已经 6 年多了,目前我就职于腾讯云 TCB 团队,负责腾讯云开发 CloudBase 前端相关的研发和生态建设工作.我可以说是第一批次的微信小程序开发者,2016 年 9 ...

  9. 小程序可不止微信,带你认识百度抖音头条支付宝平台小程序的优势

    思域流量.微商城.社交分享,这是应该是你接触小程序听到的第一个关键词吧,其实思域流量仅仅是冰山一角而已,因为以上的关键词顶多是微信小程序的优势,而目前跳动字节下出现了抖音.今日头条也有小程序入口.支付 ...

  10. 程序的图标无法改变_安卓微信7.0.7内测版发布,细节更新,小程序功能优化

    昨天,微信 7.0.7 for Android 内测版悄然发布,如何参加内测可以咨询本人.按照近来的惯例,安卓的内测版的功能会在随后的更新iOS正式版中体现,并且要先于安卓正式版发布.下面我们就来简单 ...

最新文章

  1. CentOS 7配置LNMP开发环境及配置文件管理详解
  2. ‘FactorAnalyzer‘ object has no attribute ‘analyze‘和fa.loadings改成fa.loadings报错解决
  3. 腾讯云黑石TStack一体机柜斩获2019数博会领先科技成果双重“优秀项目奖”
  4. osg节点访问和遍历
  5. 基于MPI的H.264并行编码代码移植与优化
  6. 什么叫做石英表_什么是石英表 石英表是什么意思
  7. 收藏!Java 500 道核心面试题全解析
  8. RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案)
  9. 谈谈VIP漂移那点破事
  10. 奥维地图(OMAP)中坐标为什么有偏移?如何基于WGS84或GCJ02的经纬度坐标生成kml?怎么导出图上一个标签点的WGS84经纬度坐标?
  11. 2018上海科技大学991数据结构与算法
  12. matlab自动变量名,matlab中如何自动给变量命名?
  13. 【翻转直角三角形图案】
  14. streaing-kafka
  15. 前端字体压缩(免费简单易上手)
  16. 图解:什么是二叉排序树?
  17. CentOS7下配置域名解析服务器
  18. 使用shp数据批量裁剪栅格数据并统计均值
  19. CentOS 8 安装NVIDIA-Linux显卡驱动
  20. 自然语言处理之中文分词(基于Python)

热门文章

  1. Hadoop FS 常用命令详解
  2. 百度地图api去除logo,以及三维按钮
  3. 软件工程第二次作业——模仿实现主流网页
  4. 腾讯越来越不懂游戏了
  5. 天龙八部荣耀版体验服服务器未响应,《天龙八部荣耀版》体验服评测:用竖版画面重新诠释天龙江湖...
  6. 力扣(SQL)584. 寻找用户推荐人
  7. STM32F103C8T6最小系统
  8. c语言用if分解三位数,c语言if语句练习题.doc
  9. 3.汇编指令:【寻址方式】立即数寻址、寄存器寻址、存储器寻址
  10. ARM Cortex-M0系统简介