支付寶接口調用

簡介

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; // 獲取支付寶返回數據
            // ...
        }
    }
}

詳細文檔

詳細開發文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章