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 微信支付接口问题

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怎么接收回调的值的信息别忘了在本站进行查找喔。


数据运维技术 » Android微信支付:如何在PHP服务器上实现? (android微信支付 php 服务器)