当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP支付宝当面付2.0代码

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-02 13:52:57 浏览: 评论:0 

这篇文章主要为大家详细介绍了PHP支付宝当面付2.0代码,支付宝条码支付功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

本文实例为大家分享了PHP支付宝当面付2.0代码,供大家参考,具体内容如下:

  1. //支付宝条码支付,直接调用ali_tiaoma_pay方法,把条码和金额传进去就ok 
  2. function ali_tiaoma_pay($tiaoma,$price){ 
  3.    
  4.   $data['scene'] = 'bar_code'; //支付场景 
  5.   $data['out_trade_no'] = date("Ymd").rand(10000,99999); //订单号 
  6.   $data['total_amount'] = $price; //支付金额 
  7.   $data['auth_code'] = $tiaoma;  //支付授权码 
  8.   $data['subject'] = '订单标题'; //订单标题 
  9.   $data['body'] = '订单说明'; //订单说明 
  10.   $data = json_encode($data); 
  11.  
  12.   $params['app_id'] = $alipay_account; 
  13.   $params['method'] = 'alipay.trade.pay'; 
  14.   $params['charset'] = 'utf-8'; 
  15.   $params['sign_type'] = 'RSA2'; 
  16.   $params['timestamp'] = date("Y-m-d H:i:s"); 
  17.   $params['version'] = '1.0'; 
  18.   $params['notify_url'] = "";  
  19.   $params['biz_content'] = $data; 
  20.   ksort($params); //对将要签名的数组排序 
  21.    
  22.   $string = $this->toUrlParam($params); //将数组转换成字符串 
  23.   $params['sign'] = $this->alipay_sign($string); //将字符串签名 
  24.   $url = 'https://openapi.alipay.com/gateway.do?' . http_build_query($params); 
  25.   $return = file_get_contents($url); //打开支付请求连接 获取二维码地址 
  26.   $return = json_decode($return, true); //将返回的字符串转换为数组 
  27.   return $return; 
  28. } 
  29.    
  30.    
  31. //app支付宝签名 
  32. function alipay_sign($data, $signType = "RSA2")  
  33.   $res = "-----BEGIN RSA PRIVATE KEY-----\n" . 
  34.     wordwrap('你的商户私钥,必须和公匙匹配', 64, "\n", true) . 
  35.     "\n-----END RSA PRIVATE KEY-----"; 
  36.   ($res) or die('您使用的私钥格式错误,请检查RSA私钥配置'); 
  37.   if ("RSA2" == $signType) { 
  38.     openssl_sign($data, $sign, $res, "SHA256"); 
  39.   } else { 
  40.     openssl_sign($data, $sign, $res); 
  41.   } 
  42.   $sign = base64_encode($sign); 
  43.   return $sign; 
  44. } 
  45.    
  46. /* 
  47.  * 格式化参数格式化成url参数 
  48. */ 
  49. function toUrlParam($param){ 
  50.   $buff = ""; 
  51.   foreach($param as $k => $v) 
  52.   { 
  53.     if($k != "sign" && $v != "" && !is_array($v)){ 
  54.       $buff .= $k."=".$v."&"; 
  55.     } 
  56.   } 
  57.    
  58.   $buff = trim($buff, "&"); 
  59.   return $buff; 
  60. }

Tags: PHP支付宝当面付

分享到: