🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#支付宝 框架整合了支付宝,这对众多使用HDPHP框架的同学来说是个好消息。 申请地址:[https://www.alipay.com](https://www.alipay.com) ##使用 ###配置文件 Config/alipay.php ###路由设置 ``` //服务器异步通知页面路径 Route::get('alipaynotify','Home/Index/alipaynotify'); //页面跳转同步通知页面路径 Route::get('alipayreturn','Home/Index/alipayreturn'); ``` ###控制器 ``` <?php namespace Home\Controller; use Hdphp\Controller\Controller; //支付宝通知处理类 use Hdphp\Alipay\Lib\AlipayNotify; //测试控制器 class IndexController extends Controller { public function pay() { $data = array( 'out_trade_no' => '162',//定单号 'subject' => '订单名称',//订单名称 'total_fee' => '0.1',//付款金额 'body' => '快学网 好好学',//订单描述 'show_url' => 'http://kuaixuewang.com',//商品展示地址 ); //开始支付 Alipay::pay($data); } //服务器异步通知页面路径 public function alipaynotify() { $alipayNotify = new AlipayNotify(C('alipay')); $verify_result = $alipayNotify->verifyNotify(); if ($verify_result) {//验证成功 //请在这里加上商户的业务逻辑程序代... //商户订单号 $out_trade_no = $_POST['out_trade_no']; //支付宝交易号 $trade_no = $_POST['trade_no']; //交易状态 $trade_status = $_POST['trade_status']; if ($_POST['trade_status'] == 'TRADE_FINISHED' || $_POST['trade_status'] == 'TRADE_SUCCESS') { //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //请务必判断请求时的total_fee、seller_id与通知时获取的total_fee、seller_id为一致的 //如果有做过处理,不执行商户的业务程序 //注意: //付款完成后,支付宝系统发送该交易状态通知 } //——请根据您的业务逻辑来编写程序(以上代码仅作参考)—— echo "success"; //不要修改或删除 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } else { //验证失败不要修改或删除 echo "fail"; } } //页面跳转同步通知页面路径 public function alipayreturn() { //计算得出通知验证结果 $alipayNotify = new AlipayNotify(C('alipay')); $verify_result = $alipayNotify->verifyReturn(); if ($verify_result) {//验证成功 //请在这里加上商户的业务逻辑程序代码... //商户订单号 $out_trade_no = $_GET['out_trade_no']; //支付宝交易号 $trade_no = $_GET['trade_no']; //交易状态 $trade_status = $_GET['trade_status']; if ($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') { //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //如果有做过处理,不执行商户的业务程序 } else { echo "trade_status=" . $_GET['trade_status']; } echo "验证成功<br />"; //——请根据您的业务逻辑来编写程序(以上代码仅作参考)—— } else { //验证失败 //如要调试,请看alipay_notify.php页面的verifyReturn函数 echo "验证失败"; } } } ```