您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關PHP如何實現支付寶當面付功能的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
具體內容如下
//支付寶條碼支付,直接調用ali_tiaoma_pay方法,把條碼和金額傳進去就ok function ali_tiaoma_pay($tiaoma,$price){ $data['scene'] = 'bar_code'; //支付場景 $data['out_trade_no'] = date("Ymd").rand(10000,99999); //訂單號 $data['total_amount'] = $price; //支付金額 $data['auth_code'] = $tiaoma; //支付授權碼 $data['subject'] = '訂單標題'; //訂單標題 $data['body'] = '訂單說明'; //訂單說明 $data = json_encode($data); $params['app_id'] = $alipay_account; $params['method'] = 'alipay.trade.pay'; $params['charset'] = 'utf-8'; $params['sign_type'] = 'RSA2'; $params['timestamp'] = date("Y-m-d H:i:s"); $params['version'] = '1.0'; $params['notify_url'] = ""; $params['biz_content'] = $data; ksort($params); //對將要簽名的數組排序 $string = $this->toUrlParam($params); //將數組轉換成字符串 $params['sign'] = $this->alipay_sign($string); //將字符串簽名 $url = 'https://openapi.alipay.com/gateway.do?' . http_build_query($params); $return = file_get_contents($url); //打開支付請求連接 獲取二維碼地址 $return = json_decode($return, true); //將返回的字符串轉換為數組 return $return; } //app支付寶簽名 function alipay_sign($data, $signType = "RSA2") $res = "-----BEGIN RSA PRIVATE KEY-----\n" . wordwrap('你的商戶私鑰,必須和公匙匹配', 64, "\n", true) . "\n-----END RSA PRIVATE KEY-----"; ($res) or die('您使用的私鑰格式錯誤,請檢查RSA私鑰配置'); if ("RSA2" == $signType) { openssl_sign($data, $sign, $res, "SHA256"); } else { openssl_sign($data, $sign, $res); } $sign = base64_encode($sign); return $sign; } /* * 格式化參數格式化成url參數 */ function toUrlParam($param){ $buff = ""; foreach($param as $k => $v) { if($k != "sign" && $v != "" && !is_array($v)){ $buff .= $k."=".$v."&"; } } $buff = trim($buff, "&"); return $buff; }
感謝各位的閱讀!關于“PHP如何實現支付寶當面付功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。