当前位置: 首页 > news >正文

建站运营新闻建设银行网站查询密码

建站运营新闻,建设银行网站查询密码,html5好的网站模板,有微重庆网站吗最近做了一个小程序支付#xff0c;发现网上还是有很多问题的今天就把整个思路和代码贴给大家并详细的讲解一下 思路#xff1a;1.预支付2.预支付返回的prepay_id 进行重新组建数据#xff0c;搭建需要的参数调用js进行移动端支付3.在2步骤中上传的notify_url地址就是回调地…最近做了一个小程序支付发现网上还是有很多问题的今天就把整个思路和代码贴给大家并详细的讲解一下 思路1.预支付2.预支付返回的prepay_id 进行重新组建数据搭建需要的参数调用js进行移动端支付3.在2步骤中上传的notify_url地址就是回调地址记住小程序这个地址不允许有参数切记在这个地址中处理你的服务器的逻辑 准备的数据1.小程序appid2.小程序绑定的商户号3.商户号申请或者重置后的key值 代码1.准备配置公共配置参数 static $wxpayconf [wx_smallprogram_appidwx13212312313123,// 小程序appidmch_id12312345454 ,// 小程序商户号keyGjanuarygaoqingsong,appsecret1231231212daseqe123213,notify_urlhttp://www.gaoqingsong.com/index.php?,// 支付回调地址];2.预支付部分其实就是统一下单和微信公众号的都一样不过这里我还要贴出来 支付环境配置部分// 统一下单,并且直接支付public function unifiedorder($paydata,$orderSn){// 初始化小程序支付配置$wxpayconf self::$wxpayconf;$userIP $_SERVER[REMOTE_ADDR];$sign[appid] $appid $wxpayconf[wx_smallprogram_appid];$sign[mch_id] $mch_id $wxpayconf[mch_id];$sign[nonce_str] $nonce_str $this-nonceStr();$sign[body] $body Gjanury测试商品;$sign[out_trade_no] $out_trade_no $orderSn;$sign[total_fee] $total_fee 1/*$paydata[actualpayment] * 100*/;// 单位是分 1元 100分$sign[spbill_create_ip] $spbill_create_ip $userIP;// 终端客户端ip$sign[trade_type] $trade_type JSAPI;$sign[openid] $openid $paydata[openid];$sign[notify_url] $notify_url $wxpayconf[notify_url];;$sign[sign] $this-getSign($sign,$wxpayconf[key]);// 统一下单接口$url https://api.mch.weixin.qq.com/pay/unifiedorder;$data $this-arrayToXml($sign);$res $this-postXmlCurl($data,$url);if($res[errNum] ! 0){echo json_encode($res);die;}else{$res $res[info];}if($res[return_code] SUCCESS $res[result_code] SUCCESS){$prepay_id $res[prepay_id];// prepay_id的为预支付// 小程序提供的是接口而已。直接调出即可// 支付环境参数配置部分$yuzhifudata[appId] $wxpayconf[wx_smallprogram_appid];$yuzhifudata[package] prepay_id.$prepay_id;$yuzhifudata[timeStamp] (string)time();$yuzhifudata[nonceStr] $this-nonceStr();$yuzhifudata[signType] MD5;$yuzhifudata[paySign] $this-getSign($yuzhifudata,$wxpayconf[key]);exit(json_encode($yuzhifudata));}else{if($res[return_code] FAIL){$info[return_msg] $res[return_msg];}if($res[result_code] FAIL){$info[err_code] $res[err_code];$info[err_code_des] $res[err_code_des];}exit($info);}// 签名方法private function getSign($params, $key1){//签名步骤一按字典序排序数组参数ksort($params);$singstring ;foreach ($params as $key $value) {$singstring . .$key . . $value;}$string $singstring . key . $key1;//签名步骤三MD5加密$string ltrim($string,);$string md5($string);//签名步骤四所有字符转为大写$result strtoupper($string);return $result;}// 数组转xmlpublic function arrayToXml($arr,$is_arrayfalse){ if (!$is_array){ $xml xml; } foreach ($arr as $key$val){ if(is_array($val)){ $xml..$key..$this-arrayToXml($val,true)./.$key.; }else{ $xml..$key..$val./.$key.; } } if (!$is_array){ $xml./xml; }return $xml; }3.小程序js部分wx.request({url: http://www.gaoqingsong.com/index.php?mxxxxapayment, data: {tablenumber: tablenumber,// 下单桌号orderdetail: JSON.stringify(that.data.goods),// 点餐的详情对象转化成json字符串方便后台进行存储调用amount: that.data.totalprice,// 订餐的总价格actualpayment: that.data.totalprice,// 实际付款金额openid: useropenid,// 实际付款金额wxheadimg: wxinfo.avatarUrl,wxname: wxinfo.nickName,},method: POST,header: {content-type: application/x-www-form-urlencoded// post方式提交用这种header头},success: function (res) {wx.navigateTo({url: ../paysuccess/paysuccess});var timeStamp res.data.timeStamp;wx.requestPayment({timeStamp: timeStamp,nonceStr: res.data.nonceStr,package: res.data.package,signType: res.data.signType,paySign: res.data.paySign,success: function (res) {if(res.errMsg requestPayment:ok){wx.navigateTo({url: ../paysuccess/paysuccess});}},fail: function (res) {console.log(res);},complete: function (res) { }})}})4.回调页面代码$receipt $_REQUEST;if($receiptnull){$receipt file_get_contents(php://input);}if($receipt null){$receipt $GLOBALS[HTTP_RAW_POST_DATA];}$post_data $this-xml_to_array($receipt); $postSign $post_data[sign];unset($post_data[sign]);ksort($post_data);// 对数据进行排序$str $this-ToUrlParams($post_data);//对数组数据拼接成keyvalue字符串$user_sign strtoupper(md5($post_data)); //再次生成签名与$postSign比较$ordernumber $post_data[out_trade_no];// 订单可以查看一下数据库是否有这个订单if($post_data[return_code]SUCCESS$postSign){// 查询订单是否已经支付$result M(userorder)-where(ordernumber .$ordernumber.)-select();if($result){if($result[0][paystatus] 0){// 进行更改支付成功状态$obj array(paystatus 1,);$res M(userorder)-where(ordernumber .$ordernumber.)-save($obj);file_put_contents(gg.txt,$res);if($res){$this-return_success();}}else{$this-return_success();}}else{echo 微信支付失败,数据未存在该订单。;}}else{// 写个日志记录file_put_contents(wxpayerrorlog.txt,$post_data[return_code].PHP_EOL, FILE_APPEND);echo 微信支付失败;}5.效果图1.web开发端效果2.移动端效果
http://www.w-s-a.com/news/208512/

相关文章:

  • 增城电子商务网站建设浙江省住房和城乡建设部网站
  • 企业网站宽度给多少手机软件开发公司排名
  • 装修设计网站哪个平台最好免费自助建站工具
  • 网站建设规划结构网站服务费怎么做分录
  • 哪里有做网站的公司微商怎么开店步骤
  • 访问不了服务器的网站北京工业产品设计公司
  • 怎么棋牌网站建设口碑好的福州网站建设
  • 怎么样注册一个网站南通网站定制搭建
  • 网站免费正能量软件下载wordpress 多本小说
  • 临淄网站制作价格低长沙谷歌seo收费
  • 吴江公司网站建设电话免费的那种软件
  • 大淘客网站如何做seo网络广告设计公司
  • 厦门网络营销顾问湘潭网站seo
  • asp.net个人网站淮南 搭建一个企业展示网站
  • 备案关闭网站wordpress 替换
  • 台州建设网站制作wordpress乱码
  • 互联网时代 网站建设做交互设计的网站
  • 网站屏蔽中文浏览器湘潭做网站广告的公司
  • 好看的单页面网站模板免费下载手机网站经典案例
  • 优秀网站建设平台建筑模板工厂价格尺寸
  • 合肥微信网站建设旅游景区网站模板
  • 一个只做百合的网站wordpress文章和博客的区别
  • 编写网站策划方案网站哪里有
  • 网站做得好的公司国家防疫政策最新调整
  • 设计优秀的企业网站做行测的网站
  • 提供做网站公司有哪些关键词优化诊断
  • 建站合肥网络公司seo免费建手机商城网站吗
  • 设计师投资做项目网站外贸网站建设工作室
  • 无聊的网站wordpress的alt属性插件
  • 个股期权系统网站开发小清新wordpress模板