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 批量删除数据的方法分析
Oct 30 PHP
php中apc缓存使用示例
Dec 25 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
PHP中Trait及其应用详解
Feb 14 PHP
老生常谈PHP中的数据结构:DS扩展
Jul 17 PHP
PHP读取word文档的方法分析【基于COM组件】
Aug 01 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
PHP实现财务审核通过后返现金额到客户的功能
Jul 04 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 PHP
PHP如何通过date() 函数格式化显示时间
Nov 13 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
15种PHP Encoder的比较
2007/03/06 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
2012/05/07 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
PHP检测用户语言的方法
2015/06/15 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
flexigrid 参数说明
2010/11/23 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
JavaScript实现动态生成表格
2020/08/02 Javascript
详解Python中的__getitem__方法与slice对象的切片操作
2016/06/27 Python
Python自动生产表情包
2017/03/17 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
python 中如何获取列表的索引
2019/07/02 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
草船借箭教学反思
2014/02/03 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
旅游市场营销方案
2014/03/09 职场文书
大学生心理活动总结
2014/07/04 职场文书
现役军人家属慰问信
2015/03/24 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
Redis读写分离搭建的完整步骤
2021/09/14 Redis
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang