使用yansongda/pay可快速集成支付宝、微信支付,通过composer安装并发布配置文件,填写app_id、密钥等参数后,利用Pay门面发起支付,处理notify异步通知验证签名并更新订单状态,return回调用于页面提示,建议日志记录、沙箱测试及敏感信息存.env。

在 Laravel 中集成第三方支付网关(如支付宝、微信支付)是电商类项目常见的需求。虽然这些平台没有官方的 Laravel 包,但社区提供了成熟且稳定的扩展包,能快速实现支付功能。
选择合适的支付 SDK 包
推荐使用 yansongda/pay,这是目前 Laravel 社区最流行的支付 SDK,支持支付宝、微信支付、银联等主流渠道,兼容 Laravel 服务容器,易于集成。
安装方式:
composer require yansongda/laravel-pay
安装完成后,发布配置文件:
php artisan vendor:publish --provider="YansongdaLaravelPayPayServiceProvider"
该命令会在 config/ 目录下生成 pay.php 配置文件。
配置支付宝与微信支付参数
打开 config/pay.php,根据实际平台填写密钥和应用信息。
示例配置(以支付宝为例):
'alipay' => [ 'default' => [ 'app_id' => 'your_app_id', 'notify_url' => '/pay/alipay/notify', 'return_url' => '/pay/return', 'ali_public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...', 'private_key' => 'MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC...', 'log' => [ 'file' => storage_path('logs/alipay.log'), 'level' => 'debug' ], 'mode' => 'normal', // 'dev' 或 'normal' ],],
微信支付配置类似,需填写 app_id、mch_id、key、证书路径等。
发起支付请求
在控制器中使用 Pay 门面发起支付。
百宝箱
百宝箱是支付宝推出的一站式AI原生应用开发平台,无需任何代码基础,只需三步即可完成AI应用的创建与发布。
279 查看详情
示例:创建支付宝网页支付
use YansongdaLaravelPayFacadesPay;public function pay() { $order = [ 'out_trade_no' => time(), 'total_amount' => '100.00', 'subject' => '测试商品', 'product_code' => 'FAST_INSTANT_TRADE_PAY', ]; return Pay::alipay()->web($order);}
该方法会自动跳转到支付宝收银台页面。
处理异步通知(Notify)
支付结果通过服务器异步通知(notify_url)返回,需验证签名并处理业务逻辑。
示例路由:
Route::post('/pay/alipay/notify', [PayController::class, 'alipayNotify']);
控制器方法:
public function alipayNotify() { $data = Pay::alipay()->verify(); if ($data->trade_status == 'TRADE_SUCCESS') { // 更新订单状态 Order::where('no', $data->out_trade_no)->update(['paid' => true]); } return Pay::alipay()->success();}
success() 方法会输出支付宝要求的响应内容,防止重复通知。
处理同步回调(Return)
用户支付后会被重定向到 return_url,此处可做展示性提示。
public function alipayReturn() { $data = Pay::alipay()->verify(); // 可再次调用查询接口确认支付状态 return view('pay.success', compact('data'));}
常见问题与建议
确保服务器时间准确,避免签名错误 notify 接口不要有重定向或 HTML 输出 敏感信息(如密钥)应存于 .env 文件 上线前在沙箱环境充分测试 记录日志便于排查问题
基本上就这些。使用成熟的 SDK 能大幅降低接入成本,关键是配置准确、处理好异步通知和异常情况。
以上就是laravel如何集成第三方支付网关(如支付宝、微信支付)_Laravel第三方支付网关集成方法的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/267145.html
微信扫一扫
支付宝扫一扫