<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## PHP-支付寶-APP支付 *參考文檔:* https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.5c86Lp&treeId=204&articleId=105297&docType=1 ### 第一步:創建應用并獲取APPID 要在您的應用中使用支付寶開放產品的接口能力,您需要先去螞蟻金服開放平臺(open.alipay.com),在管理中心中創建登記您的應用,并提交審核,審核通過后會為您生成應用唯一標識(APPID),并且可以申請開通開放產品使用權限,通過APPID您的應用才能調用開放產品的接口能力。需要詳細了解開放平臺創建應用步驟請參考《開放平臺應用創建指南》。 ![](https://box.kancloud.cn/d5aa9d508cb0a1e8e4b6d174f3a5c81c_553x277.png) 如果想要有支付功能,該應用必須參加APP支付的功能。 ### 第二步:配置密鑰 開發者調用接口前需要先生成RSA密鑰,RSA密鑰包含應用私鑰(APP_PRIVATE_KEY)、應用公鑰(APP_PUBLIC_KEY)。生成密鑰后在開放平臺管理中心進行密鑰配置,配置完成后可以獲取支付寶公鑰(ALIPAY_PUBLIC_KEY)。詳細步驟請參考《配置應用環境》。 ![](https://box.kancloud.cn/c56fa1a5c4b79ac0eb5090fe9e92162f_554x399.png) 使用工具生成應用私鑰和公鑰,并設置應用私鑰。 ### 第三步:集成并配置SDK 接入移動支付需要集成兩個SDK,客戶端SDK需要集成在商戶自己的APP中,用于喚起支付寶APP并發送交易數據,并在支付寶APP返回商戶APP時獲得支付結果。服務端SDK需要商戶集成在自己的服務端系統中,用于協助解析并驗證客戶端同步返回的支付結果和異步通知。 如何集成客戶端SDK 點擊查看iOS集成流程詳解,Android集成流程詳解。 如何集成服務端SDK 為了幫助開發者調用開放接口,我們提供了開放平臺服務端SDK,包含JAVA、PHP和.NET三語言版本,封裝了簽名&驗簽、HTTP接口請求等基礎功能。請先下載對應語言版本的SDK并引入您的開發工程。 #### 第四步:調用接口 ![](https://box.kancloud.cn/91852b57e76f54dccfd02fa3edfa16c3_554x318.png) #### 實現步驟: 在這里只對服務端,進行說明,服務端需要實現只有這幾個接口,主要使用官方提供的php sdk。 初始化: Loader::import('alipay.AopClient', EXTEND_PATH); $this->aopClient = new \AopClient(); $this->aopClient->appId = config('alipay_config.appid');//應用aapid $this->aopClient->rsaPrivateKey = config('alipay_config.rsa_private_key');//應用私鑰 $this->aopClient->format = 'json'; $this->aopClient->alipayrsaPublicKey = config('alipay_config.alipay_rsa_public_key');//支付寶公鑰 #### 1. 簽名接口: 用戶在客戶端下單,發起支付請求,先到服務端生成支付簽名,再返回給客戶端調支付寶客戶端進入支付頁面。 ~~~ Loader::import('alipay.request.AlipayTradeAppPayRequest', EXTEND_PATH); //實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.open.public.template.message.industry.modify $req = new \AlipayTradeAppPayRequest(); $req->setNotifyUrl(config('alipay_config.notify_url'));//異步通知接口 $bizCoent = []; $bizCoent['timeout_express'] = "1d"; $bizCoent['product_code'] = "QUICK_MSECURITY_PAY";//產品編碼,固定 $bizCoent['total_amount'] = $sum_pay; $bizCoent['subject'] = ‘標題’; $bizCoent['body'] = '訂單描述'; $bizCoent['out_trade_no'] = $order_num; $req->setBizContent(json_encode($bizCoent)); //SDK已經封裝掉了公共參數,這里只需要傳入業務參數 $response = $this->aopClient->sdkExecute($req);//生成簽名 ~~~ #### 2. 客戶端同步通知: 當用戶支付成功后,調用該接口通知系統支付成功,并做一些訂單信息的修改,但是這個接口無法保證一定會成功執行,主要是輔助后臺異步通知。 該接口由支付成功后調用: ~~~ $param = json_decode(post('pay_result'),true);//參考支付寶【客戶端同步】接口 if ($param['resultStatus'] == 9000) {//交易成功 //支付成功,驗證訂單信息,驗證簽名,修改訂單信息 } else { log_error("支付寶同步通知失敗", '狀態碼:' . $param['resultStatus'] . '|' . $param['memo']); } ~~~ #### 3. 后臺異步通知 當支付成功后,異步調用該接口通知系統訂單支付成功,這個接口是可信任的,當你沒有返回“success”時,支付寶會在一天內定時調用8次。 該接口由支付寶通過簽名設置的notify_url調起: ~~~ $param=$_POST;//接受post數據,參考【支付結果異步通知】 $res=$this->aopClient->rsaCheckV1($param); if(!$res){ log_error("支付寶notify通知",$param['out_trade_no']."參數驗證失敗"); return error("參數驗證失敗"); } f($param['trade_status']=='TRADE_SUCCESS'||$param['trade_status']=='TRADE_FINISHED'){ return $this->updateOrder($param['out_trade_no'],$param['trade_no'],1,$param['total_amount'] ); }else if($param['trade_status']=='TRADE_CLOSED'){//交易關閉,把訂單改為已撤銷 return $this->cacelOrder($param['out_trade_no']);//取消訂單 }else{//其他通知類型 return error("未知通知類型"); } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看