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

一款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原生代码写的微信扫码支付实例的更多相关文章
- PHP PC端微信扫码支付【模式二】详细教程-附带源码(转)
博主写这破玩意儿的时候花了大概快两天时间才整体的弄懂逻辑,考虑了一下~还是把所有代码都放出来给大家~抱着开源大无私的精神!谁叫我擅长拍黄片呢?同时也感谢我刚入行时候那些无私帮过我的程序员们! 首先还是 ...
- 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
最近负责的一些项目开发,都用到了微信支付(微信公众号支付.微信H5支付.微信扫码支付.APP微信支付).在开发的过程中,在调试支付的过程中,或多或少都遇到了一些问题,今天总结下,分享,留存. 先说注意 ...
- php微信扫码支付
一 概述 扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信"扫一扫"完成支付的模式.该模式适用于PC网站支付.实体店单品或订单支付.媒体广告支付等场景.前几天公司需要做 ...
- asp.net core 微信扫码支付(扫码支付,H5支付,公众号支付,app支付)之1
2018-08-13更新生成二维码的方法 在做微信支付前,首先要了解你需要什么方式的微信支付,目前本人做过的支付包含扫码支付.H5支付.公众号支付.App支付等,本人使用的是asp.net mvc c ...
- ThinkPHP5微信扫码支付
1.把微信官网下载的demo放在根目录/vendor/目录下,这里我的是/vendor/wxpay_pc目录 2.把cert里面的文件替换成自己项目的证书(登陆微信商户平台,账户中心,API安全下载) ...
- JAVA微信扫码支付模式二功能实现完整例子
概述 本例子实现微信扫码支付模式二的支付功能,应用场景是,web网站微信扫码支付.实现从点击付费按钮.到弹出二维码.到用户用手机微信扫码支付.到手机上用户付费成功.web网页再自动调整到支付成功后的页 ...
- thinkphp.2 thinkphp5微信支付 微信公众号支付 thinkphp 微信扫码支付 thinkphp 微信企业付款5
前面已经跑通了微信支付的流程,接下来吧微信支付和微信企业付款接入到thinkphp中,版本是3.2 把微信支付类.企业付款类整合到一起放到第三方类库,这里我把微信支付帮助类和企业付款类放到同一个文件了 ...
- 【移动支付】.NET微信扫码支付接入(模式二-NATIVE)
一.前言 经过两三天的琢磨总算完成了微信扫码支付功能,不得不感叹几句: 微信提供的DEMO不错,直接复制粘贴就可以跑起来了: 微信的配置平台我真是服了.公众平台.商户平台.开放平台,一个平 ...
- PC端微信扫码支付和支付宝跳转支付
import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.IOException; impo ...
随机推荐
- SSIS Debug
プロジェクト=>最后一项[DEPJ1200プロパテイページ] 1.配置...=>CreaeDeploymentUtility=True2.デパッグ=>Run64BiRuntime=f ...
- 删除gitlab上的分支
好久没有更新了, 今天记录一下删除gitlab上的分支的操作 登录仓库后, 依次点击: project --> home --> Readme --> repository --&g ...
- iOS之UIButton扩大按钮的响应区域
在开发中有时会遇见设计图里按钮设计的特别小,这时会用到手动扩大UIButton的响应范围,下面有两个解决办法: 第一种方法:创建一个类目:UIButton+EnlargeTouchArea .h文件 ...
- duplicate symbol _OBJC_IVAR
duplicate symbol _OBJC_IVAR - Kingdev - 博客园 代码合并问题 git合并提示冲突文件为project.pbxproj,先去掉所有冲突提示<<< ...
- 19-3-14Python中函数的进阶
1.动态参数: def func(*args): #在形参位置*叫做聚合 print(args) #元组形式 func(1,2,3,4,5,6) def func(**kwargs): # 动态关键字 ...
- 小白的Unity5之路(二)镜头平滑跟随角色
这次要完成Camera跟随Player移动, 首先考虑Camera的跟随目标target和平滑移动速度smothing再考虑Camera与Player的偏移量(就是Camera与Player有一个永恒 ...
- Spring AOP代理模式
代理模式 代理模式是一种设计模式,提供了对目标对象的另外的访问方式.即通过代理访问目标对象. 好处:可以再目标对象实现的基础上,增加额外的功能的操作.扩展目标对象的功能,而不改变现有的功能逻辑. 1. ...
- T+API HTTPServer服务端
该服务端是一个HTTP服务器,这样其他语言调用也方便. 出于某些原因,只支持Post方法,不打算支持其他方法,例如Get. API所接受的参数将以Json传送,回传的数据也是一个Json数据,一切只是 ...
- IOT大数据大世界大未来,物联网产业大数据应用简析
在物联网时代,面对PB级的数据,企业将难以以一己之力完成基础设施的建设.物联网所产生的大量数据不仅会驱动现在的数据中心发生根本性的变化,同时也会驱动相关企业采用新的大数据策略. 物联网的价值在于数据: ...
- Leecode刷题之旅-C语言/python-383赎金信
/* * @lc app=leetcode.cn id=383 lang=c * * [383] 赎金信 * * https://leetcode-cn.com/problems/ransom-not ...