簡介
WannanBibPig\Alipay
📦 對接支付寶最新接口,使用靈活方便,你只需要關注傳入支付數據,其他都不用管,交給我就行
說明
使用支付寶最新接口完成的擴展,簡化對接支付寶接口的流程,方便在不同項目中快速上手使用。使用時只需要根據你所要對接的接口關注傳遞參數即可。
你在閱讀本文之前確認你已經仔細閱讀了:支付寶開放平臺文檔
歡迎 Star,歡迎 PR!
github : https://github.com/wannanbigpig/alipay
運行環境
- PHP 7.0+
- composer
安裝
composer require wannanbigpig/alipay -vvv
使用
use WannanBigPig\Alipay\Alipay;
class PayController
{
// 配置(包含支付寶的公共配置,日誌配置,http配置等)
protected $config = [
'app_id' => '*********',
// 服務商需要設置子商戶的授權token,商戶自調用不需要設置此參數
'app_auth_token' => '',
'notify_url' => 'http://wannanbigpig.com/notify.php',
'return_url' => 'http://wannanbigpig.com/return.php',
// 支付寶公鑰,可以是絕對路徑(/data/***.pem)或着一行祕鑰字符串
'ali_public_key' => '******',
'sign_type' => 'RSA2',
// 商戶私鑰,可以是絕對路徑(/data/***.pem)或着一行祕鑰字符串
'private_key' => '**********',
'log' => [
// optional
'file' => '/data/wwwroot/alipay.dev/logs/alipay.log',
'level' => 'debug', // 建議生產環境等級調整爲 info,開發環境爲 debug
'type' => 'daily', // optional, 可選 single.
'max_file' => 30, // optional, 當 type 爲 daily 時有效,默認 30 天
],
'http' => [
// optional
'timeout' => 5.0,
'connect_timeout' => 5.0,
// 更多配置項請參考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
],
'env' => 'dev', // optional[normal,dev],設置此參數,將進入沙箱模式,不傳默認正式環境
/**
* 業務返回處理
* 設置true, 返回碼 10000 則正常返回成功數據,其他的則拋出業務異常
* 捕獲 BusinessException 異常 獲取 raw 元素查看完整數據並做處理
* 不設置默認 false
*/
'business_exception' => true
];
/**
* 當面付 統一收單交易支付接口
*/
public function pay()
{
try{
$result = Alipay::payment($this->config)->pay([
'out_trade_no' => WannanBigPig\Supports\Str::getRandomInt('lml', 3),
'total_amount' => 100,
'scene' => "bar_code",
'auth_code' => "287951669891795468",
'product_code' => "FACE_TO_FACE_PAYMENT",
'subject' => '商品標題',
]);
// ...
}catch (BusinessException $e){
// business_exception 配置項開啓後需要捕獲該異常處理請求失敗的情況
$res = $e->raw; // 獲取支付寶返回數據
// ...
}
}
}