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

如何在Laravel Cashier中不使用原生create方法创建PaymentIntent?

基于Laravel Cashier创建PaymentIntent的实现方案

Cashier已经内置了Stripe客户端鉴权逻辑,无需手动调用Stripe原生SDK并传入密钥完成身份验证,你可以选择以下两种方式实现:

  • 通用无绑定用户的创建方式
    直接通过Cashier门面获取已完成鉴权的Stripe客户端,调用支付意图创建接口即可,Cashier会自动读取.env中配置的STRIPE_SECRET等密钥信息完成鉴权:
$paymentIntent = \Laravel\Cashier\Facades\Cashier::stripe()->paymentIntents->create([
    'amount' => 1000, // 金额单位为对应货币的最小单位,如人民币为分
    'currency' => 'cny',
    // 其他你需要传入的PaymentIntent参数
]);
  • 绑定Billable用户的创建方式
    如果你的用户模型引入了Billable trait,可以直接在用户实例上调用封装好的创建方法,底层会自动将支付意图和用户关联:
// 快速创建支付
$paymentIntent = $user->pay(1000, [
    'currency' => 'cny',
]);

// 自定义程度更高的创建方法(Cashier v12及以上版本支持)
$paymentIntent = $user->createPaymentIntent(1000, [
    'payment_method_types' => ['card'],
    // 其他自定义参数
]);

如果你使用的Cashier版本低于v12,建议先升级到符合你Laravel版本适配的Cashier稳定版,即可使用上述封装方法。

内容的提问来源于stack exchange,提问作者HelloThere

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:15:07