整合支付寶即時交易+掃碼支付

整合支付寶即時交易+掃碼支付
  Thinkphp5技術小技巧,下面是由本站小編爲大家整理的整合支付寶即時交易+掃碼支付,喜歡的可以收藏一下!瞭解更多詳情資訊,請關注應屆畢業生考試網!    第一步:在配置文件添加配置文件    'ALIPAY_CONFIG' => [    'partner' => '' // partner 從支付寶商戶版個人中心獲取    'seller_email' => '' // email 從支付寶商戶版個人中心獲取    'key' => '' // key 從支付寶商戶版個人中心獲取    'sign_type' => strtoupper(trim('MD5')) // 可選md5 和 RSA    'input_charset' => 'utf-8' // 編碼 (固定值不用改)    'transport' => 'http' // 協議 (固定值不用改)    'cacert' => EXTEND_PATH.'Alipay/' // 存放的位置 (固定值不用改)    'notify_url' => '' // 異步接收支付狀態通知的鏈接    'return_url' => '' // 頁面跳轉 同步通知 頁面路徑 支付寶處理完請求後當前頁面自 動跳轉到商戶網站裏指定頁面的 http 路徑。 (掃碼支付專用)    'private_key_path' => '' //移動端生成的私有key文件存放於服務器的 絕對路徑 如果爲MD5加密方式;此項可爲空 (移動支付專用)    'public_key_path' => '' //移動端生成的公共key文件存放於服務器的 絕對路徑 如果爲MD5加密方式;此項可爲空 (移動支付專用)    ]    第二步:在公共文件添加公共函數    function alipay($order){    import('aySubmit' EXTEND_PATH '');    // 獲取配置    $config=config('ALIPAY_CONFIG');    $data=array(    "_input_charset" => $config['input_charset'] // 編碼格式    "logistics_fee" => "0.00" // 物流費用    "logistics_payment" => "SELLER_PAY" // 物流支付方式SELLER_PAY(賣家承擔運費)、BUYER_PAY(買家承擔運費)    "logistics_type" => "EXPRESS" // 物流類型EXPRESS(快遞)、POST(平郵)、EMS(EMS)    "notify_url" => $config['notify_url'] // 異步接收支付狀態通知的.鏈接    "out_trade_no" => $order['out_trade_no'] // 訂單號    "partner" => $config['partner'] // partner 從支付寶商戶版個人中心獲取    "payment_type" => "1" // 支付類型對應請求時的 payment_type 參數原樣返回。固定設置爲1即可    "price" => $order['price'] // 訂單價格單位爲元    "quantity" => "1" // price、quantity 能代替 total_fee。 即存在 total_fee就不能存在 price 和 quantity;存在 price、quantity 就不能存在 total_fee。 (沒繞明白;好吧;那無視這個參數即可)    "receive_address" => '1' // 收貨人地址 即時到賬方式無視此參數即可    "receive_mobile" => '1' // 收貨人手機號碼 即時到賬方式無視即可    "receive_name" => '1' // 收貨人姓名 即時到賬方式無視即可    "receive_zip" => '1' // 收貨人郵編 即時到賬方式無視即可    "return_url" => $config['return_url'] // 頁面跳轉 同步通知 頁面路徑 支付寶處理完請求後當前頁面自 動跳轉到商戶網站裏指定頁面的 http 路徑。    "seller_email" => $config['seller_email'] // email 從支付寶商戶版個人中心獲取    "service" => "create_direct_pay_by_user" // 接口名稱 固定設置爲create_direct_pay_by_user    "show_url" => $order['show_url'] // 商品展示網址收銀臺頁面上商品展示的超鏈接。    "subject" => $order['subject'] // 商品名稱商品的標題/交易標題/訂單標 題/訂單關鍵字等    );    $alipay=new AlipaySubmit($config);    $new=$alipay->buildRequestPara($data);    $go_pay=$alipay->buildRequestForm($new 'get''支付');    echo $go_pay;    }    第三步:在控制器創建如文件    public function alipay_return()    {    // 引入支付寶    import('ayNotify' EXTEND_PATH '');    $config = $config = config('ALIPAY_CONFIG');    $notify = new AlipayNotify($config);    // 驗證支付數據    $status = $notify->verifyReturn();    if($status){    // 下面寫驗證通過的邏輯 比如說更改訂單狀態等等 $_GET['out_trade_no'] 爲訂單號;    $this->success('支付成功');    }else{    $this->success('支付失敗');    }    }    public function alipay_notify()    {    // 引入支付寶    import('ayNotify' EXTEND_PATH '');    $config = $config = config('ALIPAY_CONFIG');    $alipayNotify = new AlipayNotify($config);    // 驗證支付數據    $verify_result = $alipayNotify->verifyNotify();    if($verify_result) {    echo "success";    // 下面寫驗證通過的邏輯 比如說更改訂單狀態等等 $_POST['out_trade_no'] 爲訂單號;    }else {    echo "success";    }    }    public function alipay()    {    $data=array(    'out_trade_no'=>time()    'price'=>1    'subject'=>'測試'    );    alipay($data);    }    最後導入sdk文件(羣文件下載)/extend/Alipay