整合支付宝即时交易+扫码支付
Thinkphp5技术小技巧,下面是由百分网小编为大家整理的整合支付宝即时交易+扫码支付,喜欢的可以收藏一下!了解更多详情资讯,请关注应届毕业生考试网!
第一步:在配置文件config.php添加配置文件
'ALIPAY_CONFIG' => [
'partner' => '' // partner 从支付宝商户版个人中心获取
'seller_email' => '' // email 从支付宝商户版个人中心获取
'key' => '' // key 从支付宝商户版个人中心获取
'sign_type' => strtoupper(trim('MD5')) // 可选md5 和 RSA
'input_charset' => 'utf-8' // 编码 (固定值不用改)
'transport' => 'http' // 协议 (固定值不用改)
'cacert' => EXTEND_PATH.'Alipay/cacert.pem' // cacert.pem存放的位置 (固定值不用改)
'notify_url' => '' // 异步接收支付状态通知的`链接
'return_url' => '' // 页面跳转 同步通知 页面路径 支付宝处理完请求后当前页面自 动跳转到商户网站里指定页面的 http 路径。 (扫码支付专用)
'private_key_path' => '' //移动端生成的私有key文件存放于服务器的 绝对路径 如果为MD5加密方式;此项可为空 (移动支付专用)
'public_key_path' => '' //移动端生成的公共key文件存放于服务器的 绝对路径 如果为MD5加密方式;此项可为空 (移动支付专用)
]
第二步:在公共文件common.php添加公共函数
function alipay($order){
import('Alipay.AlipaySubmit' EXTEND_PATH '.class.php');
// 获取配置
$config=config('ALIPAY_CONFIG');
$data=array(
"_input_charset" => $config['input_charset'] // 编码格式
"logistics_fee" => "0.00" // 物流费用
"logistics_payment" => "SELLER_PAY" // 物流支付方式SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)
"logistics_type" => "EXPRESS" // 物流类型EXPRESS(快递)、POST(平邮)、EMS(EMS)
"notify_url" => $config['notify_url'] // 异步接收支付状态通知的链接
"out_trade_no" => $order['out_trade_no'] // 订单号
"partner" => $config['partner'] // partner 从支付宝商户版个人中心获取
"payment_type" => "1" // 支付类型对应请求时的 payment_type 参数原样返回。固定设置为1即可
"price" => $order['price'] // 订单价格单位为元
"quantity" => "1" // price、quantity 能代替 total_fee。 即存在 total_fee就不能存在 price 和 quantity;存在 price、quantity 就不能存在 total_fee。 (没绕明白;好吧;那无视这个参数即可)
"receive_address" => '1' // 收货人地址 即时到账方式无视此参数即可
"receive_mobile" => '1' // 收货人手机号码 即时到账方式无视即可
"receive_name" => '1' // 收货人姓名 即时到账方式无视即可
"receive_zip" => '1' // 收货人邮编 即时到账方式无视即可
"return_url" => $config['return_url'] // 页面跳转 同步通知 页面路径 支付宝处理完请求后当前页面自 动跳转到商户网站里指定页面的 http 路径。
"seller_email" => $config['seller_email'] // email 从支付宝商户版个人中心获取
"service" => "create_direct_pay_by_user" // 接口名称 固定设置为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文件
public function alipay_return()
{
// 引入支付宝
import('Alipay.AlipayNotify' EXTEND_PATH '.class.php');
$config = $config = config('ALIPAY_CONFIG');
$notify = new \AlipayNotify($config);
// 验证支付数据
$status = $notify->verifyReturn();
if($status){
// 下面写验证通过的逻辑 比如说更改订单状态等等 $_GET['out_trade_no'] 为订单号;
$this->success('支付成功');
}else{
$this->success('支付失败');
}
}
public function alipay_notify()
{
// 引入支付宝
import('Alipay.AlipayNotify' EXTEND_PATH '.class.php');
$config = $config = config('ALIPAY_CONFIG');
$alipayNotify = new \AlipayNotify($config);
// 验证支付数据
$verify_result = $alipayNotify->verifyNotify();
if($verify_result) {
echo "success";
// 下面写验证通过的逻辑 比如说更改订单状态等等 $_POST['out_trade_no'] 为订单号;
}else {
echo "success";
}
}
public function alipay()
{
$data=array(
'out_trade_no'=>time()
'price'=>1
'subject'=>'测试'
);
alipay($data);
}
最后导入sdk文件(群文件下载)/extend/Alipay
【整合支付宝即时交易+扫码支付】相关文章:
支付宝钱包开通高考成绩查询功能11-14
期货交易与现货交易、远期交易的关系05-31
php如何实现验证码09-07
php实现验证码制作06-20
java如何生成验证码呢12-07
电子支付系统的概述05-05
计算机三级即时通信系统09-23
秦王扫六合教学设计12-06
物流信息的整合-共享05-18