#支付寶
框架整合了支付寶,這對眾多使用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 "驗證失敗";
}
}
}
```
- 基礎
- 框架特性
- 開發規范
- 許可協議
- 安裝
- 偽靜態
- 作者
- 更新日志
- 架構
- 入口文件
- 目錄結構
- 系統常量
- 自動加載
- 應用目錄
- 配置
- 設置配置
- 檢測配置
- 獲取配置
- 配置文件
- 擴展配置
- c 函數
- 函數
- 工具函數
- 控制器
- 定義
- 空方法
- 基本訪問
- 路由
- 基礎路由
- 控制器路由
- 路由參數
- 參數檢測
- 分組路由
- RESTful
- 數據庫
- 配置
- 核心操作
- 查詢構造器
- 表操作
- 事務處理
- 函數
- 查詢日志
- 模型
- 定義模型
- 模型動作
- 構建數據
- 模型驗證
- 自動完成
- 自動過濾
- 字段映射
- 表單令牌
- 字段保護
- 視圖模型
- 關聯模型
- 魔術方法
- 視圖
- 模板配置
- 模板文件
- 分配數據
- 請求響應
- 系統標簽
- 擴展標簽
- 緩存模板
- 模板繼承
- 中間件與鉤子
- 中間件
- 鉤子
- 緩存
- 基礎
- Mysql緩存
- 文件緩存
- 調試
- Trace
- 日志
- 調試模式
- 服務
- 介紹
- 創建服務
- 系統服務
- 自動完成
- 壓縮&解壓
- 自動驗證
- 上傳
- 字符串
- 響應
- 請求數據
- RBAC
- QQ整合登錄
- 分頁
- 郵件
- 語言
- 圖像
- 生成靜態
- 目錄操作
- 數據處理
- curl
- 加密
- Cookie
- 驗證碼
- 購物車
- 備份
- 數組
- 支付寶
- xml
- 工具
- 云接口
- 前端組件
- 基本配置
- 列表框日期選擇
- CSS 樣式
- URL操作
- 數據驗證
- 城市選擇
- JSON處理
- 幻燈片
- checkbox滑動樣式
- 消息框
- md5
- 模態框
- 上傳表單樣式
- 選擇字體
- 剪貼板
- 上傳圖片
- 上傳文件
- 拾色器 spectrum
- 列表框 select2
- 百度地圖
- 二維碼生成
- 表單提交
- 時間管理 moment
- 加載動畫
- 百度編輯器
- Cookie操作
- 圖標庫 font-awesome
- emotion表情
- domReady
- 日期 datetimepicker
- 日期區間列表 daterangepicker
- 日期區間 daterangepicker
- 時間 clockpicker
- 圖表
- 光標控制 caret
- 表單驗證 bootstrapValidator
- 微信
- 配置項
- 綁定開發者
- 獲取access_token
- 網頁授權獲取用戶基本信息
- 微信支付
- 微信紅包
- 用戶管理
- 二維碼
- 回復消息
- 消息管理
- 素材管理
- 會員組管理
- 事件管理
- 消息群發
- 客服
- 自定義菜單
- 菜單管理
- 菜單事件
- 附錄
- 升級環境
- HTTP 狀態碼
- GIT 命令