• PHP原生代码写的微信扫码支付实例


    一款PHP原生代码写的微信扫码支付,不基于任何框架,完全手写。

    扫码支付只要授权域名对就OK,本地是无法测试。跟openid也没有关系,所以跟支付授权目录页没关系。

    微信商户信息配置地址:weixinpay\lib\WxPay.Config.php 第25行

    1 const APPID = 'wx422126b0b6bbfcfc'; // 绑定支付的APPID(必须配置,开户邮件中可查看) 
    2 const MCHID = '1349825901';         // 商户号(必须配置,开户邮件中可查看) 
    3 const KEY = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';  //商户支付密钥,参考开户邮件设置(必须配置,登录商户平台自行设置) 
    4 const APPSECRET = '45843e705995a12106155f4c26f716dc';  //APPSECRET:公众帐号secert(仅JSAPI支付的时候需要配置, 登录公众平台,进入开发者中心可设置)

    微信扫码支付定义参数

    1 $order_no = date("YmdHis") . rand(1000, 9999); //支付订单号 
    2 $order_money = 0.01; //订单金额 元 
    3 $url_notify = $url . "notify.php"; //微信回调地址

    微信第三方推送支付成功信息地址notify.php

    1 $order_no = $simple['out_trade_no'];//商户订单号 
    2 $third_id = $simple['transaction_id'];//微信流水号 
    3 $pay_money = $simple['total_fee'];//实际支付金额 
    4 if ($order_no) {//若是支付成功 ,订单状态state=1表示已支付成功 
    5     $query = mysql_query("UPDATE `order` SET `state` = '1',update_time='" . time() . "',trade_no='".$third_id."' WHERE `order_no` ='" . $order_no . "'"); 
    6 }

    每三秒检测支付是否成功

     1 <script> 
     2     changeOrderStatues();//检测订单是否支付成功 
     3     function changeOrderStatues() {  
     4         var order_no = $("#order_no").val(); 
     5  
     6         $.post("check_order.php", {order_no: order_no}, function(data) { 
     7             if (data > 0) { 
     8                 //订单返回值大于0表示支付成功 
     9                 alert("感谢您赞助,付款成功"); 
    10                 location.href = "order_detail.php?order_no=" + order_no + ""; //支付成功后跳转到订单详情页 
    11             } 
    12         }) 
    13         setTimeout("changeOrderStatues()", 3000); 
    14     } 
    15 </script>

    检测订单是否支付成功check_oder.php

    1 $order_no = isset($_POST['order_no']) ? $_POST['order_no'] : ""; 
    2 if ($order_no) { 
    3     $query = mysql_query("SELECT id FROM `order` WHERE order_no = '" . $order_no . "' AND state = 1 LIMIT 1"); 
    4     $row = mysql_fetch_array($query); 
    5     if ($row) { 
    6         echo $row['id'];//若是返回值,大于0则说明订单支付成功 
    7     } 
    8 }

     本实例教程转自https://www.sucaihuo.com/php/1384.html,转载请注明出处!

  • 相关阅读:
    城市承灾体脆弱性和易损性的影响因素
    《风暴潮、海浪、海啸和海冰灾害应急预案》
    承灾体
    ArcGIS数据存储的方式
    ArcGIS几种数据格式2
    ArcGIS几种数据格式
    【ArcGIS】文件地理数据库,个人地理数据库与ArcSDE的局别
    dojo事件绑定
    Spark最简安装
    Spark 概述
  • 原文地址:https://www.cnblogs.com/woleyia/p/10194859.html
Copyright © 2020-2023  润新知