You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel Cashier中将默认Stripe替换为Razorpay支付网关

需求可行性结论

可以实现,Laravel官方提供了专门适配Razorpay支付网关的Cashier扩展包laravel/cashier-razorpay,兼容原有Cashier的核心API,无需大规模重构业务代码即可完成支付网关替换。

具体实现步骤
  • 卸载原有Stripe版本Cashier扩展
    如果之前安装了默认的Stripe适配版Cashier,先执行卸载命令:
    composer remove laravel/cashier
  • 安装Razorpay适配版Cashier
    执行命令安装官方适配包:
    composer require laravel/cashier-razorpay
  • 发布配套资源
    执行以下命令发布配置文件和数据库迁移文件:
    php artisan vendor:publish --tag="cashier-config"
    php artisan vendor:publish --tag="cashier-migrations"
    执行迁移更新数据库表结构:
    php artisan migrate
  • 配置环境变量
    在项目根目录的.env文件中添加Razorpay的身份配置:
RAZORPAY_KEY=你的Razorpay账户公钥
RAZORPAY_SECRET=你的Razorpay账户私钥
RAZORPAY_WEBHOOK_SECRET=你在Razorpay后台配置的Webhook加密密钥
  • 配置可计费模型
    在你需要支持支付功能的模型(通常为用户模型App\Models\User)中引入Billable Trait,Razorpay版Cashier的Trait命名空间和原有Stripe版完全一致,原有引入代码无需调整:
use Laravel\Cashier\Billable;

class User extends Authenticatable
{
    use Billable;

    // 其他模型代码
}
  • 配置Webhook(推荐)
    登录Razorpay后台配置Webhook回调地址为你的项目域名/razorpay/webhook,同时开启订阅生命周期、支付成功、退款等你需要用到的事件通知,Cashier会自动处理回调事件,同步订阅状态、支付记录到你的项目数据库。

注意:原有基于Stripe版Cashier开发的订阅创建、金额扣费、退款等常规业务逻辑几乎不需要修改,Razorpay版Cashier保持了和原有版本一致的API调用规则,仅部分支付网关特有的功能方法需要对应调整。

提示:请确保你使用的Laravel框架版本和安装的laravel/cashier-razorpay扩展版本兼容,可在composer.json文件中查看版本匹配要求。

内容的提问来源于stack exchange,提问作者Harshith J Poojary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:57:03