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

29 篇文章 21 订阅 ¥19.90 ¥99.00
1 篇文章 0 订阅

我的个人博客:逐步前行STEP

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中的一部分了,而且调用后可以直接在方法中以获取传参的方式获取到自定义参数,不影响验签逻辑。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
支付宝同步回调跳转回项目需要在创建支付宝订单时,设置return_url参数为你项目回调地址。当用户支付成功后,支付宝会重定向到该回调地址,并将支付结果以GET方式传递给该地址。你可以在该回调地址获取支付结果并进行相应的处理,然后返回一个页面,将用户引导回你项目的指定页面。 具体实现方法如下: 1. 在创建支付宝订单时,设置return_url参数为你项目回调地址,例如:https://www.example.com/pay/alipay_return。 2. 在回调地址,获取支付宝返回的参数,包括订单号、支付状态等。 3. 根据支付结果,进行相应的处理,例如修改订单状态、发送邮件等。 4. 返回一个页面,将用户引导回你项目的指定页面。 示例代码: ```python # 创建支付宝订单 from alipay import AliPay alipay = AliPay( appid="your appid", app_notify_url="https://www.example.com/pay/alipay_notify", app_private_key_path="/path/to/your/app_private_key.pem", alipay_public_key_path="/path/to/alipay_public_key.pem", sign_type="RSA2", ) # 设置return_url参数回调地址 return_url = "https://www.example.com/pay/alipay_return" order_string = alipay.api_alipay_trade_page_pay( out_trade_no="your order number", total_amount="order total amount", subject="order subject", return_url=return_url, ) # 处理支付宝同步回调 from django.shortcuts import redirect def alipay_return(request): # 获取支付宝返回的参数 params = request.GET.dict() sign = params.pop("sign") # 验证签名 success = alipay.verify(params, sign) if success: # 根据支付结果进行处理 if params["trade_status"] == "TRADE_SUCCESS": # 修改订单状态、发送邮件等 pass # 返回一个页面,将用户引导回指定页面 return redirect("your redirect url") else: # 签名验证失败,返回错误页面 return redirect("your error url") ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲敲代码、落灯花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值