TP3.2.3 接入支付宝
项目接入支付宝支付了,在做这个给我的感觉是,方便 ,毕竟是老马的产品是吧,
话不多说 , 首先我们先找到官方的SDK ,不想去找的小伙伴复制此链接 https://docs.open.alipay.com/194/105201/
然后解压 如图
这我们只需要将这些文件放到Vendor 文件夹中的Alipay里就可以了,然后就是配置信息了
如图
App_Id 在你的支付宝开发平台可以得到 ,私匙和公匙可以支付宝开放平台的一个生成器可以得到,但是要先生成私匙,在用私匙生成公匙,然后去头去掉换行就好
然后在就是调用了
//支付宝充值操作
public function pay()
{
$config = C('Alipay'); //异步通知地址
$config['notify_url'] = ""; //同步跳转
$config['return_url'] = ""; Vendor('Alipay.pagepay.service.AlipayTradeService');
Vendor('Alipay.pagepay.buildermodel.AlipayTradePagePayContentBuilder'); //商户订单号,商户网站订单系统中唯一订单号,必填
$out_trade_no = trim(I('post.WIDout_trade_no')); //订单名称,必填
$subject = trim(I('post.WIDsubject')); //付款金额,必填
$total_amount = trim(I('post.WIDtotal_amount')); //商品描述,可空
$body = trim(I('post.WIDbody')); $ud = session('users.uid');
$data = array(
'uid'=>$ud, //用户id
'win_code'=>$out_trade_no, //商户订单号
'winsubject'=>$subject, //订单名称
'wintotal_amount'=>$total_amount, //付款金额
'winbody'=>$body, //商品描述
'state'=>'zfb', //支付方式
'status'=>'0', //是否支付
'ordertime'=>time() //交易时间
);
M("pay_record")->add($data); // 保存交易信息 //构造参数
$payRequestBuilder = new \AlipayTradePagePayContentBuilder();
$payRequestBuilder->setBody($body);
$payRequestBuilder->setSubject($subject);
$payRequestBuilder->setTotalAmount($total_amount);
$payRequestBuilder->setOutTradeNo($out_trade_no); $aop = new \AlipayTradeService($config);
$response = $aop->pagePay($payRequestBuilder,$config['return_url'],$config['notify_url']); //输出表单
// var_dump($response); }
然后异步的时候要注意要重跳转之类的 比如是cookie session 判断用户是否登录,没登录就跳转,这些都不可以 ,甚至都不能出现,以免出错 ,在下就是在这里坑了好一会
最后还是客服提醒我的。
搞定收工 , 祝大家早日成为大牛