Generic placeholder image
闲敲代码、落灯花
What's past is prologue

联系邮箱:email@hezehua.net


联系QQ:1907330840

座右铭

保持热情,持续学习,每日精进

支付宝支付同步回调url中携带参数的两种方法

支付宝支付同步回调url中携带参数的两种方法

本文与作者在csdn上的博文【支付宝支付同步回调url中携带参数的两种方法】保持同步


1、 如果要传递的参数是my_data,可以先将该参数添加到回调的url上:

$return_url = "http://abcdefg.com/return_url?my_data=hello";

当支付宝同步回调该url时,会在该url上增加其它字段,在验证之前得把该参数从$_GET剔除

        $arr=$_GET;
        unset($_GET['my_data']);
        $alipaySevice = new AlipayTradeService(config('pay.alipay.Pagepay'));
        $result = $alipaySevice->check($_GET);

2、将参数放入Laravel路由中:

Route::get('/alipay/return_url/{data}', 'Alipay\ReturnController@return');

首先,在配置文件中的回调地址后面加入字符串占位符:

'return_url' => "http://abcdefg.cn/alipay/return/url/%s",

支付宝支付中传递return_url前先拼接好url:

$data = 'something...';
$return_url = sprintf(config('pay.alipay.return_url'),base64_encode($data));

这样的话参数作为url中的一部分了,而且调用后可以直接在方法中以获取传参的方式获取到自定义参数,不影响验签逻辑。

猜你喜欢
Laravel5.6 实现小程序使用openid登陆、手机号验证码登陆、账户密码登陆三种登陆方式
阅读 1209

目前开发小程序,按需求要实现3种登陆方式: 1、微信授权登陆 2、手机号、验证码登陆 3、账户密码登陆 我使用laravel自带的Auth认证机制,通过attempt方法进行账户验证,但是默认的认证机制必须包含password字段,而我的第1、3种登陆方式都没有password字段,所以需要深入源...

laravel-admin grid中使用的switch必须form中同时具有switch才能生效的解决方案
阅读 1527

laravel-admin中的grid使用switch时必须在form里使用switch,但有时候想单独作为一种操作,不想放在form中被编辑,就需要绕过这种限制,根据laravel-admin的源码可知,所有的默认的更新操作都是通过update函数来处理,而在这个函数中又调用了prepare函数...

laravel-admin form中的switch控件 不改变状态提交后值为0
阅读 1969

我把一个字段设默认值为0 需要审核操作 通过设为1 不通过设为2 $states = [ 'on' => ['value' => 1, 'text' => '通过', 'color' =&am...

Laravel Collection 常用方法(1)
阅读 839

1、first 返回集合第一个通过指定测试的元素: collect([1, 2, 3, 4])->first(); // 1 collect([1, 2, 3, 4])->first(function ($value, $key) { return $v...

Laravel核心技术解析(1)—— Composer 组件管理与自动加载
阅读 455

Composer作为PHP的组件化管理工具,实现了laravel框架的组件安装、更新、移除,以及自动加载功能,下面就深入解析这是如何实现的。 使用Composer安装组件,首先需要创建composer.json文件,composer.json示例如下: 我的个人博客:逐步前行STEP 该文件定...

单例测试phpunit
阅读 566

1、执行单例测试 ./vendor/bin/phpunit 2、执行指定单例测试文件 ./vendor/bin/phpunit tests/BlogTest.php 3、执行指定测试函数 ./vendor/bin/phpunit --filter testPostArticle 4、执...

Laravel 怎么查看执行的Sql语句
阅读 607

1、如果是使用Eloquent ORM操作数据库的话,在sql查询时可以调用toSql()方法来获取sql: App\User::where('name','like','%hezehua%')->toSql(); 2、如果是执...

laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
阅读 2760

有一个这样的需求: 当商品设置为立即上架时,通过审核就进入上架状态,当设置为保存时,通过审核就进入未上架状态。 所以,需要在保存前根据提交的审核状态和设置的方式得到商品状态再保存,而通过$form->model()->attribute_na...