PHP支付宝当面付2.0代码


Posted in PHP onDecember 21, 2018

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

//支付宝条码支付,直接调用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 相关文章推荐
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
PHP开发微信支付的代码分享
May 25 PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
PHP编写简单的App接口
Aug 28 PHP
Yii核心验证器api详解
Nov 23 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
Jan 15 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP实现数组根据某个单元字段排序操作示例
Aug 01 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 PHP
php解析非标准json、非规范json的方式实例
May 10 PHP
php json转换相关知识(小结)
Dec 21 #PHP
PHP后期静态绑定实例浅析
Dec 21 #PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 #PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 #PHP
PHP设计模式之模板方法模式实例浅析
Dec 20 #PHP
PHP设计模式之模板模式定义与用法详解
Dec 20 #PHP
PHP面向对象程序设计之接口的继承定义与用法详解
Dec 20 #PHP
You might like
Email+URL的判断和自动转换函数
2006/10/09 PHP
关于页面优化和伪静态
2009/10/11 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
PHP实现的贪婪算法实例
2017/10/17 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
jquery一句话全选/取消全选
2011/03/01 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
2012/12/11 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
js css后面所带参数含义介绍
2013/08/18 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
深入理解python中的闭包和装饰器
2016/06/12 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
python中数据爬虫requests库使用方法详解
2018/02/11 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
为什么是 Python -m
2020/06/19 Python
世界汽车零件:World Car Parts
2019/09/04 全球购物
Solaris操作系统的线程机制
2012/12/23 面试题
给领导的致歉信范文
2014/01/13 职场文书
产品质量承诺范本
2014/03/31 职场文书
2014年教师政治学习材料
2014/06/02 职场文书
迎国庆横幅标语
2014/10/08 职场文书
活动简报范文
2015/07/22 职场文书
教师节校长致辞
2015/07/31 职场文书
办公室规章制度范本
2015/08/04 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
HDFS免重启挂载新磁盘
2022/04/06 Servers