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

如何使用Laravel+Cashier为Stripe产品结账的单次收费生成发票

Stripe 托管Checkout单次收费场景的发票生成方案

Stripe对订阅和单次收费场景都提供了完整的发票生成能力,通过托管Checkout完成的单次产品收费可以通过以下几种方式生成对应发票:

  • 全局自动生成
    登录Stripe后台进入「设置 > 发票 > 客户发票设置」页面,开启「自动为所有成功支付生成发票」开关。开启后所有通过托管Checkout完成的单次收费都会自动生成标准发票,还可配置自动将发票发送到客户预留的邮箱。

  • 指定会话生成
    如果只需要对部分单次收费产品生成发票,可以在调用 checkout.sessions.create 接口创建托管Checkout会话时,添加invoice_creation参数并设置enabled=true即可,PHP环境下的代码示例如下:

    $session = \Stripe\Checkout\Session::create([
      'payment_method_types' => ['card'],
      'line_items' => [[
        'price_data' => [
          'currency' => 'cny',
          'product_data' => [
            'name' => '单次售卖产品',
          ],
          'unit_amount' => 2000,
        ],
        'quantity' => 1,
      ]],
      'mode' => 'payment',
      // 开启当前会话的自动开票
      'invoice_creation' => [
        'enabled' => true,
      ],
      'success_url' => 'https://你的站点/支付成功页',
      'cancel_url' => 'https://你的站点/支付取消页',
    ]);
    

    该配置只会对当前创建的Checkout会话生效,不会影响其他交易的开票规则。

  • 历史交易手动补开
    针对已经完成的单次收费交易,可直接在Stripe后台「支付」列表找到对应交易,点击右上角的「生成发票」按钮手动补开;也可以调用invoices.create接口关联对应支付记录批量生成发票。

你可以根据业务需求自定义发票的抬头、税号、商品明细、LOGO等字段,相关配置可以在Stripe后台发票设置页完成,也可以通过接口参数动态传入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:54:03