溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP如何實現支付寶當面付功能

發(fā)布時間:2021-07-24 13:54:19 來源:億速云 閱讀:504 作者:小新 欄目:開發(fā)技術

這篇文章給大家分享的是有關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如何實現支付寶當面付功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI