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 相关文章推荐
Discuz板块横排显示图片的实现方法
May 28 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
PHP代码审核的详细介绍
Jun 13 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
php遍历删除整个目录及文件的方法
Mar 13 PHP
在Debian系统下配置LNMP的教程
Jul 09 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
Aug 27 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
laravel 解决Validator使用中出现的问题
Oct 25 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
Dec 12 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
PHP 文件上传全攻略
2010/04/28 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
用javascript做拖动布局的思路
2008/05/31 Javascript
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
浅谈小程序 setData学问多
2019/02/20 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
详解Python字典小结
2018/10/20 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
python实现简单坦克大战
2020/03/27 Python
python爬虫请求头设置代码
2020/07/28 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
应用服务器有那些
2012/01/19 面试题
Java中实现多态的机制
2015/08/09 面试题
铁路工务反思材料
2014/02/07 职场文书
协议书怎么写
2014/04/21 职场文书
校长创先争优承诺书
2014/08/30 职场文书
运动会广播稿100字
2015/08/19 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
redis缓存存储Session原理机制
2021/11/20 Redis