<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 1.支付寶-App移動支付 支付寶 , 移動端通過獲取服務端返回的字符串掉起支付寶客戶端 ``` <?php namespace app\api\service; /* * 支付寶支付接口 * * */ require_once (EXTEND_PATH.'alipay03/AopSdk.php'); class AliPay { /** *生成APP支付訂單信息 * @param string $orderId 商品訂單ID * @param string $subject 支付商品的標題 * @param string $body 支付商品描述 * @param float $pre_price 商品總支付金額 * @param int $expire 支付交易時間 * @return bool|string 返回支付寶簽名后訂單信息,否則返回false */ public function unifiedorder($orderId, $subject,$body,$pre_price,$expire){ /*支付寶老版本(2016年8月份) 服務端無需SDK,直接RSA加密拼接字符串*/ $mygoods['partner'] = '"'.config('text.qnm_aliapy_partner').'"'; $mygoods['seller_id'] = '"'.config('text.qnm_alipay_sellerid').'"'; $mygoods['out_trade_no'] = '"'.$orderId.'"'; $mygoods['subject'] = '"'.$subject.'"'; $mygoods['body'] = '"'.$body.'"'; $mygoods['total_fee'] = '"'.$pre_price.'"'; $mygoods['notify_url'] = '"'.config('text.qnm_aliacall_url').'"'; $mygoods['service'] = "\"mobile.securitypay.pay\""; $mygoods['payment_type'] = "\"1\""; $mygoods['_input_charset'] = "\"utf-8\""; $mygoods['it_b_pay'] = "\"30m\""; // 數組拼接成字符串 $mystr = $this->createLinkstring($mygoods); //生成最終簽名信息 $sign = $this->rsaSign($mystr,'/home/canmay/www/test.qunarmeic.com/public/key/alia_prikey.pem'); $sign = urlencode($sign); //生成最終簽名信息 $rest = $mystr.'&sign="'.$sign.'"&sign_type="RSA"'; return $rest; /*支付寶新版本,需要引入官網下載的SDK*/ $aop = new \AopClient(); $aop->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $aop->appId = config('alia_pay.appid'); $aop->rsaPrivateKey = config('alia_pay.private_key'); $aop->format = "json"; $aop->charset = "UTF-8"; $aop->signType = "RSA2"; $aop->alipayrsaPublicKey = config('alia_pay.public_key'); //實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.trade.app.pay $request = new \AlipayTradeAppPayRequest(); //SDK已經封裝掉了公共參數,這里只需要傳入業務參數 $bizcontent = "{\"body\":\"{$body}\"," //支付商品描述 . "\"subject\":\"{$subject}\"," //支付商品的標題 . "\"out_trade_no\":\"{$orderId}\"," //商戶網站唯一訂單號 . "\"timeout_express\":\"{$expire}m\"," //該筆訂單允許的最晚付款時間,逾期將關閉交易 . "\"total_amount\":\"{$pre_price}\"," //訂單總金額,單位為元,精確到小數點后兩位,取值范圍[0.01,100000000] . "\"product_code\":\"QUICK_MSECURITY_PAY\"" . "}"; $request->setNotifyUrl(config('alia_pay.notify_url')); $request->setBizContent($bizcontent); //這里和普通的接口調用不同,使用的是sdkExecute $response = $aop->sdkExecute($request); //htmlspecialchars是為了輸出到頁面時防止被瀏覽器將關鍵參數html轉義,實際打印到日志以及http傳輸不會有這個問題 return $response; } /*************************需要使用到的方法*******************************/ /** * 把數組所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串 * @param $para 需要拼接的數組 * return 拼接完成以后的字符串 */ private function createLinkstring($para) { $arg = ""; while (list ($key, $val) = each ($para)) { $arg.=$key."=".$val."&"; } //去掉最后一個&字符 $arg = substr($arg,0,count($arg)-2); //如果存在轉義字符,那么去掉轉義 if(get_magic_quotes_gpc()){$arg = stripslashes($arg);} return $arg; } /** * 對數組排序 * @param $para 排序前的數組 * return 排序后的數組 */ private function argSort($para) { ksort($para); reset($para); return $para; } /** * RSA簽名 * @param $data 待簽名數據 * @param $private_key_path 商戶私鑰文件路徑 * return 簽名結果 */ private function rsaSign($data,$private_key_path) { $priKey = file_get_contents($private_key_path); $res = openssl_get_privatekey($priKey); openssl_sign($data, $sign, $res); openssl_free_key($res); //base64編碼 $sign = base64_encode($sign); return $sign; } /**RSA驗簽 * $data待簽名數據 * $sign需要驗簽的簽名 * 驗簽用支付寶公鑰 * return 驗簽是否通過 bool值 */ private function verify($data, $sign) { //讀取支付寶公鑰文件 $pubKey = file_get_contents('key/alipay_public_key.pem'); //轉換為openssl格式密鑰 $res = openssl_get_publickey($pubKey); //調用openssl內置方法驗簽,返回bool值 $result = (bool)openssl_verify($data, base64_decode($sign), $res); //釋放資源 openssl_free_key($res); //返回資源是否成功 return $result; } } ```
                  <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>

                              哎呀哎呀视频在线观看