Android微信支付:如何在PHP服务器上实现? (android微信支付 php 服务器)
Android微信支付已成为越来越多人选择的支付方式。相对于传统的现金支付、银行卡支付,微信支付更便捷、更快捷、更安全。那么,如何在PHP服务器上实现Android微信支付呢?本文将给出详细的步骤和方法,希望对需要的朋友有所帮助。
一、申请微信支付账号
在使用微信支付之前,需要先申请一个微信支付的账号。具体申请流程和操作说明可以参考微信支付官方文档。
二、准备工作
在开始配置微信支付前,我们需要准备以下材料:
1、微信支付账号的API密钥
在微信支付账号申请成功之后,会得到一个API密钥。这个密钥很重要,要妥善保管好,不要泄露给其他人。
2、服务器证书
在微信支付申请过程中,需要申请一个商户支付证书。证书可以用于加密交易数据,提供更安全的支付环境,也是连接微信支付服务器的必要条件。
3、安装cURL支持
在PHP服务器上实现微信支付需要用到cURL库。如果服务器上没有安装cURL库,需要安装之后才能正常使用。
三、配置微信支付
在准备好相关材料之后,我们需要进行微信支付的配置。具体步骤如下:
1、下载微信支付代码
在微信支付官方网站上下载相关的代码库。
2、安装微信支付SDK
将下载的微信支付SDK解压到服务器的文件目录中,并更改文件夹的访问权限。
3、配置支付参数
在下载的SDK中找到demo文件夹,并打开config.php文件。将微信支付账号的相关信息输入到对应的参数中,如下图所示:
4、创建支付订单
在支付页面中,需要使用微信支付SDK生成一个支付订单。订单生成成功后,将订单信息发送给微信支付服务器,等待支付结果的返回。
5、处理支付结果
在支付完成之后,微信支付服务器会发送支付结果回调至指定的URL,我们需要在服务器端使用PHP代码接收并处理支付结果。
四、结语
通过以上步骤,我们可以在PHP服务器上实现Android微信支付。在实际应用中,需要根据具体情况进行微调和优化,才能达到更好的支付体验和效果。希望本文对需要的朋友有所帮助。
相关问题拓展阅读:
- php 微信支付接口问题
- 微信支付接口开发用php如何实现?
- 微信v扫码支付二返回的notify.php怎么接收回调的值
php 微信支付接口问题
WxPay.Config.php文件的第21行茄含发生了语法错误,目测不是你少了分号就是少了括号之类的问题,仔细检查一下,WxPay.Config.php文念塌件的代码颤高笑贴出来看看
微信支付接口开发用php如何实现?
看看镇滑这个
,或漏坦许对你返旅桐有帮助
你好。关于这个问题:
先进入开发者中心-》改衫网页授权获取用户基本信息-》修改成你的测试域名。否则会出现redirect_uri 参数
微‘信’支‘付’接口现在也慢慢的像支‘付’宝一个可以利用api接口来实现第3方网|站(pigcms)或应用者则进行支付了。
希望我的回答对您有用核嫌腔,望采纳~
微信v扫码支付二返回的notify.php怎么接收回调的值
其实在写这篇文章的时候感觉自己已经落伍了,不过笔者在百度上搜索”微信支付开发之扫描支付(模式二)后如何回调”寻找答案时,发现依旧有很多朋友没有解决这个问题,所以就把自己的解决思路分享给大家。
一、下载微信支付SDK(笔者以php发开为例,sdk包为WxpayAPI_php_v3.zip)下载SDK包后解压,在解压目录下,我们会看到如下目录二、查阅微信支付开发者文档后得知,微信扫码支付的demo即为example目录下的native.php文件为了方便,我们要做的是将整个解压后的文件放入到本地环境的根目录下的wxpay(可随个人喜好命名)文件夹中三、以笔者为例,在浏览器中输入
打开上面网址后,发现有两个二维码,如题,我们今天研究的是模式二扫码(官方也推荐模式二扫码支付)四、我们用手机登陆微信,扫描上面页面中的模式二的二维码,并且支付在这里我们发现一个有趣的问题,当你支付成功后,PC页面中并没有发生任何变化,所以我们考虑的主要问题是,支付后如何进行回调。
这里不说多的废话了,笔者参考了网上的诸多方法,总结如下:
1、删掉native.php文件中扫码模式一的一些html,只剩下扫码模式二的一些相关html代码。
2、由世桐于官方文档中也说明了,扫码模式二的支付结果是异步响应,不会主动返回支付结果,所以我们采用了javascript去时时监听支付结果,然后根据请求的结果,在做下一步的页面回调。笔者最终代码如下,有兴趣的朋友可以参考下:
native.php文件
复制代码
1 GetPrePayUrl(“”);21
22 //模式二
23 /**
24 * 流程:
25 * 1、调用统一下单,取得code_url,生成二维码26 * 2、用户扫描二维码,进行支付
27 * 3、支付完成之后,微信服务器会通知支付成功28 * 4、在支付键返戚成功通知中需要查单确认是否真正支付成功(见:notify.php)29 */
30 $input = new WxPayUnifiedOrder();
31 $input->SetBody(“1分钱购买何宁”);
32 $input->SetAttach(“1分钱购买何宁”);
33 $num=WxPayConfig::MCHID.date(“YmdHis”);34 $input->SetOut_trade_no($num);
35 $input->SetTotal_fee(“1”);
36 $input->SetTime_start(date(“YmdHis”));37 $input->SetTime_expire(date(“YmdHis”, time() + 600));38 $input->SetGoods_tag(“test”);
39 $input->SetNotify_url(“
“);40 $input->SetTrade_type(“NATIVE”);
41 $input->SetProduct_id(“”);
42 $result = $notify->GetPayUrl($input);
43 $url2 = $result;
44 ?>
45
46
47
微信支付样例
51
52
扫描支付模式二
<img src="qrcode.php?data=” align=”center”>” style=”width:150px;height:150px;”/>
//设置每隔1000毫秒执行一次load() 方法var myIntval=setInterval(function(){load()},1000);function load(){
document.getElementById(“timer”).innerHTML=parseInt(document.getElementById(“timer”).innerHTML)+1;var xmlhttp;
if (window.XMLHttpRequest){
// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest();}else{
// code for IE6, IE5
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);}
xmlhttp.onreadystatechange=function(){ if (xmlhttp.readyState==4 && xmlhttp.status==200){ trade_state=xmlhttp.responseText; if(trade_state==’SUCCESS’){document.getElementById(“myDiv”).innerHTML=’支付成功’;//alert(transaction_id);//延迟3000毫秒执行tz() 方法clearInterval(myIntval);setTimeout(“location.href=’success.php'”,3000);78
}else if(trade_state==’REFUND’){document.getElementById(“myDiv”).innerHTML=’转入退款’;clearInterval(myIntval); }else if(trade_state==’NOTPAY’){document.getElementById(“myDiv”).innerHTML=’请扫码支付’;84
}else if(trade_state==’CLOSED’){document.getElementById(“myDiv”).innerHTML=’已关闭’;clearInterval(myIntval); }else if(trade_state==’REVOKED’){document.getElementById(“myDiv”).innerHTML=’已撤销’;clearInterval(myIntval); }else if(trade_state==’USERPAYING’){document.getElementById(“myDiv”).innerHTML=’用户支付中’; }else if(trade_state==’PAYERROR’){document.getElementById(“myDiv”).innerHTML=’支付失败’;clearInterval(myIntval); }
97
}
}
//orderquery.php 文件返回订单状态,通过订单状态确定支付状态xmlhttp.open(“POST”,”orderquery.php”,false);//下面这句话必须有
//把标签/值对添加到要发送的头文件。
xmlhttp.setRequestHeader(“Content-type”,”application/x-www-form-urlencoded”);xmlhttp.send(“out_trade_no=”);106
}
109
110
111
复制代码
orderquery.php代码也做了相应调整:
$value){
echo “$key : $value “;}
}
if(isset($_REQUEST) && $_REQUEST != “”){$transaction_id = $_REQUEST;$input = new WxPayOrderQuery();
$input->SetTransaction_id($transaction_id);//printf_info(WxPayApi::orderQuery($input));$result=WxPayApi::orderQuery($input);
echo $result;
exit();
}
if(isset($_REQUEST) && $_REQUEST != “”){$out_trade_no = $_REQUEST;$input = new WxPayOrderQuery();
$input->SetOut_trade_no($out_trade_no);
//printf_info(WxPayApi::orderQuery($input));$result=WxPayApi::orderQuery($input);
echo $result;
exit();
}
?>
新建success.php文件:
微信支付成功
微信支付成功
android微信支付 php 服务器的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于android微信支付 php 服务器,Android微信支付:如何在PHP服务器上实现?,php 微信支付接口问题,微信支付接口开发用php如何实现?,微信v扫码支付二返回的notify.php怎么接收回调的值的信息别忘了在本站进行查找喔。