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,转载请注明出处!

原文地址:https://www.cnblogs.com/woleyia/p/10194859.html

时间: 2024-07-29 00:18:52

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

微信扫码支付与生成二维码

二维码 (1) 容错级别 L级(低) 7%的码字可以被恢复. M级(中) 的码字的15%可以被恢复. Q级(四分)的码字的25%可以被恢复. H级(高) 的码字的30%可以被恢复. (2) 二维码生成插件qrious qrious是一款基于HTML5 Canvas的纯JS二维码生成插件.通过qrious.js可以快速生成各种二维码,你可以控制二维码的尺寸颜色,还可以将生成的二维码进行Base64编码. qrious.js二维码插件的可用配置参数如下: 参数 类型 默认值 描述 backgroun

JAVA微信扫码支付模式二功能实现以及回调

一.准备工作 首先吐槽一下微信关于支付这块,本身支持的支付模式就好几种,但是官方文档特别零散,连像样的JAVA相关的demo也没几个.本人之前没有搞过微信支付,一开始真是被它搞晕,折腾两天终于调通了,特此写下来,以享后人吧! 关于准备工作,就"微信扫码支付模式二"官方文档地址在这 https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_1 可以先看看,实际上需要准备的东西有以下几个: 其中APP_ID和APP_SECRET

微信扫码支付(模式一)

项目开源地址:http://git.oschina.net/javen205/weixin_guide 微信扫码支付(模式一)你有测试成功吗?如果你看到了这篇文章,我想你是在测试中遇到问题了.OK 那现在我们来看看微信扫码支付中的坑. 原生支付URL参数错误 回调接口URL有回调,但是接收不到参数 商户后台返回的数据字段结构不合法 获取商户订单信息超时或者商户返回的httpcode非200 官方文档地址:https://pay.weixin.qq.com/wiki/doc/api/native.

.NET MVC结构框架下的微信扫码支付模式二 API接口开发测试

直接上干货 ,我们的宗旨就是为人民服务.授人以鱼不如授人以渔.不吹毛求疵.不浮夸.不虚伪.不忽悠.一切都是为了社会共同进步,繁荣昌盛,小程序猿.大程序猿.老程序猿还是嫩程序猿,希望这个社会不要太急功近利 ,希望每个IT行业的BOSS要有良知,程序猿的青春年华都是无私默默奉献,都是拿命拼出来了现在的成就,如果卸磨杀驴,如果逼良为娼,请MM你的良心对得起你爹妈吗,你也有家,你也有小孩,你也有父母的. 在这里致敬程序猿, 致敬我们的攻城狮,致敬我们最可爱的人! 珍惜生命,换种活法也是依然精彩. Vie

java微信扫码支付(模式二)

微信扫码支付——模式二 代码: PayCommonUtil.java  微信支付常用方法 1 import java.text.SimpleDateFormat; 2 import java.util.Date; 3 import java.util.Iterator; 4 import java.util.Map; 5 import java.util.Set; 6 import java.util.SortedMap; 7 8 public class PayCommonUtil 9 { 1

ThinkPHP5微信扫码支付

1.把微信官网下载的demo放在根目录/vendor/目录下,这里我的是/vendor/wxpay_pc目录 2.把cert里面的文件替换成自己项目的证书(登陆微信商户平台,账户中心,API安全下载) 3.把/wxpay_pc/lib目录下的WxPay.Config.php文件里的信息改成自己的信息,只需改以下四个就行: 3.把example/目录下的notify.php改名为PayNotifyCallBack.php  不改也没事,我是为了和该文件里的类名保持一致 4.把里面require_o

C#微信扫码支付,回调页面

[C#]C# 微信扫码支付 回调页面 C# 微信扫码支付 回调页面 .NET版 微信扫码支付,官方推荐使用[模式二]一.微信扫码支付模式一:1.回调页面:官方demo中example文件下的NativeNotifyPage.aspx2.微信回调地址:http://域名/目录/NativeNotifyPage.aspx是在公众账号平台里面设置的,如下图 二.微信扫码支付模式二:1.回调页面:官方demo中example文件下的ResultNotifyPage.aspx2.微信回调地址:http:/

ThinkPHP微信扫码支付接口

最近折腾微信扫码支付,看了微信官方文档,找了很多网页,发现和文档/demo不匹配,现在自己算是弄出来了(文件名称有所更改),贴出来分享一下 一.将有用的官方lib文件和使用的相关文件放置到vendor当中 二.调用同一支付接口 WechatController //调用同一支付接口public function native($v_oid='',$v_amount=''){ ini_set('date.timezone','Asia/Shanghai'); error_reporting(E_E

C# 微信扫码支付API (微信扫码支付模式二)

一.SDK下载地址:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=11_1,下载.NET C#版本: 二.微信相关设置:(微信扫码支付模式二) 1. 公众账号ID,公众账号secert ,地址:https://mp.weixin.qq.com/ 2. 商户号,商户支付密钥KEY,商户平台地址:https://pay.weixin.qq.com/ 5. 部署的服务器终端ip及回调页面 (1)部署的服务器终端ip:即程序部署所在的