本文章转载自AxiosGao-关于yii2中支付宝电脑网站支付推荐大家关注原作者博客查看更多精彩分享
首先我们需要申请支付宝入驻,具体方法可以参照网址:
根据网站具体流程申请,这些都只需要按照网站提示完成申请即可。
申请完后,我们可以看到如下界面
生成公钥和私钥的方法请参照:
我们在这里可以得到几个参数:
- app_id 应用ID
- notify_url 异步通知地址
- return_url 同步回调地址
- alipay_public_key 支付宝公钥
获取这些参数后,我们就可以开始进行开发了
我们需要下载支付宝sdk和demo
下载地址:
我们需要将sdk放入我们的项目中自定义的扩展目录,如common/vendors,为了更方便的使用,我们将引入支付宝demo中的pagepay文件夹,放入我们的sdk中,当然你也可以自己进行封装。
然后我们可以将demo中的config的代码写入到我们的common/config/params.php中,方便以组件的形式调用
重点内容:
注意,异步通知地址和同步跳转地址都必须是在线可以访问的地址。私钥为之前生成器中生成的私钥,公钥则可以通过网站上查看。
那么,下面我们将在代码中实现支付。
1. 在控制器中引入AlipayTradePagePayContentBuilder.php和AlipayTradeService.php
2. 我们创建一个Test方法来进行支付:
3. 注意我们之前配置的return_url 和 notify_url必须是在线可以访问的地址,然后我们可以在异步和同步分别执行自己的方法
在notify 异步通知和同步回调return_url的时候,也需要引入AlipayTradeService.php文件
同步return_url,因为我们配置的是在check控制器下的alipay方法,我们可以这样实现:
异步notify_url,则同样的可以这样实现: