罗田县升平网络工作室,一家专业从事网站建设的工作室

资讯论坛

 找回密码
 加入论坛

快捷登录

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。
查看: 924|回复: 0

微信支付JSAPI调起直接支付及判断用户是否支付参数修改

[复制链接]

694

主题

735

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
19765
发表于 2019-4-27 17:43:32 | 显示全部楼层 |阅读模式
https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=11_1
  1. <?php
  2. /**
  3. *
  4. * example目录下为简单的支付样例,仅能用于搭建快速体验微信支付使用
  5. * 样例的作用仅限于指导如何使用sdk,在安全上面仅做了简单处理, 复制使用样例代码时请慎重
  6. * 请勿直接直接使用样例对外提供服务
  7. *
  8. **/
  9. require_once "../lib/WxPay.Api.php";
  10. require_once "WxPay.JsApiPay.php";
  11. require_once "WxPay.Config.php";
  12. require_once 'log.php';

  13. //初始化日志
  14. $logHandler= new CLogFileHandler("../logs/".date('Y-m-d').'.log');
  15. $log = Log::Init($logHandler, 15);

  16. //打印输出数组信息
  17. function printf_info($data)
  18. {
  19.     foreach($data as $key=>$value){
  20.         echo "<font color='#00ff55;'>$key</font> :  ".htmlspecialchars($value, ENT_QUOTES)." <br/>";
  21.     }
  22. }

  23. //①、获取用户openid
  24. try{

  25.         $tools = new JsApiPay();
  26.         $openId = $tools->GetOpenid();

  27.         //②、统一下单
  28.         $input = new WxPayUnifiedOrder();
  29.         $input->SetBody("test");
  30.         $input->SetAttach("test");
  31.         $input->SetOut_trade_no("sdkphp".date("YmdHis"));
  32.         $input->SetTotal_fee("1");
  33.         $input->SetTime_start(date("YmdHis"));
  34.         $input->SetTime_expire(date("YmdHis", time() + 600));
  35.         $input->SetGoods_tag("test");
  36.         $input->SetNotify_url("http://paysdk.weixin.qq.com/notify.php");
  37.         $input->SetTrade_type("JSAPI");
  38.         $input->SetOpenid($openId);
  39.         $config = new WxPayConfig();
  40.         $order = WxPayApi::unifiedOrder($config, $input);
  41.         echo '<font color="#f00"><b>统一下单支付单信息</b></font><br/>';
  42.         printf_info($order);
  43.         $jsApiParameters = $tools->GetJsApiParameters($order);

  44.         //获取共享收货地址js函数参数
  45.         $editAddress = $tools->GetEditAddressParameters();
  46. } catch(Exception $e) {
  47.         Log::ERROR(json_encode($e));
  48. }
  49. //③、在支持成功回调通知中处理成功之后的事宜,见 notify.php
  50. /**
  51. * 注意:
  52. * 1、当你的回调地址不可访问的时候,回调通知会失败,可以通过查询订单来确认支付是否成功
  53. * 2、jsapi支付时需要填入用户openid,WxPay.JsApiPay.php中有获取openid流程 (文档可以参考微信公众平台“网页授权接口”,
  54. * 参考http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html)
  55. */
  56. ?>

  57. <html>
  58. <head>
  59.     <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
  60.     <meta name="viewport" content="width=device-width, initial-scale=1"/>
  61.     <title>微信支付样例-支付</title>
  62.     <script type="text/javascript">
  63.         //调用微信JS api 支付
  64.         function jsApiCall()
  65.         {
  66.                 WeixinJSBridge.invoke(
  67.                         'getBrandWCPayRequest',
  68.                         <?php echo $jsApiParameters; ?>,
  69.                         function(res){
  70.                                 if (res.err_msg == "get_brand_wcpay_request:ok") {
  71.                         alert("支付成功");
  72.                                   window.location.href='./';//支付成功跳转
  73.                     }
  74.                                 WeixinJSBridge.log(res.err_msg);
  75.                                 alert(res.err_code+res.err_desc+res.err_msg);
  76.                                 if(res.err_msg == "get_brand_wcpay_request:cancel"){
  77.                         //alert("用户取消支付");
  78.                   if (window.confirm("需要重新支付吗?")) {
  79.                                             window.onload = callpay();//直接调起支付
  80.                         } else {
  81.                         window.location = "./" ;
  82.                         }
  83.                     }
  84.                           if(res.err_msg == "get_brand_wcpay_request:fail"){
  85.                         alert("支付失败");
  86.                                             //window.onload = callpay();//直接调起支付                  
  87.                         window.location = "./" ;
  88.                     }  
  89.                         }
  90.                 );
  91.         }

  92.         function callpay()
  93.         {
  94.                 if (typeof WeixinJSBridge == "undefined"){
  95.                     if( document.addEventListener ){
  96.                         document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
  97.                     }else if (document.attachEvent){
  98.                         document.attachEvent('WeixinJSBridgeReady', jsApiCall);
  99.                         document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
  100.                     }
  101.                 }else{
  102.                     jsApiCall();
  103.                 }
  104.         }
  105.         </script>
  106.         <script type="text/javascript">
  107.         //获取共享地址
  108.         function editAddress()
  109.         {
  110.                 WeixinJSBridge.invoke(
  111.                         'editAddress',
  112.                         <?php echo $editAddress; ?>,
  113.                         function(res){
  114.                                 var value1 = res.proviceFirstStageName;
  115.                                 var value2 = res.addressCitySecondStageName;
  116.                                 var value3 = res.addressCountiesThirdStageName;
  117.                                 var value4 = res.addressDetailInfo;
  118.                                 var tel = res.telNumber;
  119.                                 
  120.                                 alert(value1 + value2 + value3 + value4 + ":" + tel);
  121.                         }
  122.                 );
  123.         }
  124.         
  125.         window.onload = function(){
  126.                 if (typeof WeixinJSBridge == "undefined"){
  127.                     if( document.addEventListener ){
  128.                         document.addEventListener('WeixinJSBridgeReady', editAddress, false);
  129.                     }else if (document.attachEvent){
  130.                         document.attachEvent('WeixinJSBridgeReady', editAddress);
  131.                         document.attachEvent('onWeixinJSBridgeReady', editAddress);
  132.                     }
  133.                 }else{
  134.                         editAddress();
  135.                 }
  136.         };
  137.         
  138.     window.onload = callpay();//直接调起支付
  139.         </script>
  140. </head>
  141. <body>
  142.     <br/>
  143.     <font color="#9ACD32"><b>该笔订单支付金额为<span style="color:#f00;font-size:50px">1分</span>钱</b></font><br/><br/>
  144.         <div align="center">
  145.                 <button style="width:210px; height:50px; border-radius: 15px;background-color:#FE6714; border:0px #FE6714 solid; cursor: pointer;  color:white;  font-size:16px;" type="button" onclick="callpay()" >立即支付</button>
  146.         </div>
  147. </body>
  148. </html>
复制代码


打赏鼓励一下!
回复

使用道具 举报

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。

浏览排行

(38463)2019-11-5 公共云钱包资金盘骗局揭秘: 网络传销+原始股骗局合体!

(22233)2019-12-20 12月17日 邓智天法院直播庭审疑问全解答!

(20722)2019-12-1 环保币GEC资金盘骗局最新消息: 即将崩盘!

(17244)2019-11-9 巨胸肥臀大长腿,嫩模糯美子真人COS不知火舞福利污图

(15868)2018-12-24 罗田县人民法院公布【第五批失信被执行人名单】 ...

(14972)2019-11-3 曝光!PTFX已经崩盘跑路,投资者血流成河!

(13018)2019-8-7 湖北电力网上缴费,支付宝绑定户号的初始密码是什么?

(12480)2018-10-17 罗田县人民政府“12345”市民服务热线服务指南

(11170)2019-12-11 公安定性了, 趣码是非法传销! 趣码怎么退回365元?

(11081)2019-12-15 满足你对女同事的幻想 风骚秘书阿朱销魂眼神勾魂摄魄

最新发表

[升平网络工作室]2025-8-23 [2025-08-23]罗田天气预报

[升平网络工作室]2025-8-23 西藏自治区成立60周年庆祝大会隆重举行 习近平出席大会

[升平网络工作室]2025-8-23 县委委员会召开查摆问题整改整治情况汇报会

[爱查小程序]2025-8-22 [爱查]在线听音乐操作说明

[升平网络工作室]2025-8-22 [2025-08-22]罗田天气预报

[升平网络工作室]2025-8-22 习近平率中央代表团抵达拉萨出席西藏自治区成立60周年庆祝活动

[升平网络工作室]2025-8-22 县关工委联合经济开发区开展“情系学子”助学活动 助力职工子女圆梦大学

[升平网络工作室]2025-8-21 2025年罗田县卫健系统赴高校公开招聘事业单位工作人员拟聘用人员公示公告

[升平网络工作室]2025-8-21 [2025-08-21]罗田天气预报

[升平网络工作室]2025-8-21 县安防委2025年度第三次全体(扩大)会召开

QQ|Archiver|手机版|小黑屋|资讯论坛BBS.SPW8.CN ( 鄂ICP备2021011341号-3 )|网站地图


手机扫一扫继续访问
[免责声明]
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!
[声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。

进入社区 | 发表新帖 | 百度收录 |
技术提供:罗田县升平网络工作室
站长Email:admin@spw8.cn
投诉电话(刮开查看):15374567400

GMT+8, 2025-8-23 21:40 , Processed in 0.223169 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表