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

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

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

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

微信扫码支付定义参数

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

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

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

每三秒检测支付是否成功

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

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

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

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

PHP原生代码写的微信扫码支付实例的更多相关文章

  1. PHP PC端微信扫码支付【模式二】详细教程-附带源码(转)

    博主写这破玩意儿的时候花了大概快两天时间才整体的弄懂逻辑,考虑了一下~还是把所有代码都放出来给大家~抱着开源大无私的精神!谁叫我擅长拍黄片呢?同时也感谢我刚入行时候那些无私帮过我的程序员们! 首先还是 ...

  2. 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结

    最近负责的一些项目开发,都用到了微信支付(微信公众号支付.微信H5支付.微信扫码支付.APP微信支付).在开发的过程中,在调试支付的过程中,或多或少都遇到了一些问题,今天总结下,分享,留存. 先说注意 ...

  3. php微信扫码支付

    一 概述 扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信"扫一扫"完成支付的模式.该模式适用于PC网站支付.实体店单品或订单支付.媒体广告支付等场景.前几天公司需要做 ...

  4. asp.net core 微信扫码支付(扫码支付,H5支付,公众号支付,app支付)之1

    2018-08-13更新生成二维码的方法 在做微信支付前,首先要了解你需要什么方式的微信支付,目前本人做过的支付包含扫码支付.H5支付.公众号支付.App支付等,本人使用的是asp.net mvc c ...

  5. ThinkPHP5微信扫码支付

    1.把微信官网下载的demo放在根目录/vendor/目录下,这里我的是/vendor/wxpay_pc目录 2.把cert里面的文件替换成自己项目的证书(登陆微信商户平台,账户中心,API安全下载) ...

  6. JAVA微信扫码支付模式二功能实现完整例子

    概述 本例子实现微信扫码支付模式二的支付功能,应用场景是,web网站微信扫码支付.实现从点击付费按钮.到弹出二维码.到用户用手机微信扫码支付.到手机上用户付费成功.web网页再自动调整到支付成功后的页 ...

  7. thinkphp.2 thinkphp5微信支付 微信公众号支付 thinkphp 微信扫码支付 thinkphp 微信企业付款5

    前面已经跑通了微信支付的流程,接下来吧微信支付和微信企业付款接入到thinkphp中,版本是3.2 把微信支付类.企业付款类整合到一起放到第三方类库,这里我把微信支付帮助类和企业付款类放到同一个文件了 ...

  8. 【移动支付】.NET微信扫码支付接入(模式二-NATIVE)

    一.前言       经过两三天的琢磨总算完成了微信扫码支付功能,不得不感叹几句: 微信提供的DEMO不错,直接复制粘贴就可以跑起来了: 微信的配置平台我真是服了.公众平台.商户平台.开放平台,一个平 ...

  9. PC端微信扫码支付和支付宝跳转支付

    import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.IOException; impo ...

随机推荐

  1. iOS 关闭图片渲染

    在为Button 设置背景图片的时候, 会发现显示的效果和UI给的图片不一样, 往往是把图片显示成为蓝色, 这是因为在新版的iOS中, 会自动对图片渲染. 我们只要把图片渲染关掉就OK了 - (UII ...

  2. 所有流媒体协议,编解码规范和媒体封装格式的datasheet的下载地址

    https://github.com/jiayayao/DataSheet All datasheet about stream protocol, encode-decode spec and me ...

  3. maven install web工程时出错

    [WARNING] Error injecting: org.apache.maven.plugin.war.WarMojo java.lang.NoClassDefFoundError: org/a ...

  4. linux crontab 计划任务设置 (简结)

    命令: crontab  -l  查看当前运行的计划任务 crontab  -e  编辑当前运行计划任务 修改或添加 VIM编辑器用法:按 i 键进入编辑文本状态, esc 结束编辑状态 , :wq ...

  5. Python 学习笔记(十五)Python类拓展(二)方法

    方法 绑定方法和非绑定方法 绑定方法和非绑定方法在创建时没有任何区别,同一方法,既可以为绑定方法,也可以为非绑定方法,一切不同都只在调用时的手法上有所区别. 绑定方法即该方法绑定类的一个实例上,必须将 ...

  6. Oracle 实例管理

    理解初始化参数文件实例由内存中构建它的参数来定义.许多参数(但不是全部)可以在启动后更改.有些参数在启动时就固定了,只能在关闭实例并再次启动时更改. 静态和动态参数文件参数文件由两类:静态参数文件(也 ...

  7. 【OC底层】一个OC对象占用多少内存?

    查看一个NSObject对象占用多少内存 1.引入头文件: #import <objc/runtime.h> #import <malloc/malloc.h> 2.代码如下: ...

  8. js 时间转换毫秒的四种方法(转)

    将时间转换为毫秒数的方法有四个: Date.parse()Date.UTCvalueOf()getTime() 1. Date.parse():该方法接受一个表示日期的字符串参数,然后尝试根据这个日期 ...

  9. docker 安装 MySQL 8.0

    1.查找镜像 查找Docker Hub上的mysql镜像 X230:~$ docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED m ...

  10. Liu Junqiao:生产环境中shell脚本实例

    在生产环境中,我们时常要注意主机的各种硬件状态,如果是规模较大的服务集群zabbix等健康工具当然好用,如果只是一些小规模的服务主机,shell就会表现的更灵活,也更适用,今天就和大家分享一个系统巡检 ...