第三方浏览器微信支付唤醒

news/2024/11/7 23:35:21/

wxpay_wap.php

 1 // 文档中说的,价格 单位是分2 $money = $_POST['money']*100; //商品价格3 // 前台请求的参数4 $title = $_POST['title']; //商品名称5 $userid = $_POST['userid']; //用户id6 7 $time = time();8 9 $nonce_str = "hcuasduvihasdiovjerjgvujsaru"; //随机字符串
10 $appid = "**********************"; //在微信开放平台中的 appid(先要创建一个移动应用)
11 $mch_id = "************";  //商户号,在商户平台中查看
12 $key = "*********************************"; //在微信开放平台中的 
13 $notify_url = "http://www.xxx.com/xxx/wxnotify.php"; //用户支付完后微信会来触发这个脚本,是处理业务逻辑的地方
14 //订单号可以灵活使用,比如我这个地方把userid加进去,在异步回调的时候方便直接操作用户
15 $out_trade_no = $time."__".$userid; 
16 
17 // 下面的参数含义直接看文档
18 $tmpArr = array(
19     'appid'=>$appid,   //不要填成了 公众号原始id
20     'attach'=>$title, 
21     'body'=>$title,
22     'mch_id'=>$mch_id,
23     'nonce_str'=>$nonce_str,  
24     'notify_url'=>$notify_url,
25     'out_trade_no'=>$out_trade_no, 
26     'spbill_create_ip'=>$_SERVER['REMOTE_ADDR'],
27     'total_fee'=>$money,
28     'trade_type'=>'MWEB' 
29     );
30 // 签名逻辑官网有说明,签名步骤就不解释了
31 ksort($tmpArr);  
32 
33 $buff = "";
34 foreach ($tmpArr as $k => $v)
35 {
36    $buff .= $k . "=" . $v . "&";
37 }
38 $buff = trim($buff, "&");
39 $stringSignTemp=$buff."&key=51b3363e91fe317fc346526f5933f15e";
40 $sign= strtoupper(md5($stringSignTemp)); //签名
41 
42 $xml = "<xml>
43            <appid>".$appid."</appid>
44            <attach>".$title."</attach>
45            <body>".$title."</body>
46            <mch_id>".$mch_id."</mch_id>
47            <nonce_str>".$nonce_str."</nonce_str>
48            <notify_url>".$notify_url."</notify_url>
49            <out_trade_no>".$out_trade_no."</out_trade_no>
50            <spbill_create_ip>".$_SERVER['REMOTE_ADDR']."</spbill_create_ip>
51            <total_fee>".$money."</total_fee>
52            <trade_type>MWEB</trade_type>
53            <sign>".$sign."</sign>
54         </xml> ";
55 
56 $posturl = "https://api.mch.weixin.qq.com/pay/unifiedorder";
57 
58 $ch = curl_init($posturl);
59 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
60 curl_setopt($ch, CURLOPT_POST, 1);  
61 curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); 
62 $response = curl_exec($ch);  
63 curl_close($ch);
64 
65 $xmlobj = json_decode(json_encode(simplexml_load_string($response, 'SimpleXMLElement', LIBXML_NOCDATA ))); 
66 exit($xmlobj->mweb_url);

 ------------------------------------------

wxpay_wap_notify.php

 1 // 本脚本的业务逻辑只是个例子,仅供参考2 3 // 拿到原始数据并通过xml类解析为对象4 $postObj = simplexml_load_string(file_get_contents("php://input"), 'SimpleXMLElement', LIBXML_NOCDATA );5 // 你可以通过下面这种方式来看一下微信究竟返回了那些参数,请保证log.php存在并且有写权限6 // file_put_contents(dirname(__file__)."/log.php",file_get_contents("php://input"));7 $arr = array();8 foreach ($postObj as $key => $value) {9     $arr[$key] = $value;
10 } 
11 // 订单状态
12 $status = $arr['result_code'];
13 
14 if(trim($status) == "SUCCESS") {
15     // 微信订单
16     $out_trade_no = $arr['transaction_id'];
17 
18         // 价格
19         $money = $arr['total_fee']/100;
20         // 在商户订单号中提取用户id,上一个脚本中我说了这个商户订单号可以灵活使用
21         $uid = explode("__", $arr['out_trade_no'])[1];
22 
23         // 在数据库中检查这个订单号是否已经处理过了 以免重复处理,因为很多原因微信可能多次触发本脚本
24         // checkrepeat(orderid);
25 
26         /
27                                                             /
28             这里处理业务逻辑....                            /    
29                                                             /            
30         /
31 
32         // 处理完逻辑 返回这个xml数据,告诉微信服务器,这个订单号已经处理完了 不要在来骚扰我了
33         $xml = "
34                 <xml>
35                   <return_code><![CDATA[".$status."]]></return_code>
36                   <return_msg><![CDATA[OK]]></return_msg>
37                 </xml>";
38         echo $xml;
39         
40 }

http://www.ppmy.cn/news/335222.html

相关文章

黑莓8900刷机教程 即黑莓如何刷机

最近把我的blackberry 8900的系统刷成了最近的OS v5.0.0.681&#xff0c;找到了如下的一些资料。 1. http://www.52blackberry.com/viewthread.php?tid288721&extra&page1 这是52blackberry上的刷机教程&#xff0c;不过刷的是4.2的系统&#xff0c;不过流程我们可以借…

[黑莓开发之路][01][黑莓开发平台介绍][01][概述]

概述 RIM推出新一代BlackBerry智能手机的同时&#xff0c;也重新整合了BlackBerry开发平台&#xff0c;使BlackBerry程序开发不再局限于J2ME程序。简单来说&#xff0c;黑莓开发平台分成三个版块&#xff1a;BlackBerry Browser Development&#xff08;黑莓浏览器开发&#xf…

黑莓Q5 使用评测

首先介绍一下LZ购买的手机以及个人使用习惯&#xff1a;8月23日在X宝第一家卡拉购入黑色英版Q5&#xff0c;前后使用时间不超过三天&#xff0c;实际使用时间不会超过24小时&#xff0c;开机时显示开机时间是8月6号&#xff0c;估计是卖家给激活过。数据使用情况忘记看了&#…

[2012黑莓赛]黑莓BB10程序开发 [大二THS_201]

1 文档简介 背景 2012年5月2日&#xff0c;Research In Motion&#xff08;RIM&#xff09;与其子公司QNX在2012黑莓世界大会上宣布&#xff0c;将面向中国广大高校学生举办基于BlackBerry操作系统平台的应用开发竞赛。那一年&#xff0c;我也是参赛者。 内容 此文档主要介绍在…

Others6_USB Type-C到底是什么

1 多功能正反插 苹果让大众认识Type-C “Type-C”这个名称随着苹果全新一代MacBook笔记本电脑的发布而变得人尽皆知&#xff0c;很多人都惊呼“哇&#xff01;一个接口就可以充当USB、视频输出及电源如此多接口的作用&#xff0c;真是神了&#xff01;” Type-C接口的出现似乎…

云终端处理器——Atom

由于上周展会的缘故&#xff0c;开始对云终端【I】处理器产生兴趣&#xff0c;接下来在“物理层”【II】来理解下X86-Atom&#xff0c;ARM&#xff0c;MIPS三种处理器&#xff0c;这是第一篇&#xff0c;主Atom Intel公司的官网简单介绍了一句 “英特尔 凌动【III】 处理器&am…

龙讯7号 国芯发布龙芯电脑引争议

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01; LSLSLSLSLSLSLSLSLSLSLSLSLSLSLSLS …

关于Windows7下无线共享上网的几种方法

学校宿舍网使用的是锐捷认证客户端&#xff0c;限制多网卡&#xff0c;一旦检测到就会断开认证链接&#xff0c;想共享上网不是很容易啊~~后来宿舍有人买来了一台TP-Link无线路由器想用它来共享上网。可是只要把宿舍网线插进WAN口&#xff0c;无论如何都没法认证成功&#xff0…