Laravel使用支付宝进行支付的示例代码


Posted in PHP onAugust 16, 2017

本文介绍了Laravel使用支付宝进行支付的示例代码,分享给大家,也给自己留个笔记

/* 
  支付 
*/ 
 public function pay() 
 { 
   header("content-type:text/html;charset=utf8"); 
   //echo 1;die; 
   // ******************************************************配置 start************************************************************************************************************************* 
   //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 
   //合作身份者id,以2088开头的16位纯数字 
   $alipay_config['partner']   = '合作身份者id'; 
   //收款支付宝账号 
   $alipay_config['seller_email'] = ''; 
   //安全检验码,以数字和字母组成的32位字符 
   $alipay_config['key']     = 'y8z1t3vey08bgkzlw78u9cbc4pizy2sj'; 
   //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 
   //签名方式 不需修改 
   $alipay_config['sign_type']  = strtoupper('MD5'); 
   //字符编码格式 目前支持 gbk 或 utf-8 
   //$alipay_config['input_charset']= strtolower('utf-8'); 
   //ca证书路径地址,用于curl中ssl校验 
   //请保证cacert.pem文件在当前文件夹目录中 
   $alipay_config['cacert']  = getcwd().'\\cacert.pem'; 
   //访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http 
   $alipay_config['transport']  = 'http'; 
   // ******************************************************配置 end************************************************************************************************************************* 
 
   // ******************************************************请求参数拼接 start************************************************************************************************************************* 
   $parameter = array( 
     "service" => "create_direct_pay_by_user", 
     "partner" => $alipay_config['partner'], // 合作身份者id 
     "seller_email" => $alipay_config['seller_email'], // 收款支付宝账号 
     "payment_type" => '1', // 支付类型 
     "notify_url"  => "http://bw.com133.com/notify_url.php", // 服务器异步通知页面路径 
     "return_url"  => "支付后跳转路径", // 页面跳转同步通知页面路径 
     "out_trade_no" => "订单号", // 商户网站订单系统中唯一订单号 
     "subject" => "", // 订单名称 
     "total_fee"  => "0.01", // 付款金额 
     "body" => "", // 订单描述 可选 
     "show_url" => "", // 商品展示地址 可选 
     "anti_phishing_key"  => "", // 防钓鱼时间戳 若要使用请调用类文件submit中的query_timestamp函数 
     "exter_invoke_ip" => "", // 客户端的IP地址 
     "_input_charset"  => 'utf-8', // 字符编码格式 
   ); 
   // 去除值为空的参数 
   foreach ($parameter as $k => $v) { 
     if (empty($v)) { 
       unset($parameter[$k]); 
     } 
   } 
   // 参数排序 
   ksort($parameter); 
   reset($parameter); 
 
   // 拼接获得sign 
   $str = ""; 
   foreach ($parameter as $k => $v) { 
     if (empty($str)) { 
       $str .= $k . "=" . $v; 
     } else { 
       $str .= "&" . $k . "=" . $v; 
     } 
   } 
   $parameter['sign'] = md5($str . $alipay_config['key']); 
   $parameter['sign_type'] = $alipay_config['sign_type']; 
   // ******************************************************请求参数拼接 end************************************************************************************************************************* 
 
 
   // ******************************************************模拟请求 start************************************************************************************************************************* 
   $sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='https://mapi.alipay.com/gateway.do?_input_charset=utf-8' method='get'>"; 
   foreach ($parameter as $k => $v) { 
     $sHtml.= "<input type='hidden' name='" . $k . "' value='" . $v . "'/>"; 
   } 
 
   $sHtml = $sHtml."<script>document.forms['alipaysubmit'].submit();</script>"; 
 
   // ******************************************************模拟请求 end************************************************************************************************************************* 
   echo $sHtml; 
 }

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
May 08 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
Sep 22 PHP
Laravel 5框架学习之环境与配置
Apr 08 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
变量在 PHP7 内部的实现(二)
Dec 21 PHP
PHP验证码生成原理和实现
Jan 24 PHP
php base64 编码与解码实例代码
Mar 21 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
Apr 21 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 PHP
safari下载文件自动加了html后缀问题
Nov 09 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
PHP内存溢出优化代码详解
Feb 26 PHP
laravel 中如何使用ajax和vue总结
Aug 16 #PHP
yii gridview实现时间段筛选功能
Aug 15 #PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
Aug 15 #PHP
Laravel学习教程之IOC容器的介绍与用例
Aug 15 #PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
Aug 15 #PHP
PHP高精确度运算BC函数库实例详解
Aug 15 #PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 #PHP
You might like
php异常处理技术,顶级异常处理器
2012/06/13 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
PHP代码优化的53个细节
2014/03/03 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
js 获取Listbox选择的值的代码
2010/04/15 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
python中字符串内置函数的用法总结
2018/09/13 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
python数据抓取3种方法总结
2021/02/07 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
《凡卡》教学反思
2014/04/09 职场文书
行政经理岗位职责
2015/04/15 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python
浅析NIO系列之TCP
2021/06/15 Java/Android
Vue监视数据的原理详解
2022/02/24 Vue.js
浅析JavaScript中的变量提升
2022/06/01 Javascript