1.首先從支付寶官網下載支付寶app支付sdk 地址 : https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.hLEa5O&treeId=54&articleId=106370&docType=1php
2.解壓下載文件會獲得幾個文件夾html
用到的文件有AopClient.php/AopEncrypt.php/AlipayTradeAppPayRequest.php 這幾個文件json
3.將解壓好的文件放到yii/frontend下新建文件alipay下瀏覽器
4.修改要用到的文件的命名空間:app
AopClient.phpfrontend
AopEncrypt.phpyii
AlipayTradeAppPayRequest.php異步
5.新建本身要用到支付控制器個人是orderController.php工具
注意:必定要引入修改的支付寶sdk學習
$aop = new AopClient;
$aop->gatewayUrl = Yii::$app->params['gatewayUrl'];
$aop->appId = Yii::$app->params['appId'];
$aop->rsaPrivateKey = Yii::$app->params['rsaPrivateKey'];
$aop->format = Yii::$app->params['format'];
// $aop->charset = Yii::$app->params['charset'];
$aop->signType = Yii::$app->params['signType'];
$aop->alipayrsaPublicKey = Yii::$app->params['alipayrsaPublicKey'];
//實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.trade.app.pay
$request = new AlipayTradeAppPayRequest();
//SDK已經封裝掉了公共參數,這裏只須要傳入業務參數
$bizcontent = json_encode([
'body'=>$order['order_sn'],
'subject'=>'App支付測試',
'out_trade_no'=>$order['order_sn'],//此訂單號爲商戶惟一訂單號
'total_amount'=> $order['order_amount'],//保留兩位小數
'product_code'=>'QUICK_MSECURITY_PAY'
]);
$request->setNotifyUrl("商戶外網能夠訪問的異步地址");
$request->setBizContent($bizcontent);
//這裏和普通的接口調用不一樣,使用的是sdkExecute
$response = $aop->sdkExecute($request);
//htmlspecialchars是爲了輸出到頁面時防止被瀏覽器將關鍵參數html轉義,實際打印到日誌以及http傳輸不會有這個問題echo htmlspecialchars($response);
echo $response;//就是orderString 能夠直接給客戶端請求,無需再作處理。
上面這些信息裏面的配置能夠放到Params.php方便調用
使用Yii::$app->params方法調用
到這基本上都能獲取orderString 能夠直接給客戶端請求,無需再作處理。剩下就是本身作一些邏輯處理訂單信息了;
注:生成一些私鑰到官方下載https://docs.open.alipay.com/291/106097 下載密鑰生成工具
我只是個菜鳥,有問題請在下方評論,共同窗習進步