最新版支付宝电脑网站支付原理及yii2中集成使用教程

本文章转载自AxiosGao-关于yii2中支付宝电脑网站支付推荐大家关注原作者博客查看更多精彩分享

首先我们需要申请支付宝入驻,具体方法可以参照网址:

https://open.alipay.com/platform/home.htm

根据网站具体流程申请,这些都只需要按照网站提示完成申请即可。

申请完后,我们可以看到如下界面 
最新版支付宝电脑网站支付原理及yii2中集成使用教程

最新版支付宝电脑网站支付原理及yii2中集成使用教程

生成公钥和私钥的方法请参照:

https://docs.open.alipay.com/291/105971

我们在这里可以得到几个参数:

  1. app_id 应用ID
  2. notify_url 异步通知地址
  3. return_url 同步回调地址
  4. alipay_public_key 支付宝公钥

获取这些参数后,我们就可以开始进行开发了

我们需要下载支付宝sdk和demo 
下载地址:

https://docs.open.alipay.com/270/106291/

我们需要将sdk放入我们的项目中自定义的扩展目录,如common/vendors,为了更方便的使用,我们将引入支付宝demo中的pagepay文件夹,放入我们的sdk中,当然你也可以自己进行封装。 
最新版支付宝电脑网站支付原理及yii2中集成使用教程

然后我们可以将demo中的config的代码写入到我们的common/config/params.php中,方便以组件的形式调用 
最新版支付宝电脑网站支付原理及yii2中集成使用教程
重点内容: 
注意,异步通知地址和同步跳转地址都必须是在线可以访问的地址。私钥为之前生成器中生成的私钥,公钥则可以通过网站上查看。

那么,下面我们将在代码中实现支付。

1. 在控制器中引入AlipayTradePagePayContentBuilder.php和AlipayTradeService.php

最新版支付宝电脑网站支付原理及yii2中集成使用教程

2. 我们创建一个Test方法来进行支付:

最新版支付宝电脑网站支付原理及yii2中集成使用教程

3. 注意我们之前配置的return_url 和 notify_url必须是在线可以访问的地址,然后我们可以在异步和同步分别执行自己的方法

在notify 异步通知和同步回调return_url的时候,也需要引入AlipayTradeService.php文件

同步return_url,因为我们配置的是在check控制器下的alipay方法,我们可以这样实现: 
最新版支付宝电脑网站支付原理及yii2中集成使用教程

异步notify_url,则同样的可以这样实现:

最新版支付宝电脑网站支付原理及yii2中集成使用教程