php微信jsapi支付 支付宝支付 两码合一

php微信jsapi支付 支付宝支付 两码合一

产品开会提出了这样的需求:一个二维码可以微信支付也可以支付宝支付

经过自己的钻研以及询问技术高人(本人代码一般般)和网上搜索 最终实现其功能  我用微信jsapi 和 支付宝网页支付

其实并不怎么难:

  1.微信jsapi支付流程(微信官方文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1)

  2.支付宝支付流程

好了废话不多说 开始开发 代码上(Tp5开发)

 

首先 需要生成一个二维码这个想必大家都会吧!!! phpqrcode(下载地址:https://sourceforge.net/projects/phpqrcode/ )

 1         require_once ROOT_PATH."/phpqrcode/phpqrcode.php";
 2             $value="http://".$_SERVER["HTTP_HOST"]."/admin.php/pay/wx_zfb; //二维码链接   (这个是重中之重!!!)
 3             $errorCorrectionLevel = "H";//容错级别
 4             $matrixPointSize = 6;//生成图片大小
 5             //生成二维码图片
 6             QRcode::png($value, "code/1.png", $errorCorrectionLevel, $matrixPointSize, 2);
 7             $logo = "code/kunchuan.png";//准备好的logo图片
 8             $QR = "code/1.png";//已经生成的原始二维码图
 9             if ($logo !== FALSE) {
10                 $QR = imagecreatefromstring(file_get_contents($QR));
11                 $logo = imagecreatefromstring(file_get_contents($logo));
12                 /* $QR = imagecreatefrompng($QR);
13                 $logo = imagecreatefrompng($logo);*/
14                 if (imageistruecolor($logo))
15                 {
16                     imagetruecolortopalette($logo, false, 65535);//添加这行代码来解决颜色失真问题
17                 }
18 
19                 $QR_width = imagesx($QR);//二维码图片宽度
20                 $QR_height = imagesy($QR);//二维码图片高度
21                 $logo_width = imagesx($logo);//logo图片宽度
22                 $logo_height = imagesy($logo);//logo图片高度
23                 $logo_qr_width = $QR_width / 5;
24                 $scale = $logo_width/$logo_qr_width;
25                 $logo_qr_height = $logo_height/$scale;
26                 $from_width = ($QR_width - $logo_qr_width) / 2;
27                 //重新组合图片并调整大小
28                 imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,
29                     $logo_qr_height, $logo_width, $logo_height);
30             }
31 
32             $lujing =  "code/merge1".png";
33 
34             //输出图片
35             imagepng($QR,$lujing);
36             return  "<img src="http://".$_SERVER["HTTP_HOST"]."/".$lujing."" alt="使用微信或者支付宝扫描支付">";
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php微信jsapi支付 支付宝支付 两码合一