本文實例為大家分享了PHP支付寶當面付2.0代碼,供大家參考,具體內容如下
//支付寶條碼支付,直接調用ali_tiaoma_pay方法,把條碼和金額傳進去就okfunction 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;}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答
圖片精選