自己学习使的 仅供参考

一、打开蚂蚁金服开放平台 找到研发服务->沙箱应用
设置沙箱应用保证可以使用

二、找到sdkdemo下载放到本地环境并改名为alipay配置里面的config 注释有详细的讲解仔细看
三、(这里是我的习惯)放到laravel的app下
四、去config下面新建一个alipay.php将本地修改好的config放到中间

五、复制alipay/pagepay里面的pagepay.php代码到自己的支付方法里面需要修改(发生错误的顺序没分先后)
1、出现一个AopCline的一个each的错误(这个一般是laravel5.以上才会发生)
修改为

 foreach ($para_temp as $key=>$val) {if (false === $this->checkEmpty($val)) {//$val = $this->characet($val, $this->postCharset);$val = str_replace("'","&apos;",$val);//$val = str_replace("\"","&quot;",$val);$sHtml.= "<input type='hidden' name='".$key."' value='".$val."'/>";}}

2.出现一个encrypt或者decrypt冲突的错误(因为laravel自带encrypt和decrypt方法)修改alipay/aop/AopEncrypt.php的方法名即可 如:

*** 加密方法* @param string $str* @return string*/function alipay_encrypt($str,$screct_key){//AES, 128 模式加密数据 CBC$screct_key = base64_decode($screct_key);$str = trim($str);$str = addPKCS7Padding($str);$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC),1);$encrypt_str =  mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_CBC);return base64_encode($encrypt_str);
}/*** 解密方法* @param string $str* @return string*/function alipay_decrypt($str,$screct_key){//AES, 128 模式加密数据 CBC$str = base64_decode($str);$screct_key = base64_decode($screct_key);$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC),1);$encrypt_str =  mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_CBC);$encrypt_str = trim($encrypt_str);$encrypt_str = stripPKSC7Padding($encrypt_str);return $encrypt_str;}

3.会出现一个AlipayTradePagePayContentBuilder()错误 找到这个位置前面加个\

到这里基本就结束了 附上自己测试代码

   //支付方法public function pay($order_id){require_once app_path("Packages/alipay/pagepay/service/AlipayTradeService.php");require_once app_path("Packages/alipay/pagepay/buildermodel/AlipayTradePagePayContentBuilder.php");$config = config("alipay");//商户订单号,商户网站订单系统中唯一订单号,必填$out_trade_no = date('YmdHis').rand(50,200).Str::random(10);//订单名称,必填$subject = trim("go团队测试");//付款金额,必填$total_amount = rand(10,100);//商品描述,可空$body = "";//构造参数$payRequestBuilder = new \AlipayTradePagePayContentBuilder();$payRequestBuilder->setBody($body);$payRequestBuilder->setSubject($subject);$payRequestBuilder->setTotalAmount($total_amount);$payRequestBuilder->setOutTradeNo($out_trade_no);$aop = new \AlipayTradeService($config);/*** pagePay 电脑网站支付请求* @param $builder 业务参数,使用buildmodel中的对象生成。* @param $return_url 同步跳转地址,公网可以访问* @param $notify_url 异步通知地址,公网可以访问* @return $response 支付宝返回的信息*/$response = $aop->pagePay($payRequestBuilder,$config['return_url'],$config['notify_url']);//输出表单var_dump($response);}

4、同步跳转

    //同步跳转public function success(){//引入配置文件$config = config('alipay');//引入ALipayTradeService文件require_once app_path("Packages/alipay/pagepay/service/AlipayTradeService.php");//接到支付宝同步跳转所返回的所有值 都将验签使用$arr = $_GET;//实例化AlipayTradeService 前面加个\ 传配置文件过去$alipaySevice = new \AlipayTradeService($config);//调用验签方法         这里特别说明一下 如果验签失败。请去AlipayTradeService文件中找到check方法做一下修改$ischeck = $alipaySevice->check($arr);//判断验签是否成功if($ischeck){//成功跳转到订单成功页面 用于提示用户return view("order.success");}else{//验签失败echo "fail";}}

laravel支付宝sdk接入相关推荐

  1. android 支付宝sdk接入详解

    android 支付宝sdk接入详解 第一步 在接入支付宝sdk之前首先要进入支付宝开发者平台申请应用所需要的应用唯一标识(APPID).应用私钥(APP_PRIVATE_KEY).支付宝公钥(ALI ...

  2. Android App支付系列(二):支付宝SDK接入详细指南(附官方支付demo)

    前言 一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多家成熟的移动支付提供商,阿里就是其中之一. 继< Android Ap ...

  3. Android App支付:支付宝SDK接入详细指南(附官方支付demo)

    Android App支付:支付宝SDK接入详细指南(附官方支付demo) 前言 一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多 ...

  4. iOS 支付宝SDK接入详解

    一,在支付宝开放平台下载支付宝SDK(https://openhome.alipay.com/platform/document.htm#down) https://doc.open.alipay.c ...

  5. Laravel 支付宝SDK在Laravel5的封装

    2019独角兽企业重金招聘Python工程师标准>>> 一.安装 composer require latrell/alipay dev-master 找到 config/app.p ...

  6. 支付宝SDK接入详细指南(附官方支付demo)

    前言 一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多家成熟的移动支付提供商,阿里就是其中之一.  继< Android A ...

  7. Android 接入支付宝在手机未安装支付宝客户端的情况下掉不起支付宝sdk的h5页面

    Android 接入支付宝在手机未安装支付宝客户端的情况下掉不起支付宝sdk的h5页面 最近公司项目需要对接支付宝移动支付,按照支付宝开发文档一步步往项目中集成,一开始还是比较顺利的,因为测试手机上安 ...

  8. Android客户端三步完成支付宝支付SDK接入

    迁移最新版本 1.下载SDK 下载地址:https://doc.open.alipay.com/doc2/detail.htm?treeId=54&articleId=104509&d ...

  9. Unity Android平台接入支付宝SDK

    这篇文章前面讲的创建Android Studio工程的流程是不正确的!!! 正确的流程请参见:Unity Android平台下插件/SDK开发通用流程 最近帮一个群里的朋友接了一下支付宝的SDK,开发 ...

最新文章

  1. 跟风Google Brain,Facebook AI研究机构启动见习项目
  2. js通过ajax发送header信息php接收
  3. AppleWatch开发-AlertController
  4. ROS:launch文件的语法规范
  5. 41.django中auth用户认证
  6. Spark 概念学习系列之从物理执行的角度透视spark Job(十七)
  7. 物联网平台如何创造价值,构建平台需要考虑哪些因素?
  8. 购买计算机要注意哪些性能指标,买电脑主要看哪些配置 买电脑要注意什么配置 电脑的配置基本知识...
  9. Dev-C++5.11游戏创作之简易游戏(之前的登录软件与跑酷程序的结合)
  10. c++ Win x64 注册表操作
  11. Annex-B和AVCC
  12. Linux如何让程序在后台运行
  13. 硬件知识(二)无源RC二阶滤波电路
  14. HashMap扩容全过程
  15. 2021年N1叉车司机考试题库及N1叉车司机模拟考试
  16. 奥塔在线:架构实践基础之一图胜千言
  17. 无线路由器当作无线交换机使用
  18. 数据库第十一次作业--视图的应用
  19. 苹果6现在多少钱_太阳能路灯现在多少钱一套
  20. csv导入mysql乱码问题,Mysql导入导出csv中文乱码问题的解决方法_MySQL

热门文章

  1. 使用class-validator替换Joi包的方法
  2. eclipse快捷键、智能提示
  3. Java并发-ThreadLocal
  4. 使用pipenv代替virtualenv管理python包
  5. [.Net线程处理系列]专题五:线程同步——事件构造
  6. CentOS FTP安装及配置
  7. 第六章扩展——VMA
  8. Spring Bean的生命周期以及IOC源码解析
  9. MySQL在DOS指令里面的使用以及增删改查的使用
  10. 3.hello hibernate