教你使用easywechat开发微信支付功能
白羽 2018-06-06 来源 :网络 阅读 4174 评论 0

摘要:本文将教你使用easywechat开发微信支付功能,希望本文对大家学微信有所帮助。


easywechat是神一样的存在。非常好用。希望大家都能转到这上面来。

 

用easywechat来开发微信支付功能,步骤如下:

 

一,需要有一个商品下单页面,页面上有你的商品的信息,还要有购买数量,和一个购买按钮。

        用户在这个页面浏览商品信息的时候,可以选择购买的数量,然后点击提交进入下一个页面。

       (这个页面,跟淘宝的商品购买页面一样。)

 

二,创建一个页面,接收上面一步提交来的数据,然后做如下计算 。

 

       1,根据商品ID或是提交来的商品信息,生成商品的参数数组。

 

[php] view plain copy
1. $product = [  
2.     'trade_type'       => 'JSAPI', // 微信公众号支付填JSAPI  
3.     'body'             => '一盒火柴',  
4.     'detail'           => '一盒火些',  
5.     'out_trade_no'     => 'MYERPORDERID12345678', // 这是自己ERP系统里的订单ID,不重复就行。  
6.     'total_fee'        => 8888, // 金额,这里的8888分人民币。单位只能是分。  
7.     'notify_url'       => '//www.xxx.com/order_notify', // 支付结果通知网址,如果不设置则会使用配置里的默认地址  
8.     'openid'           => 'you-open-id', // 这个不能少,少了要报错。  
9.     // ...  基本上这些参数就够了,或者参考微信文档自行添加删除。  
10. ];

        2,接下来,生成商品对象。

 

[php] view plain copy
1. $order = new Order($product);


        3,再接下来,要进行调用前计算了。

 

[php] view plain copy
1. $app = new Application(config('wechat'));  
2. $payment = $app->payment;  
3. $result = $payment->prepare($order); // 这里的order是上面一步得来的。 这个prepare()帮你计算了校验码,帮你获取了prepareId.省心。  
4. $prepayId = null;  
5. if ($result->return_code == 'SUCCESS' && $result->result_code == 'SUCCESS'){  
6.     $prepayId = $result->prepay_id; // 这个很重要。有了这个才能调用支付。  
7. } else {  
8.     var_dump($result);  
9.     die("出错了。");  // 出错就说出来,不然还能怎样?  
10. }  
11. $config = $payment->configForJSSDKPayment($prepayId); // 这个方法是取得js里支付所必须的参数用的。 没这个啥也做不了,除非你自己把js的参数生成一遍

 

 

        4,就快进入正题,但是,还没完。还要取得一个数据。

 

[php] view plain copy
1. $app = new Application(config('wechat'));  
2. $js = $app->js;  // 这个是jssdk里页面上需要用到的js参数信息。

 

        5,上面获得的$js 和 $config数据,要在页面里显示出来。

                注意,上面几步都不涉及显示,只是在生成页面显示所需要的数据。

                现在才需要把这些显示在页面上。

 

[php] view plain copy
1. <script src="//res.wx.qq.com/open/js/jweixin-1.0.0.js" type="text/javascript" charset="utf-8"></script>  
2. <script type="text/javascript" charset="utf-8">  
3.     wx.config({{ <span style="font-family: Arial, Helvetica, sans-serif;">$js->config(array('chooseWXPay')) </span><span style="font-family: Arial, Helvetica, sans-serif;">}}); </span>  
4. </script>  
5. <script>  
6.     $(function(){  
7.   
8.         $(".btn-do-it").click(function(){  
9.             wx.chooseWXPay({  
10.                 timestamp: "{{$config['timestamp']}}", // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符  
11.                 nonceStr: '{{$config['nonceStr']}}', // 支付签名随机串,不长于 32 位  
12.                 package: '{{$config['package']}}', // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)  
13.                 signType: '{{$config['signType']}}', // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'  
14.                 paySign: '{{$config['paySign']}}', // 支付签名  
15.                 success: function (res) {  
16.                     // 支付成功后的回调函数  
17.                     if(res.err_msg == "get_brand_wcpay_request:ok" ) {  
18.                         alert('支付成功。');  
19.                         window.location.href="{{url("wechat/pay_ok")}}";  
20.                     }else{  
21.                         //alert(res.errMsg);  
22.                         alert("支付失败,请返回重试。");  
23.                     }  
24.                 },  
25.                 fail: function (res) {  
26.                     alert("支付失败,请返回重试。");  
27.                 }  
28.             });  
29.         });  
30.     });  
31. </script>

 


   

 

        再来理一个,第二步里,这个页面需要显示一个确认信息,比如商品的名称,和支付的总金额。

        页面上应该有一个按钮,用来触发支付(.btn-do-it)。

        页面里的js就是第5步里要显示的内容。

 

 

        总结:

        第一步,商品信息页面,用户选择购买数据,点购买,提交到第二步的确认页面。

        第二步的确认页面,根据商品信息,和微信配置信息,生成必要的支付数据,并显示购买确认信息,和一个支付按钮,

        用户点击支付按钮,发起支付。

        支付完成,提示用户,或转到相应页面。

        微信的开发团队提醒我们,请以微信的推送信息为准来处理订单,不然有可能人财两空。

 

 


 


    本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!


 

  

 


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 2 不喜欢 | 1
看完这篇文章有何感觉?已经有3人表态,67%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved