在开发平台或者商城项目中需要微信支付或支付宝,网银支付,大家都知道微信只能扫码,或者在手机上打开页面进行支付,所以在这里我们主要使用微信扫码支付,来解决PC网站使用微信支付的问题
成都创新互联主要从事成都网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务泽库,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
下载官方DEMO https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=11_1
把 lib 文件夹拿出来,放到tp5根目录 vendor 文件夹下,重命名为wxpay:
把 example 文件夹下的 WxPay.Config.php 拿出来,放到wxpay目录下,修改require_once,并配置支付参数:
修改 WxPay.Api.php 第二个require_once:
require_once "WxPay.Config.php";
Wxpay控制器
SetBody($goods_name);
$input->SetAttach($goods_name);
$input->SetOut_trade_no($out_trade_no);
$input->SetTotal_fee($paymoney*100);//金额乘以100
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("test");
$input->SetNotify_url("http://www.xxx.com/wxpaynotify"); //回调地址
$input->SetTrade_type("NATIVE");
$input->SetProduct_id("123456789");//商品id
$result = \WxPayApi::unifiedOrder($config, $input);
if($result['result_code']=='SUCCESS' && $result['return_code']=='SUCCESS') {
$url = $result["code_url"];
$this->assign('url',$url);
}else{
$this->error('参数错误');
}
return view();
}
}
支付回调
public function wxpaynotify() {
// 获取微信回调的数据
$notifiedData = file_get_contents('php://input');
//XML格式转换
$xmlObj = simplexml_load_string($notifiedData, 'SimpleXMLElement', LIBXML_NOCDATA);
$xmlObj = json_decode(json_encode($xmlObj), true);
//支付成功
if ($xmlObj['return_code'] == "SUCCESS" && $xmlObj['result_code'] == "SUCCESS") {
foreach ($xmlObj as $k => $v) {
if ($k == 'sign') {
$xmlSign = $xmlObj[$k];
unset($xmlObj[$k]);
};
}
$sign = $this->WxSign($xmlObj);
if ($sign === $xmlSign) {
$trade_no = $xmlObj['out_trade_no']; //商户自定义订单号
$transaction_id = $xmlObj['transaction_id']; //微信交易单号
//省略订单处理逻辑...
//返回成功标识给微信
return sprintf(" ");
}
}
}
//微信签名算法
private function WxSign($param)
{
$signkey = 'xxx';//秘钥
$sign = '';
foreach ($param as $key => $val) {
$sign .= $key . '=' . $val . '&';
}
$sign .= 'key=' . $signkey;
$sign = strtoupper(MD5($sign));
return $sign;
}
前台要生成扫码支付的二维码。把demo中 example 文件夹下的 phpqrcode文件夹 和 qrcode.php 拿出来,放到项目根目录/public下面:
然后页面中使用img标签加载二维码即可:
网页标题:ThinkPHP5.0集成微信扫码支付
文章分享:http://www.shufengxianlan.com/qtweb/news36/300986.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联