在公共文件common.php添加支付函数
function alipay_config()
{
$s = array(
'partner' => '支付宝合作者身份ID',
'seller_email' => '支付宝账号',
'key' => '支付宝安全校验码',
'sign_type' => strtoupper(trim('MD5')),
'input_charset' => 'utf-8',
'transport' => 'https',
'cacert' => './extend/Alipay/cacert.pem',
'notify_url' => '你的域名/alipay/alipay_notify.html',
'return_url' => '你的域名/alipay/alipay_return.html',
'private_key_path' => '',
'public_key_path' => '',
);
return $s;
}
function alipay($order)
{
require './extend/Alipay/AlipaySubmit.class.php';
$config = alipay_config();
$data = array(
'_input_charset' => $config['input_charset'],
'logistics_fee' => '0.00',
'logistics_payment' => 'SELLER_PAY',
'logistics_type' => 'EXPRESS',
'notify_url' => $config['notify_url'],
'out_trade_no' => $order['out_trade_no'],
'partner' => $config['partner'],
'payment_type' => '1',
'price' => $order['price'],
'quantity' => '1',
'receive_address' => '1',
'receive_mobile' => '1',
'receive_name' => '1',
'receive_zip' => '1',
'return_url' => $config['return_url'],
'seller_email' => $config['seller_email'],
'service' => 'create_direct_pay_by_user',
'show_url' => $order['show_url'],
'subject' => $order['subject']
);
$alipay = new \AlipaySubmit($config);
$new = $alipay->buildRequestPara($data);
$go_pay = $alipay->buildRequestForm($new, 'get','支付');
echo $go_pay;
}在控制器创建如Alipay.php文件namespace app\home\controller;
use think\facade\Db;
class Alipay
{
function function alipay()
{
if (request()->isGet()) {
$price = '0.1';
$subject = '测试';
$out_trade_no = time();
$data = array('out_trade_no' => $out_trade_no, 'price' => $price, 'subject' => $subject);
alipay($data);
}
}
function alipay_return()
{
require './extend/Alipay/AlipayNotify.class.php';
$config = alipay_config();
$notify = new \AlipayNotify($config);
$status = $notify->verifyReturn();
if ($status) {
if (request()->isGet()) {
// 下面编写你的业务逻辑代码,如:input('out_trade_no') 为订单号;
}
}
}
function alipay_notify()
{
require './extend/Alipay/AlipayNotify.class.php';
$config = alipay_config();
$rechargeNotify = new \AlipayNotify($config);
$verify_result = $rechargeNotify->verifyNotify();
if ($verify_result) {
if (request()->isPost()) {
// 下面编写你的业务逻辑代码,如:input('out_trade_no') 为订单号;
}
}
}
}SDK地址:https://www.featwork.com/blog/2-1-21.html 