前几天写了一下使用tp5和easywechat集成微信扫码支付的方法(可以点这里查看),里面已经说过咱们安装easywechat了,这里就不在重复说明了,直接写集成的步骤了:
1,相关的配置请参考之前的第一篇文字
2,页面样子如下:
页面代码就不贴了,就只是写了下按钮的代码如下:
- <a href="{:url('mobile/recharge/pay',['amount'=>1])}" type="button" style="width: 98%;height: 40px;background: #2ba245;border: 0;color: #fff;font-size: 16px;">使用微信支付</a>
这里为了掩饰,直接使用a链接跳转,amount就是需要支付的金额,这里的逻辑可以根据自己的情况处理,直接的传递金额还是不要的好,跳转到pay之后,向微信请求生成预支付订单,并获取调取微信支付的相关内容:
Recharge.php中function pay的代码如下:
对应的前台html代码:
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>发起支付-支付</title>
- <script type="text/javascript">
- //调用微信JS api 支付
- function jsApiCall()
- {
- WeixinJSBridge.invoke(
- 'getBrandWCPayRequest',{
$jsondata},
- function(res){
- WeixinJSBridge.log(res.err_msg);
- alert(res.err_code+res.err_desc+res.err_msg);
- }
- );
- }
-
- function callpay()
- {
- if (typeof WeixinJSBridge == "undefined"){
- if( document.addEventListener ){
- document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
- }else if (document.attachEvent){
- document.attachEvent('WeixinJSBridgeReady', jsApiCall);
- document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
- }
- }else{
- jsApiCall();
- }
- }
- callpay();
- </script>
- </head>
- <body>
- <div align="center">
- 正在发起支付,请稍后...
- </div>
- </body>
- </html>
html代码就看你自己发挥了,总之把微信返回的jsondata返回到前端,然后callpay()调起支付就好了,效果如下:
至于回调,参考之前的第一篇即可,处理方式是一样的(一、thinkphp5使用easywechat集成微信扫码支付),其实用easywechat很简单,构建支付参数之后执行即可,公众号内支付一定要支付参数要包含openid,获取openid的方法很多这里暂时就不讨论了,更多使用可以去看easywechat的手册,希望对于你帮助。