当前位置:首页 > 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. //app支付宝签名 
  31. function alipay_sign($data$signType = "RSA2")  
  32.   $res = "-----BEGIN RSA PRIVATE KEY-----\n" . 
  33.     wordwrap('你的商户私钥,必须和公匙匹配', 64, "\n", true) . 
  34.     "\n-----END RSA PRIVATE KEY-----"
  35.   ($resor die('您使用的私钥格式错误,请检查RSA私钥配置'); 
  36.   if ("RSA2" == $signType) { 
  37.     openssl_sign($data$sign$res"SHA256"); 
  38.   } else { 
  39.     openssl_sign($data$sign$res); 
  40.   } 
  41.   $sign = base64_encode($sign); 
  42.   return $sign
  43.    
  44. /* 
  45.  * 格式化参数格式化成url参数 
  46. */ 
  47. function toUrlParam($param){ 
  48.   $buff = ""
  49.   foreach($param as $k => $v
  50.   { 
  51.     if($k != "sign" && $v != "" && !is_array($v)){ 
  52.       $buff .= $k."=".$v."&"
  53.     } 
  54.   } 
  55.    
  56.   $buff = trim($buff"&"); 
  57.   return $buff
  58. }

Tags: PHP支付宝当面付

分享到: