欢迎大家访问我的博客 www.kevink.club, 定时更新php, swoole, golang,redis等内容
之前的本人写的支付宝支付,感觉拖沓, 不如用支付宝官方SDK 来的简单,看起来舒服。 在此编写TP5集成支付宝官方SDK。 项目环境 TP5.0.2 。
在使用支付宝的签名工具时, 注意使用PCKS1 , 非JAVA 。
目录如下:
extend\Alipay.php
支付宝官方SDK 解压后放在alipay文件夹下。
Alipay.php 文件内代码如下
<?php
namespace payment;
use \think\Db;
/**
* @author mselect <445712421@qq.com>
*
* @DateTime 2018-11-16 10:43:44
* 支付宝支付类
*/
class Alipay {
//是否沙盒环境
public $is_sandbox = false;
//沙盒地址
private $sandurl = 'https://openapi.alipaydev.com/gateway.do';
//正式地址
private $url = 'https://openapi.alipay.com/gateway.do';
//appid
private $appid ;
//sand appid
private $sandappid = '沙盒appid';
//回调前缀
private $notify_url;
//商户应用私钥
private $rsaPrivateKey = '正式应用私钥';
//支付宝公钥 验签使用
private $alipayPublicKey= '正式支付宝公钥';
//沙盒应用私钥
private $sandrsaPrivateKey = '沙盒应用私钥';
private $sandalipayPublicKey = '沙盒支付宝公钥';
public function __construct(){
$payment = Db::name('payment')->where('id', 2)->find();
$json = json_decode($payment['json'], true);
$this->appid = $json['appid'];
$this->notify_url = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'];
if(!is_dir('static/logs')){
mkdir('static/logs', 0777);
}
}
/**
* @author mselect <445712421@qq.com>
*
* @DateTime