# 支付寶
支付寶組件用于實現支付寶在線支付功能。
申請地址:[https://www.alipay.com](https://www.alipay.com)
其他產品也可以使用該組件,請登錄 [GITHUB](https://github.com/houdunwang/alipay) 查看源代碼與說明文檔。
[TOC]
## 配置文件
組件可使用配置文件 system/config/alipay.php 進行初始配置。
```
return [
//應用ID,您的APPID。
'app_id' => "",
//商戶私鑰,使用支付寶提供的簽名生成工具創建
'merchant_private_key' => "",
//異步通知地址
'notify_url' => "http://www.houdunwang.com/notifyUrl",
//同步跳轉
'return_url' => "http://www.houdunwang.com/alip/returnUrl",
//編碼格式
'charset' => "UTF-8",
//簽名方式
'sign_type' => "RSA2",
//支付寶網關
'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
//支付寶公鑰,查看地址:https://openhome.alipay.com/platform/keyManage.htm 對應APPID下的支付寶公鑰。使用支付寶提供的簽名生成工具創建
'alipay_public_key' => "",
];
```
## 發起支付
```
$data = [
//商戶訂單號,商戶網站訂單系統中唯一訂單號,必填
'WIDout_trade_no' => time(),
//訂單名稱,必填
'WIDsubject' => '定單名稱',
//付款金額單位元,必填
'WIDtotal_amount' => 0.01,
//商品描述,可空
'WIDbody' => '定單描述',
];
AliPay::PagePay($data);
```
## 通知處理
通知分同步通知與異步通知兩種形式,同步通知用于為用戶顯示支付成功或失敗的頁面。異步通知用于修改定單狀態。
#### 同步通知
```
//簽名驗證
if(AliPay::signCheck()){
//商戶訂單號
$out_trade_no = htmlspecialchars($_GET['out_trade_no']);
//支付寶交易號
$trade_no = htmlspecialchars($_GET['trade_no']);
echo "驗證成功<br />支付寶交易號:".$trade_no;
}else{
echo '支付失敗';
}
```
#### 異步通知
```
$alipaySevice = new \AlipayTradeService(Config::get('alipay'));
//簽名驗證
if ( ! AliPay::signCheck()) {
return 'fail';
}else{
//商戶訂單號
$out_trade_no = $_POST['out_trade_no'];
//支付寶交易號
$trade_no = $_POST['trade_no'];
//交易狀態
$trade_status = $_POST['trade_status'];
if ($_POST['trade_status'] == 'TRADE_FINISHED') {
//支付成功時的業務處理
} else if ($_POST['trade_status'] == 'TRADE_SUCCESS') {
//交易完成時的業務處理
}
//必須返回以下內容給支付寶
return 'success';
}
```
- 文檔已經遷移到后盾人
- 介紹
- 框架特性
- 開發規范
- 許可協議
- 作者向軍
- 安裝框架
- 更新框架
- 基礎
- 入口文件
- 應用配置
- 優雅鏈接
- 目錄結構
- 系統常量
- 自動加載
- 應用密鑰
- 系統函數
- CSRF保護
- 依賴注入
- 跨域訪問
- 配置
- 配置文件
- 基本功能
- 擴展配置
- c 函數
- 控制器
- 定義聲明
- 基本使用
- 相關函數
- 響應消息
- 路由
- 基礎知識
- 基礎路由
- 路由參數
- 參數檢測
- 依賴注入
- 控制器
- 分組路由
- RESTful
- 別名路由
- 數據
- 配置相關
- 核心操作
- 查詢構造器
- 日志記錄
- 分頁處理
- 事務處理
- 函數相關
- 數據庫
- 數據遷移
- 數據填充
- 模型
- 定義模型
- 模型動作
- 模型驗證
- 自動完成
- 自動過濾
- 字段保護
- 數據填充
- 多表關聯
- 分頁處理
- 倉庫
- 數據倉庫
- 查詢規則
- 視圖
- 基礎知識
- 模板配置
- 模板文件
- 分配數據
- 系統標簽
- 擴展標簽
- 緩存模板
- 模板繼承
- 視圖函數
- widget
- vue組件
- 中間件
- 中間件
- 緩存
- 基本操作
- 文件緩存
- 數據表緩存
- 服務
- 服務容器
- 定制服務
- 相關函數
- 請求
- 基本使用
- 請求擴展
- 測試
- 基礎知識
- 基本使用
- HTTP測試
- 調試
- 調試模式
- 日志管理
- 組件
- 多語言
- 響應處理
- Cookie
- Session
- 驗證碼
- XML
- 自動驗證
- 文件處理
- 壓縮解壓
- RBAC
- 數組增強
- 分頁管理
- 圖像處理
- 生成靜態
- 加密解密
- 字符串
- 數據集合
- 工具服務
- 目錄操作
- 郵件發送
- CURL
- QQ登錄
- 數據備份
- 購物車
- 日志處理
- 命令組件
- 二維碼
- 后盾云
- 日期處理
- 阿里
- 支付寶
- 阿里云直播
- 阿里云短信
- 阿里云郵件
- 阿里云OSS
- SOCKET
- 啟動與關閉
- 前端
- 微信